An Integration of UML-B and Object-Z in Software Development Process

  • Mehrnaz NajafiEmail author
  • Hassan Haghighi
Conference paper
Part of the Lecture Notes in Electrical Engineering book series (LNEE, volume 152)


Visual and formal modeling notations can complement each other when developing software systems. Object-Z (OZ) is an object-oriented extension of the Z notation for writing formal specifications. Much work exists on translations between UML and OZ. However, UML is not a formal modeling language. This delays verification and validation of UML visual models until translation to OZ. On the other hand, UML-B is a UML-like formal modeling language that supports object-oriented modeling concepts. In this paper, we propose a formal mapping from UML-B models to OZ constructs in order to integrate these two object-oriented visual and non-visual formal notations. In this way, we assist the software development process by using UML-B as a visual modeling notation at early conceptual modeling stage and OZ at next stages when requirements are better understood. Also, an opportunity is provided to develop code from UML-B models using existing approaches for mapping OZ specifications to object-oriented programs. Finally, using UML-B instead of UML, we are able to verify visual models in the early conceptual modeling stage of the software development process without translating them into OZ specifications.


Component Object-Z UML-B Formal notation Visual notation Formal mapping 


  1. 1.
    Kim SK, Carrington D (2002) A formal metamodeling approach to a transformation between visual and formal modeling techniques. Technical Report No. 02-23, University of Queensland, BrisbaneGoogle Scholar
  2. 2.
    Meyer E, Souquieres J (1999) A systematic approach to transform OMT diagrams to a B specification. In: Formal methods conference, vol 1, LNCS 1708, Springer, Verlag, pp 875–895Google Scholar
  3. 3.
    Mc Umber W, Cheng B (2001) A general framework for formalizing UML with formal languages. In: IEEE Conference on Software Engineering, IEEE Computer Society Press, pp 433-442Google Scholar
  4. 4.
    Kim SK, Carrington D (2002) A formal metamodeling approach to a transformation between the UML state machine and Object-Z. In: ICFEM, LNCS 2459, Springer, Verlag, pp 548-560Google Scholar
  5. 5.
    Kim SK, Carrington D (2000) A formal mapping between UML models and Object-Z specifications. Technical Report No. 00-03, University of Queensland, BrisbaneGoogle Scholar
  6. 6.
    Ehrler TD (2004) An informal mapping from UML models to Object-Z specifications. MsC thesis, University of London, TwickenhamGoogle Scholar
  7. 7.
    Dupuy S, Ledru Y, Chabre-Peccoud M (1998) Translating the OMT dynamic model into Object-Z. In: ZUM’98- The Z formal specification notation, 12th international conference of Z users, LNCS. No. 1498, Springer-Verlag, pp. 347–366Google Scholar
  8. 8.
    Kim SK, Carrington D, Duke R (2001) A metamodel-based transformation between UML and Object-Z. In: Proceedings of IEEE Symposia on Human-Centric Computing Languages and Environments, IEEE Computer Society Press, pp 112–119Google Scholar
  9. 9.
    Roe D, Broda K, Russo A (2003) Mapping UML models incorporating OCL constrains into Object-Z. Technical Report, Imperial College, LondonGoogle Scholar
  10. 10.
    Wang E, Richter H, Chen B (1997) Formalizing and integrating the dynamic model with OMT. In: Proceedings 19th international conference on software engineering, pp 45–55Google Scholar
  11. 11.
    Younes AB, Ayed LJB (2008) From UML activity diagrams to Event-B for the specification and verification of workflow applications. In: 32nd annual IEEE international computer software and applications conference, IEEE Computer Society Press, pp 643–648Google Scholar
  12. 12.
    Booch G, Jacobson I, Rumbaugh J (1998) The unified modeling language—A reference manual, Addison WesleyGoogle Scholar
  13. 13.
    Smith G (2000) The object-Z specification language. Advances in formal methods, Kluwer Academic Publishers, DordrechtGoogle Scholar
  14. 14.
    Duke R, Rose G (2000) Formal object-oriented specification using object-Z, Macmillan, UKGoogle Scholar
  15. 15.
    Snook C, Butler M (2008) UML-B and Event-B: an integration of languages and tools. In: The IASTED international conference on software engineering (SE2008)Google Scholar
  16. 16.
    Snook C, Butler M (2004) U2B—a tool for translating UML-B models into B. In: UML-B specification for proven embedded systems design, April 2004Google Scholar
  17. 17.
    Snook C, Butler M (2006) UML-B: formal modelling and design aided by UML. ACM T Softw Eng Meth 15(1):92–122CrossRefGoogle Scholar
  18. 18.
    Snook C, Butler M, Oliver I (2004) The UML-B profile for formal systems modeling in UML. In: UML-B specification for proven embedded systems designGoogle Scholar
  19. 19.
    Abrial JR (2010) Modeling in Event-B: system and software engineering, Cambridge University Press, New YorkGoogle Scholar
  20. 20.
    Said MY (2010) Methodology of refinement and decomposition in UML-B, PhD Thesis, University of SouthamptonGoogle Scholar
  21. 21.
    Joochim T (2010) Bringing requirements engineering to formal methods: timing diagrams for Event-B and KAOS, PhD Thesis, Univeristy of SouthamptonGoogle Scholar
  22. 22.
    Najafi M, Haghighi H (2011) An animation approach to develop C ++ codes from Object-Z specifications. In: International symposium on Computer Science and Software Engineering, pp 9–16Google Scholar

Copyright information

© Springer Science+Business Media New York 2013

Authors and Affiliations

  1. 1.Faculty of Electrical and Computer EngineeringShahid Beheshti UniversityTehranIran

Personalised recommendations