Advertisement

Expressing UML Class Diagrams Properties with OCL

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

Abstract

The Unified Modeling Language UML is a complex language offering many modeling features. Especially the description of static structures with class diagrams is supported by a rich set of primitives. This paper shows how to transfrom UML class diagrams involving cardinality constraints, qualifiers, association classes, aggregations, compositions, and generalizations into equivalent UML class diagrams employing only binary associations and OCL constraints. Thus we provide a better understanding of UML features. By reducing more complex features in terms of basic ones, we suggest an easy way users can gradually extend the set of UML elements they commonly apply in the modeling process.

Keywords

Class Diagram Transitive Closure Association Class General Translation Equivalence Rule 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [BC95]
    R. Bourdeau and B. Cheng. A Formal Semantics for Object Model Diagrams. IEEE Transactions on Software Engineering, 21(10):799–821, 1995.CrossRefGoogle Scholar
  2. [BCV96]
    E. Bertino, D. Castelli, and F. Vitale. A Formal Representation for State Diagrams in the OMT Methodology. In K.G. Jeffery, J. Kral, and M. Bartosek, editors, Proc. Seminar Theory and Practice of Informatics (SOFSEM’96), pages 327–341. Springer, Berlin, LNCS 1175, 1996.Google Scholar
  3. [BHH+97]
    Ruth Breu, Ursula Hinkel, Christoph Hofmann, Cornel Klein, Barbara Paech, Bernhard Rumpe, and Veronika Thurner. Towards a Formalization of the Unified Modeling Language. In Mehmet Aksit and Satoshi Matsuoka, editors, Proc. 11th European Conf. Object-Oriented Programming (ECOOP’97), pages 344–366. Springer, Berlin, LNCS 1241, 1997.Google Scholar
  4. [BLM97]
    J.C. Bicarregui, Kevin Lano, and T.S.E. Maibaum. Objects, Associations and Subsystems: A Hierarchical Approach to Encapsulation. In Mehmet Aksit and Satoshi Matsuoka, editors, Proc. 11th European Conf. Object-Oriented Programming (ECOOP’97), pages 324–343. Springer, Berlin, LNCS 1241, 1997.Google Scholar
  5. [Boo94]
    Grady Booch. Object-Oriented Analysis and Design with Applications. Benjamin Cummings, Redwood City, 1994.Google Scholar
  6. [Cla99]
    Tony Clark. Type checking UML static diagrams. In Robert France and Bernhard Rumpe, editors, UML’99-The Unified Modeling Language. Beyond the Standard. Second International Conference, Fort Collins, CO, USA, October 28–30. 1999, Proceedings, volume 1723 of LNCS, pages 503–517. Springer, 1999.Google Scholar
  7. [Ebe97]
    Jürgen Ebert. Integration of Z-Based Semantics of OO-Notations. In Haim Kilov and Bernhard Rumpe, editors, Proc. ECOOP’97 Workshop on Precise Semantics for Object-Oriented Modeling Techniques. Technische Universität München, Informatik-Bericht TUM-I9725, 1997.Google Scholar
  8. [FBLPS97]
    R. France, J.M. Bruel, M. Larrondo-Petrie, and M. Shroff. Exploring the Semantics of UML type structures with Z. In H. Bowman and J. Derrick, editors, Proc. 2nd IFIP Conf. Formal Methods for Open Object-Based Distributed Systems (FMOODS’97), pages 247–260. Chapman and Hall, London, 1997.Google Scholar
  9. [GPP98]
    Martin Gogolla and Francesco Parisi-Presicee. State Diagrams in UML: A Formal Semantics using Graph Transformations. In Bernhard Rumpe, Manfred Broy, Derek Coleman, and Tom S.E. Maibaum, editors, Proc. ICSE’98 Workshop on Precise Semantics of Modeling Techniques (PSMT’98), 1998. http://www4.informatik.tu-muenchen.de/?rumpe/icse98-ws/.
  10. [JCJÖ92]
    Ivar Jacobsen, Magnus Christerson, Patrik Jonsson, and G.G. Övergaard. Object-Oriented Software Engineering. Addison-Wesley, 1992.Google Scholar
  11. [KC99]
    Soon-Kyeong Kim and David Carrington. Formalizing the UML class diagram using object-z. In Robert France and Bernhard Rumpe, editors, UML’99-The Unified Modeling Language. Beyond the Standard. Second International Conference, Fort Collins, CO, USA, October 28–30. 1999, Proceedings, volume 1723 of LNCS, pages 83–98. Springer, 1999.Google Scholar
  12. [Lan96]
    Kevin Lano. Enhancing Object-Oriented Methods with Formal Notations. Theory and Practice of Object Systems, 2(4):247–268, 1996.CrossRefGoogle Scholar
  13. [OMG99a]
    OMG, editor. Object Constraint Language (Version 1.3). OMG, 1999. http://www.omg.org.
  14. [OMG99b]
    OMG, editor. UML Notation Guide (Version 1.3). OMG, 1999. http://www.omg.org.
  15. [OMG99c]
    OMG, editor. UML Semantics (Version 1.3). OMG, 1999. http://www.omg.org.
  16. [Öov98]
    Gunnar Öovergaard. A Formal Approach to Relationships in The Unified Modeling Language. In Bernhard Rumpe, Manfred Broy, Derek Coleman, and Tom S.E. Maibaum, editors, Proc. ICSE’98 Workshop on Precise Semantics of Modeling Techniques (PSMT’98), 1998. http://www4.informatik.tu-muenchen.de/?rumpe/icse98-ws/.
  17. [RACH00]
    Gianna Reggio, Egidio Astesiano, Christine Choppy, and Heinrich Hussmann. Analysing UML active classes and associated state machines-A lightweight formal approach. In Tom Maibaum, editor, Proc. Fundamental Approaches to Software Engineering (FASE 2000), Berlin, Germany, volume 1783 of LNCS. Springer, 2000.Google Scholar
  18. [RBP+91]
    J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, and W. Lorensen. Object-Oriented Modeling and Design. Prentice Hall, Englewood Cliffs, 1991.Google Scholar
  19. [RG98]
    Mark Richters and Martin Gogolla. On Formalizing the UML Object Constraint Language OCL. In Tok-Wang Ling, Sudha Ram, and Mong Li Lee, editors, Proc. 17th Int. Conf. Conceptual Modeling (ER’98), pages 449–464. Springer, Berlin, LNCS 1507, 1998.Google Scholar
  20. [SF97]
    M. Shro and R. B. France. Towards a Formalization of UML Class Structures in Z. In Proc. 21st Annual Int. Computer Software and Applications Conference (COMPSAC’97), pages 646–651. IEEE, 1997.Google Scholar
  21. [TE00]
    A. Tsiolakis and H. Ehrig. Consistency analysis of UML class and sequence diagrams using attributed graph grammars. In H. Ehrig and G. Taentzer, editors, Proc. of Joint APPLIGRAPH/GETGRATS Workshop on Graph Transformation Systems, Berlin, March 2000, 2000. Technical Report no. 2000/2, Technical University of Berlin.Google Scholar
  22. [WB98]
    Roel Wieringa and Jan Broersen. A minimal transition system semantics for lightweight class-and behavior diagrams. In Manfred Broy, Derek Coleman, Tom S. E. Maibaum, and Bernhard Rumpe, editors, Proceedings PSMT’98 Workshop on Precise Semantics for Modeling Techniques. Technische Universität München, TUM-I9803, 1998.Google Scholar
  23. [WK98]
    Jos Warmer and Anneke Kleppe. The Object Constraint Language: Precise Modeling with UML. Addison-Wesley, 1998.Google Scholar
  24. [WK99]
    Jos Warmer and Anneke Kleppe. OCL: The constraint language of the UML. Journal of Object-Oriented Programming, May 1999.Google Scholar
  25. [WRC97]
    Enoch Y. Wang, Heather A. Richter, and Betty H. C. Cheng. Formalizing and Integrating the Dynamic Model within OMT. In Proc. 19th Int. Conf. on Software Engineering (ICSE’97), pages 45–55. ACM Press, 1997.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

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

Personalised recommendations