Formally Verified Animation for RoboChart using Interaction Trees

03/16/2023
by   Kangfeng Ye, et al.
0

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, along with 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 model and a patrol robot model additionally 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 concrete scenarios for the patrol robot when its calibrated position is in different sections of a corridor. We also verify that the animated scenarios are truly trace refinements of the CSP denotational semantics of the RoboChart models using FDR, a refinement model checker for CSP. This supports the soundness of our approach that the use of CSP operators with priority resolves nondeterminism correctly.

READ FULL TEXT
research
05/11/2021

Formally Verified Simulations of State-Rich Processes using Interaction Trees in Isabelle/HOL

Simulation and formal verification are important complementary technique...
research
11/14/2022

A Formal CHERI-C Semantics for Verification

CHERI-C extends the C programming language by adding hardware capabiliti...
research
09/27/2019

Towards Coq-verified Esterel Semantics and Compiling

This paper focuses on semantics of the Esterel synchronous programming l...
research
03/25/2022

Formal Semantics and Formally Verified Validation for Temporal Planning

We present a simple and concise semantics for temporal planning. Our sem...
research
11/17/2017

WYS*: A Verified Language Extension for Secure Multi-party Computations

Secure multi-party computation (MPC) enables a set of mutually distrusti...
research
11/29/2018

From C to Interaction Trees: Specifying, Verifying, and Testing a Networked Server

We present the first formal verification of a networked server implement...
research
04/22/2019

Translating between models of concurrency

Hoare's Communicating Sequential Processes (CSP) admits a rich universe ...

Please sign up or login with your details

Forgot password? Click here to reset