Coordination of Internet Agents Springer-Verlag Berlin Heidelberg GmbH Andrea Omicini • Franco Zambonelli • Matthias Klusch • Robert Tolksdorf (Eds.) Coordination of Internet Agents Models, Technologies, and Applications With 89 Figures and 16Tables Springer Editors AndreaOmicini Matthias Klusch Universitadi Bologna DFKIGmbH Dipartimento di Elettronica, German Research CenterforAI InformaticaeSistemistica Multi-AgentSystemsGroup Viale Risorgimento 2 Stuhlsatzenhausweg3 40136 Bologna,Italy 66123 Saarbriicken, Germany E-mail:[email protected] E-mail: [email protected] Franco Zambonelli RobertTolksdorf Dipartimento di Scienze dell'Ingegneria TechnischeUniversitatBerlin Universitadi ModenaeReggio Emilia Fachbereich Informatik,FLP/KIT ViaVignolese 905 Sekr.FR6-10 41100 Modena,Italy Franklinstr.28/29 E-mail: [email protected] 10587Berlin,Germany E-mail:[email protected] LibraryofCongressCataloging-in-Publicationdataappliedfor DieDeutscheBibliothek- CIP-Einheitsaufnahme Coordination ofInternetagents: models,technologies,and applications;with 16tables/Andrea Omicini...(ed.).- Berlin; Heidelberg; NewYork;Barcelona;HongKong;London;Milan;Paris; Singapore;Tokyo:Springer, 2001 ACMSubjectClassification(1998):1.2.11,C.2, D.I.3,D.2-D.4, H.3-H.4,H.5.3 ISBN978-3-642-07488-2 ISBN978-3-662-04401-8(eBook) DOI10.1007/978-3-662-04401-8 Thiswork is subject to copyright.Allrights are reserved,whether the whole or part of the material isconcerned,specifically the rights oftranslation,reprinting,reuse of illustrations, recitation,broadcasting,reproduction on microfilm or in anyotherway,and storagein data banks.Duplicationofthispublicationorpartsthereofispermittedonlyunderthe provisions oftheGerman Copyright LawofSeptember9,1965,initscurrentversion,and permission for usemust alwaysbeobtainedfromSpringer-Verlag.Violationsareliableforprosecutionunder theGerman CopyrightLaw. http//www.springer.de ©Springer-VerlagBerlinHeidelberg2001 OriginallypublishedbySpringer-VerlagBerlinHeidelbergNewYorkin2001. SoftcoverreprintofthehardcoverIstedition200I Theuseofgeneraldescriptivenames,trademarks,etc.inthispublicationdoesnotimply,evenin theabsenceofaspecificstatement,thatsuchnamesareexemptfromtherelevantprotectivelaws andregulationsandthereforefreeforgeneraluse. Typesetting:Camera-readybytheauthors CoverDesign:d&p,design&production,Heidelberg Printedonacid-freepaper SPIN 10796140- 06/3142SR- 543210 Foreword: Coordination and the Internet The Internet changes everything. Not only does the Internet change the ap plications that people use and the systems with which they interact, it also changes the way we model, design, and build those applications and sys tems. Moreover,the Internet changes the theories with which weunderstand computation. All of these changes in theory and practice are manifested in the coordi nation, broadly understood, ofsoftwarecomponents. Allofthese changes are necessary because the Internet promotes - indeed, all but requires - the au tonomy ofthe software components. Coordination is essential iffor no other reason than to control this autonomy. It is instructive to consider at least three main forms ofautonomy corre sponding to the three main roles that people play in networked computing environments. Design autonomy, also termed heterogeneity, reflects the in dependence of designers and vendors to build their software components as they please. This isrealized in theschemasand representationalassumptions of the designs and implementations of the various components. Configura tion autonomy reflects the independence of system administrators to set up individual hosts and networks as they seefit. This is realized in dynamically linkable libraries and directories, sometimesthrough arbitrarychoicesamong incompatiblelibrariesand services.Executionautonomyreflects the indepen dence of end users - both consumers and enterprises - to act as they prefer. This is realized in software tools such as browsers and personal assistants. The forms of coordination that arise correspond directly to the forms of autonomy that occur in open environments. Design autonomy forces coor dination about schemas and ontologies. When the components are created by different designers, without such coordination,they would not be able to understand each other enough to interoperate coherently. Configuration au tonomy forcescoordinationforresourcediscovery sothat components can be linked up with other components that can supply the services they require. Without such coordination, system administrators would not be able to set up large distributed systems. Execution autonomyforcescoordinationat run time, e.g., through interaction protocols. Without such coordination, users would not be able to interact coherently and wouldfail to carry out even the simplest business transactions with each other. VI Foreword Priorto theexpansionofthe Internet intoourdaily personaland business activities, all forms of coordination were exercised solely by humans. More over, they were exercised before a given distributed system was instantiated and applied. The components ofa running distributed system had no auton omy. Designers chose a fixed, usually proprietary, schema and ensured that the various components worked together. System administrators were forced to adopt closed solutions, typically provided by some major vendor. Users were forced to act strictly as required by whatever application program had been configured to run on their computers. For anything nontrivial, users, especially enterprises,were forced to followa preset sequence of actions that had been deemed acceptable. Because the traditional approaches required human effort, they simply would not scale to Internet-sized systems. Further, for the same reason,they would not be able to accommodateits dynamicnaturewherecomponentsand users can arbitrarily come and go. The obvious solution has been to delay the coordination as much as possible. Thus the scope of design coordination narrows to includeonly the most basicmetainformation, sothat design deci sions aboutschemasandontologiescan be deferredto configuration. Likewise, the scope of configuration coordination narrows so that a separate phase of configuration prior to execution becomes vanishingly small. With minimal human-supplied information, configuration protocols arrange for automatic resource discovery and binding, leading to efficient, low-cost configurations. Conversely, the scope ofexecution coordination grows to includemany ofthe tasks of the other two forms of coordination. Discovery protocols apply at run time to autoconfigure a system; moreover,they acquire richer structures to accommodate discovery based on increasingly subtle semantic properties that were heretofore the domain of design coordination. Coordination isa good thing, but contraryto Mae West's famous dictum, too much of a good thing is not necessarily wonderful. Coordination can be expensive to achieve because it requires additional computation and com munication beyond the basic application itself. By definition, coordination reduces the autonomy of the participating components. Moreover, whenever applied, it reduces the set of allowed computations, thereby increasing the overhead on computational resources. In other words, coordination is like friction - we need some, but the less we have of it the better. To achieve coordination in this minimalist fashion presupposes subtle models of interaction that enable us to specify the required coordination with great finesse. Such models would need to be integrated with program ming models and software architectures. The models would need to be oper ationalized in infrastructurethat accommodates any special properties ofthe underlying information resources.For the above reasons, coordination would be most naturally realized through an application of agents. Thechangesthat the Internet bringsabout not only affect wide-areapub lic networks, but virtually all forms of networked computing.This is because Foreword VII what wasessentialfor theInternet at largeishighlydesirableeven forsmaller networked computing environments such as within enterprises. Indeed, the additional knowledgeavailableto designers and componentsalikein such en vironmentsfacilitates the development ofricher formsofcoordination, which lead to greater efficiency and effectiveness of the resulting distributed sys tems. For this reason, I believe that the scope of coordination includes all of modern computing. To live up to our own expectations, however, we will need to develop increasingly rich models for coordinating components and increasingly sophisticated platforms for realizing and operationalizing those models. That great progress is being made along the above lines is evidenced by the excellent volume you are now reading. I applaud the editors, Andrea Omicini,Franco Zambonelli,Matthias Klusch,and Robert Tolksdorf,for the quality of the works that they have assembled and organized for our reading pleasure. Enjoy! Munindar P. Singh North Carolina State University Raleigh, North Carolina Preface: Coordination of Internet Agents The Internet is broadly accepted as the technology of today, agents are ex pected to be the paradigm oftomorrow. This book relates the two topics by discussing models for the coordination of Internet agents, their technologies and applications. The field of coordination models and languages is a very lively one from both the research and the application sides. It can look back on a history of more than fifteen years [267] which was very profitable, indeed. A huge amount of excellent work been performed; interesting results are ready and available;many good paperson the models and languageforthecoordination ofprocesses,objects,activities,agents [530,531,529,165,263,174]and other entities have been written and published. Although so many results have already been obtained, many are still to be achieved. This book is meant to address some ofthese remaining gaps. Firstly, it is not easy for anybody from Computer Science, Software En gineering,or AI, to get a comprehensive view ofthe whole coordination field from the literature. Although a few surveys are available [482, 163, 167], they focus on some partial view, some limited criteria, or some particular classification scheme. Secondly, many researchers in the field had the feeling that coordination models should be as inter-disciplinary as the very general notion of coor dination, and that their application should have a significant impact on a wide range ofcomplex systems [393]. However,fewpeople are actually using coordination models and languages consciously and explicitly outside the re search area itself, and that no systematic exploitation ofits results had been attempted yet. This book aims at providing a snapshot ofthe areaat the time when the keytransitionfrom theoretical results to industrial applicationsisapparently taking place. It should help both practitioners to take advantage of all the research work done till now, and researchers to cross the boundaries and set new paths to follow. Two major audiences are distinguishable: - To the researcher, the practitioner, the developer and the engineer work ing on Internet- or agent-based systems, the contents of this book help to provide an understanding ofhow the notion of coordination model relates to the respective fields of interest and how the conceptual results and the X Preface technologiesemergingfrom the coordinationareacanbeusefullyexploited. Usually, one is already modelling or building systems whose components interact and coordinate in some way - thus, there already exist implicit coordination models, coordination technologies, and coordination applica tions.Thisbook argues in favor ofan explicitconsiderationofcoordination. - For the experienced researcher or practitioner in the area of coordination models and languages, the book gives a comprehensive view of a rich and inter-disciplinary area. A wide range of coordination-related issues is cov ered in depth, as well as some hopefully inspiring views of the role of coordination models and technologies in future systems. This volume brings together contributions by well recognised authors in the field of coordination models and languages, as well as in some of the most closely related research fields. They have written original essays ex novo ac cording to both their perspective and the context of this book, without lim itations in length or content. Consequently, most ofthe materialcontainedin thisbookcannot befound anywhere else in the literature - and the authors have done a great job in combining known results and ideas with new views and perspectives. As a result, this book could be read as a whole, from the first page to the last. Alternatively,the reader mayjust as easily choose to read each chapter independently, or use the book as a reference for specific topics of interest. Two choices guided the selection of chapters for this book. On the one hand, agent-based systems on the Internet represent one of the most impor tant trends in both researchand industry in.recent years. On the other hand, by emphasising the role of interaction, both agents - as interactive and so cial entities - and the Internet - as an infrastructure to support distributed and open interaction - implicitly put coordination at their core from both a conceptual and a pragmatic viewpoint. Coordination What is coordination,after all? Several different definitions have been given, and several you will find throughout this book. The notion of coordination that thisbookmostly reliesonwasinspired bytheworksofMalone [393],Gel ernter [269] and Wegner [623, 624], among many others. The most accepted view understands coordination as managing the interaction and dependen cies between the entities of a system - whether they are agents, processes, molecules, individuals, or whatever. The notions of interaction used in this book cover a broad range - from subjective inter-dependencies (like intra organisationrelationships)to physicalinteractions(likecommunicationacts). The term "coordination" affects a wide spectrum ofresearchareas where it is commonly used: ProgrammingLanguages,Paralleland Distributed Systems,