On the Semantics of Object-Oriented Data Structures and Path Expressions
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: invalid (\"Bottom\" in semantics terminology) and null (for \"Non-existing element\"). This paper 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, i.e., class models. In this paper, the authors present a formal semantics for object-oriented data models in which all data types and, thus, all class attributes and path expressions, support invalid and null.