Skip to main content

Dealing with Complexity in Agent-Oriented Software Engineering: The Importance of Interactions

  • Chapter
Conquering Complexity

Abstract

Agent Oriented Software Engineering was born with the promise of allowing more complex systems to be built than can be with traditional OO techniques. This promise is supported by mimicking human organizations and, thus, using “agents”, rather than Objects, as the main modelling artifact. Systems developed this way usually present features that make them complex; that is to say, their behavior cannot be fully predicted. However, such degrees of unpredictability may not be acceptable for some domain applications, e.g., real-time systems or critical business applications. If we analyze these kinds of system, we soon discover that their complexity is mainly derived as a result of the interactions between their constituent components. These interactions provoke chains of cause-effects that are hard to deal with from an engineering point of view, if we do not counter them with appropriate tools. In this chapter, we present the main principles for dealing with complexity, emphasizing how to use them when addressing complex systems. In addition, we show that to overcome complexity in these kinds of systems, it is essential to focus modelling on the main source of the problem: Interactions. Finally, to exemplify all of these principles, we address a typical complex system, an Ant Colony, showing how—by applying the principles and focusing on interactions—we can derive an engineering model that dissects the cause-effect chains to show how the individual behavior of each ant produces the overall complex behavior of the entire colony.

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 129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover 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

Notes

  1. 1.

    The StarLogo definition is available here: http://education.mit.edu/starlogo/samples/ants.htm.

  2. 2.

    The Santa Fe Institute’s webpage is here: http://www.santafe.edu/.

  3. 3.

    Notice that hereafter we call it Composition in order to differentiate it from the organization term in AOSE.

