Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
On the representation of roles in object-oriented and conceptual modelling
Data & Knowledge Engineering
Developing multi-agent systems with a FIPA-compliant agent framework
Software—Practice & Experience
Evaluating ontological decisions with OntoClean
Communications of the ACM - Ontology: different ways of representing the same concept
Conquering aspects with Caesar
Proceedings of the 2nd international conference on Aspect-oriented software development
Object Teams: Improving Modularity for Crosscutting Collaborations
NODe '02 Revised Papers from the International Conference NetObjectDays on Objects, Components, Architectures, Services, and Applications for a Networked World
Developing multiagent systems: The Gaia methodology
ACM Transactions on Software Engineering and Methodology (TOSEM)
Achieving Dynamic Interfaces with Agent Concepts
AAMAS '04 Proceedings of the Third International Joint Conference on Autonomous Agents and Multiagent Systems - Volume 2
Groups as Agents with Mental Attitudes
AAMAS '04 Proceedings of the Third International Joint Conference on Autonomous Agents and Multiagent Systems - Volume 2
Attributing mental attitudes to roles: the agent metaphor applied to e-trade organizations
ICEC '04 Proceedings of the 6th international conference on Electronic commerce
Abstract behavior types: a foundation model for components and their composition
Science of Computer Programming - Formal methods for components and objects pragmatic aspects and applications
powerJava: ontologically founded roles in object oriented programming languages
Proceedings of the 2006 ACM symposium on Applied computing
Programming multi-agent systems
The Knowledge Engineering Review
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, players and adaptable organizations
Applied Ontology - Roles, an interdisciplinary perspective
Roles as a Coordination Construct: Introducing powerJava
Electronic Notes in Theoretical Computer Science (ENTCS)
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
Interaction protocols and capabilities: a preliminary report
PPSWR'06 Proceedings of the 4th international conference on Principles and Practice of Semantic Web Reasoning
Modelling the interaction between objects: roles as affordances
KSEM'06 Proceedings of the First international conference on Knowledge Science, Engineering and Management
Roles, players and adaptable organizations
Applied Ontology - Roles, an interdisciplinary perspective
Hi-index | 0.00 |
Social roles structure social institutions like organizations in Multi-Agent Systems (MAS). In this paper we describe how to introduce the notion of social role in programming languages. To avoid the commitment to a particular agent model, architecture or language, we decided to extend Java, the most prominent object oriented programming language, by adding social roles. The obtained language allows an easier implementation of MAS's w.r.t. the Java language. We also show that many important properties of social roles, studied in the MAS field, can be applied to objects. Two are the essential features of social roles according to an analysis reported in the paper: social roles are defined by other entities (called institutions), and when an agent plays a role it is endowed with powers by the institution that defines it. We interpret these two features into the object oriented paradigm as the fact that social roles are objects, which are defined in and exist only inside other objects (corresponding to institutions), and that, through a role, external objects playing the role can access to the object (institution) the role belongs to.