Aspects in Agent-Oriented Software Engineering: Lessons Learned

  • Alessandro Garcia
  • Uirá Kulesza
  • Cláudio Sant’Anna
  • Christina Chavez
  • Carlos J. P. de Lucena
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3950)


Several concerns in the development of multi-agent systems (MASs) cannot be represented in a modular fashion. In general, they inherently affect several system modules and cannot be explicitly captured based on existing software engineering abstractions. These crosscutting concerns encompass internal agent properties and systemic properties, such as learning, code mobility, error handling, and context-awareness. In this context, it is important to systematically verify whether emerging development paradigms support improved modularization of the crosscutting concerns relative to MASs. This paper reports some lessons learned based on our experience in using aspect-oriented techniques and methods to address these problems. In the light of these lessons, related work and a set of future research directions are also discussed.


Little Mean Square Model Drive Architecture Crosscutting Concern Agent Concern Mobility Aspect 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bellifemine, F., Poggi, A., Rimassi, G.: JADE: A FIPA-Compliant agent framework. In: Proc. Practical Applications of Intelligent Agents and Multi-Agents, April 1999, pp. 97–108 (1999)Google Scholar
  2. 2.
    Chavez, C., Lucena, C.: Design Support for Aspect-oriented Software Development. In: Doctoral Symposium at OOPSLA 2001, Tampa Bay, USA, October 2001, pp. 14–18 (2001)Google Scholar
  3. 3.
    Finin, T., et al.: KQML as an Agent Communication Language. In: Proc. of the 3rd Intl. Conference on Information and Knowledge Management, pp. 456–463. ACM Press, New York (1994)Google Scholar
  4. 4.
    FIPA Specifications. FIPA ACL Message Structure Specification,
  5. 5.
    Gamma, E., et al.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)Google Scholar
  6. 6.
    Garcia, A., Lucena, C., Cowan, D.: Agents in Object-Oriented Software Engineering. Software: Practice and Experience (April 2004)Google Scholar
  7. 7.
    Garcia, A., Silva, V., Chavez, C., Lucena, C.: Engineering Multi-Agent Systems with Aspects and Patterns. Journal of the Brazilian Computer Society 8(1), 57–72 (2002)CrossRefGoogle Scholar
  8. 8.
    Iglesias, C., et al.: A Survey of Agent-Oriented Methodologies. In: Rao, A.S., Singh, M.P., Müller, J.P. (eds.) ATAL 1998. LNCS (LNAI), vol. 1555, pp. 317–330. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  9. 9.
    Jennings, N., Wooldridge, M.: Agent-Oriented Software Engineering. In: Bradshaw, J. (ed.) Handbook of Agent Technology, AAAI/MIT Press (2000)Google Scholar
  10. 10.
    Kendall, E.: Role Model Designs and Implementations with Aspect-oriented Programming. In: OOPSLA 1999, pp. 353–369 (1999)Google Scholar
  11. 11.
    Kendall, E., et al.: A Framework for Agent Systems. In: Fayad, M., et al. (eds.) Implementing Applications Frameworks: Object Oriented Frameworks at Work, John Wiley & Sons, Chichester (1999)Google Scholar
  12. 12.
    Kiczales, G., et al.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  13. 13.
    Kiczales, G., et al.: Getting Started with AspectJ. Communication of the ACM 44(10), 59–65 (2001)CrossRefGoogle Scholar
  14. 14.
    Nwana, H., Ndumu, D., Lee, L.: ZEUS: An advanced Toolkit for Engineering Distributed Multi-Agent Systems. In: Proceedings of PAAM 1998, pp. 377–391 (1998)Google Scholar
  15. 15.
    Pace, A., Trilnik, F., Campo, M.: Assisting the Development of Aspect-based MAS using the SmartWeaver Approach. 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)Google Scholar
  16. 16.
    Rashid, A.: A Hybrid Approach to Separation of Concerns: The Story of SADES. In: Yonezawa, A., Matsuoka, S. (eds.) Reflection 2001. LNCS, vol. 2192, pp. 231–249. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  17. 17.
    Sant’Anna, C., Garcia, A., Chavez, C., Lucena, C., Staa, A.: On the Reuse and Maintenance of Aspect-Oriented Software: An Assessment Framework. In: Proc. of the XVII Brazilian Symposium on Software Engineering, Manaus, Brazil, October 2003, pp. 19–34 (2003)Google Scholar
  18. 18.
    Sycara, K., Paolucci, M., Velsen, M., Giampapa, J.: The RETSINA MAS Infrastructure. Journal of Autonomous Agents and Multi-Agent Systems 7(1/2) (July/September 2003)Google Scholar
  19. 19.
    Wooldridge, M., Jennings, N., Kinny, D.: The Gaia Methodology for Agent-Oriented Analysis and Design. Journal of Autonomous Agents and MAS 3(3), 285–312 (2000)Google Scholar
  20. 20.
    Bergenti, F., Gleizes, M.-P., Zambonelli, F. (eds.): Methodologies and Software Engineering for Agent Systems: The Agent-Oriented Software Engineering Handbook. Springer, Heidelberg (2004)MATHGoogle Scholar
  21. 21.
    Garcia, A., Lucena, C.: Taming Heterogeneous Agent Architectures with Aspects. Communications of the ACM, March 2005 (submitted)Google Scholar
  22. 22.
    Kulesza, U., Garcia, A., Lucena, C.: A Generative Approach for Multi-Agent System Development. In: Choren, R., Garcia, A., Lucena, C., Romanovsky, A. (eds.) SELMAS 2004. LNCS, vol. 3390, pp. 52–69. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  23. 23.
    Garcia, A.: From Objects to Agents: An Aspect-Oriented Approach. PhD Thesis, Computer Science Department, PUC-Rio, Brazil (April 2004)Google Scholar
  24. 24.
    Garcia, A., et al.: Separation of Concerns in Multi-Agent Systems: An Empirical Study. In: Lucena, C., Garcia, A., Romanovsky, A., Castro, J., Alencar, P.S.C. (eds.) SELMAS 2003. LNCS, vol. 2940, Springer, Heidelberg (2004)CrossRefGoogle Scholar
  25. 25.
    Ubayashi, N., Tamai, T.: Separation of Concerns in Mobile Agent Applications. In: Yonezawa, A., Matsuoka, S. (eds.) Reflection 2001. LNCS, vol. 2192, pp. 89–109. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  26. 26.
    D’Hondt, M., Gybels, K., Jonckers, V.: Seamless Integration of Rule-Based Knowledge and Object-Oriented Functionality with Linguistic Symbiosis. In: Proceedings of the 19th Annual ACM Symposium on Applied Computing (SAC 2004), March 2004, Nicosia, Cyprus (2004) Google Scholar
  27. 27.
    Guessoum, Z., Briot, J.: From Active Objects to Autonomous Agents. IEEE Concurrency, Special Series on Actors and Agents 7(3), 68–76 (1999)Google Scholar
  28. 28.
    Amandi, A., Price, A.: Building Object-Agents from a Software Meta-Architecture. In: de Oliveira, F.M. (ed.) SBIA 1998. LNCS (LNAI), vol. 1515, Springer, Heidelberg (1998)CrossRefGoogle Scholar
  29. 29.
    Garcia, A., et al.: The Mobility Aspect Pattern. In: Proc. of the 4th Latin-American Conference on Pattern Languages of Programming, SugarLoafPLoP 2004, August 2004, Fortaleza, Brazil (2004)Google Scholar
  30. 30.
    Garcia, A., et al.: The Learning Aspect Pattern. In: Proc. of the 11th Conference on Pattern Languages of Programs (PLoP 2004), September 2004, Monticello, USA (2004)Google Scholar
  31. 31.
    Garcia, A., Kulesza, U., Lucena, C.: Aspectizing Multi-Agent Systems: From Architecture to Implementation. In: Choren, R., Garcia, A., Lucena, C., Romanovsky, A. (eds.) SELMAS 2004. LNCS, vol. 3390, pp. 121–143. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  32. 32.
    Filman, R.: What Is Aspect-Oriented Programming, Revisited. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, Springer, Heidelberg (2001)Google Scholar
  33. 33.
    Silva, V., et al.: Taming Agents and Objects in Software Engineering. 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)Google Scholar
  34. 34.
    Ceri, S., Fraternali, P.: Web Modeling Language (WebML): A Modeling Language for Designing Web Sites. In: Proc. of the 9th. Intl. World Wide Web Conference, pp. 137–157 (2000)Google Scholar
  35. 35.
    Schwabe, D., Rossi, G.: An Object-Oriented Approach to Web-based Application Design. Theory and Practice of Object Systems 4, 207–225 (1998)CrossRefGoogle Scholar
  36. 36.
    Garcia, A., Chavez, C., Kulesza, U., Lucena, C.: The Role Aspect Pattern. In: Proc. of the 10th European Conf. on Pattern Languages of Programs (EuroPLoP 2005), July 2005, Irsee, Germany (2005)Google Scholar
  37. 37.
    Garcia, A., Kulesza, U., Chavez, C., Lucena, C.: The Interaction Aspect Pattern. In: Proc. of the 10th European Conf. Pattern Languages of Programs (EuroPLoP), July 2005, Irsee, Germany (2005)Google Scholar
  38. 38.
    Cossentino, M., Potts, M.: A CASE Tool Supported Methodology for the Design of MASs. In: Proc. of the Intl. Conf. on Soft. Eng. Research and Practice (SERP 2002), June 2002, Las Vegas (2002)Google Scholar
  39. 39.
    Constantinides, C., Bader, A., Elrad, T., Fayad, M.: Designing an Aspect-Oriented Framework. ACM Computing Surveys 32(41) (2000)Google Scholar
  40. 40.
    Amor, M., Fuentes, L., Vallecillo, A.: Bridging the Gap Between Agent-Oriented Design and Implementation Using MDA. In: Odell, J.J., Giorgini, P., Müller, J.P. (eds.) AOSE 2004. LNCS, vol. 3382, pp. 93–108. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  41. 41.
    OMG. Model Driven Architecture - A Technical Perspective. Object Management Group, OMG Document ab/2001-01-01 (2001), available from
  42. 42.
    Castro, J., Kolp, M., Mylopoulos, J.: Towards Requirements-Driven Information Systems Engineering: the Tropos Project. Information Systems 27(6), 365–389 (2002)CrossRefMATHGoogle Scholar
  43. 43.
    Cossentino, M., Zambonelli, F.: Agent Design from the Autonomy Perspective. In: Nickles, M., Rovatsos, M., Weiss, G. (eds.) AUTONOMY 2003. LNCS (LNAI), vol. 2969, pp. 140–150. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  44. 44.
    Filman, R., et al.: Aspect-Oriented Software Development. Addison-Wesley, Reading (2005)Google Scholar
  45. 45.
    Chitchyan, R., et al.: Survey of Aspect-Oriented Analysis and Design. AOSD-Europe Project Deliverable No: AOSD-Europe-ULANC-9,

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Alessandro Garcia
    • 1
  • Uirá Kulesza
    • 2
  • Cláudio Sant’Anna
    • 2
  • Christina Chavez
    • 3
  • Carlos J. P. de Lucena
    • 2
  1. 1.Computing Department, InfoLab 21Lancaster UniversityLancasterUnited Kingdom
  2. 2.PUC-Rio, Computer Science DepartmentLESRio de JaneiroBrazil
  3. 3.Computer Science DepartmentFederal University of Bahia (UFBA)SalvadorBrazil

Personalised recommendations