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

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

Gateways

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