| Part I. | Coordination Models and Languages: State of the Art | |
| Introduction | 3 |
| 1. | Coordination Models: A Guided Tour | 6 |
| 1.1 | Introduction and Motivation | 6 |
| 1.2 | The Starting Point: The Dataspace Model for Coordinating Agents | 9 |
| 1.3 | Extending the Coordination Primitives | 12 |
| 1.4 | Reshaping the Coordination Media | 17 |
| 1.5 | Programming the Coordination Rules | 21 |
| 1.6 | Conclusions | 23 |
| 2. | Models and Technologies for the Coordination of Internet Agents: A Survey | 25 |
| 2.1 | Introduction | 25 |
| 2.2 | Basic Coordination Infrastructure | 28 |
| 2.3 | Coordination Frameworks | 38 |
| 2.4 | Logical Coordination | 49 |
| 2.5 | Conclusions | 54 |
| Part II. | Basic Enabling Technologies | |
| Introduction | 59 |
| 3. | Run-Time Systems for Coordination | 61 |
| 3.1 | Introduction | 61 |
| 3.2 | Coordination Systems in General | 62 |
| 3.3 | Taxonomy of Tuple-based Run-time Systems | 64 |
| 3.4 | LAN and Parallel Computing Implementations: The First and Second Generation | 67 |
| 3.5 | Open Implementation Techniques | 69 |
| 3.6 | Adding Explicit Information to Linda Programs | 74 |
| 3.7 | From LAN to WAN: The Third Generation | 75 |
| 3.8 | The Future: The Tuple Mega-Server? | 79 |
| 3.9 | Conclusions | 82 |
| 4. | Tuple-based Technologies for Coordination | 83 |
| 4.1 | The Origins | 83 |
| 4.2 | Towards Open Distributed Systems: A Taxonomy for Lindaderived Systems | 85 |
| 4.3 | Systems Extending Primitives | 88 |
| 4.4 | Systems Adding Programmability | 97 |
| 4.5 | Systems Modifying the Model | 105 |
| 4.6 | Conclusions | 109 |
| 5. | Middleware Technologies: CORBA and Mobile Agents | 110 |
| 5.1 | Middleware Technologies for Open and Global Distributed Systems | 110 |
| 5.2 | Common Object Request Broker Architecture (CORBA) | 114 |
| 5.3 | Mobile Agents | 122 |
| 5.4 | Middleware Technologies: the Integration of MA and CORBA | 129 |
| 5.5 | CORBA/MA Integrated Supports: Grasshopper and SOMA | 139 |
| 5.6 | Concluding Remarks | 151 |
| 6. | Agent Coordination via Scripting Languages | 153 |
| 6.1 | Introduction | 153 |
| 6.2 | A Conceptual Framework for Software Composition | 155 |
| 6.3 | Scripting Languages at a Glance | 160 |
| 6.4 | Scripting in Practice | 167 |
| 6.5 | Summary, Conclusions | 174 |
| Part III. | High-Level Enabling Coordination Technologies | |
| Introduction | 179 |
| 7. | Coordinating Agents using Agent Communication Languages Conversations | 183 |
| 7.1 | Introduction | 183 |
| 7.2 | From Agent Communication Languages to Conversation Protocols | 185 |
| 7.3 | Coordination using Conversation Protocols | 187 |
| 7.4 | Modeling Conversation Protocols with Colored Petri Nets | 188 |
| 7.5 | Advantages for Coordination when using CPN-described Conversations | 193 |
| 7.6 | Related Work | 194 |
| 7.7 | Conclusions | 195 |
| 8. | Brokering and Matchmaking for Coordination of Agent Societies: A Survey | 197 |
| 8.1 | Introduction | 197 |
| 8.2 | Coordination of Agent Societies via Middle-Agents | 198 |
| 8.3 | Examples of Coordination via Service Matchmaking and Brokering | 212 |
| 8.4 | Conclusions | 223 |
| 9. | Agent Naming and Coordination: Actor Based Models and Infrastructures | 225 |
| 9.1 | Introduction | 225 |
| 9.2 | Actors and Agents | 227 |
| 9.3 | Naming in Open Systems | 230 |
| 9.4 | World Wide Computer Prototype | 234 |
| 9.5 | Multiagent Coordination | 238 |
| 9.6 | Discussion | 245 |
| Part IV. | Emerging Issues of Coordination | |
| Introduction | 249 |
| 10. | Coordination and Mobility | 253 |
| 10.1 | Introduction | 253 |
| 10.2 | Mobility Issues | 255 |
| 10.3 | Coordination Constructs | 263 |
| 10.4 | Conclusions | 272 |
| 11. | Coordination and Security on the Internet | 274 |
| 11.1 | Introduction | 274 |
| 11.2 | A Reference Architecture for Secure Coordination | 275 |
| 11.3 | Security Policies | 279 |
| 11.4 | Cryptographic Protocols in Coordination Models | 288 |
| 11.5 | Security in Existing Coordination Systems | 291 |
| 11.6 | Conclusions | 297 |
| 12. | Scalability in Linda-like Coordination Systems | 299 |
| 12.1 | Introduction | 299 |
| 12.2 | Domain Awareness | 301 |
| 12.3 | Location and Distance Awareness | 306 |
| 12.4 | Fluctuation Awareness | 312 |
| 12.5 | Failure Awareness | 315 |
| 12.6 | Conclusions | 318 |
| Part V. | Applications of Coordination Technology | |
| Introduction | 323 |
| 13. | Agent-Oriented Software Engineering for Internet Applications | 326 |
| 13.1 | Introduction | 326 |
| 13.2 | Engineering Multi-Agent Systems on the Internet | 328 |
| 13.3 | Software Engineering Methodologies for MAS | 333 |
| 13.4 | Exploiting a Coordination Model | 339 |
| 13.5 | Toward a Coordination-oriented Methodology | 343 |
| 13.6 | Conclusions and Future Work | 345 |
| 14. | Reusable Patterns for Agent Coordination | 347 |
| 14.1 | Software Patterns | 348 |
| 14.2 | Global Forces of Coordination | 350 |
| 14.3 | Blackboard Pattern | 354 |
| 14.4 | Meeting Pattern | 357 |
| 14.5 | Market Maker Pattern | 361 |
| 14.6 | Master-Slave Pattern | 363 |
| 14.7 | Negotiating Agents Pattern | 365 |
| 14.8 | Summary | 368 |
| 15. | Inter-Organizational Workflows for Enterprise Coordination | 369 |
| 15.1 | Inter-Organizational Coordination | 369 |
| 15.2 | Overview of Main Concepts of Workflow | 373 |
| 15.3 | Inter-Organizational Workflow Requirements: A Framework for Studying IOW | 380 |
| 15.4 | Two Comprehensive Approaches for IOW | 387 |
| 15.5 | Conclusions | 397 |
| 16. | Constraints Solving as the Coordination of Inference Engines | 399 |
| 16.1 | A Generic Approach to Coordination-based Constraint Solving | 399 |
| 16.2 | A Solver Cooperation Language | 406 |
| 16.3 | Design of a Constraint Solver | 414 |
| 16.4 | Conclusion | 419 |
| Part VI. | Visions | |
| Introduction | 423 |
| 17. | A Market-Based Model for Resource Allocation in Agent Systems | 426 |
| 17.1 | Introduction | 426 |
| 17.2 | Markets | 427 |
| 17.3 | Secure Transactions | 428 |
| 17.4 | Allocation Mechanism | 431 |
| 17.5 | Simulation | 435 |
| 17.6 | Related Work | 440 |
| 17.7 | Conclusions | 441 |
| 18. | Coordination and Control in Computational Ecosystems: A Vision of the Future | 443 |
| 18.1 | Introduction | 443 |
| 18.2 | Towards Computational Ecosystems | 444 |
| 18.3 | Smart E-Services to Achieve Customer Satisfaction | 446 |
| 18.4 | Coordination and Control in Ecosystems | 454 |
| 18.5 | Methodological Issues and the Engineering of Ecosystems | 454 |
| 18.6 | ORA: Merging of the Real and Virtual | 458 |
| 18.7 | SOLACE: A Layered ORA Architecture | 465 |
| 18.8 | Conclusions | 469 |
| References | 471 |
| About the Authors | 509 |
| List of Contributors | 519 |