CoreDX DDS Interoperability
Immediate interoperability with standardized wire protocol
CoreDX DDS Interoperability provides on-the-wire compatibility with other DDS implementations. CoreDX DDS applications can easily communicate with applications based on DDS from other vendors. This multi-vendor interoperability is enabled by the DDS Real-Time Publish Subscribe (RTPS) protocol. CoreDX DDS includes proven support for the RTPS protocol. Twin Oaks has demonstrated CoreDX DDS interoperability with RTI DDS from and OpenSplice from PrismTech.
RTPS is used as the underlying data transport protocol for CoreDX DDS communications. It provides support for all of the critical DDS technologies - Dynamic Discovery, Type-safe communications, platform independence, and Quality of Service (QoS) matching. RTPS can be configured to use MULTICAST or UNICAST data communications based on application needs. CoreDX DDS provides a native implementation of RTPS - there are no RTPS gateways, daemons, or helper applications required - for the best performance possible.
Proven Interoperability at Public Demonstrations
Twin Oaks Computing is proud to have been a part of the recent OMG sponsored multi-vendor Interoperability Demonstration. This demonstration included 5 DDS vendors, and showed interoperability amongst all. The Interoperability Demonstration was held at the Arlington, Virginia Hyatt Regency on March 23, 2011.
This picture shows the Interoperability Demonstration in action. TOC Shapes with CoreDX DDS is clearly visible on the projection screen, displaying 'shape' data from multiple vendor's Shapes implementations.
This picture shows all of the participating DDS vendors. In the lower-right foreground, you can see TOC Shapes with CoreDX DDS running on our laptop and the Gumstix embedded hardware.
See the Press Release (Coming Soon).
Developing Interoperable CoreDX DDS Applications
There are no special steps required when developing an interoperable application with CoreDX DDS. The DDS API supported in CoreDX DDS is fully compliant with the DDS Standard. Developing for interoperability puts no constraints on the application developer -- the software engineer is free to use the entire API provided by CoreDX DDS.
- The Data Definition Language (DDL) used by CoreDX DDS to specify application data types automatically generates type specific source code that is 100% compatible with the RTPS protocol
- The DDS Quality of Service (QoS) policies of CoreDX DDS are seamlessly supported by RTPS, providing full QoS tailored communications between Readers and Writers
Learn more about developing with CoreDX DDS...
Deploying Interoperable CoreDX DDS Applications
The fielding of CoreDX DDS applications for interoperability is also easy.
- Dynamic Discovery, enabled by default, allows a CoreDX DDS application to discover and connect with other DDS applications
- The Simple Participant Discovery Protocol (SPDP) included in RTPS enables discovery of other RTPS enabled Domain Participants
- The Simple Endpoint Discovery Protocol (SEDP) of RTPS enables discovery of other endpoints (Readers and Writers) within remote Participants
- Topics are matched and handled in a type-safe manner
- Readers and Writers exchange QoS policy settings which are automatically applied to tailor the communications protocol and achieve the requested behavior
- The full spectrum of DDS Liveliness is supported by the RTPS protocol, so an application can reliably determine the liveliness of remote entities
- Because RTPS includes support for multicast UDP data packets, special consideration must be paid to networks which include routing devices. These devices may not support multicast groups without special configuration. CoreDX DDS provides a facility to adjust the multicast time-to-live (TTL) field in transmitted UDP packets. Increasing the TTL parameter allows these UDP packets to traverse additional network hops.
- Because RTPS is implemented on top of the User Datagram Protocol (UDP), the maximum allowable packet size is 64K. This imposes a limit (somewhat smaller than 64K to allow for packet/message headers) on the maximum data size. Future versions of CoreDX DDS will support the RTPS DATA_FRAGMENT message which breaks through this limitation.