Department of Computer Science

Notations and Tools

Below you can find a list of notations and tools developed in the context of the RoboStar research projects.


Notations

The notations developed in the context of the RoboStar research projects include RoboChart and RoboSim.

RoboChart

RoboChart is a notation for the design of robotic systems. It is akin to informal notations in current use, but it is precise and specialised to enable automated reasoning, catering for proof of functional properties that can be specified as a refinement check, including, deadlock, livelock, and timelock freedom, for instance. Moreover, RoboChart enforces design patterns appropriate for robotics, where the physical robot is explicitly modelled in terms of only its variables, events, and operations. RoboChart also supports the definition of a dedicated library of components to aid the development of robotic applications.

References

[1] A. Miyazawa, A. Cavalcanti, P. Ribeiro, W. Li, J. Woodcock, J. Timmis: RoboChart Reference Manual. University of York (2016).

[2] A. Miyazawa, P. Ribeiro, L. Wei, A. L. C. Cavalcanti, J. Timmis, J. C. P. Woodcock: RoboChart: modelling and verification of the functional behaviour of robotic applications. Software & Systems Modeling. (2019).

[3] A. Miyazawa, P. Ribeiro, W. Li, A. L. C. Cavalcanti, J. Timmis: Automatic Property Checking of Robotic Applications. In: The International Conference on Intelligent Robots and Systems. pp. 3869–3876 (2017).

RoboSim

RoboSim is a tool-independent language to model simulations of robotic systems by state machines combined to define concurrent and distributed designs that use specified services of a platform. As a diagrammatic notation, RoboSim is more appealing than programming languages and yet akin to notations in current use by practitioners. Distinctively, a RoboSim model can be verified against a UML-like design of a controller.

References

[4] A. Cavalcanti, P. Ribeiro, A. Miyazawa, A. Sampaio, M. Conserva Filho, A. Didier: RoboSim Reference Manual. University of York (2019).

[5] A. L. C. Cavalcanti, A. C. A. Sampaio, A. Miyazawa, P. Ribeiro, M. S. Conserva Filho, A. Didier, W. Li, J. Timmis: Verified simulation for robotics. Science of Computer Programming. 174, 1–37 (2019).


Tools

The tools developed in the context of RoboStar include RoboTool and Isabelle/UTP.

RoboTool

Generic placeholder image
RoboTool supports graphical modelling, validation, and automatic generation of mathematical definitions for proof of properties of RoboChart models, with proof automated using model checking. The RoboChart notation is distinctive in its features that support architectural modelling as well as timed constructs in state machines.

Isabelle/UTP

Isabelle/UTP screenshot

Hoare and He’s Unifying Theories of Programming is a framework for construction of denotational semantic meta-models for a variety of programming languages based on an alphabetised relational calculus. Isabelle/UTP is an implementation of their framework based in Isabelle/HOL. It can be used to formalise semantic building blocks for programming language paradigms (based on UTP theories), prove algebraic laws of programming, and then use these laws to construct program verification tools.

Department of Computer Science
Deramore Lane, University of York, Heslington, York, YO10 5GH, UK
Tel: 01904 325500