Dealing with complexity in agent-oriented software engineering: The importance of interactions

Joaquin Peña, Renato Levy, Mike Hinchey, Antonio Ruiz-Cortés

Research output: Chapter in Book/Report/Conference proceedingChapterpeer-review

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.

Original languageEnglish
Title of host publicationConquering Complexity
PublisherSpringer-Verlag London Ltd
Pages191-214
Number of pages24
ISBN (Electronic)9781447122975
ISBN (Print)9781447122968
DOIs
Publication statusPublished - 1 Jan 2012

Fingerprint

Dive into the research topics of 'Dealing with complexity in agent-oriented software engineering: The importance of interactions'. Together they form a unique fingerprint.

Cite this