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.
  • 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

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.