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 de®nitions 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 de®nition and demonstrate how it naturally accounts for many modelling issues, including multiple and dynamic classi®cation, object collaboration, polymorphism, and substitutability. Ó 2000 Elsevier Science B.V. All rights reserved. Keywords: Roles; Role-oriented modelling; Multiple and dynamic classi®cation; Polymorphism
|
1059
|
The entity-relationship model: Toward a unified view of data
– Chen
- 1976
|
|
762
|
Object-Oriented Analysis and Design with Applications (Benjamin Cummings
– Booch
- 1994
|
|
762
|
On understanding types, data abstraction, and polymorphism
– Cardelli, Wegner
- 1985
|
|
544
|
A Relational Model of Data for Large Shared Data Banks
– Codd
- 1970
|
|
519
|
An overview of the KL-ONE knowledge representation system
– Brachman, Schmolze
- 1985
|
|
269
|
Analysis Patterns: Reusable Object Models
– Fowler
- 1996
|
|
198
|
Order-sorted algebra I: Equational deduction for multiple inheritance, overloading, exceptions and partial operations
– Goguen, Meseguer
- 1992
|
|
194
|
Conceptual Schema and Relational Database Design: A Fact-Based Approach
– Nijssen, Halpin
- 1989
|
|
188
|
IFO: A formal semantic database model
– ABITEBOUL, HULL
- 1987
|
|
171
|
Database description with SDM: A semantic database model
– Hammer, McLeod
- 1981
|
|
131
|
Fundamental Concepts in Programming Languages
– Strachey
- 1967
|
|
118
|
Aspects: Extending Objects to Support Multiple, Independent Roles
– Richardson, Schwarz
- 1991
|
|
112
|
Extending object-oriented systems with roles
– Gottlob, Schrefl, et al.
- 1994
|
|
104
|
An object data model with roles
– Albano, Bergamini, et al.
- 1993
|
|
93
|
Prinicples of Object-Oriented Analysis and Design
– Martin
- 1993
|
|
89
|
Élements de syntaxe structurale
– Tesnière
- 1959
|
|
84
|
unknown title
– Carpenter
- 1992
|
|
72
|
Roles: Conceptual abstraction theory & practical language issues. Theory and Practice of Object Systems
– Kristensen, sterbye
- 1996
|
|
56
|
Object Specialization
– Sciore
- 1989
|
|
53
|
The Role Concept in Data Models
– Bachman, Daya
- 1977
|
|
48
|
Object/Behavior Diagrams
– Kappel, Schrefl
- 1991
|
|
41
|
Modeling with Roles
– Kristensen
- 1995
|
|
41
|
Principles of Semantic Networks
– Sowa
- 1991
|
|
34
|
Using dynamic classes and role classes to model object migration. Theory and Practice of Object Systems
– Wieringa, Jonge, et al.
- 1995
|
|
33
|
Subtyping and polymorphism in Object-Role Modelling
– Halpin, Proper
- 1995
|
|
29
|
Unraveling the Semantics of Conceptual Schemas
– Papazoglou
- 1995
|
|
28
|
Using a lexicon of canonical graphs in a semantic interpreter
– Sowa
- 1988
|
|
28
|
Dynamic constraints and object migration
– Su
- 1991
|
|
21
|
A more complete model of relations and their implementation: Roles
– Bock, Odell
- 1998
|
|
21
|
Concepts, Attributes and Arbitrary Relations
– Guarino
- 1992
|
|
21
|
Using types and inheritance in object-oriented programming
– Halbert, O'Brien
- 1987
|
|
20
|
Data and Reality
– Kent
- 1978
|
|
19
|
A radical revision of UML’s role concept
– Steimann
- 2000
|
|
16
|
Objects, Components and Frameworks with UML
– D’Souza, Wills
- 1998
|
|
16
|
Modeling of Dynamic Object Systems, a Logic-based Approach
– Jungclaus
- 1993
|
|
16
|
A Methodology for Representing Multifaceted Objects
– Roles
- 1991
|
|
14
|
Specification Preservation in Schema transformations - Application to Semantics and
– Hainaut
- 1996
|
|
14
|
ADOME: An advanced object modeling environment
– Li, Lochovsky
- 1998
|
|
11
|
Generalization/specialization and role in object oriented conceptual modeling
– Snoeck, Dedene
- 1996
|
|
10
|
A Representation Construct for Roles
– Reimer
- 1985
|
|
9
|
Associations and roles in object-oriented modeling
– Chu, Zhang
- 1997
|
|
8
|
Java Design: Building Better Apps & Applets
– Coad, Mayfield
- 1997
|
|
7
|
La ricerca della lingua perfetta nella cultura europea
– Eco
- 1993
|
|
6
|
Object roles and phases
– Ehrich, Jungclaus, et al.
- 1993
|
|
6
|
The Category Concept: an Extension to the Entity Relationship model
– Elmasri, Weeldreyer, et al.
- 1985
|
|
6
|
A Comparison of Role Mechanisms in Object-Oriented Modeling
– Kappel, Retschitzegger, et al.
- 1998
|
|
5
|
Object Modelling and System Dynamics in the Conceptualization Stages of Information Systems Development
– Essink, Erhart
- 1991
|
|
5
|
Object Migration
– Mendelzon, Milo, et al.
- 1994
|
|
4
|
The role data model approach to data structures
– Bachman
- 1980
|
|
4
|
Objects with roles, in: F.H. Lochovsky, R.B. Allen (Eds
– Pernici
- 1990
|