Verifiable Code Generation from Scheduled Event-B Models
Scheduled Event-B (SEB) augments Event-B with a scheduling language to make the control flow in an Event-B model explicit and facilitate derivation of algorithmic structure in Event-B refinement. A concrete SEB model has a concrete algorithmic structure associated with it. Although this structure reduces the difficulty of code generation, there is still some gap between the model and executable code. This work formulates the translation of SEB models to a programming language called Dafny and proposes an approach in which a number of assertions are generated from the model that allows the verification of the generated code in a static program verifier.
This work was funded in part by the EPSRC PRiME Project (EP/K034448/1), www.prime-project.org.
- 5.Butler, M.: Mastering system analysis and design through abstraction and refinement (2013)Google Scholar
- 7.Dalvandi, M., Butler, M.J., Rezazadeh, A.: Transforming Event-B models to Dafny contracts. In: ECEASST, vol. 72 (2015)Google Scholar
- 9.Edmunds, A., Butler, M.: Tasking Event-B: an extension to Event-B for generating concurrent code. Event Dates: 2nd April 2011, February 2011Google Scholar
- 12.Leino, K.R.M.: This is Boogie 2. Manuscript KRML 178:131 (2008)Google Scholar
- 15.Malcolm, G., Goguen, J.A.: Proving correctness of refinement and implementation. Computing Laboratory, Programming Research Group, Oxford University (1994)Google Scholar
- 17.Meyer, B.: Design by Contract. Prentice Hall, Inc., Upper Saddle River (2002)Google Scholar
- 18.Wirth, N.: Extended Backus-Naur Form (EBNF). ISO/IEC 14977:2996 (1996)Google Scholar