Download PDFOpen PDF in browser

Transforming Event B Models into Verified C# Implementations

17 pagesPublished: July 25, 2013

Abstract

The refinement-based approach to developing software is based on the
correct-by-construction paradigm were software systems are constructed via the step-by-step refinement of an initial high-level specification into a final concrete specification. Proof obligations, generated during this process are discharged to ensure the consistency between refinement levels and hence the system's overall correctness.

Here, we are concerned with the refinement of specifications using the Event B modelling language and its associated toolset, the Rodin platform. In particular, we focus on the final steps of the process where the final concrete specification is transformed into an executable algorithm. The transformations involved are (a) the transformation from an Event B specification into a concrete recursive algorithm and (b) the transformation from the recursive algorithm into its equivalent iterative version. We prove both transformations correct and verify the correctness of the final code in a static programme verification environment for C# programs, namely the Spec# programming system.

Keyphrases: algorithm, correct by construction, implementation, refinement, transformation, verification

In: Alexei Lisitsa and Andrei Nemytykh (editors). VPT 2013. First International Workshop on Verification and Program Transformation, vol 16, pages 57-73.

BibTeX entry
@inproceedings{VPT2013:Transforming_Event_B_Models,
  author    = {Dominique Mery and Rosemary Monahan},
  title     = {Transforming Event B Models into Verified C# Implementations},
  booktitle = {VPT 2013. First International Workshop on Verification and Program Transformation},
  editor    = {Alexei Lisitsa and Andrei Nemytykh},
  series    = {EPiC Series in Computing},
  volume    = {16},
  publisher = {EasyChair},
  bibsource = {EasyChair, https://easychair.org},
  issn      = {2398-7340},
  url       = {/publications/paper/kmrz},
  doi       = {10.29007/9wm9},
  pages     = {57-73},
  year      = {2013}}
Download PDFOpen PDF in browser