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
Core
- DDS v1.4 – the DDS specification describes a Data-Centric Publish-Subscribe (DCPS) model for distributed application communication and integration.
- DDSI-RTPS v2.5 – defines the Real-time Publish-Subscribe Protocol (RTPS) DDS Interoperability Wire Protocol.
- Implementations are identified by an OMG-assigned RTPS vendor ID
- DDS-XTypes v1.4 – defines the DDS Type System and the serialized representation of DDS data.
- DDS-Security v1.2 – defines the Security Model and Service Plugin Interface (SPI) architecture for compliant DDS implementations.
Type Syntax and Language Mappings (IDL)
- IDL4 (Interface Definition Language) v4.2 (also available as ISO standard ISO/IEC 19516:2020) – 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.
- IDL4-C++ – defines the mapping of IDL4 types to the to C++ Language.
- IDL4-JAVA – defines the mapping of IDL4 types to the to Java Language.
- IDL4-C# – defines the mapping of IDL4 types to C# Language.
API
- DDS C++ API (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.
- DDS Java API (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.
Extensions
- DDS-RPC v1.0 – defines a distributed services framework providing language-independent service definition and service/remote procedure invocation using DDS. Supports automatic discovery, synchronous and asynchronous invocations, and Qos.
- DDS-XML v1.1 – 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-JSON v1.0 – defines the JSON syntax used to represent DDS-related resources. Provides JSON schema files for the DDS Quality of Service (Qos), DDS Data Types, DDS Data, and DDS Entities (DomainParticipants, Topics, Publishers, Subscriber, DataWriters and DataReaders).
- DDS-Monitoring v1.0 – defines APIs and protocols to remotely observe the health of a DDS-based application. This visibility helps to proactively identify and resolve potential system issues, thereby ensuring the reliable operation of the system.
Gateways and Transports
- 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 – defines 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 – 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.
- DDS-TSN v1.0 – defines 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.
Work in Progress
- DDSI-RTPS TCP/IP PSM – defines the mapping of the DDSI-RTPS protocol to a TCP/IP transport.
- DDS C# API – defines a C# API for the Data-Centric Publish-Subscribe (DCPS) portion of the DDS specification.
