Achim D. Brucker (SAP AG), Delphine Longuet (LRI), Frédéric Tuong (IRT SystemX), Burkhart Wolff (LRI)
UML/OCL is perceived as the de-facto standard for specifying object-oriented models in general and data models in particular. Since recently, all data types of UML/OCL comprise two different exception elements: inlineoclinvalid (« bottom » in semantics terminology) and inlineoclnull (for « non-existing element »). This has far-reaching consequences on both the logical and algebraic properties of OCL expressions as well as the path expressions over object-oriented data structures, ie, class models. In this paper, we present a formal semantics for object-oriented data models in which all data types and, thus, all class attributes and path expressions, support inlineoclinvalid and inlineoclnull. Based on this formal semantics, we present a set of OCL test cases that can be used for evaluating the support of inlineoclnull and inlineoclinvalid in OCL tools.
Object-oriented Data Structures / Path Expressions / Featherweight OCL / Null / Invalid / Formal Semantics