A Proposal for Records in Event-B

  • Neil Evans
  • Michael Butler
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4085)


The B method is a well known approach to the formal specification and development of sequential computer programs. Inspired by action systems, the B method has evolved to incorporate system modelling and distributed system development. This extension is called Event-B. Even though several of the structuring mechanisms of the original B method are absent from Event-B, the desire to define and maintain structured data persists. We propose the introduction of records to Event-B for this purpose. Our approach upholds the refinement principles of Event-B by allowing the stepwise development of records too.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abrial, J.R.: The B Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)MATHCrossRefGoogle Scholar
  2. 2.
    The Alloy Analyzer, http://alloy.mit.edu
  3. 3.
  4. 4.
    Bicarregui, J.C., Matthews, B.M., Ritchie, B., Agerholm, S.: Investigating the integration of two formal methods. In: Proceedings of the 3rd ERCIM Workshop on Formal Methods for Industrial Critical Systems (1998)Google Scholar
  5. 5.
    B Core (U.K.) Ltd, http://www.b-core.com
  6. 6.
    Castagna, G.: Covariance and Contravariance: Conflict without a Cause. ACM Trans. Program. Lang. Syst. 17(3), 431–447 (1995)CrossRefGoogle Scholar
  7. 7.
    Métayer, C., Abrial, J.R., Voisin, L.: Event-B Language. RODIN deliverable 3.2 (2005), http://rodin.cs.ncl.ac.uk
  8. 8.
    Naumann, D.A.: Predicate transformer semantics of a higher-order imperative language with record subtyping. Sci. Comput. Program 41(1), 1–51 (2001)MATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    Schneider, S.: The B Method: An Introduction, Palgrave (2001)Google Scholar
  10. 10.
    Snook, C., Butler, M.J.: UML-B: Formal modelling and design aided by UML. ACM Trans. Software Engineering and Methodology (to appear, 2006)Google Scholar
  11. 11.
    Wirth, N.: The Programming Language Oberon. Softw., Pract. Exper. 18(7), 671–690 (1988)MATHCrossRefGoogle Scholar
  12. 12.
    Woodcock, J.C.P., Davies, J.: Using Z: Specification, Refinement, and Proof. Prentice-Hall, Englewood Cliffs (1996)MATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Neil Evans
    • 1
  • Michael Butler
    • 2
  1. 1.AWEAldermastonU.K.
  2. 2.School of Electronics and Computer ScienceUniversity of SouthamptonU.K.

Personalised recommendations