Bridging Agent Theory and Object Orientation: Importing Social Roles in Object Oriented Languages

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.

[1]  Jörg P. Müller,et al.  Agent UML: A Formalism for Specifying Multiagent Software Systems , 2001, Int. J. Softw. Eng. Knowl. Eng..

[2]  Jacques Ferber,et al.  From Agents to Organizations: An Organizational View of Multi-agent Systems , 2003, AOSE.

[3]  Franco Zambonelli,et al.  Developing multiagent systems: The Gaia methodology , 2003, TSEM.

[4]  J. van Leeuwen,et al.  Engineering Societies in the Agents World II , 2001, Lecture Notes in Computer Science.

[5]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[6]  Guido Boella,et al.  Regulative and Constitutive Norms in Normative Multiagent Systems , 2004, KR.

[7]  Leon Sterling,et al.  Achieving dynamic interfaces with agent concepts , 2004, Proceedings of the Third International Joint Conference on Autonomous Agents and Multiagent Systems, 2004. AAMAS 2004..

[8]  Frank D. Valencia,et al.  Formal Methods for Components and Objects , 2002, Lecture Notes in Computer Science.

[9]  Guido Boella,et al.  An agent oriented ontology of social reality , 2004 .

[10]  Letizia Leonardi,et al.  Agent role-based collaboration and coordination: a survey about existing approaches , 2004, 2004 IEEE International Conference on Systems, Man and Cybernetics (IEEE Cat. No.04CH37583).

[11]  Jörg P. Müller,et al.  Agent-Oriented Software Engineering IV , 2003, Lecture Notes in Computer Science.

[12]  Friedrich Steimann,et al.  On the representation of roles in object-oriented and conceptual modelling , 2000, Data Knowl. Eng..

[13]  Oscar Nierstrasz,et al.  Traits: Composable Units of Behaviour , 2002, ECOOP.

[14]  Friedrich Steimann,et al.  Patterns of Interface-Based Programming , 2005, J. Object Technol..

[15]  Guido Boella,et al.  Attributing mental attitudes to roles: The agent metaphor applied to organizational design , 2004 .

[16]  Edgar A. Whitley,et al.  The Construction of Social Reality , 1999 .

[17]  Guido Boella,et al.  Groups as agents with mental attitudes , 2004, Proceedings of the Third International Joint Conference on Autonomous Agents and Multiagent Systems, 2004. AAMAS 2004..

[18]  Guido Boella,et al.  powerJava: ontologically founded roles in object oriented programming languages , 2006, SAC '06.

[19]  Luca Cardelli,et al.  ECOOP 2003 – Object-Oriented Programming , 2003, Lecture Notes in Computer Science.

[20]  Nicola Guarino,et al.  Evaluating ontological decisions with OntoClean , 2002, CACM.

[21]  Guido Boella,et al.  Organizations as Socially Constructed Agents in the Agent Oriented Paradigm , 2004, ESAW.

[22]  Nicola Guarino,et al.  Social Roles and their Descriptions , 2004, KR.

[23]  Mira Mezini,et al.  Conquering aspects with Caesar , 2003, AOSD '03.

[24]  Stephan Herrmann,et al.  Object Teams: Improving Modularity for Crosscutting Collaborations , 2002, NetObjectDays.

[25]  Guido Boella,et al.  Attributing mental attitudes to roles: the agent metaphor applied to e-trade organizations , 2004, ICEC '04.

[26]  Randall Davis,et al.  Negotiation as a Metaphor for Distributed Problem Solving , 1988, Artificial Intelligence.

[27]  Farhad Arbab Abstract Behavior Types: a foundation model for components and their composition , 2005, Sci. Comput. Program..

[28]  Agostino Poggi,et al.  Developing multi‐agent systems with a FIPA‐compliant agent framework , 2001 .