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 |