ROSRV is a runtime verification framework for the Robot Operating System (ROS). ROS is an open-source framework for robot software development, providing operating system-like functionality on a heterogeneous computer cluster. With the wide adoption of ROS, its safety and security are becoming an important problem.
ROSRV integrates seamlessly with ROS. Its two purposes are (1) monitoring safety properties and (2) enforcing security policies. Its core is a runtime monitoring infrastructure that intercepts, observes and optionally modifies messages passing through the system, to check system's runtime behavior against user-defined safety properties and perform desired actions. For automatic monitor generation out of formal specifications, ROSRV depends on ROSMOP. ROSRV regulates system state and execution of commands by enforcing a user-defined access control policy to address security concerns.
Download the source code
(Our framework currently works on Ubuntu 12.04 with ROS Groovy distribution release)
How to Install
- Run git clone --recursive https://github.com/Formal-Systems-Laboratory/ROSRV.git to check out the source code from the Github repository, including ROSMOP.
- Add <ROSRV_HOME>/bin to your PATH.
- Make sure the target package builds successfully.
You can read more about how to use ROSRV here.
Watch our demo to see how monitors interact with the robot LandShark UGV: