computer-supported cooperative work978-3-662-04232... · 2017-08-29 · uwe m. borghoff johann h....

16
Computer-Supported Cooperative Work

Upload: ledat

Post on 09-Apr-2019

219 views

Category:

Documents


0 download

TRANSCRIPT

Computer-Supported Cooperative Work

Springer-Verlag Berlin Heidelberg GmbH

Uwe M. Borghoff Johann H. Schlichter

Computer -Supported Cooperative Work Introduction to Distributed Applications

With 203 Figures and 18 rabIes

, Springer

Prof. Dr. Uwe M. Borghoff

Institute of Software Technology University of the Federal Armed Forces Munich Werner-Heisenberg -Weg 39 85579 Neubiberg, Germany

[email protected]

Prof. Dr. Johann H. Schlichter

Department of Computer Science Technical University of Munich Arcisstr.21 80333 Munich, Germany

[email protected]

Library of Congress Cataloging-in-Publication Data applied for

Die Deutsche Bibliothek - CIP-Einheitsaufnahme

Borghoff, Uwe M.: Computer supported cooperative work: introduction to distributed applications/Uwe M. Borghoff; Johann H. Schlichter. - Berlin; Heidelberg; New York; Barcelona; Hong Kong; London; Milan; Paris; Singapore; Tokyo: Springer, 2000

ACM Computing Classification (1998): H.5.3, H.4.1, C.2.4, D.2.9, D.2.12, F.1.2, K.4.3, K.6.4

ISBN 978-3-642-08631-1 ISBN 978-3-662-04232-8 (eBook) DOI 10.1007/978-3-662-04232-8

This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilm or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965, in its current version, and permission for use must always be obtailled from Springer-Verlag. Violations are liable for prosecution under the German Copyright Law.

e Springer-Verlag Berlin Heidelberg 2000

Originally published by Springer-Verlag Berlin Heidelberg New York in 2000. Softcover reprint ofthe hardcover 1st edition 2000 The use of general descriptive names, trademarks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use.

Cover Design: Künkel + Lopka, Werbeagentur, Heidelberg Typesetting: Camera ready by the authors SPIN 11010166 45/3111- 5 432 1- Printed on acid-free paper

Preface

The terms groupware and CSCW (computer-supported cooperative work) have received significant attention in computer science and related disciplines for quite some time now. This book is a revised and extended version of the 2nd edition of the German textbook "Rechnergestützte Gruppenarbeit: Eine Einführung in verteilte Anwendungen". It has two main objectives: first, to outline the meaning of both terms, and second, to point out both the numer­ous opportunities for users of groupware and the risks of applying such sys­tems. The book intends to introduce an area of distributed systems, namely the computer support of individuals trying to solve a common problem in cooperation with each other but not necessarily having identical work pi aces or working times.

Computer-supported cooperative work is an interdisciplinary application domain. It can be viewed as a synergism between the areas of distributed sys­tems and (multimedia-) communication on the one hand and between those of information science and socio-organizational theory on the other hand. Thus, the book is meant to help students of aH these disciplines, as weH as users and developers of systems which have communication and cooperation within groups as top priorities.

Structure of the book. The book is divided into three main parts. The first part contains two chapters and introduces distributed systems and computer­supported cooperative work (groupware). Many of the fundamental prin­ciples of distributed systems play an important role in CSCW. Therefore, in Chapter 1 we briefty introduce these principles as they are relevant to the understanding of the distribution aspects of CSCW. We discuss the key concept of transparency and typical communication mechanisms such as information sharing, message exchange, bi-directional communication and producer-consumer interaction. Moreover, as part of the discussion of the widely-accepted dient-server model, we introduce the remote procedure caH (RPC) as a means of processing service requests. We describe in detail RPC properties, the structure of RPC messages, and the fundamental mechanisms of RPC languages. AdditionaHy, we also introduce object-oriented systems and show how objects of such systems can be distributed among the differ­ent participating sites. The description of distributed applications focuses on

VI Preface

group communication and the design of distributed applications built accord­ing to the ODP framework.

Contemporary literature is overflowing with technical terms defining var­ious aspects of computer-supported cooperative work. In Chapter 2 we in­troduce these terms and discuss them with respect to practical teamwork support. In addition to demonstrating typical usage scenarios and their char­acteristics, we also present several classification models, in particular the time space taxonomy. When dealing with the so-called application level classifica­tion, we discuss message systems, group editors, electronic meeting rooms, conferencing systems, shared information spaces, intelligent agents, and co­ordination systems. Furthermore, we investigate factors which contribute to the success or failure of groupware systems. Research and experiments with computer-supported cooperative work in real environments support this work. The results of these studies demonstrate how groupware should be de­signed and how CSCW concepts should be validated. With Lotus Notes we present one of the most successful groupware systems.

The second part of the book is subdivided into three chapters and deals with some basic concepts of computer-supported cooperative work, including group processes, concurrency control, and replication. The group process is a fundamental CSCW concept which specifies the goals and structure of the team as weIl as the progress of the cooperation between team members. In Chapter 3 we discuss the centralized, the distributed nonreplicated, and the distributed replicated group process models. After an introduction to a gen­eral cluster model, we explain strategies for distributing information within and between clusters. Special attention is given to possible structures of asyn­chronous team interaction. The management of a shared context is a further basic CSCW aspect we deal with, focusing on the WYSIWIS (what you see is what I see) concept and the support of group awareness. Possible architec­tures of groupware systems conclude the chapter. Issues are window sharing, conferencing components and conference managers, as weIl as collaboration aware systems.

In Chapter 4 we look into concurrency control concepts. We discuss opti­mistic approaches for concurrency control as weH as approaches with locking, floor-passing, transactions, and operation transformations. In Chapter 5 we look deeper into replication issues and introduce more sophisticated ap­proaches for concurrency control such as voting and coding schemes as weIl as the grid protocol. These schemes have the advantage of an enormous im­provement as far as the availability of replicated data is concemed, while the consistency is guaranteed even during network partitioning. For compar­ison and classification purposes we develop some criteria for evaluating the possible use of each scheme.

The third part of the book, which contains four chapters, addresses ap­plication classes of computer-supported cooperative work. In Chapter 6 we deal with communication systems and shared information spaces. The ar-

Preface VII

chitecture and functionality of a typical email system is discussed. Further attention is directed towards synchronous communication as exemplified by video conferences. We also present an information management approach to support the work on shared information in the context of workgroups. We discuss an architecture for hypermedia systems, the hypertext abstract ma­chine, and t.he Dexter reference model which facilitates the interoperability between different hypermedia systems. The navigation problem in large in­formation spaces and hypertext-specific solutions are presented. The IBIS method provides functions to systematicaHy structure the problem solving information. FinaHy, we present the information space of the Campiello sys­tem, a community support system for tourist applications.

A workflow specifies a set of coordinated activities which represent a 80-

called business process within a company or an organization. In Chapter 7 we deal with workflow management systems, a particular kind of groupware intended to support. groups of people involved in the execution of business processes. A workflow management. system coordinates and monit.ors group act.ivities by handling both causal and temporal interdependencies and the ex­ecution context. After abrief introduction to some basic concepts of workflow management we discuss the functionality and a possible architecture of work­flow management systems. Various coordination models (e.g., the customer­performer model) are discussed as weH as the conversation model which is derived from linguistics. Based on the concept of a conversational network we present the conversation systems Coordinator and Domino, along with the activity management system Tacts. Besides the standardization activi­ties within the Workflow Management Coalition (WfMC), we discuss adap­tive workflows which handle except.ional situations in flexible ways.

Chapter 8 deals with syst.ems for workgroup computing focusing on the cooperation between people working in a team. We investigate distributed document systems and provide an overview of existing group editors. Using the examples of Iris and DistEdit, we introduce typical problem areas of group edit.ors. We demonstrate why highly st.ructured documents, along with logical document views, are advantageous to the handling of joint authoring scenarios and to the management of shared documents. Concepts for version and history management. are discussed. Moreover, undo-operations in the context of group editors are considered in det.ail.

Chapter 9 discusses various aspects of multi agent systems applied for in­telligent coordination of agent-based computer-supported cooperation as re­quired in groupwork. After an initial classification and description of the most important features of agents, we introduce aspects for modeling distributed multiagent systems and the cooperation between agents. We explore three basic approaches for distributed problem solving: the contract net protocol which is based on the exchange of semistructured messages, an agent-based information brokerage, and distributed meeting scheduling. Finally, we dis­cuss the actor model by Hewitt.

VIII Preface

Usage of the book. This book is based on two lectures - "Distributed Ap­plications" and "Computer-Supported Cooperative Work" -, regularly held by J. Schlichter at the Technical University of Munich, Germany, since the winter of 1991/92, as weH as on the lecture "Distributed Information Manage­ment" held by U. Borghoff at the Technical University of Munich, Germany, and the University of the Federal Armed Forces Munich, Germany. Between 1985 and 1989 J. Schlichter was a member of the Document Systems Group of the Xerox Research Center, Webster, NY. Between 1994 and 1998 U. Borghoff was with the Xerox Research Centre Europe (formerly Rank Xerox Research Centre) in Grenoble, France. Their work there was quite inftuential to the content of the book. Furthermore, the results of the five months sabbatical which J. Schlichter spent at the Xerox Research Centre Europe as weH as relevant publications by U. Borghoff in the field of agent-based cooperation have been taken advantage of.

Chapters 1 and 2 may be used as material for a two hour weekly in­troductory lecture on the basics of distributed applications. Should time be more restricted, Sect. 1.6.5, 1.6.6 and 1.7.4 may be skipped. For a three-hour weekly lecture on synchronous and asynchronous techniques of distributed applications, you may wish to use the Chapters 3, 4, 6-9. In case of limited time, Sect. 3.2, 3.3, 8.3 and 9.6 may be omitted. On first reading of the book one might skip Chapter 5, since the solutions outlined therein are meant to enrich special lectures or advanced seminars on the topic of distributed syn­chronization (e.g., distributed operating systems and distributed databases).

Computer-supported cooperative work being a rather newly established topic within computer science, we cannot provide the reader with references to advanced textbooks in each chapter. We have, therefore, coHected a rat her extensive - albeit long - bibliography at the end of the book. The reader may consult the referenced literature on details of the introduced methods and concepts.

Acknowledgements. The description of Tacts in Sect. 7.2.6 has been sup­plied by Gunnar Teege. The group editor Iris as introduced in Sect. 8.2.3 has been implemented as part of several master theses. Our thanks go to Pranz Bauernfeind, Thorsten Gesing, Michael Koch and Anke Mäkiö, as weH as to Kathrin Möslein for her preparatory work on the interpretation of the term CSCW. Our special thanks go to Evelyn Gemkow for typing and translating parts of the manuscript and always eagerly working away on even roughly outlined paragraphs. The sketches at the beginning of each chapter were drawn by Julia Schlichter. We are also most thankful for her careful proof­reading of the entire manuscript. Last but not least, we would like to express our gratitude towards our publisher Hans Wössner of Springer-Verlag as weH as towards the reviewer of the first German edition, Christoph Bussler, for their appreciated comments which have highly contributed to the quality of the book.

Preface IX

Computer-supported co operation during the production of the book. The writing of the book itself is a good example for computer­supported cooperative work. The co-authors have dealt with a shared task (namely the book) while they were both locally distributed (initially, in France and Germany), and temporally distributed (due to different working rhythms). It goes without saying that the overall production of the book was highly cooperative. During several face-to-face sessions the general procedures were first agreed upon, and later the particulars were repeatedly refined before being eventually fixed. For information transfer, various means of communi­cation were deployed, ranging from telephone and Fax to email, file transfer and the world wide web. Sketches of figures for the co-author's opinion were sent via Fax, whereas email and file transfer constituted the backbone of the distributed cooperation. Between August and December 1994 alone (work on the 1st German edition), approximately a thousand emails were sent, partly with enormous information volume (as in some 130 postscript figures). This transmission volume was, however, grossly surpassed during the phase of com­plete revision of the book between June 1996 and April 1997. Consolidated versions of individual chapters were regularly compressed and filed away in the world wide web where they were offered to the co-author for file trans­fer. The final text processing was performed in Munich where the full and consistent formatting information was always available. During the work on this English edition, the authors used the system BSCW (Basic Support for Cooperative Work) by the German National Research Center for Information Technology (GMD). The authors have not yet given up hope that a Euro­pean infoffimtion highway will be installed and accessible for some future cooperation in a form which would allow cooperation methods as offered by distributed group editors in a better and more efficient way than at present.

Munich, Germany, June 2000 U.M.B. J.H.S.

Table of Contents

Part I. Introduction to Distributed Systems and Computer-Supported Cooperative Work

1. Fundamental Principles of Distributed Systems. . . . . . . . . . . 3 1.1 Introduction........................................... 4 1.2 Transparency.......................................... 5

1.2.1 Levels of transparency .. . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2.2 Transpm·ency levels of existing systems. . . . . . . . . . . . .. 10 1.2.3 Problems with transparency in CSCW . . . . . . . . . . . . .. 10

1.3 Mechanisms for Communication . . . . . . . . . . . . . . . . . . . . . . . . .. 11 1.3.1 Information sharing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 12 1.3.2 Message exchange. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 12 1.3.3 Bidirectional communication . . . . . . . . . . . . . . . . . . . . . .. 16 1.3.4 Producer-consumer interaction . . . . . . . . . . . . . . . . . . . .. 18

1.4 Client-Server Model .................................... 19 1.4.1 Terms and definitions. . . . . . . . . . . . . . . . . . . . . . . . . . . .. 21 1.4.2 Client-server communication . . . . . . . . . . . . . . . . . . . . . .. 23 1.4.3 Processing requests for service operations. . . . . . . . . . .. 24

1.5 Remote Procedure CaU (RPC) . . . . . . . . . . . . . . . . . . . . . . . . . .. 29 1.5.1 RPC properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 31 1.5.2 Mediation and brokering . . . . . . . . . . . . . . . . . . . . . . . . .. 38 1.5.3 Asynchronous RPC . . . . . . . . .. . . .. . . . . . . .. . . .. . . ... 39 1.5.4 Failure semantics of remote procedure calls . . . . . . . . .. 41

1.6 Object-Oriented Distributed Systems ..................... 43 1.6.1 Definitions...................................... 43 1.6.2 Object distribution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 45 1.6.3 Object mobility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 46 1.6.4 Common Object Request Broker Architecture (CORBA) 50 1.6.5 Tuple space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 53 1.6.6 Linear Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 54

1. 7 Distributed Applications ................................ 59 1.7.1 Group communication ............................ 60 1.7.2 Design of distributed applications .................. 65 1.7.3 Distributed applications in ODP ................... 71

XII Table of Contents

1. 7.4 Resource allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 74 1.7.5 History of highIy inftuential distributed systems. . . . .. 78 1.7.6 Caching......................................... 82

1.8 Further Reading. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 85

2. Computer-Supported Cooperative Work . . . . . . . . . . . . . . . . .. 87 2.1 Introduction........................................... 88 2.2 Background for Team Support ........................... 89 2.3 Terminology........................................... 90 2.4 CSCW in Practice - Scenarios ........................... 95

2.4.1 Support of face-to-face meetings. . . . . . . . . . . . . . . . . . .. 95 2.4.2 Support of distributed electronic meetings. . . . . . . . . .. 98 2.4.3 Support in between meetings ...................... 100

2.5 Application Domains and their Characteristics ............. 103 2.5.1 Software design and development ................... 103 2.5.2 Teaching environment ............................. 104 2.5.3 Telecooperation .................................. 105 2.5.4 Further examples for teamwork .................... 106

2.6 Interpretation of CSCW ................................. 107 2.6.1 CSCW: Work ............................. " ..... 109 2.6.2 CSQW: Cooperative Work ......................... 109 2.6.3 CSQW: Supported Cooperative Work ............... 111 2.6.4 QSCW: Computer-Supported Cooperative Work ..... 112

2.7 History of the Most Important CSCW Systems ............. 112 2.8 Groupware Classification ................................ 118

2.8.1 Time space taxonomy ............................. 118 2.8.2 Application level classification ..................... 119 2.8.3 Classification according to the 3C model ............ 125 2.8.4 More classification models ......................... 126

2.9 Design of Groupware .................................... 126 2.9.1 Possible aspects .................................. 126 2.9.2 Criteria for the acceptance of groupware systems ..... 128 2.9.3 Why groupware systems sometimes fail .............. 128 2.9.4 Benefits and risks of groupware .................... 130 2.9.5 Development methodology of groupware systems ..... 130 2.9.6 Methods for studying groups ....................... 134 2.9.7 The Portland experiment .......................... 136 2.9.8 Lotus Notes ..................................... 139

2.10 Further Reading ........................................ 140

Table of Contents XIII

Part 11. Basic Concepts of Computer-Supported Cooperative Work

3. Concepts of Asynchronous and Synchronous Cooperation. 145 3.1 Group Processes ........................................ 146

3.1.1 Group process models ............................. 150 3.1.2 Group communication ............................ 152 3.1.3 Concurrency control ....................... : ...... 155 3.1.4 Roles of group members ........................... 158

3.2 Cluster Model .......................................... 158 3.2.1 Direct point-to-point connection .................... 159 3.2.2 Indirect communication links ...................... 160

3.3 Strategies for the Distribution of Information Units ......... 163 3.3.1 Direct point-to-point connection .................... 163 3.3.2 Cluster hierarchy ................................. 163 3.3.3 Broadcast flooding ............................... 165 3.3.4 Routing ......................................... 167

3.4 Structures of Asynchronous Group Interaction ............. 167 3.4.1 Linear model (Emismi) ........................... 167 3.4.2 Comb model (Confer, Usenet) ...................... 168 3.4.3 Branch model (Parti) ............................. 169

3.5 Management of Shared Context ......................... 170 3.5.1 The concept WYSIWIS ........................... 172 3.5.2 Relaxed forms of WYSIWIS ....................... 172 3.5.3 Telepointing ..................................... 175 3.5.4 Group awareness ................................. 175

3.6 Groupware Architectures ................................ 178 3.6.1 Centralized architectures .......................... 178 3.6.2 Replicated architectures ........................... 180

3.7 Further Reading ........................................ 182

4. Concurrency Control ..................................... 185 4.1 Introduction ........................................... 186

4.1.1 Motivation ...................................... 186 4.1.2 Classification of concurrency control approaches ...... 187

4.2 Optimistic Concurrency Control .......................... 188 4.3 Centralized Control ..................................... 189

4.3.1 Control unit ..................................... 189 4.3.2 Token-passing .................................... 190

4.4 Decentralized Control: Overview .......................... 191 4.5 Simple Locking Schemes ................................. 191

XIV Table of Contents

4.6 Floor-passing Schemes .................................. 194 4.6.1 Explicit floor-passing scheme ....................... 195 4.6.2 Implicit floor-passing with coordination unit ......... 195 4.6.3 Implicit floor-passing with distributed coordination ... 196

4.7 Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 4.8 Operation Transformation ............................... 201

4.8.1 Sites ............................................ 201 4.8.2 Group Outline Viewing Editor (Grove) .............. 202 4.8.3 The Grove algorithm:

distributed Operational Transformation (dOPT) ..... 206 4.8.4 Correctness of the Grove algorithm ................. 208

4.9 Further Reading ........................................ 209

5. Replication and Concurrency Control. . . . . . . . . . . . . . . . . . . . . 211 5.1 Introduction ........................................... 212 5.2 Voting Schemes ........................................ 218

5.2.1 Majority consensus ............................... 220 5.2.2 Weighted voting .................................. 224 5.2.3 Write-all-read-any ................................ 226 5.2.4 Voting with witnesses ............................. 227 5.2.5 Available-copy ................................... 239 5.2.6 Dynamic voting .................................. 245 5.2.7 Voting-class ..................................... 259 5.2.8 Multidimensional voting ........................... 261 5.2.9 Hierarchical Voting ............................... 263

5.3 Additional Schemes with Decentralized Control ............ 266 5.3.1 Coding scheme ................................... 267 5.3.2 Grid protocol .................................... 274

5.4 Regeneration........................................... 279 5.5 Further Reading ........................................ 280

Part III. Application Classes of Computer-Supported Cooperative Work

6. Communication Systems and Shared Information Spaces . 285 6.1 Email Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286

6.1.1 Message transfer agent ............................ 287 6.1.2 User agents ...................................... 288 6.1.3 Message envelope ................................. 289 6.1.4 Email address .................................... 290 6.1.5 Groupware characteristics of an email system ........ 290

6.2 Video Conferencing ..................................... 291 6.2.1 Aspects in the usage of video conferencing ........... 291 6.2.2 Conference management ........................... 293

Table of Contents XV

6.3 Shared Information Spaces ............................... 295 6.3.1 General definitions ............................... 295 6.3.2 History of hypertext systems ....................... 296 6.3.3 Architecture of hypertext systems .................. 301 6.3.4 Dexter reference model ............................ 307 6.3.5 Navigation in hypertext networks ................... 309 6.3.6 Trellis model ..................................... 315 6.3.7 IBIS method ..................................... 315 6.3.8 Campiello ~ Information spaces and communities ..... 318 6.3.9 Case studies: cooperative nature of

information sem'ch activities ....................... 322 6.4 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325

7. Workftow Management, Conversation and Coordination Systems .................................... 327 7.1 Introduction ........................................... 328

