Ye, Kangfeng, Foster, Simon orcid.org/0000-0002-9889-9514 and Woodcock, Jim orcid.org/0000-0001-7955-2702 (2024) Formally verified animation for RoboChart using interaction trees. Journal of Logical and Algebraic Methods in Programming. 100940. ISSN 2352-2216
Abstract
RoboChart is a core notation in the RoboStar framework. It is a timed and probabilistic domain-specific and state machine-based language for robotics. RoboChart supports shared variables and communication across entities in its component model. It has formal denotational semantics given in CSP. The semantic technique of Interaction Trees (ITrees) represents behaviours of reactive and concurrent programs interacting with their environments. Recent mechanisation of ITrees, ITree-based CSP semantics and a Z mathematical toolkit in Isabelle/HOL bring new applications of verification and animation for state-rich process languages, such as RoboChart. In this paper, we use ITrees to give RoboChart novel operational semantics, implement it in Isabelle, and use Isabelle's code generator to generate verified and executable animations. We illustrate our approach using an autonomous chemical detector and patrol robot models, exhibiting nondeterminism and using shared variables. With animation, we show two concrete scenarios for the chemical detector when the robot encounters different environmental inputs and three for the patrol robot when its calibrated position is in other corridor sections. We also verify that the animated scenarios are trace refinements of the CSP denotational semantics of the RoboChart models using FDR, a refinement model checker for CSP. This ensures that our approach to resolve nondeterminism using CSP operators with priority is sound and correct.
Metadata
Item Type: | Article |
---|---|
Authors/Creators: |
|
Copyright, Publisher and Additional Information: | © 2023 The Author(s). Funding Information: This work is funded by the EPSRC projects CyPhyAssure 14 14 (Grant EP/S001190/1 ), RoboCalc (Grant EP/M025756/1 ), and RoboTest (Grant EP/R025479/1 ). The icons used in RoboChart have been made by Sarfraz Shoukat, Freepik, Google, Icomoon and Madebyoliver from https://www.flaticon.com and are licensed under CC 3.0 BY. Funding Information: This document presents results from the research project CyPhyAssure ( https://www.cs.york.ac.uk/circus/CyPhyAssure/ , Grant EP/S001190/1 ) funded by EPSRC . |
Keywords: | Animation of robot software,Code generation,CSP,Interaction trees,Operational semantics,Theorem proving |
Dates: |
|
Institution: | The University of York |
Academic Units: | The University of York > Faculty of Sciences (York) > Computer Science (York) |
Depositing User: | Pure (York) |
Date Deposited: | 11 Jan 2024 16:50 |
Last Modified: | 12 Dec 2024 00:19 |
Published Version: | https://doi.org/10.1016/j.jlamp.2023.100940 |
Status: | Published |
Refereed: | Yes |
Identification Number: | 10.1016/j.jlamp.2023.100940 |
Related URLs: | |
Open Archives Initiative ID (OAI ID): | oai:eprints.whiterose.ac.uk:207502 |
Download
Filename: 1-s2.0-S2352220823000949-main.pdf
Description: 1-s2.0-S2352220823000949-main
Licence: CC-BY 2.5