Refinement of Statemachines Using Event B Semantics

  • Colin Snook
  • Marina Waldén
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4355)


While refinement gives a formal underpinning to the development of dependable control systems, such models are difficult to communicate and reason about in a non-formal sense, particularly for validation by non-specialist industrial partners. Here we present a visualisation of, and guidance for, event B refinement using a specialisation of UML statemachines. Furthermore, we introduce design patterns and process rules that are aimed at assisting in the software development process leading to correct refinements. The specialisation will be incorporated into the UML-B notation to be integrated with the Event B platform developed by the RODIN project.


Class Diagram Transition Path Proof Obligation Recovery Transition Hierarchical State 
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., Mussat, L.: Event B Reference Manual (2001),
  2. 2.
    Abrial, J.-R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)MATHCrossRefGoogle Scholar
  3. 3.
    Abrial, J.R., Cansell, D., Méry, D.: Refinement and Reachability in Event B. In: Treharne, H., King, S., C. Henson, M., Schneider, S. (eds.) ZB 2005. LNCS, vol. 3455, pp. 222–241. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  4. 4.
    Abrial, J.R., Hallerstede, S., Mehta, F., Métayer, C., Voisin, L.: Specification of Basic Tools and Platform. RODIN Deliverable D10 [17] (2005)Google Scholar
  5. 5.
    Back, R.J.R., Kurki-Suonio, R.: Decentralization of process nets with centralized control. In: Proceedings of the 2nd ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing, pp. 131–142 (1983)Google Scholar
  6. 6.
    Back, R.J.R., Sere, K.: From modular systems to action systems. Software - Concepts and Tools 17, 26–39 (1996)Google Scholar
  7. 7.
    Back, R.J.R., von Wright, J.: Refinement calculus: A systematic introduction. Springer, New York (1998)MATHGoogle Scholar
  8. 8.
    Boström, P., Jansson, M., Waldén, M.: A healthcare case study: Fillwell. TUCS Technical Reports No 569, Turku Centre for Computer Science, FinlandGoogle Scholar
  9. 9.
    Booch, G., Jacobson, I., Rumbaugh, J.: The Unified Modeling Language - a Reference Manual. Addison-Wesley, Reading (1998)Google Scholar
  10. 10.
    Butler, M., Waldén: Distributed system development in B. In: Proceedings of the 1st Conference on the B Method, Nantes, France, November 1996, pp. 155–168 (1996)Google Scholar
  11. 11.
  12. 12.
    Idani, A., Ledru, Y.: Dynamic Graphical UML Views from Formal B Specifications. Information and Software Technology 48(3), 154–169 (2006)CrossRefGoogle Scholar
  13. 13.
    Katz, S.M.: A superimposition control construct for distributed systems. ACM Transactions on Programming Languages and Systems 15(2), 337–356 (1993)CrossRefGoogle Scholar
  14. 14.
    Métayer, C., Abrial, J.R., Voisin, L.: Event-B Language, RODIN Deliverable D7 [17] (2005)Google Scholar
  15. 15.
    UML 2.0 Superstructure Specification, Document-formal/05-07-04 (UML Superstructure Specification, v2.0) (August 2005), (accessed 16.07.2006),
  16. 16.
    Petre, L., Troubitsyna, E., Waldén, M., Boström, P., Engblom, N., Jansson, M.: Methodology of integration of formal methods within the healthcare case study. TUCS Technical Reports No 436, Turku Centre for Computer Science, Finland (October 2001)Google Scholar
  17. 17.
    Rigorous Open Development Environment for Complex Systems (RODIN) - IST 511599,
  18. 18.
    Sekerinski, E.: Graphical Design of Reactive Systems. In: Proceedings of the 2nd International B Conference, Montpellier, France, April 1998, pp. 182–197. Springer, Heidelberg (1998)Google Scholar
  19. 19.
    Simons, A.: A theory of regression testing for behaviourally compatible object types. Software Testing, Verification and Reliability 16(3), 133–156; (UKTest 2005 Special Edition)CrossRefGoogle Scholar
  20. 20.
    Snook, C., Butler, M.: U2B Downloads,
  21. 21.
    Snook, C., Butler, M.: U2B -a tool for translating UML-B models into B. In: Mermet, J. (ed.) UML-B Specification for Proven Embedded Systems Design, Springer, Heidelberg (2004)Google Scholar
  22. 22.
    Snook, C., Oliver, I., Butler, M.: The UML-B profile for formal systems modelling in UML. In: Mermet, J. (ed.) UML-B Specification for Proven Embedded Systems Design, Springer, Heidelberg (2004)Google Scholar
  23. 23.
    Snook, C., Tsiopoulos, L., Waldén, M.: A case study in requirement analysis of control systems using UML and B. In: Proceedings of RCS 2003 - International workshop on Refinement of Critical Systems: Methods, Tools and Experience, Turku, Finland (June 2003),
  24. 24.
    Snook, C., Waldén, M.: Refinement of Statemachines using Hierarchical States, Choice Points and Joins. In: Proceedings of the EPSRC RefineNet Workshop, UK (2005)Google Scholar
  25. 25.
    Troubitsyna, E.: Stepwise Development of Dependable Systems. Turku Centre for Computer Science, TUCS, Ph.D. thesis No.29 (June 2000)Google Scholar
  26. 26.
    Waldén, M., Sere, K.: Reasoning About Action Systems Using the B-Method. Formal Methods in Systems Design 13(5-35) (1998)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Colin Snook
    • 1
  • Marina Waldén
    • 2
  1. 1.University of SouthamptonSouthamptonUK
  2. 2.Åbo Akademi UniversityTurkuFinland

Personalised recommendations