Gerlando Sciangula, Daniel Casini, Alessandro Biondi, Claudio Scordino, Marco Di Natale
The Data Distribution Service (DDS) is established as a middleware communication standard based on a data-centric publish-subscribe protocol. This standard is pivotal for applications in autonomous driving, smart cities, and Industry 4.0, facilitating communication among diverse devices across the IoT-to-Edge-to-Cloud continuum. Particularly in the automotive industry, modern autonomous systems, built on top of frameworks like ROS 2 and Autoware, heavily rely on DDS for real-time data exchange across distributed software components. The DDS is however typically implemented with a multithreaded software structure and leverages middleware-specific policies for message dispatching, posing considerable challenges in guaranteeing timing constraints. This paper fills significant gaps in the current understanding of DDS's real-time performance. We introduce a comprehensive DDS model that includes both synchronous and asynchronous communication under various dispatching policies. The model is then used to derive a holistic response-time analysis capable of bounding the end-to-end latency of DDS-enabled real-time applications. Furthermore, we integrate our analysis with a state-of-the-art executor-based analysis for ROS2-based systems. The effectiveness of our approach is validated through experiments on a real platform using FastDDS, a popular DDS implementation, and a modern automotive testbed taken from the WATERS 2019 Industrial Challenge by Bosch. Finally, our analysis method is evaluated with both a ROS2 case-study application and the Autoware reference system, a realistic testbed from the open-source Autoware.Auto framework for autonomous driving.