Skip to main content
  • 645 Accesses

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Abrial, J.-R. (1996). Extending B without changing it (for developing distributed systems). In H. Habrias (Ed.), 1st conference on the B method (pp. 169–190).

    Google Scholar 

  2. Abrial, J.-R. (1996). The B-book: Assigning programs to meanings. New York: Cambridge University Press.

    Book  MATH  Google Scholar 

  3. Abrial, J.-R. (2003). B#: Toward a synthesis between Z and B. In D. Bert, J. P. Bowen, S. King, & M. Waldén (Eds.), Lecture notes in computer science: Vol. 2651. ZB 2003: Formal specification and development in Z and B (pp. 168–177). Berlin: Springer.

    Chapter  Google Scholar 

  4. Abrial, J.-R. (2010). Modeling in Event-B: System and software engineering (1st ed.). New York: Cambridge University Press.

    Book  MATH  Google Scholar 

  5. Abrial, J.-R., & Mussat, L. (1998). Introducing dynamic constraints in B. In Proceedings of the second international B conference on recent advances in the development and use of the B method, B’98 (pp. 83–128). London: Springer.

    Chapter  Google Scholar 

  6. Abrial, J.-R., Cansell, D., & Méry, D. (2003). A mechanically proved and incremental development of IEEE 1394 tree identify protocol. Formal Aspects of Computing, 14(3), 215–227.

    Article  Google Scholar 

  7. Back, R. J. R. (1981). On correct refinement of programs. Journal of Computer and System Sciences, 23(1), 49–68.

    Article  MathSciNet  MATH  Google Scholar 

  8. Back, R. J. R. (1988). A calculus of refinements for program derivations. Acta Informatica, 25, 593–624.

    Article  MathSciNet  MATH  Google Scholar 

  9. Back, R.-J. J., Akademi, A., & Von Wright, J. (1998). Refinement calculus: A systematic introduction (1st ed.). New York: Springer.

    Book  MATH  Google Scholar 

  10. B-Core Ltd. (1996). B-toolkit user’s manual, release 3.2.

    Google Scholar 

  11. Behm, P., Benoit, P., Faivre, A., & Meynadier, J.-M. (1999). Météor: A successful application of B in a large project. In J. Wing, J. Woodcock, & J. Davies (Eds.), Lecture notes in computer science: Vol. 1708. FM’99—formal methods (pp. 369–387). Berlin: Springer.

    Google Scholar 

  12. Börger, E., & Stärk, R. (2003). Abstract state machines: A method for high-level system design and analysis. Berlin: Springer.

    Book  Google Scholar 

  13. Butler, M. J. (1996). Stepwise refinement of communicating systems. Science of Computer Programming, 27(2), 139–173.

    Article  MathSciNet  MATH  Google Scholar 

  14. Butler, M. (2000). CSP2B: A practical approach to combining CSP and B. Formal Aspects of Computing, 12, 182–196.

    Article  MATH  Google Scholar 

  15. Butler, M., & Waldén, M. (1999). Parallel programming with the B method. In E. Sekerinski & K. Sere (Eds.), Formal approaches to computing and information technology (FACIT). Program development by refinement (pp. 183–195). London: Springer.

    Chapter  Google Scholar 

  16. Cansell, D., & Méry, D. (2007). Proved-patterns-based development for structured programs. In V. Diekert, M. Volkov, & A. Voronkov (Eds.), Lecture notes in computer science: Vol. 4649. Computer science—theory and applications (pp. 104–114). Berlin: Springer.

    Google Scholar 

  17. Cansell, D., & Méry, D. (2008). The Event-B modelling method: Concepts and case studies. In D. Bjørner & M. C. Henson (Eds.), Monographs in theoretical computer science. Logics of specification languages (pp. 47–152). Berlin: Springer.

    Chapter  Google Scholar 

  18. Cansell, D., Gopalakrishnan, G., Jones, M., Méry, D., & Weinzoepflen, A. (2002). Incremental proof of the producer/consumer property for the PCI protocol. In Proceedings of the 2nd international conference of B and Z users on formal specification and development in Z and B, ZB’02 (pp. 22–41). London: Springer.

    Google Scholar 

  19. Chandy, K. M., & Misra, J. (1988). Parallel program design: A foundation. Reading: Addison-Wesley. ISBN 0-201-05866-9.

    MATH  Google Scholar 

  20. Clarke, E. M., Grumberg, O., & Peled, D. (2001). Model checking. Cambridge: MIT Press.

    Google Scholar 

  21. ClearSy. Atelier B. http://www.clearsy.com.

  22. ClearSy, Aix-en-Provence (2004). B4FREE. http://www.b4free.com.

  23. Fitzgerald, J. (2007). The typed logic of partial functions and the Vienna development method. In D. Bjørner & M. C. Henson (Eds.), EATCS textbook in computer science. Logics of specification languages (pp. 431–465). Berlin: Springer.

    Google Scholar 

  24. Gurevitch, Y. (1995). Evolving algebras 1993: Lipari guide. In Specification and validation methods (pp. 9–36). Oxford: Oxford University Press.

    Google Scholar 

  25. Henson, M. C., Deutsch, M., & Reeves, S. (2007). Z logic and its applications. In D. Bjørner & M. C. Henson (Eds.), EATCS textbook in computer science. Logics of specification languages (pp. 467–569). Berlin: Springer.

    Google Scholar 

  26. Hoare, J., Dick, J., Neilson, D., & Holm Sørensen, I. (1996). Applying the B technologies on CICS. In FME 96 (pp. 74–84). Berlin: Springer.

    Google Scholar 

  27. Jones, C. B. (1990). Systematic software development using VDM (2nd ed.). Upper Saddle River: Prentice Hall.

    MATH  Google Scholar 

  28. Lamport, L. (1994). A temporal logic of actions. ACM Transactions on Programming Languages and Systems, 16(3), 872–923.

    Article  Google Scholar 

  29. Lamport, L. (2002). Specifying systems: The TLA + language and tools for hardware and software engineers. Reading: Addison-Wesley.

    Google Scholar 

  30. Lano, K., Bicarregui, J., & Sanchez, A. (1999). Invariant-based synthesis and composition of control algorithms using B. In FM’99—B users group meeting—Applying B in an industrial context: Tools, lessons and techniques (pp. 69–86).

    Google Scholar 

  31. Leavens, G. T., Abrial, J.-R., Batory, D., Butler, M., Coglio, A., Fisler, K., et al. (2006). Roadmap for enhanced languages and methods to aid verification. In Fifth international conference on generative programming and component engineering, GPCE 2006 (pp. 221–235). New York: ACM.

    Chapter  Google Scholar 

  32. Merz, S. (2007). The specification language TLA+. In D. Bjørner & M. C. Henson (Eds.), EATCS textbook in computer science. Logics of specification languages (pp. 381–430). Berlin: Springer.

    Google Scholar 

  33. Moreau, L., & Duprat, J. (2001). A construction of distributed reference counting. Acta Informatica, 37, 563–595.

    Article  MathSciNet  MATH  Google Scholar 

  34. Morgan, C. (1990). Prentice Hall international series in computer science. Programming from specifications. Upper Saddle River: Prentice Hall.

    MATH  Google Scholar 

  35. Reisig, W. (2007). Abstract state machines for the classroom. In D. Bjørner & M. C. Henson (Eds.), EATCS textbook in computer science. Logics of specification languages (pp. 1–32). Berlin: Springer.

    Google Scholar 

  36. RODIN (2004). Rigorous open development environment for complex systems. http://rodin-b-sharp.sourceforge.net.

  37. Spivey, J. M. (1987). Understanding Z: A specification language and its formal semantics.

    Google Scholar 

  38. Stärk, R., Schmid, J., & Börger, E. (2001). Java and the Java virtual machine. Berlin: Springer.

    Book  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag London

About this chapter

Cite this chapter

Singh, N.K. (2013). The Modelling Framework: Event-B. In: Using Event-B for Critical Device Software Systems. Springer, London. https://doi.org/10.1007/978-1-4471-5260-6_3

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-5260-6_3

  • Publisher Name: Springer, London

  • Print ISBN: 978-1-4471-5259-0

  • Online ISBN: 978-1-4471-5260-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics