Relations as semantic constructs in an object-oriented language
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
The unified software development process
The unified software development process
On the representation of roles in object-oriented and conceptual modelling
Data & Knowledge Engineering
Evaluating ontological decisions with OntoClean
Communications of the ACM - Ontology: different ways of representing the same concept
An Object Data Model with Roles
VLDB '93 Proceedings of the 19th International Conference on Very Large Data Bases
Proceedings of the 5th international conference on Aspect-oriented software development
Interaction among objects via roles: sessions and affordances in Java
PPPJ '06 Proceedings of the 4th international symposium on Principles and practice of programming in Java
Roles as a Coordination Construct: Introducing powerJava
Electronic Notes in Theoretical Computer Science (ENTCS)
A radical revision of UML's role concept
UML'00 Proceedings of the 3rd international conference on The unified modeling language: advancing the standard
Relationships meet their roles in object oriented programming
FSEN'07 Proceedings of the 2007 international conference on Fundamentals of software engineering
Modelling the interaction between objects: roles as affordances
KSEM'06 Proceedings of the First international conference on Knowledge Science, Engineering and Management
First-class relationships in an object-oriented language
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Roles in building web applications using Java
Proceedings of the Workshop on Relationships and Associations in Object-Oriented Languages
Hi-index | 0.00 |
In this paper we study the interconnection between relationships and roles. We start from the patterns used to introduce relationships in object oriented languages, and we show how the role model proposed in powerJava can be used to define roles. In particular, we focus on how to implement roles in an abstract way in objects representing relationships, and to specify the interconnections between the roles. Abstract roles cannot be instantiated. To participate in a relationship, objects have to extend the abstract roles of the relationship. Only when roles are implemented in the objects offering them, they can be instantiated, thus allowing another object to play those roles.