Data Distribution Service
The Data Distribution Service ( DDS ) is a standard specified by the Object Management Group .
overview
DDS represents middleware for data-centered communication in highly dynamic distributed systems . It is based on a publisher-subscriber concept that supports deterministic resource management.
The specification is divided into two areas:
- Data-Centric Publish-Subscribe (DCPS) describes the basic concepts for data distribution
- Data Local Reconstruction Layer (DLRL) provides an abstraction layer for applications based on DCPS
Concepts
The DDS specification contains the following core concepts:
- A topic is an application-specific data type ( e.g. defined in IDL ) that defines the type of information contained in a DDS packet.
- A domain is used for logical structuring and contains a number of topics.
- A publisher is a participant in the DDS system that makes data (topics) available.
- A subscriber is a participant in the DDS system who is the recipient for certain data (topics).
With the help of quality-of-service parameters, a subscriber can declaratively define its requirements for the quality of the data transmission. He can also create filters, for example to only receive data in a certain value range of the topic.
Depending on the implementation, the components (publisher and subscriber) can be found themselves (e.g. RTI) or by means of a central server (e.g. interface repository at TAO). The process of mutual finding is Discovery called. Discovery without a central server is implemented via multicast , for example .
Implementations
There are several implementations on the market (no claim to completeness):
- OpenDDS
- DDS for TAO
- RTI Data Distribution Service (formerly NDDS, commercial implementation of the DDS standard)
- BEE DDS
- DDS for ROS
The various implementations are partially compatible with each other if they master the wire protocol, such as B. the RTI and PrismTech implementation.