|
[ 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 ]
|
|