Roles, an interdisciplinary perspective

The notion of role is ubiquitous in many fields of computer science, like programming languages, software engineering, coordination languages, databases, multiagent systems, knowledge representation, formal ontology, computational linguistics, security, and conceptual modelling, and also outside computer science, like in cognitive science, organizational science and linguistics. In computer science, the discussion about roles started in the ’70s with Bachman and Daya (1977), and, with a recurring trend, it comes back to the attention of the research community. Recently, roles have been used in many areas to handle interaction, for example, role based access control in security with the RBAC model (Sandhu et al. (1996)), collaboration roles in UML to describe the interaction among classes (Rumbaugh et al. (2004)), channels connecting components in coordination languages (Arbab (2003)), the separation of concerns to describe the interaction properties of objects in new contexts in programming languages, etc. With the rise of the internet, new communication possibilities and interactive computing created a new demand of research about roles, for example, in organizations in open multiagent systems, in role based programming languages, in using roles for the composition of web services, and in defining roles in standards for interoperability. Notwithstanding this revival of the research about the notion of role, little agreement seems possible among the proposals in the different fields. This lack of agreement leads to the impossibility of transferring the results from one area to the other, and even inside a single area, a consequence which is quite unpleasant in a moment where the sharing of knowledge and standardization represent an added value in many fields. For example, in ontology, the lack of a common definition of role constitutes a problem for the interconnection of different knowledge bases: the result is that a widely used ontology language like OWL does not consider roles as a primitive. In multiagent systems, the openness of systems highlights the need of commonly accepted definitions, but again without a common notion of role it is not possible for a new agent to become part of an organization to interact with other agents; and in programming languages, software reuse can be improved only by a more developed theory of how objects interact with each other basing on the roles they play. The likely reasons of these divergences are that many papers on the notion of role fail to have an interdisciplinary character, that much work proposes new definitions of roles to deal with particular practical problems, and that role seems an intuitive notion which can be grasped in its prototypical characters, but it is instead a deceptive one when details must be clarified. Few proposals, like Steimann (2000) or Masolo et al. (2004), have a more general attitude, and try to find a problem independent definition of role and to formalize it.

[1]  Robert Hoehndorf,et al.  General Formal Ontology (GFO) - A Foundational Ontology Integrating Objects and Processes [Version 1.0] , 2006 .

[2]  Friedrich Steimann,et al.  The role data model revisited , 2007, Appl. Ontology.

[3]  Patrick Th. Eugster,et al.  A Relational Model of Object Collaborations and Its Use in Reasoning About Relationships , 2007, ECOOP.

[4]  R. Tuomela The Importance of Us: A Philosophical Study of Basic Social Notions , 1995 .

[5]  J. Searle The Construction of Social Reality , 1997 .

[6]  Ivar Jacobson,et al.  The unified modeling language reference manual , 2010 .

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

[8]  Riichiro Mizoguchi,et al.  The model of roles within an ontology development tool: Hozo , 2007, Appl. Ontology.

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

[10]  Guido Boella,et al.  Modelling the Interaction Between Objects: Roles as Affordances , 2006, KSEM.

[11]  BoellaGuido,et al.  The ontological properties of social roles in multi-agent systems , 2007 .

[12]  Leon van der Torre,et al.  Normative multiagent systems , 2004 .

[13]  Nicola Guarino,et al.  Sweetening Ontologies with DOLCE , 2002, EKAW.

[14]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[15]  Tetsuo Tamai,et al.  Evolvable programming based on collaboration-field and role model , 2002, IWPSE '02.

[16]  Jun Han,et al.  Roles, players and adaptable organizations , 2007, Appl. Ontology.

[17]  Ivar Jacobson,et al.  Unified Modeling Language Reference Manual, The (2nd Edition) , 2004 .

[18]  Valerio Genovese Towards a General Framework for Modelling Roles , 2007, Normative Multi-agent Systems.

[19]  Stephan Herrmann,et al.  A precise model for contextual roles: The programming language ObjectTeams/Java , 2007, Appl. Ontology.

[20]  Giancarlo Guizzardi,et al.  Relational roles and qua-individuals , 2005, AAAI 2005.

[21]  Thomas Herrmann,et al.  Sociotechnical Roles for Sociotechnical Systems - A Perspective from Social and Computer Sciences , 2005 .

[22]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[23]  E. Reed The Ecological Approach to Visual Perception , 1989 .

[24]  Guido Boella,et al.  Introduction to normative multiagent systems , 2006, Comput. Math. Organ. Theory.

[25]  Ravi S. Sandhu,et al.  Role-Based Access Control Models , 1996, Computer.

[26]  Guido Boella,et al.  The ontological properties of social roles in multi-agent systems: definitional dependence, powers and roles playing roles , 2007, Artificial Intelligence and Law.

[27]  Frank Loebe,et al.  Abstract vs. social roles - Towards a general theoretical account of roles , 2007, Appl. Ontology.

[28]  Guido Boella,et al.  Interaction between Objects in powerJava , 2007, J. Object Technol..

[29]  Guido Boella,et al.  Relationships meet their roles in object oriented programming , 2007, FSEN'07.

[30]  Charles W. Bachman,et al.  The Role Concept in Data Models , 1977, VLDB.

[31]  Dirk Riehle,et al.  The Role Object Pattern , 1997 .

[32]  Farhad Arbab,et al.  Abstract Behavior Types: a foundation model for components and their composition , 2002, Sci. Comput. Program..

[33]  Roberta Ferrario,et al.  A Path to an Ontology of Organizations , 2005 .

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