7.1.1 The history of workflow management ............... 330 7.1.2 Terminology ..................................... 331 7.1.3 Goals, barriers and features ........................ 333 7.1.4 Taxonomy ....................................... 335

7.2 Conversation Model .................................... 337 7.2.1 Definition of speech act ........................... 338 7.2.2 Conversation networks ............................ 340 7.2.3 Conversation systems ............................. 341 7.2.4 The Coordinator ................................. 343 7.2.5 The office procedure system Domino ................ 344 7.2.6 The activity management system Tacts ............. 346

7.3 Coordination Models .................................... 350 7.3.1 The coordination theory according to Malone ........ 352 7.3.2 Customer-performer model ........................ 353

7.4 Workflow Modeling ..................................... 354 7.4.1 Aspect-oriented workflow model .................... 355 7.4.2 Process grammar ................................. 358

7.5 Execution Environments for Workflows .................... 360 7.6 Further Developments ................................... 361

7.6.1 Problems and open issues ......................... 362 7.6.2 Workflow Management Coalition (WfMC) ........... 363 7.6.3 Adaptive workflow ................................ 364 7.6.4 Workflow life cyde ............................... 368

7.7 Further Reading ........................................ 372

XVI Table of Contents

8. Workgroup Computing ................................... 373 8.1 Electronic Meeting Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374

8.1.1 Architectures for electronic meeting systems ......... 376 8.1.2 General characteristics of electronic meeting systems .. 378 8.1.3 Design alternatives for meeting rooms ............... 379

8.2 Distributed Document Systems ........................... 382 8.2.1 Cooperative document creation .................... 383 8.2.2 Group editors - overview .......................... 387 8.2.3 The group editor Iris ............................. 387 8.2.4 DistEdit ........................................ 389 8.2.5 User interface layer of a group editor ................ 390 8.2.6 Access layer of a group editor ...................... 394 8.2.7 Architecture of a distributed group editor ........... 397 8.2.8 Document structure .............................. 401 8.2.9 Logical views of the document structure ............. 402 8.2.10 Structure editor .................................. 404 8.2.11 Versioning/history management .................... 406

8.3 Undo in Distributed Group Editors ....................... 407 8.3.1 Basic concepts ................................... 408 8.3.2 Simple undo ..................................... 409 8.3.3 Selective undo according to Prakash and Knister ..... 409 8.3.4 Selective undo (extended version) .................. 412

8.4 Further Reading ........................................ 413

9. Multiagent Systems ...................................... 415 9.1 Introduction ........................................... 416 9.2 Characteristics and Classification ......................... 418 9.3 Modeling .............................................. 424

9.3.1 Distributed problem solving ....................... 425 9.3.2 Agent model ..................................... 425 9.3.3 Conceptual framework ............................ 426 9.3.4 Layer concept .................................... 427

9.4 Cooperation among Agents .............................. 430 9.4.1 Cooperation by (semi) structured messages .......... 430 9.4.2 Cooperation strategies ............................ 433 9.4.3 Cooperation methods ............................. 434 9.4.4 Communication types ............................. 436

9.5 The Contract Net Protocol .............................. 438 9.5.1 Basic concepts of the contract net protocol .......... 438 9.5.2 Task announcement phase ......................... 439 9.5.3 Bid creation phase ................................ 440 9.5.4 Bid selection phase ............................... 441 9.5.5 Task assignment phase ............................ 443 9.5.6 Task execution phase ............................. 443 9.5.7 Assessment of the contract net protocol ............. 443

Table of Contents XVII

9.6 Agent-based Information Brokering ....................... 444 9.6.1 Systems of agent-based information brokering ........ 445 9.6.2 Constraint-Based Knowledge Brokers ............... 452 9.6.3 Protocols ........................................ 459 9.6.4 Agent processing ................................. 463

9.7 Distributed Meeting Scheduling .......................... 469 9.7.1 Formal definition of the meeting scheduling problem .. 471 9.7.2 Scheduling process ................................ 473 9.7.3 Scheduling model ................................. 473 9.7.4 Strategies ....................................... 475

9.8 Actor Model ........................................... 476 9.8.1 Actor definition .................................. 476 9.8.2 Generic actor system ............................. 477 9.8.3 Example for an actor system ....................... 478

9.9 Further Reading ........................................ 479

References ................................................ 481

List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509

List of Tables ............................................. 515

Index ..................................................... 517