Formal Modelling for Ada Implementations: Tasking Event-B

This paper describes a formal modelling approach, where Ada code is automatically generated from the modelling artefacts. We introduce an implementation-level specification, Tasking Event-B, which is an extension to Event-B. Event-B is a formal method, that can be used to model safety-, and business-critical systems. The work may be of interest to a section of the Ada community who are interested in applying formal modelling techniques in their development process, and automatically generating Ada code from the model. We describe a streamlined process, where the abstract modelling artefacts map easily to Ada language constructs. Initial modelling takes place at a high level of abstraction. We then use refinement, decomposition, and finally implementation-level annotations, to generate Ada code. We provide a brief introduction to Event-B, before illustrating the new approach using small examples taken from a larger case study.

[1]  Alan Burns,et al.  Guide for the use of the Ada Ravenscar Profile in high integrity systems , 2004, ALET.

[2]  Jacques Julliand,et al.  B 2007: Formal Specification and Development in B, 7th International Conference of B Users, Besançon, France, January 17-19, 2007, Proceedings , 2006, B.

[3]  Jozef Hooman,et al.  Modeling and Validating Distributed Embedded Real-Time Systems with VDM++ , 2006, FM.

[4]  Michael Butler,et al.  Tasking Event-B: An Extension to Event-B for Generating Concurrent Code , 2011 .

[5]  Colin F. Snook,et al.  UML-B: A Plug-in for the Event-B Tool Set , 2008, ABZ.

[6]  Abz,et al.  Abstract State Machines, B and Z, First International Conference, ABZ 2008, London, UK, September 16-18, 2008. Proceedings , 2008, ABZ.

[7]  Christophe Metayer,et al.  DIR 41 Case Study , 2008, ABZ.

[8]  Thai Son Hoang,et al.  Decomposition tool for event‐B , 2011, Softw. Pract. Exp..

[9]  S. Tucker Taft,et al.  Consolidated Ada Reference Manual Language and Standard Libraries , 2002, Lecture Notes in Computer Science.

[10]  Renato Silva,et al.  Towards the Composition of Specifications in Event-B , 2011, B@FM.

[11]  Kaisa Sere,et al.  Concurrent Scheduling of Event-B Models , 2011, Refine@FM.

[12]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[13]  Dominique Cansell,et al.  Modelling and Proof Analysis of Interrupt Driven Scheduling , 2007, B.

[14]  Jean-Raymond Abrial,et al.  Modeling in event-b - system and software engineering by Jean-Raymond Abrial , 2010, SOEN.

[15]  Sylvain Boulmé,et al.  Adaptable Translator of B Specifications to Embedded C Programs , 2003, FME.

[16]  Stefania Gnesi,et al.  FME 2003: Formal Methods: International Symposium of Formal Methods Europe, Pisa, Italy, September 8-14, 2003. Proceedings , 2003, Lecture Notes in Computer Science.

[17]  Russo,et al.  Formal Methods in Industry: The State of Practice of Formal Methods in South America and Far East , 2009 .

[18]  Michael J. Butler,et al.  Specification and refinement of discrete timing properties in Event-B , 2011, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[19]  Michael J. Butler,et al.  Decomposition Structures for Event-B , 2009, IFM.

[20]  Gérard Berry Synchronous Design and Verification of Critical Embedded Systems Using SCADE and Esterel , 2007, FMICS.

[21]  Tobias Nipkow,et al.  FM 2006: Formal Methods, 14th International Symposium on Formal Methods, Hamilton, Canada, August 21-27, 2006, Proceedings , 2006, FM.