New type checking rules for OCL expressions
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 preand postconditions of operations. Despite of the fact that OCL is called a statically typed language its type checking rules are not precisely (enough) defined in the UML standard version 1.3. Furthermore, they have certain deficiencies concerning the treatment of collection manipulating operations. This paper sketches three different approaches for the definition of modified OCL type checking rules. These proposals are based on our experiences with the design of a rather similar constraint language that is part of the graph transformation language PROGRES.
Full Text: PDF