Abstract
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.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
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)
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)
Davis, R., Smith, R.G.: Negotiation as a metaphor for distributed problem-solving. Artificial Intelligence 20 (1983)
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)
Zambonelli, F., Jennings, N., Wooldridge, M.: Developing multiagent systems: The Gaia methodology. IEEE Transactions of Software Engineering and Methodology 12(3), 317–370 (2003)
Bellifemine, F., Poggi, A., Rimassa, G.: Developing multi-agent systems with a FIPAcompliant agent framework. Software - Practice and Experience, pp. 103–128
Juan, T., Sterling, L.: Achieving dynamic interfaces with agents concepts. In: Procs. of AAMAS 2004 (2004)
Steimann, F.: On the representation of roles in object-oriented and conceptual modelling. Data and Knowledge Engineering 35, 83–848 (2000)
Boella, G., van der Torre, L.: An agent oriented ontology of social reality. In: Procs. of FOIS 2004, Torino, pp. 199–209 (2004)
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)
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)
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)
Guarino, N., Welty, C.: Evaluating ontological decisions with ontoclean. Communications of ACM 45(2), 61–65 (2002)
Searle, J.: The Construction of Social Reality. The Free Press, New York (1995)
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)
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)
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)
Steimann, F., Mayer, P.: Patterns of interface-based programming. Journal of Object Technology (2005)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Software. Addison-Wesley, Reading (1995)
Java compiler compiler [tm] (javaCC [tm]) - the java parser generator (Sun Microsystems), https://javacc.dev.java.net/
Herrmann, S.: Object teams: Improving modularity for crosscutting collaborations. In: Procs. of Net.ObjectDays (2002)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Baldoni, M., Boella, G., van der Torre, L. (2006). Bridging Agent Theory and Object Orientation: Importing Social Roles in Object Oriented Languages. In: Bordini, R.H., Dastani, M.M., Dix, J., El Fallah Seghrouchni, A. (eds) Programming Multi-Agent Systems. ProMAS 2005. Lecture Notes in Computer Science(), vol 3862. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11678823_4
Download citation
DOI: https://doi.org/10.1007/11678823_4
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-32616-8
Online ISBN: 978-3-540-32617-5
eBook Packages: Computer ScienceComputer Science (R0)