descriptionnone
repository URLhttps://github.com/OpenDDS/OpenDDS.git
ownerstefan.naewe+rr@gmail.com
last changeFri, 26 Apr 2024 21:51:58 +0000 (26 16:51 -0500)
last refreshSat, 27 Apr 2024 12:09:36 +0000 (27 14:09 +0200)
content tags
add:
README.md

OpenDDS

OpenDDS

Coverity Scan Build Status

OpenDDS is an open-source C++ implementation of the Object Management Group's specification "Data Distribution Service for Real-time Systems" (DDS), as well as some other related specifications. These standards define a set of interfaces and protocols for developing distributed applications based on the publish-subscribe and distributed cache models. Although OpenDDS is itself developed in C++, Java bindings are provided so that Java applications can use OpenDDS. OpenDDS also includes support for the DDS Security and XTypes specifications.

OpenDDS is built on the ACE abstraction layer to provide platform portability. OpenDDS also leverages the capabilities of TAO for IDL compilation and the OpenDDS DCPS Information Repository.

The primary development of OpenDDS was done by Object Computing, Incorporated in St. Louis and Phoenix. It is released under generous license terms similar to ACE, TAO and MPC. See the LICENSE file for details.

Table of Contents:

Documentation

Other documentation can be found in docs directory.

Support

For commercial support, please see https://opendds.org/support.html.

Questions concerning OpenDDS should be directed to GitHub Discussions.

If you wish to file a bug report:

  1. Fork OpenDDS on GitHub.
  2. Add a minimum working example that demonstrates the problem.
  3. Create a pull request.
  4. Fill out the PROBLEM-REPORT-FORM and attach it to the pull request.

How to make a minimum working example

  1. Create a directory tests/DCPS/MyExample (MyExample is a placeholder.)
  2. Add the IDL, code, and configuration files for the example programs. Be sure to exclude any proprietary information as the submitted example will be public.
  3. Add an MPC file that builds the test programs.
  4. Add a launcher script run_test.pl. Be sure to document the options. See tests/DCPS/HelloWorld/run_test.pl for inspiration.
  5. Add a README.rst file that gives a high-level overview of the example and the problem that it illustrates.

It should be possible to build and run the example using run_test.pl as in the quickstarts for Windows and Linux. If the problem lies in the example, then GitHub's Pull Request interface will allow people to discuss, comment on, and propose changes to get the example working. If the problem lies in OpenDDS, then the example is a new test case.

Features

This release of OpenDDS is based on the DDS Specification formal/2015-04-10 (version 1.4). It features the following transport protocols:

RTPS (Interoperability) features are based on the DDS-RTPS Specification formal/2019-04-03 (version 2.3). See the OpenDDS Developer's Guide and the file docs/design/RTPS for more details on RTPS.

See the Developer's Guide for information on OpenDDS compliance with the DDS specification. If you would like to contribute a feature or sponsor the developers to add a feature please see the Support section above for contact information.

Dependencies

These are just the required dependencies. For a complete detailed list of dependencies, including optional ones, see https://opendds.readthedocs.io/en/latest-release/devguide/building/dependencies.html.

ACE/TAO

OpenDDS requires TAO for both IDL compilation as well as interaction with the DCPSInfoRepo. ACE is also required, but it is always included with TAO. If you will be using the configure script for OpenDDS, you do not need to download TAO first -- the configure script will download it for you.

Perl

Perl is used for the configure script, running the automated tests and examples included in this source tree, and generating Makefiles or Visual Studio project files.

On Windows we recommend the use of Strawberry Perl.

Supported Platforms

Operating Systems

This release of OpenDDS has been tested under the following platforms:

Linux family:

Windows family:

Embedded/Mobile/IoT:

We have built OpenDDS for VxWorks 6.9, 7, and 21.03 and have run basic system and performance tests (but not the entire regression test suite). Please see the OpenDDS Support page for more information on support for ACE, TAO, and OpenDDS on VxWorks. Download VxWorks RPM packages for ACE, TAO, and OpenDDS here.

Compilers

This release of OpenDDS has been tested using the following compilers:

Building and Installing

For building and installation instructions see https://opendds.readthedocs.io/en/latest-release/devguide/building/index.html

Quick Start with Docker

See the Docker Quick Start for how to use the pre-built docker image.

shortlog
14 hours ago Justin WilsonMerge pull request #4603 from jrw972/heartbeat-during... master
18 hours ago Justin WilsonMerge pull request #4602 from jrw972/buffer-size-doc
18 hours ago Justin WilsonMerge pull request #4604 from iguessthislldo/igtd/cmake...
20 hours ago Justin R. WilsonDevGuide doesn't document `send_buffer_size` and `rcv_b...
20 hours ago Justin R. Wilsonrtps_udp sends heartbeats when sending fragments
35 hours ago Fred HornseyFix Missing ACE with OPENDDS_ACE_TAO_SRC
3 days ago Justin WilsonMerge pull request #4600 from OpenDDS/igtd/cmake-readme
3 days ago Fred HornseyUpdate Link in cmake/README.mdigtd/cmake-readme
4 days ago Justin WilsonMerge pull request #4558 from jrw972/compiler-flags
7 days ago Justin WilsonMerge pull request #4593 from jrw972/type-object-encoding
7 days ago Justin WilsonMerge pull request #4594 from iguessthislldo/igtd/relea...
7 days ago Justin R. WilsonUpdate compiler warning levels
8 days ago Fred HornseyPost 3.28.0 Release Script Improvements
8 days ago Justin R. Wilson`Service_Participant::type_object_encoding` returns...
8 days ago Justin WilsonMerge pull request #4574 from jrw972/mpcopts-fix
8 days ago Justin WilsonMerge pull request #4591 from jrw972/gov-gen-fix
...
tags
10 days ago DDS-3.28 OpenDDS Release 3.28.0
2 months ago DDS-3.27 OpenDDS Release 3.27.0
4 months ago green-45
5 months ago DDS-3.26.1 OpenDDS Release 3.26.1
5 months ago green-44
5 months ago green-43
6 months ago DDS-3.26 OpenDDS Release 3.26.0
6 months ago green-42
7 months ago green-41
8 months ago green-40
9 months ago DDS-3.25 OpenDDS Release 3.25.0
9 months ago green-39
9 months ago DDS-3.24.2 OpenDDS Release 3.24.2
11 months ago green-38
12 months ago green-34c
12 months ago DDS-3.24.1 OpenDDS Release 3.24.1
...
heads
14 hours ago master
16 hours ago green-dev
22 hours ago heartbeat-during-fragmentation
3 days ago igtd/cmake-readme
10 days ago website-next-release
10 days ago gh-pages
10 days ago latest-release
10 days ago branch-DDS-3.28
2 months ago branch-DDS-3.27
5 months ago branch-DDS-3.26
7 months ago green-36-test
9 months ago branch-DDS-3.25
9 months ago branch-DDS-3.24
12 months ago green-36-dev
12 months ago rtpsrelay-partition-dependent-forwarding
14 months ago branch-DDS-3.23
...