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

05/11/2021
by   Simon Foster, et al.
0

Simulation and formal verification are important complementary techniques necessary in high assurance model-based systems development. In order to support coherent results, it is necessary to provide unifying semantics and automation for both activities. In this paper we apply Interaction Trees in Isabelle/HOL to produce a verification and simulation framework for state-rich process languages. We develop the core theory and verification techniques for Interaction Trees, use them to give a semantics to the CSP and Circus languages, and formally link our new semantics with the failures-divergences semantic model. We also show how the Isabelle code generator can be used to generate verified executable simulations for reactive and concurrent programs.

READ FULL TEXT

page 12

page 13

research
03/16/2023

Formally Verified Animation for RoboChart using Interaction Trees

RoboChart is a core notation in the RoboStar framework. It is a timed an...
research
12/29/2017

Unifying Theories of Reactive Design Contracts

Design-by-contract is an important technique for model-based design in w...
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
07/23/2018

Automating Verification of State Machines with Reactive Designs and Isabelle/UTP

State-machine based notations are ubiquitous in the description of compo...
research
01/31/2022

Network Programming via Computable Products

The User Plane Function (UPF) aims to provide network services in the 3G...
research
12/29/2017

Unifying Theories of Time with Generalised Reactive Processes

Hoare and He's theory of reactive processes provides a unifying foundati...
research
11/12/2022

Formally Verified Samplers From Probabilistic Programs With Loops and Conditioning

We present Zar: a formally verified compiler pipeline from discrete prob...

Please sign up or login with your details

Forgot password? Click here to reset