Abstract
With multi-agent systems (MASs) growing in size and complexity, the separation of their concerns throughout the different development phases is crucial to MAS engineers. Separation of concerns is a well-known principle in software engineering to achieve improved reusability and maintainability of complex software. Hence it is necessary to investigate systematically whether abstractions from object-oriented (OO) software engineering are able to isolate explicitly MAS concerns. This paper presents an empirical study that evaluates the degree to which abstractions associated with two OO techniques enable modularization of MAS concerns. The selected techniques involve basic OO abstractions, such as classes and objects, and more sophisticated ones, namely design patterns and aspects. The gathered results shown that the use of aspects allowed the construction of a MAS with a significant improvement in the modularization of different concerns. Also, the use of aspects resulted in: (i) fewer lines of code, (ii) fewer design and implementation components, and (iii) lower coupling between the components. However, the aspect-oriented approach produced lower cohesion in the MAS components. Finally, an important finding of this empirical study is that aspects supported a better alignment with higher-level abstractions from agent-oriented design models.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Bandi, R., Vaishnavi, V., Turk, D.: Predicting Maintenance Performance Using Object-Oriented Design Complexity Metrics. IEEE Transactions on Software Engineering 29(1), 77–87 (2003)
Basili, V., Briand, L., Melo, W.: A Validation of Object-Oriented Design Metrics as Quality Indicators. IEEE Transactions on Software Engineering 22(10), 751–761 (1996)
Basili, V., Caldiera, G., Rombach, H.: The Goal Question Metric Approach. In: Basili, V., Caldiera, G., Rombach, H. (eds.) Encyclopedia of Software Engineering, 2nd edn., vol. 1, pp. 578–583. John Wiley & Sons, Inc., Chichester (2002)
Basili, V., Selby, R., Hutchins, D.: Experimentation in Software Engineering. IEEE Transactions on Software Engineering SE-12, 733–743 (1986)
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)
Bradshaw, J.: Software Agents. American Association for AI/ MIT Press (1997)
Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture: A System of Patterns. John Wiley & Sons, Chichester (1996)
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)
Chidamber, S., Kemerer, C.: A Metrics Suite for Object Oriented Design. IEEE Transactions on Software Engineering 20(6), 476–493 (1994)
Elammari, M., Lalonde, W.: An Agent-Oriented Methodology: High-Level and Intermediate Models. In: Proceedings of AOIS 1999, Heidelberg, Germany (June 1999)
Fenton, N.: Softwre Metrics: A Rigorous Approach. Chapman & Hall, London (1991)
Fenton, N., Pfleeger, S.: Software Metrics: A Rigorous and Practical Approach, 2nd edn. PWS, London (1997)
Finin, T., Fritzson, R., McKay, D., McEntire, R.: KQML as an Agent Communication Language. In: Proceedings of the Third International 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., Chavez, C., Silva, O., Silva, V., Lucena, C.: Promoting Advanced Separation of Concerns in Intra-Agent and Inter-Agent Software Engineering. In: Workshop on Advanced Separation of Concerns (ASoC) at OOPSLA 2001, Tampa Bay (October 2001)
Garcia, A., et al.: Agents and Objects: An Empirical Study on Software Engineering. Technical Report 06-03, Computer Science Department, PUC-Rio (February 2003) Available at ftp://ftp.inf.puc-rio.br/pub/docs/techreports/ (file03_06_garcia.pdf)
Garcia, A., Lucena, C.: Software Engineering for Large-Scale Multi-Agent Systems – SELMAS 2002. In: ACM Software Eng. Notes, vol. 27(5), pp. 82–88 (2002) (Workshop Report)
Garcia, A., Lucena, C., Castro, J., Omicini, A., Zambonelli, F. (eds.) Software Engineering for Large-Scale Multi-Agent Systems. LNCS, vol. 2603, Springer, Heidelberg (2003)
Garcia, A., Lucena, C., Cowan, D.: Agents in Object-Oriented Software Engineering. Software: Practice and Experience. Elsevier (2004) (Accepted to Appear)
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)
Hannemann, J., Kiczales, G.: Design Pattern Implementation in Java and AspectJ. In: Proceedings of OOPSLA 2002, November 2002, pp. 161–173 (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., Krishna, P., Pathak, C., Suresh, C.: A Framework for Agent Systems. In: Fayad, M., et al. (eds.) Implementing Applications Frameworks: Object Oriented Frameworks at Work, John Wiley & Sons, Chichester (1999)
Kersten, A., Murphy, G.: Atlas: A Case Study in Building a Web-based Learning Environment using Aspect-Oriented Programming. In: Proceedings of OOPSLA (November 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)
Kitchenham, B., et al.: Towards a Framework for Software Measurement Validation. IEEE Transactions on Software Engineering 21(12), 929–944 (1995)
Kitchenham, B.: Evaluating Software Engineering Methods and Tool. Part 1 – 12, Software Engineering Notes 21(1-12) (January 1996 - September 1998)
Li, W., Henry, S.: Object-Oriented Metrics that Predict Maintainability. Journal of Systems and Software 23(2), 111–122 (1993)
Lopes, C.: D: A Language Framework for Distributed Programming Ph.D. Thesis, College of Computer Science, Northeastern University (1997)
Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice Hall, Englewood Cliffs (1997)
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)
OMG. OMG Unified Modeling Language Specification, Version 1.5, OMG Document formal/03-03-01 (March 2003), http://www.omg.org/technology/documents/formal/uml.htm
OMG – Agent Platform Special Interest Group. Agent Technology – Green Paper. Version 1.0 (September 2000)
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)
Papaioannou, T., Edwards, J.: Building Agile Systems with Mobile Code. Journal of Autonomous Agents and Multi-Agent Systems 4(4), 293–310 (2001)
Parnas, D.: On the Criteria to Be Used in Decomposing Systems into Modules. Communications of the ACM 15(12), 1053–1058 (1972)
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 Evaluation Framework. In: Proc. of the XVII Brazilian Symposium on Software Engineering, Manaus, Brazil, October 2003, pp. 19–34 (2003)
Silva, V., Garcia, A., Brandão, A., Chavez, C., Lucena, C., Alencar, P.: 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, pp. 1–26. Springer, Heidelberg (2003)
Silva, O., Garcia, A., Lucena, C.: The Reflective Blackboard Pattern: Architecting Large- Scale Multi-Agent Systems. 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, pp. 73–93. Springer, Heidelberg (2003)
Sommerville, I.: Software Engineering, 6th edn. Addison-Wesley, Harlow (2001)
Sycara, K., Paolucci, M., Velsen, M., Giampapa, J.: The RETSINA MAS Infrastructure. Journal of Autonomous Agents and Multi-Agent Systems 7(1 and 2) (July/September 2003)
Tarr, P., et al.: N Degrees of Separation: Multi-Dimensional Separation of Concerns. In: Proceedings of the 21st ICSE (May 1999)
Wooldridge, M., Jennings, N., Kinny, D.: The Gaia Methodology for Agent-Oriented Analysis and Design. Journal of Autonomous Agents and Multi-Agent Systems 3(3), 285–312 (2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Garcia, A., Sant’Anna, C., Chavez, C., da Silva, V.T., de Lucena, C.J.P., von Staa, A. (2004). Separation of Concerns in Multi-agent Systems: An Empirical Study. In: Lucena, C., Garcia, A., Romanovsky, A., Castro, J., Alencar, P.S.C. (eds) Software Engineering for Multi-Agent Systems II. SELMAS 2003. Lecture Notes in Computer Science, vol 2940. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24625-1_4
Download citation
DOI: https://doi.org/10.1007/978-3-540-24625-1_4
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-21182-2
Online ISBN: 978-3-540-24625-1
eBook Packages: Springer Book Archive