On the Semantics of Object-oriented Data Structures and Path Expressions (Extended Version)

By Achim D. Brucker, Delphine Longuet, Frédéric Tuong, and Burkhart Wolff.

/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 / comprise two different exception elements: (``bottom” in semantics terminology) and (for ``non-existing element”). This has far-reaching consequences on both the logical and algebraic properties of expressions as well as the path expressions over object-oriented data structures, , 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 and . Based on this formal semantics, we present a set of test cases that can be used for evaluating the support of and in tools.

Keywords:
Object-oriented Data Structures, Path Expressions, Featherweight OCL, Null, Invalid, Formal Semantics

Please cite this work as follows:
A. D. Brucker, D. Longuet, F. Tuong, and B. Wolff, “On the semantics of object-oriented data structures and path expressions (extended version),” Laboratoire en Recherche en Informatique (LRI), Université Paris-Sud 11, France, 1565, 2013. Author copy: http://logicalhacking.com/publications/brucker.ea-path-expressions-2013-b/

BibTeX
@TechReport{ brucker.ea:path-expressions:2013-b,
  author      = {Achim D. Brucker and Delphine Longuet and Fr{\'e}d{\'e}ric
                 Tuong and Burkhart Wolff},
  title       = {On the Semantics of Object-oriented Data Structures and Path
                 Expressions (Extended Version)},
  booktitle   = {Workshop on OCL and Textual Modelling (OCL 2013)},
  year        = {2013},
  abstract    = {\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: \inlineocl{invalid}
                 (``bottom'' in semantics terminology) and \inlineocl{null}
                 (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
                 \inlineocl{invalid} and \inlineocl{null}. Based on this formal
                 semantics, we present a set of \OCL test cases that can be
                 used for evaluating the support of \inlineocl{null} and
                 \inlineocl{invalid} in \OCL tools.},
  number      = {1565},
  institution = {Laboratoire en Recherche en Informatique (LRI), Universit\'e
                 Paris-Sud 11, France},
  areas       = {formal methods, software},
  keywords    = {Object-oriented Data Structures, Path Expressions,
                 Featherweight OCL, Null, Invalid, Formal Semantics},
  note        = {Author copy: \url{http://logicalhacking.com/publications/brucker.ea-path-expressions-2013-b/}},
}