ROSMonitoring 2.0: Extending ROS Runtime Verification to Services and Ordered Topics

Maryam Ghaffari Saadat,Angelo Ferrando,Louise A. Dennis,Michael Fisher
DOI: https://doi.org/10.4204/EPTCS.411.3
2024-11-22
Abstract:Formal verification of robotic applications presents challenges due to their hybrid nature and distributed architecture. This paper introduces ROSMonitoring 2.0, an extension of ROSMonitoring designed to facilitate the monitoring of both topics and services while considering the order in which messages are published and received. The framework has been enhanced to support these novel features for ROS1 -- and partially ROS2 environments -- offering improved real-time support, security, scalability, and interoperability. We discuss the modifications made to accommodate these advancements and present results obtained from a case study involving the runtime monitoring of specific components of a fire-fighting Uncrewed Aerial Vehicle (UAV).
Software Engineering,Artificial Intelligence,Robotics
What problem does this paper attempt to address?
The main problem that this paper attempts to solve lies in the functional limitations of the existing ROS (Robot Operating System) runtime verification framework, ROSMonitoring. Specifically, the original ROSMonitoring can only monitor topic - based message passing, but is unable to handle services, and has deficiencies in handling message order. These problems limit its application and accuracy in complex robotic systems. ### Summary of Main Problems: 1. **Lack of Support for Services**: - Services in ROS provide a synchronous communication mechanism, allowing nodes to directly request specific functions provided by other nodes. However, the original ROSMonitoring only supports asynchronous topic message passing and does not support the monitoring of service calls. 2. **Improper Message Order Handling**: - The original ROSMonitoring processes messages according to the order in which they arrive at the subscriber, which may lead to the message order not matching the actual publishing order, especially when multiple topics are involved. This is disadvantageous for the verification of certain properties that rely strictly on order. ### Solutions Proposed in the Paper: To solve the above - mentioned problems, the author introduced ROSMonitoring 2.0, an extended version of the ROSMonitoring framework, aiming to improve the following aspects: 1. **Adding Support for Services**: - The new framework can monitor service calls and their responses in ROS, ensuring the consistency and correctness of service requests and responses. This is achieved by having the monitoring node intervene in the service call process and check the validity of the requests and responses. 2. **Improving Message Order Handling**: - A message re - ordering algorithm based on message publishing timestamps is introduced to ensure that messages are delivered to the Oracle for verification according to their actual publishing order. This solves the problem of disordered multi - topic message order. ### Experimental Verification: To verify the effectiveness of ROSMonitoring 2.0, the author conducted an experiment through a case study. The case involves a battery monitoring system for an unmanned aerial vehicle (UAV), which contains three main components: a battery, a battery monitor, and an LED panel. The experimental results show that the new framework can effectively monitor service calls and message order, ensuring the correctness and reliability of the system. ### Summary: The main contribution of this paper is to extend the functions of ROSMonitoring, enabling it to more comprehensively monitor services and message passing in ROS applications, especially significantly improving the ability to handle message order. These improvements make ROSMonitoring 2.0 more suitable for application in complex robotic systems, providing higher accuracy and reliability.