Data Distributed Service DDS/RTPS is promoted as standard for "real-time" middleware/application, at least the RTPS states for Real-Time Pub-Sub. However, when I read the specs, I did not find any clear definition or constraint about real-time requirements (e.g. classic soft/hard real-time aspects).
RTPS defines some methods to make DDS as efficient as possible, but selling it as "Real-time pub/sub" is not really precise IMHO.
Sure, there are a lot of projects/products involving DDS and their performance can meet their real-time requirement. But It still depends on vendor implementation of DDS and actual system setup which not relevant to DDS.
Do I miss any point about the real-time aspect in DDS?
I found some relevant sections in specs respectively:
- DDS 2.2.3 Supported QoS
- RTPS 8.7.2 DDS QoS Parameters
- RTPS 8.4.2.1.3 The timing characteristics of all implementations must be tunable.
but I don't really see any clear definition of requirement on implementation (e.g. RTPS 8.4.2.1).
Same logic: C/C++ is great for high performance and real-time application, but no one put "real-time programing language" as the title of its standard spec.