A Role Model for Description of Agent Behavior and Coordination

  • Yunus Emre Selçuk
  • Nadia Erdoğan
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3963)


This paper presents a role model implementation, JAWIRO (JAva WIth ROles), which enhances Java with role support. After a brief introduction to role models and the capabilities of JAWIRO, the paper proceeds to a comparison of our model with another role model and a design pattern for implementing roles. These three approaches are compared on the basis of their abilities and performances. It is shown that role models are valuable tools for modeling dynamic real world entities as they provide many useful abilities without a significant performance overhead. The dynamic nature of agents represents a good domain for using roles to describe both behavior and coordination issues. The paper ends with a sample application for agents that demonstrates how characteristics of roles may be employed.


Role Model Multiagent System Agent Behavior Code Fragment Role Hierarchy 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Pacheco, O., Carmo, J.: A Role Based Model for the Normative Specification of Organized Collective Agency and Agents Interaction. Autonomous Agents and Multi-Agent Systems 6, 145–184 (2003)CrossRefGoogle Scholar
  2. 2.
    Cabri, G., Ferrari, L., Leonardi, L.: Applying security policies through agent roles: A JAAS based approach. Science of Computer Programming (article in press)Google Scholar
  3. 3.
    Cabri, G., Ferrari, L., Leonardi, L.: Exploiting runtime bytecode manipulation to add roles to Java agents. Science of Computer Programming 54, 73–98 (2005)CrossRefMathSciNetGoogle Scholar
  4. 4.
    Zhu, H.: A Role Agent Model for Collaborative Systems. In: Proc. Int’l. Conf. on Information and Knowledge Engineering (2003)Google Scholar
  5. 5.
    Jennings, N.R.: An agent-based approach for building complex software systems. Communications of the ACM 44(4), 35–41 (2001)CrossRefGoogle Scholar
  6. 6.
    Odell, J.J., Parunak, H.V.D., Brueckner, S., Sauter, J.: Temporal Aspects of Dynamic Role Assignment. In: Proc. 4th Int’l Workshop on Agent-Oriented Software Engineering, pp. 201–213 (2003)Google Scholar
  7. 7.
    Cabri, G., Leonardi, L., Zambonelli, F.: BRAIN: a Framework for Flexible Role-based Interactions in Multiagent Systems. In: Proc. Conf. On Cooperative Information Systems (2003)Google Scholar
  8. 8.
    Becht, M., Gurzkil, T., Klarmann, J., Muscholl, M.: ROPE: Role Oriented Programming Environment for Multiagent Systems. In: Fourth IECIS Int’l Conf. on Cooperative Information Systems, pp. 325–333 (1999)Google Scholar
  9. 9.
    Odell, J.J., Parunak, H.V.D., Fleischer, M.: The Role of Roles in Designing Effective Agent Organizations. In: Garcia, A.F., de Lucena, C.J.P., Zambonelli, F., Omicini, A., Castro, J. (eds.) Software Engineering for Large-Scale Multi-Agent Systems. LNCS, vol. 2603. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  10. 10.
    Kristensen, B.B.: Conceptual Abstraction Theory and Practical Language Issues. Theory and Practice of Object Systems 2(3) (1996) Google Scholar
  11. 11.
    Zendler, A.M.: Foundation of the Taxonomic Object System. Information and Software Technology 40, 475–492 (1998)CrossRefGoogle Scholar
  12. 12.
    Aritsugi, M., Makinouchi, A.: Multiple-Type Objects in an Enhanced C++ Persistent Programming Language. Software - Practice and Experience 30(2), 151–174 (2000)CrossRefGoogle Scholar
  13. 13.
    Bettini, L., Capecchi, S., Venneri, B.: Extending Java to Dynamic Object Behaviours. Electronic Notes in Theoretical Computer Science 82(8) (2003)Google Scholar
  14. 14.
    Schrefl, M., Thalhammer, T.: Using roles in Java. Software - Practice and Experience 34, 449–464 (2004)CrossRefGoogle Scholar
  15. 15.
    Lee, J.-S., Bae, D.-H.: An Enhanced Role Model for Alleviating the Role-Binding Anomaly. Software - Practice and Experience 32, 1317–1344 (2002)MATHCrossRefGoogle Scholar
  16. 16.
    Kendall, E.A.: Role Models – Patterns of Agent System Analysis and Design. BT Technology Journal 17(4), 46–57 (1999)CrossRefGoogle Scholar
  17. 17.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns Elements of Reusable Object Oriented Software. Addison-Wesley, Massachussets (1994)Google Scholar
  18. 18.
    Fowler, M.: Dealing with Roles, http://martinfowler.com/apsupp/roles.pdf (Unpublished paper)
  19. 19.
    Gottlob, G., Schrefl, M., Röck, B.: Extending object-oriented systems with roles. ACM Trans. on Information Systems 14(3), 268–296 (1996)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Yunus Emre Selçuk
    • 1
  • Nadia Erdoğan
    • 1
  1. 1.Faculty of Electrical and Electronic Engineering, Computer Engineering DepartmentIstanbul Technical UniversityIstanbulTurkey

Personalised recommendations