Open International Data-Centric Connectivity Standard
DDS enjoys an active and vibrant community continuously working to extend its applicability. The DDS standard currently includes the following:
- High-performance, scalable, secure, and data-centric publish/subscribe abstraction
- Completely decentralized architecture with dynamic discovery service that automatically establishes communication between matching peers
- Rich Quality of Service (QoS) characteristics for control over every aspect of data distribution, such as data availability, resource usage, reliability, and timing
- Interoperable data sharing, platform-independent extensible data modeling, encoding, and representation
- Recent extensions for RPC, security, resource-constrained devices, web integration, and OPC UA integration
OMG DDS Standards
- DDS v1.4 – the DDS specification describes a Data-Centric Publish-Subscribe (DCPS) model for distributed application communication and integration.
- DDSI-RTPS v2.2 and v2.3 (upcoming, OMG members only)– defines the Real-time Publish-Subscribe Protocol (RTPS) DDS Interoperability Wire Protocol.
- DDS-XTypes v1.2 – defines the DDS Type System and the serialized representation of DDS data.
- DDS-Security v1.1 – defines the Security Model and Service Plugin Interface (SPI) architecture for compliant DDS implementations.
- Interface Definition Language (IDL) v4.2 – defines the IDL, a language used to define data types and interfaces in a way that is independent of the programming language. This is not a DDS standard, but DDS depends on it.
- ISO/IEC C++ 2003 Language PSM for DDS – defines a C++ API only for the Data-Centric Publish-Subscribe (DCPS) portion of the DDS specification
- Java 5 Language PSM for DDS – defines a Java API for the Data-Centric Publish-Subscribe (DCPS) portion of the DDS specification.
- Other language APIs – the API for C, Java, Traditional C++, ADA, C#, and other Languages are derived from the DDS API in IDL using the respective IDL to language Mappings
- DDS-RPC v1.0 – defines a distributed services framework providing language-independent service defintion and service/remote procedure invokation using DDS. Supports automatic discovery, synchronous and asynchronous invocations, and Qos.
- DDS-XML v1.0 beta – defines the XML syntax used to represent DDS-related resources. Provides XSD schema files for the DDS Quality of Service (Qos), DDS Data Types, and DDS Entities (DomainParticipants, Topics, Publishers, Subscriber, DataWriters and DataReaders).
- DDS-WEB v1.0 – defines a platform-independent Abstract Interaction Model of how web clients should access a DDS System and a set of mappings to specific web platforms that realize the Platform Independent Model (PIM) in terms of standard web technologies and protocols.
- DDS-OPCUA v1.0 beta – definines a standard, configurable gateway that enables interoperability and information exchange between systems that use DDS and systems that use OPC UA.
- DDS-XRCE v1.0 beta – defines the protocol used by a resource constrained, low-powered device (client) to publish and subscribe data to a DDS Domain. The XRCE protocol connects the XRCE client to a DDS Agent that acts as the gateway to the DDS Domain.
Work in Progress
- DDS-TSN – define a set of mechanisms to allow DDS to be deployed on, and leverage, Time-Sensitive Networks (TSN). Defines the mapping of the DDSI-RTPS protocol to a TSN transport.
- DDS-JSON – define consolidated JSON syntax to represent DDS resources, such as Data Types, QoS Policies, DDS Entities, and DDS Data.
- DDSI-RTPS TCP/IP PSM – defines the mapping of the DDSI-RTPS protocol to a TCP/IP transport.
- IDL-JAVA – update IDL to Java Language mapping to account for newer Java Language Features.