Verified simulation for robotics

Ana Cavalcanti*, Augusto Sampaio, Alvaro Miyazawa, Pedro Ribeiro, Madiel Conserva Filho, André Didier, Wei Li, Jon Timmis

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

25 Citations (SciVal)


Simulation is a favoured technique for analysis of robotic systems. Currently, however, simulations are programmed in an ad hoc way, for specific simulators, using either proprietary languages or general languages like C or C++. Even when a higher-level language is used, no clear relation between the simulation and a design model is established. We describe a tool-independent notation called RoboSim, designed specifically for modelling of (verified) simulations. We describe the syntax, well-formedness conditions, and semantics of RoboSim. We also show how we can use RoboSim models to check if a simulation is consistent with a functional design written in a UML-like notation akin to those often used by practitioners on an informal basis. We show how to check whether the design enables a feasible scheduling of behaviours in cycles as needed for a simulation, and formalise implicit assumptions routinely made when programming simulations. We develop a running example and three additional case studies to illustrate RoboSim and the proposed verification techniques. Tool support is also briefly discussed. Our results enable the description of simulations using tool-independent diagrammatic models amenable to verification and automatic generation of code.

Original languageEnglish
Pages (from-to)1-37
Number of pages37
JournalScience of Computer Programming
Publication statusPublished - 01 Apr 2019


  • CSP
  • Process algebra
  • Refinement
  • Semantics
  • State machines


Dive into the research topics of 'Verified simulation for robotics'. Together they form a unique fingerprint.

Cite this