Roles: conceptual abstraction theory and practical language issues
Theory and Practice of Object Systems - Special issue on subjectivity in object-oriented systems
Evolvable programming based on collaboration-field and role model
Proceedings of the International Workshop on Principles of Software Evolution
More dynamic object reclassification: Fickle∥
ACM Transactions on Programming Languages and Systems (TOPLAS)
ROADMAP: extending the gaia methodology for complex open systems
Proceedings of the first international joint conference on Autonomous agents and multiagent systems: part 1
A database model for object dynamics
The VLDB Journal — The International Journal on Very Large Data Bases
Role-assignment in open agent societies
AAMAS '03 Proceedings of the second international joint conference on Autonomous agents and multiagent systems
powerJava: ontologically founded roles in object oriented programming languages
Proceedings of the 2006 ACM symposium on Applied computing
Roles as a Coordination Construct: Introducing powerJava
Electronic Notes in Theoretical Computer Science (ENTCS)
Bridging agent theory and object orientation: agent-like communication among objects
ProMAS'06 Proceedings of the 4th international conference on Programming multi-agent systems
A radical revision of UML's role concept
UML'00 Proceedings of the 3rd international conference on The unified modeling language: advancing the standard
Conceptual modelling patterns for roles
Journal on Data Semantics V
Bridging agent theory and object orientation: importing social roles in object oriented languages
ProMAS'05 Proceedings of the Third international conference on Programming Multi-Agent Systems
Bridging agent theory and object orientation: agent-like communication among objects
ProMAS'06 Proceedings of the 4th international conference on Programming multi-agent systems
Relationships meet their roles in object oriented programming
FSEN'07 Proceedings of the 2007 international conference on Fundamentals of software engineering
Session-based role programming for the design of advanced telephony applications
Proceedings of the 11th IFIP WG 6.1 international conference on Distributed applications and interoperable systems
The interplay between relationships, roles and objects
FSEN'09 Proceedings of the Third IPM international conference on Fundamentals of Software Engineering
Hi-index | 0.00 |
In this paper we present a new vision in object oriented programming languages where the objects' attributes and operations depend on who is interacting with them. This vision is based on a new definition of the notion of role, which is inspired to the concept of affordance as developed in cognitive science. The current vision of objects considers attributes and operations as being objective and independent from the interaction. In contrast, in our model interaction with an object always passes through a role played by another object manipulating it. The advantage is that roles allow to define operations whose behavior changes depending on the role and the requirements it imposes, and to define session aware interaction, where the role maintains the state of the interaction with an object. Finally, we discuss how roles as affordances can be introduced in Java, building on our language powerJava.