ROSMonitoring

ROSMonitoring is a framework developed for verifying at runtime the messages exchanged in a ROS system. It is a runtime verification tool released under MIT license.
Autonomy and Verification Laboratory - UoL in the University of Manchester.

ROSMonitoring is a framework developed for verifying the messages exchanged in a ROS system at runtime. The repository contains the Python implementation for integrating RML (Runtime Monitoring Language, https://rmlatdibris.github.io/) verification and ROS (https://www.ros.org/). Through instrumentation, a node monitor in ROS is generated, which can percept the messages exchanged by the other nodes. In the online application, upon each message reception, the monitor will send a corresponding JSON message to an oracle, which has been implemented in this case through a Webserver Prolog attached to an RML specification. In the offline application, the monitor will simply generate a log file that can be easily analyzed later on (in this case always through Prolog and RML). ROSMonitoring is easily extendable to new formalisms; it requires only an oracle Webserver using Websockets ready to receive JSON messages generated by the ROS node monitor. In the current implementation, the Webserver is written in SWI-Prolog and, upon a message reception, queries an RML specification.

Contents

There are currently no items in this folder.