I'm happy that you came here to read about multiagent technology, multiagent systems and how to build them. Basically, I started this site to get my stuff back on-line after my former colleagues of the Multiagent Systems Group at DFKI cut me off the web when I left ;-)
But let's get serious...
Agents and agent-based computing have been an active research area for many years, but it is only until now that these topics begin to gain industrial relevance: agent technology is beeing recognized as a powerful tool for the development of large and complex systems. These days, typical software architectures contain many dynamically interacting components, each with their own thread of control and engaging in complex coordination protocols. Therefore, a new programming metaphor that captures these systems is needed. Although the basic structural elements of the agent-based approach as well as their connections are not yet fully understood, it nonetheless seems to be a promising means for dealing with these highly complex systems.
However, although the agent-oriented view is likely to become a major tool to describe complex software systems, development methods, i.e. methods that provide guidelines how to build actual agent-based applications or multiagent systems, are still in their infancy and must be more advanced in order to establish the technology in an industrial context. It is the goal of agentlab to provide a technical basis for software projects that make use of agent technology. To this end, we have developed a software product model and a corresponding process model that help us to be sucessful in building agent applications.
Foreword by Nick Jennings
Agent-based techniques are beginning to be used to develop a wide range of commercial and industrial applications. This take up is occurring because the agent-based approach offers a natural and powerful means of conceptualising, designing and building complex, distributed systems. The key conceptual components from which this new approach to software engineering derives its power are: (i) the autonomous components (agents) that can achieve their objectives in flexible ways; (ii) the high-level interactions (e.g., cooperation, coordination and negotiation) in which these agents can engage; and (iii) the organisational structures (e.g., teams, coalitions and various forms of hierarchy) into which the agents can arrange themselves. When taken together, the agents represent the application's basic units of computation, the interactions represent the inter-connections between these units and the organisational structures define the way the components relate to one another.
Although the agent-based approach appears to offer a promising new paradigm for building complex distributed systems, to date, the majority of the agent-based applications that have been developed have been built by researchers who specialise in agent-based computing. However, if agent-based computing is to become anything more than a niche technology practised by the few, then the base of people who can successfully use the approach needs to be broadened. A crucial step in this broadening endeavour is to find mechanisms by which professional software engineers can gain access to the philosophy, the concepts and the methods of agent-based computing without having to immerse themselves in the research community. Perhaps the key such mechanism for achieving this is to develop methodologies for agent-oriented software engineering. Such methodologies should assist developers in the analysis, design and development of their application; particularly, they should identify the key steps that are involved, the key models that need to be built at the various steps, and how the different models and stages relate to one another.
Against this background, this book, Iterative Software Engineering for Multiagent Systems - The MASSIVE Method presents one of the first coherent attempts to develop such a methodology for a broad class of agent-based systems. In particular, it provides a clear introduction to the key issues in the field of agent-oriented software engineering and provides a comprehensive overview of the state of the art. It then describes and illustrates the application of the MASSIVE methodology to a number of real-world applications. When taken together, these components make the book an important contribution to the fledgling field of agent-oriented software engineering and, as such, essential reading for both researchers and practitioners alike.