Andrea Omicini, Franco Zambonelli
Agent-based models and systems are expected to provide the abstractions and technologies to effectively face the complexity of today application engineering. In particular, Internet applications are typically designed and built as made of a multiplicity of autonomous, network-aware and mobile entities (Internet agents), which are of an intrinsic interactive nature. In this context, the definition of suitable coordination models, languages and architectures is a key issue for the effective design and development of Internet applications based on multi-agent systems.
The first part of the tutorial sketches the main issues related to Internet agent interactions, surveys the proposals of well-known Internet agent systems (Aglets, Ara, Telescript, Mole), and points out their limitations in terms of software engineering features.
The second part of the tutorial introduces the concept of coordination model, and shows that a coordination model may represent a powerful framework for the engineering of Internet-based multi-agent systems.
The third part of the tutorial focuses on tuple-based coordination models, and details the features of several commercial and research proposals (JavaSpaces, TSpaces, PageSpace, Lime, MARS and TuCSoN). Their impact on the engineering of multi-agent Internet applications is first discussed in general and compared, then shown in the context of two application examples.
In particular, cooperative information retrieval and conference management are taken as meaningful case studies thoroughout the tutorial to evaluate the impact of different coordination models and architectures in application design, development and execution.