Skip to main content

A New Type Checking Approach for OCL Version 2.0 ?

  • Chapter
  • First Online:
Book cover Object Modeling with the OCL

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2263))

Abstract

The Object Constraint Language OCL is an integral part of UML, the Unified Modeling Language standard. It has been added to Rational’s UML core as a logic-based sublanguage for the definition of integrity constraints (invariants) on class diagrams as well as for the definition of pre- and postconditions of operations. Despite of the fact that OCL is called a statically typed language its type checking rules are not precisely defined in the UML standard version 1.3. Furthermore, they have certain deficiencies concerning the treatment of collection manipulating operations. This paper compares three different approaches for the definition of modified OCL type checking rules, selects one of these approaches as the most appropriate one and explains the new type checking rules for this approach in more detail. All presented proposals are based on our experiences with the design of a rather similar statically typed constraint language that is part of the graph transformation language PROGRES.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. H. Ait-Kaci, R. Boyer, P. Lincoln, and R. Nasr. Efficient implementation of lattice operations. ACM Transactions on Programming Languages and Systems, 19(2):106–190, 1987.

    Google Scholar 

  2. H. Ait-Kaci and R. Nasr. Integrating data type inheritance into logic programming. In M.P. Atkinson, P. Buneman, and R. Morrison, editors, Data Types and Persistence, pages 121–136. Springer Verlag, Berlin, 1989.

    Google Scholar 

  3. L. Cardell and P. Wegner. On understanding types, data abstraction and polymorphism. ACM Computing Surveys, 17(4):471–522, 1985.

    Article  Google Scholar 

  4. T. Clark. Typechecking UML static model. In [9], pages 503–517, 1999.

    Google Scholar 

  5. St. Cook, A. Kleppe, and R. Mitchell et al. The Amsterdam manifesto on OCL. Technical report, 2000. http://www.trireme.com/amsterdam/manifesto-1-5.pdf (visited: 11/07/2000).

  6. H. Ehrig, G. Engels, H.-J. Kreowski, and G. Rozenberg, editors. Handbook of Graph Grammars and Computing by Graph Transformation: Applications, Languages, and Tools, volume 2. World Scientific, Singapore, 1999.

    Google Scholar 

  7. A. Evans and St. Kent, editors. Proc. 3rd Int. Conf. Unified Modeling Language (UML’2000), volume 1939 of Lecture Notes in Computer Science, Berlin, 2000. Springer Verlag.

    Google Scholar 

  8. UML Revision Task Force. OMG unified modeling language specification v. 1.3, document ad/99-06-08. Technical report, Object Management Group, 2000. http://www.omg.org/uml/ (visited: 07/11/2000).

  9. R. France and B. Rumpe, editors. Proc. 2nd Int. Conf. Unified Modeling Language (UML’99), volume 1723 of Lecture Notes in Computer Science, Berlin, 1999. Springer Verlag.

    Google Scholar 

  10. Martin Hitz and Gerti Kappel. UML@Work-Von der Analyse zur Realisierung. dpunkt.lehrbuch. dpunkt.verlag, Heidelberg, 1998.

    Google Scholar 

  11. H. Hussmann, B. Demuth, and F. Finger. Modular architecture for a toolset supporting OCL. In [7], pages 278–293, 2000.

    Google Scholar 

  12. Jörg-Volker Müller. Entwurf einer objektorientierten Programmiersprache mit statischem Typkonzept und Parallelität. Shaker Verlag, Aachen, 1994.

    Google Scholar 

  13. M. Richters and M. Gogolla. A metamodel for OCL. In [9], pages 156–171, 1999.

    Google Scholar 

  14. M. Richters and M. Gogolla. Validating UML models and OCL constraints. In 9, pages 265–277, 2000.

    Google Scholar 

  15. Andy Schürr. Adding graph transformation concepts to uml’s constraint language ocl. In J. Padberg, editor, appears in: Proc. UNIGRA Satellite Workshop of ETAPS 2001, Amsterdam, 2001. Elsevier Science Publ.

    Google Scholar 

  16. Andy Schürr. New type checking rules for OCL (collection) expressions. 2001.

    Google Scholar 

  17. Andy Schürr, Andreas J. Winter, and Albert Zündorf. PROGRES: Language and environment. In [6], pages 487–550. 1999.

    Google Scholar 

  18. J. Warmer and A. Kleppe. OCL: The Object Constraint Language-Precise Modeling with UML. Addison Wesley, New York, 1999.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Schürr, A. (2002). A New Type Checking Approach for OCL Version 2.0 ?. In: Clark, T., Warmer, J. (eds) Object Modeling with the OCL. Lecture Notes in Computer Science, vol 2263. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45669-4_3

Download citation

  • DOI: https://doi.org/10.1007/3-540-45669-4_3

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-43169-5

  • Online ISBN: 978-3-540-45669-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics