OpenDDS เป็นการนำ C++ แบบโอเพ่นซอร์สไปใช้ตามข้อกำหนดของกลุ่มการจัดการวัตถุ "Data Distribution Service for Real-time Systems" (DDS) รวมถึงข้อกำหนดอื่นๆ ที่เกี่ยวข้อง มาตรฐานเหล่านี้กำหนดชุดอินเทอร์เฟซและโปรโตคอลสำหรับการพัฒนาแอปพลิเคชันแบบกระจายตามโมเดลแคชแบบเผยแพร่และสมัครสมาชิกและแบบกระจาย แม้ว่า OpenDDS จะได้รับการพัฒนาด้วยภาษา C++ แต่การผูก Java ก็มีไว้เพื่อให้แอปพลิเคชัน Java สามารถใช้ OpenDDS ได้ OpenDDS ยังรองรับข้อกำหนด DDS Security และ XTypes อีกด้วย
OpenDDS สร้างขึ้นบนเลเยอร์นามธรรมของ ACE เพื่อให้พกพาแพลตฟอร์มได้ OpenDDS ยังใช้ประโยชน์จากความสามารถของ TAO สำหรับการรวบรวม IDL และ OpenDDS DCPS Information Repository
การพัฒนาเบื้องต้นของ OpenDDS ดำเนินการโดย Object Computing, Incorporated ในเมืองเซนต์หลุยส์และฟีนิกซ์ ได้รับการเผยแพร่ภายใต้เงื่อนไขสิทธิ์การใช้งานที่คล้ายกับ ACE, TAO และ MPC ดูไฟล์ LICENSE
สำหรับรายละเอียด
สารบัญ:
คู่มือนักพัฒนา OpenDDS มีอยู่ที่ https://opendds.readthedocs.io/en/latest-release
สำหรับนักพัฒนาที่ต้องการสนับสนุน OpenDDS โปรดอ่านแนวทางการพัฒนา
เอกสารอื่นๆ สามารถพบได้ในไดเร็กทอรี docs
สำหรับการสนับสนุนเชิงพาณิชย์ โปรดดู https://opendds.org/support.html
คำถามเกี่ยวกับ OpenDDS ควรส่งตรงไปที่การสนทนา GitHub
หากคุณต้องการยื่นรายงานข้อผิดพลาด:
tests/DCPS/MyExample
( MyExample
เป็นตัวยึดตำแหน่ง)run_test.pl
อย่าลืมบันทึกตัวเลือกต่างๆ ดู tests/DCPS/HelloWorld/run_test.pl
สำหรับแรงบันดาลใจREADME.rst
ที่ให้ภาพรวมระดับสูงของตัวอย่างและปัญหาที่แสดง ควรเป็นไปได้ที่จะสร้างและรันตัวอย่างโดยใช้ run_test.pl
เช่นเดียวกับในการเริ่มต้นอย่างรวดเร็วสำหรับ Windows และ Linux หากปัญหาอยู่ในตัวอย่าง อินเทอร์เฟซ Pull Request ของ GitHub จะอนุญาตให้ผู้คนพูดคุย แสดงความคิดเห็น และเสนอการเปลี่ยนแปลงเพื่อให้ตัวอย่างใช้งานได้ หากปัญหาอยู่ใน OpenDDS ตัวอย่างจะเป็นกรณีทดสอบใหม่
OpenDDS รุ่นนี้อิงตามข้อกำหนด DDS อย่างเป็นทางการ/2015-04-10 (เวอร์ชัน 1.4) มีโปรโตคอลการขนส่งดังต่อไปนี้:
คุณสมบัติ RTPS (การทำงานร่วมกัน) อิงตามข้อกำหนด DDS-RTPS อย่างเป็นทางการ/2019-04-03 (เวอร์ชัน 2.3) ดูคู่มือนักพัฒนา OpenDDS และไฟล์ docs/design/RTPS สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับ RTPS
ดูคู่มือนักพัฒนาสำหรับข้อมูลเกี่ยวกับการปฏิบัติตาม OpenDDS ตามข้อกำหนด DDS หากคุณต้องการสนับสนุนคุณสมบัติหรือสนับสนุนนักพัฒนาในการเพิ่มคุณสมบัติ โปรดดูส่วนการสนับสนุนด้านบนสำหรับข้อมูลการติดต่อ
สิ่งเหล่านี้เป็นเพียงการพึ่งพาที่จำเป็น สำหรับรายการการขึ้นต่อกันโดยละเอียดทั้งหมด รวมถึงรายการทางเลือก โปรดดูที่ https://opendds.readthedocs.io/en/latest-release/devguide/building/dependencies.html
OpenDDS ต้องใช้ TAO สำหรับทั้งการคอมไพล์ IDL และการโต้ตอบกับ DCPSInfoRepo จำเป็นต้องมี ACE แต่จะรวมอยู่ใน TAO เสมอ หากคุณจะใช้สคริปต์ configure
สำหรับ OpenDDS คุณไม่จำเป็นต้องดาวน์โหลด TAO ก่อน -- สคริปต์ configure
จะดาวน์โหลดให้คุณ
Perl ใช้สำหรับสคริปต์กำหนดค่า เรียกใช้การทดสอบอัตโนมัติและตัวอย่างที่รวมอยู่ในแผนผังต้นทางนี้ และสร้างไฟล์โครงการ Makefiles หรือ Visual Studio
บน Windows เราขอแนะนำให้ใช้ Strawberry Perl
OpenDDS รุ่นนี้ได้รับการทดสอบภายใต้แพลตฟอร์มต่อไปนี้:
ตระกูลลินุกซ์:
ตระกูล Windows:
ฝังตัว/มือถือ/IoT:
เราได้สร้าง OpenDDS สำหรับ VxWorks 6.9, 7 และ 21.03 และได้ทำการทดสอบระบบพื้นฐานและประสิทธิภาพ (แต่ไม่ใช่ชุดทดสอบการถดถอยทั้งหมด) โปรดดูหน้าการสนับสนุน OpenDDS สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการสนับสนุน ACE, TAO และ OpenDDS บน VxWorks ดาวน์โหลดแพ็คเกจ VxWorks RPM สำหรับ ACE, TAO และ OpenDDS ที่นี่
OpenDDS รุ่นนี้ได้รับการทดสอบโดยใช้คอมไพเลอร์ต่อไปนี้:
สำหรับคำแนะนำในการสร้างและการติดตั้งโปรดดูhttps://opendds.readthedocs.io/en/latest-release/devguide/building/index.html
ดู Docker Quick Start สำหรับวิธีใช้อิมเมจ Docker ที่สร้างไว้ล่วงหน้า