Language and Tool Support for Class and State Machine Refinement in UML-B

  • Mar Yah Said
  • Michael Butler
  • Colin Snook
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5850)


UML-B is a ‘UML-like’ graphical front end for Event-B that provides support for object-oriented modelling concepts. In particular, UML-B supports class diagrams and state machines, concepts that are not explicitly supported in plain Event-B. In Event-B, refinement is used to relate system models at different abstraction levels. The same abstraction-refinement concepts can also be applied in UML-B. This paper introduces the notions of refined classes and refined state machines to enable refinement of classes and state machines in UML-B. Together with these notions, a technique for moving an event between classes to facilitate abstraction is also introduced. Our work makes explicit the structures of class and state machine refinement in UML-B. The UML-B drawing tool and Event-B translator are extended to support the new refinement concepts. A case study of an auto teller machine (ATM) is presented to demonstrate application and effectiveness of refined classes and refined state machines.


Visual modelling languages Formal specification UML Event-B Refinement 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Snook, C., Butler, M.: UML-B and Event-B: An Integration of Languages and Tools. In: The IASTED International Conference on Software Engineering (2008)Google Scholar
  2. 2.
    Object Management Group. Introduction to OMG’s Unified Modelling Language (UML) (2007) (Date Last Accessed: 25/1/08)Google Scholar
  3. 3.
    Rumbaugh, J., Booch, G., Jacobson, I.: The Unified Modelling Language User Guide. Addison Wesley, Reading (1999)Google Scholar
  4. 4.
    Metayer, C., Abrial, J.R., Voisin, L.: Event-B Language. Technical Report Deliverable 3.2, EU Project IST-511599 - RODIN (2005), (Date Last Accessed: 25/1/08)
  5. 5.
    Rigorous Open Development Environment for Complex Systems (RODIN) - IST 511599, (Date Last Accessed: 25/1/08)
  6. 6.
    Abrial, J.R., Butler, M., Hallerstede, S., Voisin, L.: An Open Extensible Tool Environment for Event-B. In: Liu, Z., He, J. (eds.) ICFEM 2006. LNCS, vol. 4260, pp. 588–605. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  7. 7.
    Evans, N., Butler, M.: A Proposal For Records in Event-B. In: Misra, J., Nipkow, T., Sekerinski, E. (eds.) FM 2006. LNCS, vol. 4085, pp. 221–235. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  8. 8.
    Abrial, J.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)zbMATHGoogle Scholar
  9. 9.
    Abrial, R., Hallerstede, S.: Refinement, Decomposition and Instantiation of Discrete Models: Application to Event-B. Journal Fundamentae Informatica 77, 1–28 (2007)zbMATHMathSciNetGoogle Scholar
  10. 10.
    Butler, M., Yadav, D.: An Incremental Development of the Mondex System in Event-B. Journal Formal Aspects of Computing 20(1), 61–77 (2008)CrossRefGoogle Scholar
  11. 11.
    Butler, M., Hallerstede, S.: The Rodin Formal Modelling Tool. In: BCS-FACS Christmas 2007 Meeting, Formal Methods In Industry, London (2007)Google Scholar
  12. 12.
    Snook, C., Butler, M.: UML-B: Formal Modelling and Design Aided by UML. ACM Transactions on Software Engineering and Methodology 15, 92–122 (2006)CrossRefGoogle Scholar
  13. 13.
    Snook, C., Walden, M.: Refinement of Statemachines Using Event B Semantics. In: Julliand, J., Kouchnarenko, O. (eds.) B 2007. LNCS, vol. 4355, pp. 171–185. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  14. 14.
    Plaska, M., Walden, M., Snook, C.: Documenting the Progress of the System Development. In: Proc. of Workshop on Methods, Models and Tools for Fault Tolerance (2007)Google Scholar
  15. 15.
    OMG: UML 2.1.2 Superstructure Specification (2007),
  16. 16.
    Bergner, K., Rausch, A., Sihling, M., Vilbig, A.: Structuring and Refinement of Class Diagrams. In: Proc. of the 32nd Annual Hawaii International Conference, vol. Track 6 (1999)Google Scholar
  17. 17.
    Lano, K., Clark, D., Androutsopoulos, K.: UML to B: Formal Verification of Object Oriented Models. In: Boiten, E.A., Derrick, J., Smith, G.P. (eds.) IFM 2004. LNCS, vol. 2999, pp. 187–206. Springer, Heidelberg (2004)Google Scholar
  18. 18.
    Idani, A., Ledru, L., Bert, D.: Derivation of UML Class Diagrams as Static Views of Formal B Developments. In: Lau, K.-K., Banach, R. (eds.) ICFEM 2005. LNCS, vol. 3785, pp. 37–51. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  19. 19.
    Amálio, N., Polack, F., Stepney, S.: UML + Z: Augmenting UML with Z. In: Frappier, M., Habrias, H. (eds.) Software Specification Methods: an Overview Using a Case Study, new edn. Hermes Science Publishing (2006)Google Scholar
  20. 20.
    Moller, M., Olderog, E., Rasch, H., Wehrheim, H.: Linking CSP-OZ with UML and Java: A Case Study. In: Boiten, E.A., Derrick, J., Smith, G.P. (eds.) IFM 2004. LNCS, vol. 2999, pp. 267–286. Springer, Heidelberg (2004)Google Scholar
  21. 21.
    Simons, A.J.H.: A Theory of Regression Testing for Behaviourally Compatible Object Types: Research Articles. Journal Softw. Test. Verif. Reliab. 16(3), 133–156 (2006)CrossRefGoogle Scholar
  22. 22.
    Facon, P., Laleau, R., Nguyen, H.P.: Mapping Object Diagrams into B Specifications. In: Methods Integration Workshop, Electronic Workshops in Computing (eWiC). Springer, Heidelberg (1996)Google Scholar
  23. 23.
    Ledang, H., Souquiéres, J.: Contributions for Modelling UML State-Charts in B. In: Butler, M., Petre, L., Sere, K. (eds.) IFM 2002. LNCS, vol. 2335, pp. 109–127. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  24. 24.
    Sekerinski, E.: Graphical Design of Reactive systems. In: Bert, D. (ed.) B 1998. LNCS, vol. 1393, pp. 182–197. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  25. 25.
    Lausdahl, K.G., Lintrup, H.K.A., Larsen, P.G.: Coupling Overture to MDA and UML. Master Thesis (2008)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Mar Yah Said
    • 1
  • Michael Butler
    • 1
  • Colin Snook
    • 1
  1. 1.ECSUniversity of SouthamptonSouthamptonUK

Personalised recommendations