On Formalizing the UML Object Constraint Language OCL

  • Mark Richters
  • Martin Gogolla
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1507)


We present a formal semantics for the Object Constraint Language (OCL) which is part of the Unified Modeling Language (UML) – an emerging standard language and notation for object-oriented analysis and design. In context of information systems modeling, UML class diagrams can be utilized for describing the overall structure, whereas additional integrity constraints and queries are specified with OCL expressions. By using OCL, constraints and queries can be specified in a formal yet comprehensible way. However, the OCL itself is currently defined only in a semi-formal way. Thus the semantics of constraints is in general not precisely defined. Our approach gives precise meaning to OCL concepts and to some central aspects of UML class models. A formal semantics facilitates verification, validation and simulation of models and helps to improve the quality of models and software designs.


Class Diagram Formal Semantic Object Constraint Language Object Constraint Object Constraint Language Expression 
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.
    Aksit, M., Matsuoka, S. (eds.): ECOOP 1997. LNCS, vol. 1241, pp. 9–13. Springer, Heidelberg (1997)Google Scholar
  2. 2.
    Bertino, E., Castelli, D., Vitale, F.: A Formal Representation for State Diagrams in the OMT Methodology. In: Král, J., Bartosek, M., Jeffery, K. (eds.) SOFSEM 1996. LNCS, vol. 1175, pp. 327–341. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  3. 3.
    Bicarregui, J.C., Lano, K., Maibaum, T.S.E.: Objects, Associations and Subsystems: A Hierarchical Approach to Encapsulation. In: Aksit, M., Matsuoka, S. (eds.) [1], pp. 324–343.Google Scholar
  4. 4.
    Booch, G.: Object-Oriented Analysis and Design with Applications. Benjamin/ Cummings (1994)Google Scholar
  5. 5.
    Bourdeau, R., Cheng, B.: A Formal Semantics for Object Model Diagrams. IEEE Transactions on Software Engineering 21(10), 799–821 (1995)CrossRefGoogle Scholar
  6. 6.
    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.) [1], pp. 344–366.Google Scholar
  7. 7.
    Cattell, R.G.G. (ed.): The Object Database Standard: ODMG 2.0. Morgan Kaufmann Publishers, Inc., San Francisco (1997)zbMATHGoogle Scholar
  8. 8.
    Chen, P.P.: The Entity-Relationship Model Toward a Unified View of Data. ACM Trans. on Database Systems 1(1), 9–36 (1976)CrossRefGoogle Scholar
  9. 9.
    Ebert, J., Süttenbach, R.: Integration of Z-Based Semantics of OO-Notations. In: Kilov, H., Rumpe, B. (eds.) [17], pp. 75–81.Google Scholar
  10. 10.
    Evans, A., France, R., Lano, K., Rumpe, B.: Developing the UML as a Formal Modelling Language. In: Muller, P.-A., Bézivin, J. (eds.) [20], pp. 297–307.Google Scholar
  11. 11.
    France, R., Bruel, J.M., Larrondo-Petrie, M., Shroff, M.: Exploring the Semantics of UML type structures with Z. In: Bowman, H., Derrick, J. (eds.) Proc. 2nd IFIP Conf. Formal Methods for Open Object-Based Distributed Systems (FMOODS 1997), pp. 247–260. Chapman and Hall, London (1997)Google Scholar
  12. 12.
    France, R., Evans, A., Lano, K.: The UML as a Formal Modeling Notation. In: Kilov, H., Rumpe, B., Simmonds, I. (eds.) Proc. OOPSLA 1997 Workshop on Object-oriented Behavioral Semantics. TU München, TUM-I9737 (1997)Google Scholar
  13. 13.
    Gogolla, M.: An Extended Entity-Relationship Model. LNCS, vol. 767. Springer, Heidelberg (1994)zbMATHGoogle Scholar
  14. 14.
    Gogolla, M., Richters, M.: On Constraints and Queries in UML. In: Schader, M., Korthaus, A. (eds.) The Unified Modeling Language - Technical Aspects and Applications. Physica-Verlag, Heidelberg (1998)Google Scholar
  15. 15.
    Hamie, A., Howse, J., Kent, S., Mitchell, R., Civello, F.: Reflections on the OCL. In: Muller, P.-A., Bézivin, J. (eds.) [20], pp. 137–145.Google Scholar
  16. 16.
    Jacobsen, I., Christerson, M., Jonsson, P., Övergaard, G.: Object-Oriented Software Engineering: A Use Case Driven Approach. Addison-Wesley, Reading (1992)Google Scholar
  17. 17.
    Kilov, H., Rumpe, B. (eds.): Proc. of the ECOOP 1997 Workshop on Precise Semantics for Object-Oriented Modeling Techniques, Jyväskylä, Finland, 10 June 1997. TU München, TUM-I9725 (June 1997)Google Scholar
  18. 18.
    Kleppe, A., Warmer, J., Cook, S.: Informal formality? The Object Constraint Language and its application in the UML metamodel. In: Muller, P.-A., Bézivin, J. (eds.) [20], pp. 127–136.Google Scholar
  19. 19.
    Lano, K.: Enhancing Object-Oriented Methods with Formal Notations. Theory and Practice of Object Systems 2(4), 247–268 (1996)CrossRefGoogle Scholar
  20. 20.
    Muller, P.-A., Bézivin, J. (eds.): Proc. of UML 1998 International Workshop, Mulhouse, France, June 3 - 4 (1998)Google Scholar
  21. 21.
    Övergaard, G., Palmkvist, K.: A Formal Approach to Use Cases and their Relationships. In: Muller, P.-A., Bézivin, J. (eds.) [20], pp. 309–317.Google Scholar
  22. 22.
    Rational Software Corporation, Unified Modeling Language (UML) version 1.1 (1997),
  23. 23.
    UML Semantics (1997) (Published as part of [22])Google Scholar
  24. 24.
    Object Constraint Language Specification (1997) (Published as part of [22])Google Scholar
  25. 25.
    Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., Lorensen, W.: Object-Oriented Modeling and Design. Prentice-Hall, Englewood Cliffs (1991)Google Scholar
  26. 26.
    Shro, M., France, R.B.: Towards a Formalization of UML Class Structures in Z. In: Proc. 21st Annual Int. Computer Software and Applications Conference (COMPSAC 1997), pp. 646–651. IEEE, Los Alamitos (1997)Google Scholar
  27. 27.
    Wang, E.Y., Richter, H.A., Cheng, B.H.C.: Formalizing and integrating the object and dynamic models within OMT. In: Proc. 19th Int. Conf. on Software Engineering (ICSE 1997), pp. 45–55. ACM Press, New York (1997)Google Scholar
  28. 28.
    Warmer, J., Hogg, J., Cook, S., Selic, B.: Experience with Formal Specification of CMM and UML. In: Kilov, H., Rumpe, B. (eds.) [17], pp. 67–171.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • Mark Richters
    • 1
  • Martin Gogolla
    • 1
  1. 1.FB 3, Computer Science DepartmentUniversity of BremenBremenGermany

Personalised recommendations