Introduction
Modern real-time systems—such as radar displays, defense command systems, UAV control, GIS-based tracking platforms, and industrial automation—require extremely fast, reliable, and scalable data exchange. Traditional client-server or REST-based communication models often fail to meet strict latency and reliability requirements.
This is where DDS (Data Distribution Service) comes in.
DDS is a high-performance, data-centric publish–subscribe middleware standard designed specifically for real-time, mission-critical, and distributed systems.
In this blog, we’ll cover:
- What DDS is
- Core DDS components
- Where DDS is commonly used
- How to implement DDS using Fast DDS
- Why DDS is ideal for real-time GIS, radar, and simulation systems
What is DDS (Data Distribution Service)?
DDS (Data Distribution Service) is an OMG (Object Management Group) standard for real-time data exchange between distributed systems.
Unlike traditional messaging systems that focus on sending messages, DDS is data-centric:
- Applications publish data
- Other applications subscribe to data of interest
- DDS handles discovery, delivery, reliability, latency, and scalability automatically
Key Characteristics of DDS
- Real-time & low latency
- Decentralized (no broker required)
- Scalable (from 2 nodes to thousands)
- Reliable & fault-tolerant
- Platform and language independent
Core Components of DDS
Understanding DDS becomes easy once you know its main building blocks.
1. Domain
A Domain is a logical communication space.
Only participants in the same domain can communicate.
Example:
- Domain 0 → Radar simulation system
- Domain 1 → Mission planning system
2. Domain Participant
A DomainParticipant represents an application joining a DDS domain.
Think of it as:
“An application entering a DDS network”
Each process usually creates one participant.
3. Topic
A Topic defines:
- The name of the data
- The data type (structure)
Example:
Topic: RadarTrack
Fields: track_id, latitude, longitude, altitude, speed, heading
4. Publisher & DataWriter
- Publisher: Manages one or more data writers
- DataWriter: Writes (publishes) data for a topic
Example:
- Radar simulator publishing track updates
- GPS sensor publishing ownship position
5. Subscriber & DataReader
- Subscriber: Manages one or more data readers
- DataReader: Reads (subscribes to) topic data
Example:
- GIS display subscribing to radar tracks
- Command system subscribing to sensor data
6. QoS (Quality of Service)
QoS is what makes DDS powerful.
You can control:
- Reliability (Best-effort / Reliable)
- Latency
- History (keep last N samples)
- Durability
- Deadline & liveliness
This allows DDS to work for hard real-time systems, unlike typical messaging frameworks.
Common DDS Use Cases
DDS is widely used in domains where timing and reliability matter.
Defense & Aerospace
- Radar and sensor fusion
- Tactical data links
- Command and control systems
- Simulation and war-gaming
GIS & Tracking Systems
- Real-time moving target display
- Live aircraft / ship tracking
- Sensor overlays on maps
- Multi-client GIS synchronization
Robotics & Autonomous Systems
- Robot sensor data exchange
- Autonomous vehicle communication
- ROS 2 internally uses DDS
Industrial & Simulation Systems
- Digital twins
- Hardware-in-the-loop (HIL) simulation
- Large-scale real-time simulators
Why DDS Instead of REST, TCP, or MQTT?
| Feature | DDS | REST | MQTT |
|---|---|---|---|
| Real-time latency | ✅ Excellent | ❌ Poor | ⚠️ Medium |
| Brokerless | ✅ Yes | ❌ No | ❌ No |
| QoS control | ✅ Very rich | ❌ None | ⚠️ Limited |
| Auto discovery | ✅ Yes | ❌ No | ❌ No |
| Scalability | ✅ High | ❌ Low | ⚠️ Medium |
DDS is not just messaging—it’s a real-time data fabric.
Implementing DDS Using Fast DDS
Fast DDS (formerly Fast RTPS) is an open-source DDS implementation by eProsima.
It is widely used in ROS 2, defense systems, and real-time platforms.
Why Fast DDS?
- Open source (Apache 2.0)
- High performance
- Actively maintained
- Cross-platform (Linux, Windows)
Step 1: Define Data Types (IDL)
DDS uses IDL (Interface Definition Language).
struct RadarTrack {
long track_id;
double latitude;
double longitude;
double altitude;
double speed;
double heading;
};
This gets converted into C++ classes using Fast DDS tools.
Step 2: Create Domain Participant
DomainParticipantQos qos;
auto participant = DomainParticipantFactory::get_instance()
->create_participant(0, qos);
Step 3: Create Topic
auto topic = participant->create_topic(
"RadarTrackTopic",
"RadarTrack",
TOPIC_QOS_DEFAULT);
Step 4: Publisher & DataWriter
auto publisher = participant->create_publisher(PUBLISHER_QOS_DEFAULT);
auto writer = publisher->create_datawriter(
topic, DATAWRITER_QOS_DEFAULT);
Publish data:
writer->write(&track);
Step 5: Subscriber & DataReader
auto subscriber = participant->create_subscriber(SUBSCRIBER_QOS_DEFAULT);
auto reader = subscriber->create_datareader(
topic, DATAREADER_QOS_DEFAULT);
Read data using listeners or polling.
Step 6: Configure QoS (Critical Step)
Example:
- Reliable delivery
- Keep last 10 samples
- Low latency
QoS tuning is where real expertise matters.
DDS + Qt + GIS (Real-World Architecture)
A typical architecture we implement:
- DDS Publishers
- Radar simulator
- Sensor simulator
- GPS / AIS / ADS-B feeds
- DDS Subscribers
- Qt-based radar display
- QGIS-based map viewer
- Mission planning tools
- Visualization
- 2D/3D map
- Trails, vectors, overlays
- Real-time filtering and replay
This allows multiple applications to stay perfectly synchronized without polling or central servers.
Challenges & Best Practices
- QoS misconfiguration can cause data loss
- Network tuning (UDP, multicast) is important
- Topic design must be clean and future-proof
- Logging and monitoring should be planned early
DDS is powerful—but needs proper system-level design.
Conclusion: Need DDS-Based Real-Time Software?
DDS is a proven, industry-grade solution for real-time, distributed, and mission-critical systems. When implemented correctly, it enables:
- Ultra-low latency data exchange
- High reliability
- Seamless scalability
- Clean system architecture
At Manya Technologies, we specialize in:
- DDS-based system design and implementation
- Fast DDS integration
- Qt & QGIS-based real-time visualization
- Radar, sensor, and data simulators
- GIS and defense-grade software solutions
📩 Looking to build or modernize a DDS-based system?
Contact Manya Technologies to discuss your requirements and get a tailored solution for your real-time application.

