Static verification of robotic simulations

Robotics is a very exciting area of application; not only it is fun, but it also has potential for huge economic and social impact.  A lot has been achieved, and a lot is expect to happen in the next decade or so.  Software engineering techniques that provide appropriate and specific support for robot engineers, however, are few and far between. 

This project will identify how robot engineers can use diagrammatic notations for verification of properties of robots.  It will adopt and extend a domain-specific notation for mobile and autonomous robots called RoboChart. It is being developed under a five-year project involving a team of seven researchers in York, and collaborators worldwide ( RoboChart is supported by RoboTool (, which enables the creation of diagrams, and automatic generation of code for verification using a specific tool. Following feedback from the robotics community, this project will explore the use of different tools suitable for verification of different properties, possibly involving time.  It will also ensure that the verification is consistent with those already possible using RoboTool.

 Applications and examples are available from and the York Robotics Laboratory.

Prerequisites: This project is ideal for a student interested in modelling and specification, and the application of tools.  Programming experience is essential, and a good mathematical background is important.


  1. RoboChart is described in a reference manual (
  2. A. Miyazawa, P. Ribeiro, W. Li, A. L. C. Cavalcanti, and J. Timmis. Automatic property checking of robotic applications. In IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 3869--3876, 2017. [ bib | DOI | .pdf ]
  3. Recent publication on RoboChart: P. Ribeiro, A. Miyazawa, W. Li, A. L. C. Cavalcanti, and J. Timmis. Modelling and verification of timed robotic controllers. In N. Polikarpova and S. Schneider, editors, Integrated Formal Methods, pages 18--33. Springer, 2017. [ bib | DOI | .pdf ]
  4. Examples of tools that might be considered are SPIN (, nuSMV (, and PRISM (