Generating Distributed Programs from Event-B Models

08/07/2020
by   Horatiu Cirstea, et al.
0

Distributed algorithms offer challenges in checking that they meet their specifications. Verification techniques can be extended to deal with the verification of safety properties of distributed algorithms. In this paper, we present an approach for combining correct-by-construction approaches and transformations of formal models (Event-B) into programs (DistAlgo) to address the design of verified distributed programs. We define a subset LB (Local Event-B) of the Event-B modelling language restricted to events modelling the classical actions of distributed programs as internal or local computations, sending messages and receiving messages. We define then transformations of the various elements of the LB language into DistAlgo programs. The general methodology consists in starting from a statement of the problem to program and then progressively producing an LB model obtained after several refinement steps of the initial LB model. The derivation of the LB model is not described in the current paper and has already been addressed in other works. The transformation of LB models into DistAlgo programs is illustrated through a simple example. The refinement process and the soundness of the transformation allow one to produce correct-by-construction distributed programs.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/29/2023

Tailoring Stateless Model Checking for Event-Driven Multi-Threaded Programs

Event-driven multi-threaded programming is an important idiom for struct...
research
11/28/2016

Blocking and Other Enhancements for Bottom-Up Model Generation Methods

Model generation is a problem complementary to theorem proving and is im...
research
05/18/2017

Verifying Programs via Intermediate Interpretation

We explore an approach to verification of programs via program transform...
research
05/24/2023

Invited Paper: Initial Steps Toward a Compiler for Distributed Programs

In the Hydro project we are designing a compiler toolkit that can optimi...
research
10/09/2020

Igloo: Soundly Linking Compositional Refinement and Separation Logic for Distributed System Verification

Lighthouse projects such as CompCert, seL4, IronFleet, and DeepSpec have...
research
10/27/2020

Verifying Graph Programs with First-Order Logic (Extended Version)

We consider Hoare-style verification for the graph programming language ...
research
04/08/2020

Optimal Runtime Verification of Finite State Properties over Lossy Event Streams

Monitoring programs for finite state properties is challenging due to hi...

Please sign up or login with your details

Forgot password? Click here to reset