Franco Zambonelli,
Andrea Omicini
Internet applications are typically made up autonomous, network-aware and mobile entities (Internet agents), which are of an intrinsic interactive nature. In this context, the definition of appropriate coordination models, languages and architectures is a key issue for the effective design and development of Internet applications. The first part of the tutorial sketches the main concepts related to coordination on the Internet, and surveys the proposals of well-known agent systems (Aglets, Ara, Telescript, Mole). The second part focuses on tuple-based coordination models and details the characteristics of several commercial and research systems (JavaSpaces, TSpaces, PageSpace, Lime, MARS and TuCSoN). Two application examples (distributed information retrieval and workflow management) are taken as case studies thorough the tutorial to evaluate the impact of different coordination models and architectures in application design and execution.