What is dds

Last updated: April 1, 2026

Quick Answer: DDS (Data Distribution Service) is a middleware standard that enables real-time publish-subscribe communication between distributed systems, commonly used in robotics, autonomous vehicles, and IoT applications.

Key Facts

Overview of DDS

DDS (Data Distribution Service) is a standards-based, real-time middleware platform designed to facilitate communication between distributed applications. It was standardized by the Object Management Group (OMG) in 2003 and has since become the foundation for real-time systems requiring low latency and high reliability. DDS enables decentralized communication architectures where applications can publish and subscribe to data streams without maintaining direct connections.

How DDS Works

DDS operates on a publish-subscribe model, a communication pattern where publishers produce data and subscribers consume it through named topics. When an application publishes data to a topic, all subscribed applications automatically receive that data without needing to know about each other. This decoupling makes systems more flexible and scalable. Unlike client-server models, DDS does not require a central broker or coordinator, allowing it to function efficiently even with hundreds of interconnected nodes.

Quality of Service (QoS)

One of DDS's most powerful features is its comprehensive Quality of Service (QoS) framework. QoS policies allow applications to specify requirements such as reliability (best-effort vs. reliable delivery), latency budgets, bandwidth limitations, and data durability. This flexibility enables DDS to serve both applications requiring absolute guarantees (like safety-critical systems) and those tolerating occasional data loss for speed (like video streaming). QoS negotiation ensures that publishers and subscribers operate compatibly.

Applications in Robotics

DDS is particularly prominent in robotics and autonomous systems. ROS 2 (Robot Operating System version 2) adopted DDS as its primary communication middleware, making it essential knowledge for roboticists. In autonomous vehicles, for instance, different subsystems—perception, planning, control, and diagnostics—use DDS to exchange sensor data and commands in real time with guaranteed latency. The middleware's ability to handle complex, multi-node systems makes it ideal for complex robotic platforms.

Advantages Over Alternatives

Compared to other middleware solutions like RabbitMQ or Kafka, DDS excels at real-time determinism. It offers no single point of failure since there is no central broker, improving reliability for mission-critical systems. DDS also provides language and platform independence, supporting C++, Python, Java, and other languages across different operating systems. Its standardized nature ensures interoperability between implementations from different vendors.

Industries and Use Cases

Beyond robotics, DDS is used in autonomous vehicles, aerospace, defense systems, industrial automation, and IoT networks. In autonomous vehicles, DDS coordinates communication between LiDAR sensors, cameras, processing units, and actuators. In aerospace, it manages communication in avionics systems where reliability is non-negotiable. The military uses DDS for command and control systems where real-time performance is critical.

Related Questions

Is DDS the same as ROS?

No, DDS is middleware for real-time communication, while ROS (Robot Operating System) is a complete robotics framework. ROS 2 uses DDS as its underlying communication layer, but DDS can be used independently in non-robotics applications requiring distributed real-time systems.

What is the publish-subscribe model in DDS?

In the publish-subscribe model, applications publish data to named topics and other applications subscribe to those topics. Publishers and subscribers are decoupled and don't need to know about each other, making the system more flexible and scalable than direct point-to-point communication.

How does DDS differ from message queuing systems like RabbitMQ?

DDS is optimized for real-time determinism with no central broker, making it ideal for low-latency systems. Message queuing systems like RabbitMQ use a broker model and prioritize durability over latency, making them better for non-time-critical distributed systems.

Sources

  1. Wikipedia - Data Distribution ServiceCC-BY-SA-4.0
  2. OMG - Data Distribution Service SpecificationOMG Standard