References

  1. Booch, G.: Object-Oriented Design with Applications. Benjamin/Cummings, Redwood City (1990)

    Google Scholar 

  2. Bürckert, H.-J., Fischer, K., Vierke, G.: Teletruck: a holonic fleet management system. In: 14th European Meeting on Cybernetics and Systems Research, pp. 695–700 (1998)

    Google Scholar 

  3. Caire, G., Coulier, W., Garijo, F.J., Gómez-Sanz, J.J., Pavón, J., Leal, F., Chainho, P., Kearney, P.E., Stark, J., Evans, R., Massonet, P.: Agent oriented analysis using MESSAGE/UML. In: Proceedings of Agent-Oriented Software Engineering (AOSE’01), Montreal, pp. 119–135 (2001)

    Google Scholar 

  4. Castelfranchi, C.: Founding agent’s “autonomy” on dependence theory. In: 14th European Conference on Artificial Intelligence, pp. 353–357. IOS Press, Amsterdam (2000)

    Google Scholar 

  5. Castelfranchi, C., Miceli, M., Cesta, A.: Dependence relations among autonomous agents. In: Demazeau, I.Y., Werner, E. (eds.) Third European Workshop on Modeling Autonomous Agents in a Multi-agent World. Decentralized AI 3. Elsevier, Amsterdam (1992)

    Google Scholar 

  6. D’Souza, D.F., Wills, A.C.: Objects, Components, and Frameworks with UML: The Catalysis Approach. Addison-Wesley, Reading (1999)

    Google Scholar 

  7. Ferber, J., Gutknecht, O.: A meta-model for the analysis and design of organizations in multi-agent systems. In: Third International Conference on Multi-agent Systems (ICMAS’98), pp. 128–135. IEEE Comput. Soc., Los Alamitos (1998)

    Google Scholar 

  8. Ferber, J., Gutknecht, O., Michel:, F.: From agents to organizations: an organizational view of multi-agent systems. In: Giorgini, P., Müller, J.P., Odell, J. (eds.) IV International Workshop on Agent-Oriented Software Engineering (AOSE’03). LNCS, vol. 2935, pp. 214–230. Springer, Berlin (2003)

    Chapter  Google Scholar 

  9. Fischer, K.: Agent-based design of holonic manufacturing systems. Robot. Auton. Syst. 27(1–2), 3–13 (1999)

    Article  Google Scholar 

  10. Fischer, K., Hahn, C., Madrigal-Mora, C.: Agent-oriented software engineering: a model-driven approach. Int. J. Agent-Oriented Softw. Eng. 1, 334–369 (2007)

    Article  Google Scholar 

  11. Francez, N., Forman, I.: Synchrony loosening transformations for interacting processes. In: Baeten, J., Klop, J. (eds.) Proceedings of Concurr’91: Theories of Concurrency—Unification and Extension. LNCS, vol. 527, pp. 27–30. Springer, Amsterdam (1991)

    Google Scholar 

  12. Francez, N., Forman, I.: Interacting Processes: A Multiparty Approach to Coordinated Distributed Programming. Addison-Wesley, Reading (1996)

    MATH  Google Scholar 

  13. Fromm, J.: The Emergence of Complexity. Kassel University Press, Kassel (2004)

    Google Scholar 

  14. Gerber, C., Siekmann, J., Vierke, G.: Flexible autonomy in holonic multi-agent systems. In: AAAI Spring Symposium on Agents with Adjustable Autonomy (1999)

    Google Scholar 

  15. Gerber, C., Siekmann, J., Vierke, G.: Holonic multi-agent systems. Technical report RR-99-03, DFKI, Kaiserslautern, Germany (1999)

    Google Scholar 

  16. Giret, A., Botti, V.: Towards an abstract recursive agent. Integr. Comput. Aided Eng. 11(2) (2004)

    Google Scholar 

  17. Jennings, N.: An agent-based approach for building complex software systems. Commun. ACM 44(4), 35–41 (2001)

    Article  Google Scholar 

  18. Jennings, N.R.: Specification and implementation of a belief-desire-joint-intention architecture for collaborative problem solving. Int. J. Intell. Coop. Inf. Syst. 2(3), 289–318 (1993)

    Article  Google Scholar 

  19. Karageorgos, A., Mehandjiev, N.: A design complexity evaluation framework for agent-based system engineering methodologies. In: Omicini, A., Petta, P., Pitt, J. (eds.) Fourth International Workshop Engineering Societies in the Agents World. LNCS, vol. 3071, pp. 258–274. Springer, Berlin (2004)

    Chapter  Google Scholar 

  20. Kendall, E.A.: Role modeling for agent system analysis, design, and implementation. IEEE Concurr. 8(2), 34–41 (2000)

    Article  Google Scholar 

  21. Larman, C.: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process, 2nd edn. Prentice Hall, Upper Saddle River (2001)

    Google Scholar 

  22. Meyer, B.: Object-Oriented Software Construction. Prentice Hall, Hertfordshire (1988)

    Google Scholar 

  23. Mintzberg, H.: The Structuring of Organizations. Prentice Hall, Upper Saddle River (1978)

    Google Scholar 

  24. Odell, J.: Agents and complex systems. J. Object Technol. 1(2), 35–45 (2002)

    Article  Google Scholar 

  25. Odell, J., Parunak, H.V.D., Bauer, B.: Representing agent interaction protocols in UML. In: Proceedings of the 1th Int. Workshop on Agent-Oriented Software Engineering (AOSE’00). LNCS, vol. 1957. Springer, Limerick (2000)

    Google Scholar 

  26. Parunak, H.V.D., Odell, J.: Representing social structures in UML. In: Müller, J.P., Andre, E., Sen, S., Frasson, C. (eds.) Proceedings of the Fifth International Conference on Autonomous Agents, pp. 100–101. ACM Press, Montreal (2001)

    Chapter  Google Scholar 

  27. Peña, J.: On improving the modelling of complex acquaintance organisations of agents. A method fragment for the analysis phase. PhD thesis, University of Seville (2005)

    Google Scholar 

  28. Peña, J., Corchuelo, R., Ruiz-Cortés, A., Toro, M.: Towards an automatic method for detecting synchrony loosening anomalies in the context of multiparty interactions. In: Actas del II taller de trabajo sobre Desarrollo de Software Preciso. VI Jornadas de Ingeniería del Software y Bases de Datos (JISBD’01), Almagro (Ciudad Real, Spain) (2001)

    Google Scholar 

  29. Peña, J., Hinchey, M.G., Cortés, A.R.: Multi-agent system product lines: challenges and benefits. Commun. ACM 49(12), 82–84 (2006)

    Article  Google Scholar 

  30. Pressman, R.S.: Software Engineering: A Practitioner’s Approach, 2nd edn. McGraw-Hill, New York (1986)

    Google Scholar 

  31. Reenskaug, T.: A methodology for the design and description of complex, object-oriented systems. Technical report, Center for Industrial Research, Oslo, Norway (November 1988)

    Google Scholar 

  32. Reenskaug, T.: Working with Objects: The OOram Software Engineering Method. Manning Publications, Greenwich (1996)

    MATH  Google Scholar 

  33. Snowden, D., Kurtz, C.: The new dynamics of strategy: sense-making in a complex and complicated world. IBM Syst. J. 42(3), 35–45 (2003)

    Google Scholar 

  34. Szyperski, C., Gruntz, D., Murer, S.: Component Software: Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley, Reading (2002)

    Google Scholar 

  35. Wirfs-Brock, R., McKean, A.: Object-Oriented Design: Roles, Responsibilities, and Collaborations. Addison-Wesley, Reading (1990)

    Google Scholar 

  36. Zambonelli, F., Jennings, N.R., Wooldridge, M.: Developing multiagent systems: the GAIA methodology. ACM Trans. Softw. Eng. Methodol. 12(3), 317–370 (2003)

    Article  Google Scholar 

Download references

Acknowledgements

This work has been partially supported by the European Commission (FEDER) and the Spanish Government under the CICYT project SETI (TIN2009-07366), and by the Andalusian Government under the projects ISABEL (P07-TIC-2533 and TIC-5906) and THEOS (TIC-5906).

This work was supported, in part, by Science Foundation Ireland grant 03/CE2/I303_1 to Lero—the Irish Software Engineering Research Centre (www.lero.ie)

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Joaquin Peña .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag London Limited

About this chapter

Cite this chapter

Peña, J., Levy, R., Hinchey, M., Ruiz-Cortés, A. (2012). Dealing with Complexity in Agent-Oriented Software Engineering: The Importance of Interactions. In: Hinchey, M., Coyle, L. (eds) Conquering Complexity. Springer, London. https://doi.org/10.1007/978-1-4471-2297-5_9

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-2297-5_9

  • Publisher Name: Springer, London

  • Print ISBN: 978-1-4471-2296-8

  • Online ISBN: 978-1-4471-2297-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics