The UML as a Formal Modeling Notation

  • Andy Evans
  • Robert France
  • Kevin Lano
  • Bernhard Rumpe
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1618)


The Unified Modeling Language (UML) is rapidly emerging as a de-facto standard for modelling OO systems. Given this role, it is imperative that the UML needs a well-defined, fully explored semantics. Such semantics is required in order to ensure that UML concepts are precisely stated and defined. In this paper we motivate an approach to formalizing UML in which formal specification techniques are used to gain insight into the semantics of UML notations and diagrams and describe a roadmap for this approach. The authors initiated the Precise UML (PUML) group in order to develop a precise semantic model for UML diagrams. The semantic model is to be used as the basis for a set of diagrammatical transformation rules, which enable formal deductions to be made about UML diagrams. A small example shows how these rules can be used to verify whether one class diagram is a valid deduction of another. Because these rules are presented at the diagrammatical level, it will be argued that UML can be successfully used as a formal modelling tool without the notational complexities that are commonly found in textual specification techniques.


Transformation Rule Class Diagram Abstract Syntax Semantic Domain Valid Deduction 
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. BC95.
    Bourdeau, R.H., Cheng, B.H.C.: A formal semantics for object model diagrams. IEEE Transactions on Software Engineering 21(10), 799–821 (1995)CrossRefGoogle Scholar
  2. BHH+97.
    Breu, R., Hinkel, U., Hofmann, C., Klein, C., Paech, B., Rumpe, B., Thurner, V.: Towards a formalization of the unified modeling language. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 344–366. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  3. BLM97.
    Bicarregui, J., Lano, K., Maibaum, T.: Objects, associations and subsystems: A hierarchical approach to encapsulation. In: JELIA 1998. LNCS, vol. 1489, Springer, Heidelberg (1997)Google Scholar
  4. CAB+94.
    Coleman, D., Arnold, P., Bodoff, S., Dollin, C., Gilchrist, H., Hayes, F., Jeremaes, P.: Object-Oriented Development: The Fusion Method. Object-Oriented Series edition. Prentice Hall, Englewood Cliffs (1994)Google Scholar
  5. CD94a.
    Cook, S., Daniels, J.: Designing Object Systems: Object-Oriented Modeling with Syntropy. Prentice Hall, Englewood Cliffs (1994)Google Scholar
  6. CD94b.
    Cook, S., Daniels, J.: Let’s get formal. Journal of Object-Oriented Programming (JOOP), 22–24, 64–66 (July–August 1994)Google Scholar
  7. DKRS91.
    Duke, R., King, P., Rose, G.A., Smith, G.: The Object-Z specification language. In: Korson, T.D., Vaishnavi, V.K., Meyer, B. (eds.) Technology of Object-Oriented Languages and Systems: TOOLS 5, pp. 465–483. Prentice Hall, Englewood Cliffs (1991)Google Scholar
  8. Eva98.
    Evans, A.: Reasoning with UML class diagrams. In: WIFT 1998 Proceedings. IEEE, Los Alamitos (1998)Google Scholar
  9. FBLP97.
    France, R.B., Bruel, J.-M., Larrondo-Petrie, M.M.: An Integrated Object-Oriented and Formal Modeling Environment. In: the Journal of Object-Oriented Programming, JOOP (1997) (to appear)Google Scholar
  10. FELR98.
    France, R., Evans, A., Lano, K., Rumpe, B.: The UML as a formal modeling notation. Computer Standards & Interfaces (1998) (to appear)Google Scholar
  11. Gro97a.
    The UML Group. UML Metamodel. Version 1.1, Rational Software Corporation, Santa Clara, CA-95051, USA (September 1997) Google Scholar
  12. Gro97b.
    The UML Group. UML Semantics. Version 1.1, Rational Software Corporation, Santa Clara, CA-95051, USA (July 1997) Google Scholar
  13. Gro97c.
    The UML Group. Unified Modeling Language. Version 1.1, Rational Software Corporation, Santa Clara, CA-95051, USA (July 1997) Google Scholar
  14. Hal90.
    Anthony Hall, J.: Using Z as a specification calculus for object-oriented systems. In: Langmaack, H., Hoare, C.A.R., Bjorner, D. (eds.) VDM 1990. LNCS, vol. 428, pp. 290–318. Springer, Heidelberg (1990)Google Scholar
  15. KR97.
    Kilov, H., Rumpe, B.: Summary of ecoop 1997 workshop on precise semantics of object-oriented modeling techniques. In: Bosch, J., Mitchell, S. (eds.) Object-Oriented Technology – ECOOP 1997 Workshop Reader. LNCS, vol. 1357. Springer, Berlin (1997)Google Scholar
  16. KRB96.
    Klein, C., Rumpe, B., Broy, M.: A stream-based mathematical model for distributed information processing systems - SysLab system model. In: Stefani, J.-B., Naijm, E. (eds.) FMOODS 1996 Formal Methods for Open Object-based Distributed Systems. ENST France Telecom, pp. 323–338 (1996)Google Scholar
  17. Lan91.
    Lano, K.C.: Z + + , an object-orientated extension to Z. In: Nicholls, J.E. (ed.) Z User Workshop, Oxford 1990, Workshops in Computing, pp. 151–172. Springer, Heidelberg (1991)Google Scholar
  18. RBP+91.
    Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., Lorensen, W.: Object-Oriented Modeling and Design. Prentice Hall, Englewood Cliffs (1991)Google Scholar
  19. Rum96.
    Rumpe, B.: Formal Method for Design of Distributed Object-oriented Systems. Ph.D. thesis, Technische Universität München (1996) (in German)Google Scholar
  20. Spi92.
    Michael Spivey, J.: The Z Notation: A Reference Manual, 2nd edn. Prentice Hall, Englewood Cliffs (1992)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  • Andy Evans
    • 1
  • Robert France
    • 2
  • Kevin Lano
    • 3
  • Bernhard Rumpe
    • 4
  1. 1.Department of ComputingBradford UniversityUK
  2. 2.Department of Computer Science & EngineeringFlorida Atlantic UniversityUSA
  3. 3.Department of ComputingImperial CollegeLondonUK
  4. 4.Department of Computer ScienceMunich University of TechnologyGermany

Personalised recommendations