Static-Time Extraction and Analysis of the ROS Computation Graph
Published in 2019 Third IEEE International Conference on Robotic Computing (IRC), 2019
Recommended citation: A. Santos, A. Cunha, N. Macedo. (2019). "Static-Time Extraction and Analysis of the ROS Computation Graph." IRC 2019. 62-69.
Abstract: The Robot Operating System (ROS) is one of the most popular open source robotic frameworks, and has contributed significantly to the fast development of robotics. Even though ROS provides many ready-made components, a robotic system is inherently complex, in particular regarding the architecture and orchestration of such components. Availability and analysis of a system’s architecture at compile time is fundamental to ease comprehension and development of higher-quality software. However, ROS developers have to overcome this complexity relying mostly on testing and runtime visualisers. This work aims to enhance static-time support by proposing, firstly, a metamodel to describe the software architecture of ROS systems (the ROS Computation Graph) and, secondly, model extraction and visualisation tools for such architectural models. The provided tools allow users to specify custom-made queries over these models, enabling the static verification of relevant properties that had to be (manually) checked at runtime before.