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.


Proof Obligation Record Type Accessor Function Mail Server Base Machine 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


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