Code Generation for Event-B [chapter]

Andreas Fürst, Thai Son Hoang, David Basin, Krishnaji Desai, Naoto Sato, Kunihiko Miyazaki
2014 Lecture Notes in Computer Science  
We present an approach to generating program code from Event-B models that is correct-by-construction. Correctness is guaranteed by the combined use of well-definedness restrictions, refinement, and assertions. By enforcing the well-definedness of the translated model, we prevent runtime errors that originate from semantic differences between the target language and Event-B, such as different interpretations of the range of integer values. Using refinement, we show that the generated code
more » ... tly implements the original Event-B model. We provide a simple yet powerful scheduling language that allows one to specify an execution sequence of the model's guarded events where assertions are used to express properties established by the event execution sequence, which are necessary for well-definedness and refinement proofs.
doi:10.1007/978-3-319-10181-1_20 fatcat:mvrqoxhdc5at7ftifwgztji57u