skip to main content
article

Developing multiagent systems: The Gaia methodology

Published:01 July 2003Publication History
Skip Abstract Section

Abstract

Systems composed of interacting autonomous agents offer a promising software engineering approach for developing applications in complex domains. However, this multiagent system paradigm introduces a number of new abstractions and design/development issues when compared with more traditional approaches to software development. Accordingly, new analysis and design methodologies, as well as new tools, are needed to effectively engineer such systems. Against this background, the contribution of this article is twofold. First, we synthesize and clarify the key abstractions of agent-based computing as they pertain to agent-oriented software engineering. In particular, we argue that a multiagent system can naturally be viewed and architected as a computational organization, and we identify the appropriate organizational abstractions that are central to the analysis and design of such systems. Second, we detail and extend the Gaia methodology for the analysis and design of multiagent systems. Gaia exploits the aforementioned organizational abstractions to provide clear guidelines for the analysis and design of complex and open software systems. Two representative case studies are introduced to exemplify Gaia's concepts and to show its use and effectiveness in different types of multiagent system.

References

  1. Abelson, H., Allen, D., Coore, D., Hanson, C., Homsy, G., Knight, T., Napal, R., Rauch, E., Sussmann, G., and Weiss, R. 2000. Amorphous computing. Commun. ACM 43, 5 (May), 43--50.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Babaoglu, O., Meling, H., and Montresor, A. 2002. Anthill: A framework for the development of agent-based peer-to-peer systems. In Proceedings of the 22nd International Conference on Distributed Computing Systems (Vienna, Austria). IEEE Computer Society Press, Los Alamitos, Calif., pp. 15--22.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Bass, L., Clements, P., and Kazman, R. 2003. Software Architectures in Practice (2nd Ed.). Addison-Wesley, Reading, Mass.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Bauer, B., Muller, J. P., and Odell, J. 2001. Agent UML: A formalism for specifying multiagent software systems. Int. J. Softw. Eng. Knowl. Eng. 11, 3 (Apr.), 207--230.]]Google ScholarGoogle ScholarCross RefCross Ref
  5. Berners-Lee, T., Hendler, J., and Lassila, O. 2001. The semantic web. Sci. Amer. May.]]Google ScholarGoogle Scholar
  6. Bonabeau, E., Dorigo, M., and Theraulaz, G. 1999. Swarm Intelligence. From Natural to Artificial Systems. Oxford University Press, Oxford, U.K.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Booch, G. 1994. Object-Oriented Analysis and Design (2nd ed.). Addison-Wesley, Reading, Mass.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Bresciani, P., Perini, A., Giorgini, P., Giunchiglia, F., and Mylopoulos, J. 2001. A knowledge level software engineering methodology for agent oriented programming. In Proceedings of the 5th International Conference on Autonomous Agents (Montreal, Ont., Canada, June). ACM, New York, pp. 648--655.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Bussmann, S. 1998. Agent-oriented programming of manifacturing control tasks. In Proceedings of the 3rd International Conference on Multi-Agent Systems (Paris, France, June). IEEE Computer Society Press, Los Alamitos, Calif., pp. 57--63.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Cabri, G., Ferrari, L., and Leonardi, L. 2003. Enabling mobile agents to dynamically assume roles. In Proceedings of the 2003 ACM Symposium on Applied Computing (Melbourne, Fla., Mar.). ACM, New York, pp. 56--60.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Cabri, G., Leonardi, L., and Zambonelli, F. 2000. Mobile-agent coordination models for internet applications. IEEE Comput. 33, 2 (Feb.), 52--58.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Cabri, G., Leonardi, L., and Zambonelli, F. 2002. Engineering mobile agent applications via context-dependent coordination. IEEE Trans. Softw. Eng. 28, 11 (Nov.), 1034--1051.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Caire, G., Coulier, W., Garijo, F., Gomez, J., Pavon, J., Leal, F., Chainho, P., Kearney, P., Stark, J., Evans, R., and Massonet, P. 2002. Agent-oriented analysis using message/uml. In Proceedings of the 2nd International Workshop on Agent-Oriented Software Engineering. Lecture Notes in Computer Science, vol. 2222. Springer Verlag, New York, pp. 119--135.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Castro, J., Kolp, M., and Mylopoulos, J. 2002. Towards requirements-driven information systems engineering: The tropos project. Inf. Syst. 27, 6 (June), 365--389.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Ciancarini, P., Omicini, A., and Zambonelli, F. 2000. Multiagent systems engineering: The coordination viewpoint. In Intelligents Agents VI: Agent Theories, Architectures, and Languages. Lecture Notes in Computer Science, vol. 1767. Springer-Verlag, New York, pp. 250--259.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Coleman, D., Arnold, P., Bodoff, S., Dollin, D., Gilchrist, H., Hayes, F., and Jeremas, P. 1994. Object-Oriented Development: The FUSION Method. Prentice-Hall International, Hemel Hampstead U.K.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Collinot, A., Drogoul, A., and Benhamou, P. 1996. Agent-oriented design of a soccer robot team. In Proceedings of the 2nd International Conference on Multi-Agent Systems (Kyoto, Japan). IEEE Computer Society Press, Los Alamitos, Calif.]]Google ScholarGoogle Scholar
  18. Demazeau, Y., and Rocha Costa, A. C. 1996. Populations and organizations in open multi-agent systems. In Proceedings of the 1st National Symposium on Parallel and Distributed AI.]]Google ScholarGoogle Scholar
  19. Esteva, M., Rodriguez-Aguilar, J. A., Sierra, C., Garcia, P., and Arcos, J. L. 2001. On the formal specifications of agent institutions. In Agent-Mediated Electronic Commerce. Lecture Notes in Computer Science, vol. 1991. Springer-Verlag, New York, pp. 126--147.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Estrin, D., Culler, D., Pister, K., and Sukjatme, G. 2002. Connecting the physical world with pervasive networks. IEEE Perv. Comput. 1, 1, 59--69.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Ferber, J. and Gutknecht, O. 1998. A meta-model for the analysis and design of organizations in multi-agent systems. In Proceedings of the 3rd International Conference on Multi-Agent Systems (Paris, France). IEEE Computer Society Press, Los Alamitos, Calif., pp. 128--135.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Foster, I. and Kesselman, C. (Eds.). 1999. The Grid: Blueprint for a New Computing Infrastructure. Morgan-Kaufmann, San Francisco, Calif.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Fox, M. S. 1981. An organizational view of distributed systems. IEEE Trans. Syst. Man, Cybernet. 11, 1 (Jan.), 70--80.]]Google ScholarGoogle ScholarCross RefCross Ref
  24. Handy, C. 1976. Understanding Organizations. Penguin Books, London, UK.]]Google ScholarGoogle Scholar
  25. Hattori, F., Ohguro, T., Yokoo, M., Matsubara, S., and Yoshida, S. 1999. Socialware: Multiagent systems for supporting network communities. Communi. ACM 42, 3 (Mar.), 55--61.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Iglesias, C., Garijo, M., and Gonzales, J. 1999. A survey of agent-oriented methodologies. In Intelligents Agents IV: Agent Theories, Architectures, and Languages. Lacture Notes in Artificial Intelligence, vol. 1555. Springer-Verlag, New York, pp. 317--330.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Jennings, N. R. 2001. An agent-based approach for building complex software systems. Commun. ACM, 44, 4 (Apr.), 35--41.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Juan, T., Pierce, A., and Sterling, L. 2002. Roadmap: Extending the gaia methodology for complex open systems. In Proceedings of the 1st ACM Joint Conference on Autonomous Agents and Multi-Agent Systems (Bologna, Italy, July). ACM, New York, pp. 3--10.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Kendall, E. A. 2001. Agent software engineering with role modelling. In Proceedings of the 1st International Workshop on Agent-Oriented Software Engineering. Lecture Notes in Computer Science, vol. 1957. Springer-Verlag, New York, pp. 163--170.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Kephart, J. O. and Chess, D. M. 2003. The vision of autonomic computing. IEEE Comput. 36, 1, (Jan.), 41--50.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Kolp, M., Giorgini, P., and Mylopoulos, J. 2002. A goal-based organizational perspective on multiagent architectures. In Intelligent Agents VIII: Agent Theories, Architectures, and Languages. Lecture Notes in Artificial Intelligence, vol. 2333. Springer-Verlag, New York, pp. 128--140.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Leer, G. and Hefferman, D. 2002. Expanding automotive electronic systems. IEEE Comput. 35, 1 (Jan.), 88--93.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Lind, J. 2001. Iterative Software Engineering for Multiagent Systems: The MASSIVE Method. Lecture Notes in Computer Science, vol. 1994. Springer-Verlag, Berlin, Germany.]]Google ScholarGoogle Scholar
  34. Maes, P. 1994. Agents that reduce work and information overload. Commun. ACM 37, 7 (July), 30--40.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Mamei, M., Zambonelli, F., and Leonardi, L. 2003. Distributed motion coordination in co-fields. In Proceedings of the 6th Symposium on Autonomous Decentralized Systems (Pisa, Italy, Apr.). IEEE Computer Society Press, Los Alamitos, Calif., pp. 63--70.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Manna, Z. and Pnueli, A. 1995. Temporal Verification of Reactive Systems---Safety. Springer-Verlag, Berlin, Germany.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Mataric, M. 1992. Integration of representation into goal-driven behavior-based robots. IEEE Trans. Rob. Automat. 8, 3 (Dec.), 59--69.]]Google ScholarGoogle ScholarCross RefCross Ref
  38. Mintzberg, H. 1979.The Structuring of Organizations: A Synthesis of the Research. Prentice-Hall, Englewood Cliffs, N.J.]]Google ScholarGoogle Scholar
  39. Moses, Y. and Tennenholtz, M. 1995. Artificial social systems. Comput. Artif. Intel. 14, 3, 533--562.]]Google ScholarGoogle Scholar
  40. Mylopoulos, J., Chung, L., and Yu, E. 1999. From object-oriented to goal-oriented requirements analysis. Communi. ACM 42, 1 (Jan.), 31--37.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Noriega, P. 1997. Agent-mediated Auctions: The Fishmarket Metaphor. Ph.D Thesis, Universitat Autonoma de Barcelona, Barcelona, Spain.]]Google ScholarGoogle Scholar
  42. Odell, J., Van Dyke Parunak, H., and Bock, C. 2001. Representing agent interaction protocols in UML. In Proceedings of the 1st International Workshop on Agent-Oriented Software Engineering. Lecture Notes in Computer Science, vol. 1957. Springer-Verlag, New York, pp. 121--140.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Parunak, V. 1997. Go to the ant: Engineering principles from natural agent systems. Ann. Oper. Res. 75, 69--101.]]Google ScholarGoogle ScholarCross RefCross Ref
  44. Ricci, A., Omicini, A., and Denti, E. 2002. Agent coordination infrastructures for virtual enterprises and workflow. Int. J. Coop. Inf. Syst. 11, 3 (Sept.), 335--380.]]Google ScholarGoogle ScholarCross RefCross Ref
  45. Ripeani, M., Iamnitchi, A., and Foster, I. 2002. Mapping the gnutella network. IEEE Internet Comput. 6, 1 (Jan.), 50--57.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Rumbaugh, J., Jacobson, I., and Booch, G. 1998. The Unified Modeling Language Reference Manual. Addison-Wesley, Reading, Mass.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Schwabe, D., Guimaraer, R. M., and Rossi, G. 2002. Cohesive design of personalized web applications. IEEE Internet Comput. 6, 2 (Apr.), 34--43.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Shaw, M., DeLine, R., Klein, D., Ross, T., Young, D., and Zelesnik, G. 1995. Abstractions for software architecture and tools to support them. IEEE Trans. Softw. Eng. 21, 4 (Apr.), 314--335.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Shaw, M. and Garlan, D. 1996. Software Architectures: Perspectives on an Emerging Discipline. Prentice-Hall, Englewood Cliffs, N.J.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Shehory, O. and Sturm, A. 2001. Evaluation of modeling techniques for agent-based systems. In Proceedings of the 5th International Conference on Autonomous Agents (Montreal, Ont., Canada, June). ACM, New York, pp. 624--631.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Simon, H. A. 1957. Models of Man. Wiley, New York.]]Google ScholarGoogle Scholar
  52. Smith, R. G. 1980. The contract net protocol: High level communication and control in a distributed problem solver. IEEE Trans. Comput. 29, 12 (Dec.), 1104--1113.]]Google ScholarGoogle Scholar
  53. Tahara, Y., Ohsuga, A., and Honiden, S. 1999. Agent system development based on agent patterns. In Proceedings of the 21st International Conference on Software Engineering (Los Angeles, Calif., May). ACM, New York, pp. 356--367.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Tennenhouse, D. 2000. Embedding the Internet: Proactive computing. Commun. ACM 43, 5 (May), 36--42.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Wood, M., DeLoach, S. A., and Sparkman, C. 2001. Multiagent system engineering. Int. J. Softw. Eng. Knowl. Eng. 11, 3 (Apr.), 231--258.]]Google ScholarGoogle Scholar
  56. Wooldridge, M. 1997. Agent-based software engineering. IEE Proc. Softw. Eng. 144, 1 (Feb.), 26--37.]]Google ScholarGoogle ScholarCross RefCross Ref
  57. Wooldridge, M. 2000. Reasoning about Rational Agents. MIT Press, Cambridge, Mass.]]Google ScholarGoogle Scholar
  58. Wooldridge, M. 2002. An Introduction to Multiagent Systems. Wiley, New York.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. Wooldridge, M. and Jennings, N. R. 1995. Intelligent agents: Theory and practice. Knowl. Eng. Rev. 10, 2, 115--152.]]Google ScholarGoogle ScholarCross RefCross Ref
  60. Wooldridge, M., Jennings, N. R., and Kinny, D. 2000. The Gaia methodology for agent-oriented analysis and design. J. Autonom. Agents Multi-Agent Syst. 3, 3, 285--312.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. Zambonelli, F., Jennings, N. R., Omicini, A., and Wooldridge, M. 2001a. Agent-oriented software engineering for internet applications. In Coordination of Internet Agents: Models, Technologies, and Applications. Springer-Verlag, Berlin, Germany, pp. 326--346.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. Zambonelli, F., Jennings, N. R., and Wooldridge, M. 2001b. Organizational rules as an abstraction for the analysis and design of multi-agent systems. Int. J. Softw. Knowl. Eng. 11, 3 (Apr.), 303--328.]]Google ScholarGoogle Scholar
  63. Zambonelli, F. and Parunak, H. V. D. 2003. Signs of a revolution in computer science and software engineering. In Proceedings of the 3rd International Workshop on Engineering Societies in the Agents World. Lecture Notes in Computer Science, vol. 2577. Springer-Verlag, New York, pp. 13--28.]]Google ScholarGoogle Scholar

