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

  • Matteo Baldoni
  • Guido Boella
  • Leendert van der Torre
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3862)


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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bauer, B., Muller, J., Odell, J.: Agent UML: A formalism for specifying multiagent software systems. Int. Journal of Software Engineering and Knowledge Engineering 11(3), 207–230 (2001)CrossRefGoogle Scholar
  2. 2.
    Boella, G., van der Torre, L.: Attributing mental attitudes to roles: The agent metaphor applied to organizational design. In: Procs. of ICEC 2004. IEEE Press, Los Alamitos (2004)Google Scholar
  3. 3.
    Davis, R., Smith, R.G.: Negotiation as a metaphor for distributed problem-solving. Artificial Intelligence 20 (1983)Google Scholar
  4. 4.
    Ferber, J., Gutknecht, O., Michel, F.: From agents to organizations: an organizational view of multiagent systems. In: Giorgini, P., Müller, J.P., Odell, J.J. (eds.) AOSE 2003. LNCS, vol. 2935, pp. 214–230. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  5. 5.
    Zambonelli, F., Jennings, N., Wooldridge, M.: Developing multiagent systems: The Gaia methodology. IEEE Transactions of Software Engineering and Methodology 12(3), 317–370 (2003)CrossRefGoogle Scholar
  6. 6.
    Bellifemine, F., Poggi, A., Rimassa, G.: Developing multi-agent systems with a FIPAcompliant agent framework. Software - Practice and Experience, pp. 103–128Google Scholar
  7. 7.
    Juan, T., Sterling, L.: Achieving dynamic interfaces with agents concepts. In: Procs. of AAMAS 2004 (2004)Google Scholar
  8. 8.
    Steimann, F.: On the representation of roles in object-oriented and conceptual modelling. Data and Knowledge Engineering 35, 83–848 (2000)MATHCrossRefGoogle Scholar
  9. 9.
    Boella, G., van der Torre, L.: An agent oriented ontology of social reality. In: Procs. of FOIS 2004, Torino, pp. 199–209 (2004)Google Scholar
  10. 10.
    Masolo, C., Vieu, L., Bottazzi, E., Catenacci, C., Ferrario, R., Gangemi, A., Guarino, N.: Social roles and their descriptions. In: Procs. of KR 2004 (2004)Google Scholar
  11. 11.
    Cabri, G., Ferrari, L., Leonardi, L.: Agent role-based collaboration and coordination: a survey about existing approaches. In: IEEE Systems, Man and Cybernetics Conference (2004)Google Scholar
  12. 12.
    Boella, G., van der Torre, L.: Organizations as socially constructed agents in the agent oriented paradigm. In: Gleizes, M.-P., Omicini, A., Zambonelli, F. (eds.) ESAW 2004. LNCS (LNAI), vol. 3451, pp. 1–13. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  13. 13.
    Guarino, N., Welty, C.: Evaluating ontological decisions with ontoclean. Communications of ACM 45(2), 61–65 (2002)CrossRefGoogle Scholar
  14. 14.
    Searle, J.: The Construction of Social Reality. The Free Press, New York (1995)Google Scholar
  15. 15.
    Boella, G., van der Torre, L.: Groups as agents with mental attitudes. In: Procs. of AAMAS 2004, pp. 964–971. ACM Press, New York (2004)Google Scholar
  16. 16.
    Boella, G., van der Torre, L.: Regulative and constitutive norms in normative multiagent systems. In: Procs. of KR 2004, pp. 255–265. AAAI Press, Menlo Park (2004)Google Scholar
  17. 17.
    Arbab, F.: Abstract behavior types: A foundation model for components and their composition. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2002. LNCS, vol. 2852, pp. 33–70. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  18. 18.
    Steimann, F., Mayer, P.: Patterns of interface-based programming. Journal of Object Technology (2005)Google Scholar
  19. 19.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Software. Addison-Wesley, Reading (1995)Google Scholar
  20. 20.
    Java compiler compiler [tm] (javaCC [tm]) - the java parser generator (Sun Microsystems),
  21. 21.
    Herrmann, S.: Object teams: Improving modularity for crosscutting collaborations. In: Procs. of Net.ObjectDays (2002)Google Scholar
  22. 22.
    Mezini, M., Ostermann, K.: Conquering aspects with caesar. In: Procs. of the 2nd International Conference on Aspect-Oriented Software Development (AOSD), pp. 90–100. ACM Press, New York (2004)Google Scholar
  23. 23.
    Scharli, N., Ducasse, S., Nierstrasz, O., Black, A.P.: Traits: Composable units of behavior. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, pp. 248–274. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  24. 24.
    Baldoni, M., Boella, G., van der Torre, L.: PowerJava: Ontologically Founded Roles in Object Oriented Programming Languages. In: Ancona, D., Viroli, M. (eds.) Proc. of 21st ACM Symposium on Applied Computing, SAC 2006, Special Track on Object-Oriented Programming Languages and Systems (OOPS 2006), Dijon, France, April 2006. ACM, New York (2006) (to appear)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Matteo Baldoni
    • 1
  • Guido Boella
    • 1
  • Leendert van der Torre
    • 2
  1. 1.Dipartimento di InformaticaUniversità degli Studi di TorinoTorinoItaly
  2. 2.CWI Amsterdam and Delft University of TechnologyThe Netherlands

Personalised recommendations