Abstract
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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
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)
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)
FIPA Specifications. FIPA ACL Message Structure Specification, http://www.fipa.org/specs/fipa00061/
Gamma, E., et al.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)
Garcia, A., Lucena, C., Cowan, D.: Agents in Object-Oriented Software Engineering. Software: Practice and Experience (April 2004)
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)
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)
Jennings, N., Wooldridge, M.: Agent-Oriented Software Engineering. In: Bradshaw, J. (ed.) Handbook of Agent Technology, AAAI/MIT Press (2000)
Kendall, E.: Role Model Designs and Implementations with Aspect-oriented Programming. In: OOPSLA 1999, pp. 353–369 (1999)
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)
Kiczales, G., et al.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)
Kiczales, G., et al.: Getting Started with AspectJ. Communication of the ACM 44(10), 59–65 (2001)
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)
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)
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)
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)
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)
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)
Bergenti, F., Gleizes, M.-P., Zambonelli, F. (eds.): Methodologies and Software Engineering for Agent Systems: The Agent-Oriented Software Engineering Handbook. Springer, Heidelberg (2004)
Garcia, A., Lucena, C.: Taming Heterogeneous Agent Architectures with Aspects. Communications of the ACM, March 2005 (submitted)
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)
Garcia, A.: From Objects to Agents: An Aspect-Oriented Approach. PhD Thesis, Computer Science Department, PUC-Rio, Brazil (April 2004)
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)
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)
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)
Guessoum, Z., Briot, J.: From Active Objects to Autonomous Agents. IEEE Concurrency, Special Series on Actors and Agents 7(3), 68–76 (1999)
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)
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)
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)
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)
Filman, R.: What Is Aspect-Oriented Programming, Revisited. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, Springer, Heidelberg (2001)
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)
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)
Schwabe, D., Rossi, G.: An Object-Oriented Approach to Web-based Application Design. Theory and Practice of Object Systems 4, 207–225 (1998)
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)
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)
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)
Constantinides, C., Bader, A., Elrad, T., Fayad, M.: Designing an Aspect-Oriented Framework. ACM Computing Surveys 32(41) (2000)
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)
OMG. Model Driven Architecture - A Technical Perspective. Object Management Group, OMG Document ab/2001-01-01 (2001), available from www.omg.org
Castro, J., Kolp, M., Mylopoulos, J.: Towards Requirements-Driven Information Systems Engineering: the Tropos Project. Information Systems 27(6), 365–389 (2002)
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)
Filman, R., et al.: Aspect-Oriented Software Development. Addison-Wesley, Reading (2005)
Chitchyan, R., et al.: Survey of Aspect-Oriented Analysis and Design. AOSD-Europe Project Deliverable No: AOSD-Europe-ULANC-9, www.aosd-europe.net
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
Garcia, A., Kulesza, U., Sant’Anna, C., Chavez, C., de Lucena, C.J.P. (2006). Aspects in Agent-Oriented Software Engineering: Lessons Learned. In: Müller, J.P., Zambonelli, F. (eds) Agent-Oriented Software Engineering VI. AOSE 2005. Lecture Notes in Computer Science, vol 3950. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11752660_18
Download citation
DOI: https://doi.org/10.1007/11752660_18
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-34097-3
Online ISBN: 978-3-540-34099-7
eBook Packages: Computer ScienceComputer Science (R0)