On the representation of roles in object-oriented and conceptual modelling
The duality of objects and relationships is so deeply embedded in our thinking that almost all modelling languages include it as a fundamental distinction. Yet there is evidence that the two are naturally complemented by a third, equally fundamental notion: that of roles. Although definitions of the role concept abound in the literature, we maintain that only few are truly original, and that even fewer acknowledge the intrinsic role of roles as intermediaries between relationships and the objects that engage in them. After discussing the major families of role conceptualizations, we present our own basic definition and demonstrate how it naturally accounts for many modelling issues, including multiple and dynamic classification, object collaboration, polymorphism, and substitutability.
roles multiple and dynamic classification polymorphism role-oriented modelling