Index Terms

  1. Developing multiagent systems: The Gaia methodology

      Recommendations

      Reviews

      Rafael Corchuelo

      In this paper, the authors present a new version of the Gaia methodology, which focuses on multiagent systems (MAS), and was introduced originally by Wooldridge et al. [1]. This new version is based on the so-called organizational metaphor, which provides several modeling tools to deal with open MASs. This metaphor leads to a general characterization, in which different groups of agents form communities that interact and communicate with each other and their environment. The authors argue that the metaphor is general enough to be used in typical MASs, since it helps reduce the conceptual distance between the software system and the real-world system it needs to support. However, this metaphor can only be applied to systems that are highly predictable and reliable; otherwise, the well-known ants, societal, or physical metaphors might be more suitable. The authors make crystal-clear what the advantages of Gaia are with respect to four methodologies, but they draw a veil over many other well-known proposals. I recommend that they pay a visit to http://www.science.unitn.it/~recla/aose/ to examine an up-to-date collection of about 30 such methodologies. Summing up, I think that Gaia provides a good set of modeling artifacts, but that it is not complete. No guidelines for requirements elicitation or implementation are provided, no supporting tools are available, and it lacks a process. Online Computing Reviews Service

      George K. Adam

      This paper's focus is on key issues related to the identification of appropriate abstractions for agent-based software engineering, and on the definition of a suitable methodology for the analysis and design of complex applications in terms of multiagent systems (MASs). The work reported on in the paper is appropriate for the current state of this field; the paper describes the organizational abstractions that are necessary for agent-oriented software engineering. This differs from previous work in that it focuses on the particular organizational abstractions that are appropriate for the software engineering process, rather than on the specific technologies to implement them. The authors argue that agent-oriented computing is an appropriate software engineering paradigm for the analysis, design, and development of many contemporary software systems. To demonstrate this, they provide a lengthy and detailed description of their key concepts for agent-based computing and multiagent systems development methodology. An extended literature review of related work is provided; the authors present many of the problems encountered in developing multiagent systems, and clearly state their extensions. Their concepts for the analysis and design of a multiagent system are documented in a methodology called the Gaia methodology. The authors illustrate their arguments by using, as examples, two real-world applications: a manufacturing system, and a conference management system. Although a considerable part of this work addresses the key concepts of agent-based computing, as they pertain to agent-oriented software engineering, the paper itself is rather important, due to its development and provision of a methodology, centered around organizational abstractions, for the analysis and design of open multiagent systems. Potential applications of this could be the development of software applications for the management of open multiagent systems, such as electronic transactions via the Web. It is not easy, however, to identify or predict the potential results, which may be positive. Finally, the authors claim that much work remains to be done on advancing the widespread acceptance of agent-based computing as a software engineering paradigm, and to this end, they make suggestions for future work. This is a research study intended for researchers interested in developing multiagent systems. Although, in general, this is a well-written paper, I would expect, in such a lengthy work, to see some fragments of software implementations (code examples of applications), if only in an appendix. This would have helped readers to better understand the authors' views on agent-oriented software engineering. The level of novelty of this work, in relation to the extensive comparative literature review included, appears to be satisfactory. The credibility of this work-although it seems to be validated initially by the investigation of two real-world applications, and later on with a well-documented description of the Gaia methodology-could be extended further with more practical example cases. Online Computing Reviews Service

      Access critical reviews of Computing literature here

      Become a reviewer for Computing Reviews.

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM Transactions on Software Engineering and Methodology
        ACM Transactions on Software Engineering and Methodology  Volume 12, Issue 3
        July 2003
        86 pages
        ISSN:1049-331X
        EISSN:1557-7392
        DOI:10.1145/958961
        Issue’s Table of Contents

        Copyright © 2003 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 1 July 2003
        Published in tosem Volume 12, Issue 3

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader