Research

 

CSI ]   [ ETH ]


Lab Manager ]

LST Home ]     [ People ]     [ Research ]     [ Teaching ]
[ Publications ]     [ Research Opportunities ]     [ Partners & Supporters ]     [ Earlier Work ]

Relations: Abstracting Object Collaborations

Stephanie Balzer,  Patrick Eugster,  Thomas R. Gross,  Relations: Abstracting Object Collaborations, ETH Zurich, November 2006. [TR539_2006.pdf]
Allowing the description of a collection of objects, the concept of a class is central to object-oriented programming languages, yet, it is inadequate to describe the collaborations that arise from the interactions between these objects. The continued interest in concretizing object interactions - be it on the level of design through patterns, on the level of programming languages through first-class relationship support, or on the level of formal program specification through contracts - indicates that classes alone do not suffice. In this paper, we build upon first-class relationships serving as the module to encapsulate object collaborations. We introduce a novel abstraction to reason upon object collaborations: relations. As relationships allow the description of collections of groups of interacting objects, they can be viewed as sets of object tuples and thus as relations. The abstraction of a relation enables the specification of relationships using discrete mathematics. For example, we can express the structural characteristics of relationships by means of the mathematical properties of their defining relations.
[ Publications ]     [ Research Opportunities ]     [ Partners & Supporters ]     [ Earlier Work ]