The Modelling Framework: Event-B

This chapter presents an overview of the Event-B notations that are used to formalise the cardiac pacemaker case study. Event-B has evolved from the Classical B for specifying and reasoning about reactive systems. Main motivation to select Event-B is targeted at an incremental modelling style where a system is defined abstractly, and later interesting properties are introduced in an incremental fashion using a stepwise refinement. The use of refinement represents a system at different levels of abstraction and the use of mathematical proof verifies consistency between the refinement levels. Event-B is an event-based approach which is defined in terms of a few simple concepts describing a discrete event system and proof obligations that permit verification of properties of an event system. This chapter explains the fundamental concepts and formal notations of Event-B modelling language. Event-B is provided with tool support in the form of an open and extensible Eclipse-based IDE called Rodin, which is a platform for the Event-B specification and verification.

[1]  Michael Butler,et al.  Parallel Programming with the B Method , 1999 .

[2]  Michael J. Butler csp2B: A Practical Approach to Combining CSP and B , 1999, World Congress on Formal Methods.

[3]  Dominique Cansell,et al.  Incremental Proof of the Producer/Consumer Property for the PCI Protocol , 2002, ZB.

[4]  Dominique Cansell,et al.  A Mechanically Proved and Incremental Development of IEEE 1394 Tree Identify Protocol , 2003, Formal Aspects of Computing.

[5]  J. Michael Spivey,et al.  Understanding Z : A specification language and its formal semantics , 1985, Cambridge tracts in theoretical computer science.

[6]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[7]  Cliff B. Jones,et al.  RODIN (Rigorous Open Development Environment for Complex Systems) , 2005 .

[8]  Cliff B. Jones,et al.  Systematic software development using VDM (2. ed.) , 1990, Prentice Hall International Series in Computer Science.

[9]  Paul Benoit,et al.  Météor: A Successful Application of B in a Large Project , 1999, World Congress on Formal Methods.

[10]  Carroll Morgan,et al.  Programming from specifications , 1990, Prentice Hall International Series in computer science.

[11]  Stephan Merz,et al.  The Specification Language TLA , 2008 .

[12]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.

[13]  K. Mani Chandy,et al.  Parallel program design - a foundation , 1988 .

[14]  John Fitzgerald The Typed Logic of Partial Functions and the Vienna Development Method , 2006 .

[15]  Prof. Dr. Robert F. Stärk,et al.  Java and the Java Virtual Machine , 2001, Springer Berlin Heidelberg.

[16]  Dominique Cansell,et al.  Proved-Patterns-Based Development for Structured Programs , 2007, CSR.

[17]  Dominique Cansell,et al.  The event-B Modelling Method: Concepts and Case Studies , 2008 .

[18]  S. Anderson,et al.  Secure Synthesis of Code: A Process Improvement Experiment , 1999, World Congress on Formal Methods.

[19]  Egon Börger,et al.  Abstract State Machines. A Method for High-Level System Design and Analysis , 2003 .

[20]  Jean-Raymond Abrial,et al.  Introducing Dynamic Constraints in B , 1998, B.

[21]  Ken Robinson,et al.  Proceedings of the First International Conference of B and Z Users on Formal Specification and Development in Z and B , 2000 .

[22]  Jeremy Dick,et al.  Applying the B Technologies on CICS , 1996, FME.

[23]  Jonathan P. Bowen,et al.  ZB 2003: Formal Specification and Development in Z and B , 2003, Lecture Notes in Computer Science.

[24]  Ralph-Johan Back,et al.  On Correct Refinement of Programs , 1981, J. Comput. Syst. Sci..

[25]  Moshe Deutsch,et al.  Z Logic and Its Applications , 2008 .

[26]  Juhani Karhumäki,et al.  Computer Science - Theory and Applications , 2014, Lecture Notes in Computer Science.

[27]  Didier Bert Proceedings of the Second International B Conference on Recent Advances in the Development and Use of the B Method , 1998 .

[28]  Leslie Lamport,et al.  The temporal logic of actions , 1994, TOPL.

[29]  Michael J. Butler,et al.  Stepwise Refinement of Communicating Systems , 1996, Sci. Comput. Program..

[30]  Egon Börger Specification and validation methods , 1995 .

[31]  Ralph-Johan Back,et al.  A calculus of refinements for program derivations , 1988, Acta Informatica.

[32]  Luc Moreau,et al.  A construction of distributed reference counting , 2001, Acta Informatica.

[33]  Kaisa Sere,et al.  Program Development by Refinement , 1999, Formal Approaches to Computing and Information Technology FACIT.

[34]  Jean-Raymond Abrial B#: Toward a Synthesis between Z and B , 2003, ZB.

[35]  Yuri Gurevich,et al.  Evolving algebras 1993: Lipari guide , 1995, Specification and validation methods.

[36]  Wolfgang Reisig Abstract State Machines for the Classroom , 2008 .

[37]  Leslie Lamport,et al.  Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers [Book Review] , 2002, Computer.

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

[39]  Ralph-Johan Back,et al.  Refinement Calculus: A Systematic Introduction , 1998 .

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

[41]  Dines Bjørner,et al.  Logics of Specification Languages , 2007, Monographs in Theoretical Computer Science. An EATCS Series.

[42]  Simon L. Peyton Jones,et al.  Roadmap for enhanced languages and methods to aid verification , 2006, GPCE '06.