Skip to main content

Separation of Concerns in Multi-agent Systems: An Empirical Study

  • Conference paper
Software Engineering for Multi-Agent Systems II (SELMAS 2003)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)

    Article  Google Scholar 

  2. 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)

    Article  Google Scholar 

  3. 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)

    Google Scholar 

  4. Basili, V., Selby, R., Hutchins, D.: Experimentation in Software Engineering. IEEE Transactions on Software Engineering SE-12, 733–743 (1986)

    Google Scholar 

  5. 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 

  6. Bradshaw, J.: Software Agents. American Association for AI/ MIT Press (1997)

    Google Scholar 

  7. Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture: A System of Patterns. John Wiley & Sons, Chichester (1996)

    Google Scholar 

  8. 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 

  9. Chidamber, S., Kemerer, C.: A Metrics Suite for Object Oriented Design. IEEE Transactions on Software Engineering 20(6), 476–493 (1994)

    Article  Google Scholar 

  10. Elammari, M., Lalonde, W.: An Agent-Oriented Methodology: High-Level and Intermediate Models. In: Proceedings of AOIS 1999, Heidelberg, Germany (June 1999)

    Google Scholar 

  11. Fenton, N.: Softwre Metrics: A Rigorous Approach. Chapman & Hall, London (1991)

    Google Scholar 

  12. Fenton, N., Pfleeger, S.: Software Metrics: A Rigorous and Practical Approach, 2nd edn. PWS, London (1997)

    Google Scholar 

  13. 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)

    Chapter  Google Scholar 

  14. FIPA Specifications. FIPA ACL Message Structure Specification, http://www.fipa.org/specs/fipa00061/

  15. Gamma, E., et al.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison- Wesley, Reading (1995)

    Google Scholar 

  16. 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)

    Google Scholar 

  17. 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)

  18. 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)

    Google Scholar 

  19. 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)

    Google Scholar 

  20. Garcia, A., Lucena, C., Cowan, D.: Agents in Object-Oriented Software Engineering. Software: Practice and Experience. Elsevier (2004) (Accepted to Appear)

    Google Scholar 

  21. 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)

    Article  Google Scholar 

  22. Hannemann, J., Kiczales, G.: Design Pattern Implementation in Java and AspectJ. In: Proceedings of OOPSLA 2002, November 2002, pp. 161–173 (2002)

    Google Scholar 

  23. 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)

    Chapter  Google Scholar 

  24. Jennings, N., Wooldridge, M.: Agent-Oriented Software Engineering. In: Bradshaw, J. (ed.) Handbook of Agent Technology, AAAI/MIT Press (2000)

    Google Scholar 

  25. Kendall, E.: Role Model Designs and Implementations with Aspect-oriented Programming. In: OOPSLA 1999, pp. 353–369 (1999)

    Google Scholar 

  26. 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)

    Google Scholar 

  27. 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)

    Google Scholar 

  28. Kiczales, G., et al.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  29. Kiczales, G., et al.: Getting Started with AspectJ. Communication of the ACM 44(10), 59–65 (2001)

    Article  Google Scholar 

  30. Kitchenham, B., et al.: Towards a Framework for Software Measurement Validation. IEEE Transactions on Software Engineering 21(12), 929–944 (1995)

    Article  Google Scholar 

  31. Kitchenham, B.: Evaluating Software Engineering Methods and Tool. Part 1 – 12, Software Engineering Notes 21(1-12) (January 1996 - September 1998)

    Google Scholar 

  32. Li, W., Henry, S.: Object-Oriented Metrics that Predict Maintainability. Journal of Systems and Software 23(2), 111–122 (1993)

    Article  Google Scholar 

  33. Lopes, C.: D: A Language Framework for Distributed Programming Ph.D. Thesis, College of Computer Science, Northeastern University (1997)

    Google Scholar 

  34. Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice Hall, Englewood Cliffs (1997)

    MATH  Google Scholar 

  35. 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 

  36. 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

  37. OMG – Agent Platform Special Interest Group. Agent Technology – Green Paper. Version 1.0 (September 2000)

    Google Scholar 

  38. 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 

  39. Papaioannou, T., Edwards, J.: Building Agile Systems with Mobile Code. Journal of Autonomous Agents and Multi-Agent Systems 4(4), 293–310 (2001)

    Article  Google Scholar 

  40. Parnas, D.: On the Criteria to Be Used in Decomposing Systems into Modules. Communications of the ACM 15(12), 1053–1058 (1972)

    Article  Google Scholar 

  41. 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)

    Chapter  Google Scholar 

  42. 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)

    Google Scholar 

  43. 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)

    Google Scholar 

  44. 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)

    Chapter  Google Scholar 

  45. Sommerville, I.: Software Engineering, 6th edn. Addison-Wesley, Harlow (2001)

    Google Scholar 

  46. 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)

    Google Scholar 

  47. Tarr, P., et al.: N Degrees of Separation: Multi-Dimensional Separation of Concerns. In: Proceedings of the 21st ICSE (May 1999)

    Google Scholar 

  48. 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)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics