Difference between revisions of "ROSRV"

From FSL
Jump to: navigation, search
 
(30 intermediate revisions by 3 users not shown)
Line 1: Line 1:
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 heterogeneous
+
__NOTOC__ __NOEDITSECTION__
computer clusters. With the wide adoption of ROS, its safety and security are becoming an important problem. ROSRV integrates seamlessly with ROS and works as a transparent monitoring infrastructure that intercepts the commands and messages passing through the system and performs monitoring actions upon events of interest. Safety and security properties can be defined in a formal specification language, and are ensured by monitors generated automatically from specifications.
+
{{shortcut|[[ROSMOP|ROSMOP]] }}
  
== Getting Started ==
+
ROSRV is a runtime verification framework for the [http://www.ros.org/ 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.
  
== Event Specification ==
+
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|ROSMOP]]. ROSRV regulates system state and execution of commands by enforcing a user-defined access control policy to address security concerns.
  
== Demo ==
+
=== Download ===
 +
<preserve>
 +
<table width=720 border=0 cellpadding=0 cellspacing=0>
 +
<tr>
 +
<td width=170 align=left valign=top>
 +
<b>Download the source code</b><br>
 +
<a href="https://github.com/Formal-Systems-Laboratory/ROSRV.git">ROSRV on GitHub</a><br>
 +
</td>
 +
<td width=20>
 +
</td>
 +
<td width=270 align=left valign=top>
 +
<b>Prerequisites</b><br>
 +
<a href=http://git-scm.com/book/en/Getting-Started-Installing-Git target=_blank>Git</a> (1.8 or later)<br>
 +
<a href=http://wiki.ros.org/groovy target=_blank>ROS Groovy Galapagos</a><br>
 +
<a href=http://fsl.cs.illinois.edu/index.php/ROSMOP target=_blank>ROSMOP</a> (Please check the ROSMOP Installation guide)<br>
 +
</td>
 +
</tr>
 +
</table>
 +
</preserve>
 +
(Our framework currently works on Ubuntu 12.04 with ROS Groovy distribution release)
  
Watch how the monitors interact with the robot LandShark [1]:
+
=====How to Install=====
  
 +
* Run <font face=Courier>git clone --recursive https://github.com/Formal-Systems-Laboratory/ROSRV.git</font> to check out the source code from the Github repository, including ROSMOP.
  
== References ==
+
* Add <font face=Courier><ROSRV_HOME>/bin</font> to your PATH.
  
[1] The LandShark UGV is a product of [http://www.blackirobotics.com Black-i Robotics]
+
* Run
 +
<code>
 +
cd <ROSRV_HOME>
 +
catkin_make
 +
</code>
 +
 
 +
* Make sure the target package builds successfully.
 +
 
 +
You can read more about how to use ROSRV [https://github.com/Formal-Systems-Laboratory/ROSRV/blob/master/docs/Usage.md here].
 +
 
 +
=== Publications ===
 +
:<pubbib id="huang-erdogan-zhang-moore-luo-sundaresan-rosu-2014-rvtool"/>
 +
 
 +
=== Demo ===
 +
 
 +
Watch our demo to see how monitors interact with the robot [http://www.blackirobotics.com LandShark UGV]:
 +
 
 +
<iframe width="854" height="514" src="//www.youtube.com/embed/8M6wikTwmjY?rel=0" frameborder="0" modestbranding="1" showinfo="0" allowfullscreen></iframe>

Latest revision as of 04:01, 5 March 2016

Links:
ROSMOP

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

Download the source code
ROSRV on GitHub

Prerequisites
Git (1.8 or later)
ROS Groovy Galapagos
ROSMOP (Please check the ROSMOP Installation guide)

(Our framework currently works on Ubuntu 12.04 with ROS Groovy distribution release)

How to Install
  • Add <ROSRV_HOME>/bin to your PATH.
  • Run
cd <ROSRV_HOME>
catkin_make
  • Make sure the target package builds successfully.

You can read more about how to use ROSRV here.

Publications

ROSRV: Runtime Verification for Robots 
Jeff Huang and Cansu Erdogan and Yi Zhang and Brandon Moore and Qingzhou Luo and Aravind Sundaresan and Grigore Rosu
RV'14, LNCS 8734, pp 247-254. 2014
PDF, Slides(PPTX), Slides(PDF), ROSRV, DOI, RV'14, BIB


Demo

Watch our demo to see how monitors interact with the robot LandShark UGV:

Personal tools
Namespaces

Variants
Actions
Navigation