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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
L. Cardell and P. Wegner. On understanding types, data abstraction and polymorphism. ACM Computing Surveys, 17(4):471–522, 1985.
T. Clark. Typechecking UML static model. In [9], pages 503–517, 1999.
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).
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.
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.
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).
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.
Martin Hitz and Gerti Kappel. UML@Work-Von der Analyse zur Realisierung. dpunkt.lehrbuch. dpunkt.verlag, Heidelberg, 1998.
H. Hussmann, B. Demuth, and F. Finger. Modular architecture for a toolset supporting OCL. In [7], pages 278–293, 2000.
Jörg-Volker Müller. Entwurf einer objektorientierten Programmiersprache mit statischem Typkonzept und Parallelität. Shaker Verlag, Aachen, 1994.
M. Richters and M. Gogolla. A metamodel for OCL. In [9], pages 156–171, 1999.
M. Richters and M. Gogolla. Validating UML models and OCL constraints. In 9, pages 265–277, 2000.
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.
Andy Schürr. New type checking rules for OCL (collection) expressions. 2001.
Andy Schürr, Andreas J. Winter, and Albert Zündorf. PROGRES: Language and environment. In [6], pages 487–550. 1999.
J. Warmer and A. Kleppe. OCL: The Object Constraint Language-Precise Modeling with UML. Addison Wesley, New York, 1999.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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