Abstract. Understanding the collaborations that arise between the instances of classes in object-oriented programs is important for the analysis, optimization, or modification of the program. Relationships have been proposed as a programming language construct to enable an explicit representation of these collaborations. This paper introduces a relational model that allows the specification of systems composed of classes and relationships. These specifications rely in particular on member interposition (facilitates the specification of relationship-dependent members of classes) and on relationship invariants (facilitate the specification of the consistency constraints imposed on object collaborations). The notion of a mathematical relation is the basis for the model. Employing relations straction of relationships, the specification of a system can be formalized using discrete mathematics. The relational model allows thus not only the specification of object collaborations but al...
Stephanie Balzer, Thomas R. Gross, Patrick Eugster