Architecture-Based Design of Multi-Agent Systems
Multi-agent systems are claimed to be especially suited to the development of software systems that are decentralized, can deal flexibly with dynamic conditions, and are open to system components that come and go. This is why they are used in domains such as manufacturing control, automated vehicles, and e-commerce markets.

Danny Weyns' book is organized according to the postulate that "developing multi-agent systems is 95% software engineering and 5% multi-agent systems theory." He presents a software engineering approach for multi-agent systems that is heavily based on software architecture - with, for example, tailored patterns such as "situated agent", "virtual environment", and "selective perception" - and on middleware for distributed coordination – with programming abstractions such as "views" and "roles." Next he shows the feasibility and applicability of this approach with the development of an automated transportation system consisting of a number of automatic guided vehicles transporting loads in an industrial setting.

Weyns puts the development of multi-agent systems into a larger perspective with traditional software engineering approaches. With this, he opens up opportunities to exploit the body of knowledge developed in the multi-agent systems community to tackle some of the difficult challenges of modern-day software systems, such as decentralized control, location-awareness, self-adaption, and large-scale. Thus his book is of interest for both researchers and industrial software engineers who develop applications in areas such as distributed control systems and mobile applications where such requirements are of crucial importance.

1101669308
Architecture-Based Design of Multi-Agent Systems
Multi-agent systems are claimed to be especially suited to the development of software systems that are decentralized, can deal flexibly with dynamic conditions, and are open to system components that come and go. This is why they are used in domains such as manufacturing control, automated vehicles, and e-commerce markets.

Danny Weyns' book is organized according to the postulate that "developing multi-agent systems is 95% software engineering and 5% multi-agent systems theory." He presents a software engineering approach for multi-agent systems that is heavily based on software architecture - with, for example, tailored patterns such as "situated agent", "virtual environment", and "selective perception" - and on middleware for distributed coordination – with programming abstractions such as "views" and "roles." Next he shows the feasibility and applicability of this approach with the development of an automated transportation system consisting of a number of automatic guided vehicles transporting loads in an industrial setting.

Weyns puts the development of multi-agent systems into a larger perspective with traditional software engineering approaches. With this, he opens up opportunities to exploit the body of knowledge developed in the multi-agent systems community to tackle some of the difficult challenges of modern-day software systems, such as decentralized control, location-awareness, self-adaption, and large-scale. Thus his book is of interest for both researchers and industrial software engineers who develop applications in areas such as distributed control systems and mobile applications where such requirements are of crucial importance.

119.99 In Stock
Architecture-Based Design of Multi-Agent Systems

Architecture-Based Design of Multi-Agent Systems

by Danny Weyns
Architecture-Based Design of Multi-Agent Systems

Architecture-Based Design of Multi-Agent Systems

by Danny Weyns

Hardcover(2010)

$119.99 
  • SHIP THIS ITEM
    In stock. Ships in 1-2 days.
  • PICK UP IN STORE

    Your local store may have stock of this item.

Related collections and offers


Overview

Multi-agent systems are claimed to be especially suited to the development of software systems that are decentralized, can deal flexibly with dynamic conditions, and are open to system components that come and go. This is why they are used in domains such as manufacturing control, automated vehicles, and e-commerce markets.

Danny Weyns' book is organized according to the postulate that "developing multi-agent systems is 95% software engineering and 5% multi-agent systems theory." He presents a software engineering approach for multi-agent systems that is heavily based on software architecture - with, for example, tailored patterns such as "situated agent", "virtual environment", and "selective perception" - and on middleware for distributed coordination – with programming abstractions such as "views" and "roles." Next he shows the feasibility and applicability of this approach with the development of an automated transportation system consisting of a number of automatic guided vehicles transporting loads in an industrial setting.

Weyns puts the development of multi-agent systems into a larger perspective with traditional software engineering approaches. With this, he opens up opportunities to exploit the body of knowledge developed in the multi-agent systems community to tackle some of the difficult challenges of modern-day software systems, such as decentralized control, location-awareness, self-adaption, and large-scale. Thus his book is of interest for both researchers and industrial software engineers who develop applications in areas such as distributed control systems and mobile applications where such requirements are of crucial importance.


Product Details

ISBN-13: 9783642010637
Publisher: Springer Berlin Heidelberg
Publication date: 06/08/2010
Edition description: 2010
Pages: 224
Product dimensions: 6.10(w) x 9.25(h) x 0.03(d)

About the Author

Danny Weyns is a post-doctoral researcher at the Katholieke Universiteit Leuven, Belgium, where he is a member of the AgentWise task force at DistriNet Labs. His main research interests are in software architecture, self-managing systems, multiagent systems, and middleware for decentralized systems.

Table of Contents

1 Introduction 1

1.1 Software Architecture and Middleware 1

1.1.1 Software Architecture 2

1.1.2 Middleware 3

1.2 Agent-Oriented Methodologies 4

1.3 Case Study 5

1.4 Overview of the Book 6

2 Overview of Architecture-Based Design of Multi-Agent Systems 9

2.1 General Overview of the Approach 9

2.1.1 Architectural Design in the Development Life Cycle 9

2.1.2 Steps of Architecture-Based Design of Multi-Agent Systems 11

2.2 Functional and Quality Attribute Requirements 12

2.3 Architectural Design 14

2.3.1 Architectural Patterns 14

2.3.2 ADD Process 16

2.4 Middleware Support for Multi-Agent Systems 17

2.5 Documenting Software Architecture 17

2.5.1 Architectural Views 18

2.5.2 Architectural Description Languages 19

2.6 Evaluating Software Architecture 20

2.7 From Software Architecture to Downstream Design and Implementation 23

2.8 Summary 24

3 Capturing Expertise in Multi-Agent System Engineering with Architectural Patterns 27

3.1 Situated Multi-Agent Systems 28

3.1.1 Single-Agent Systems 28

3.1.2 Multi-Agent Systems 30

3.2 Target Domain of the Pattern Language for Situated Multi-Agent Systems 32

3.3 Overview of the Pattern Language 33

3.4 Pattern Template 34

3.5 Virtual Environment 35

3.5.1 Primary Presentation 35

3.5.2 Architectural Elements 35

3.5.3 Interface Descriptions 37

3.5.4 Design Rationale 38

3.6 Situated Agent 39

3.6.1 Primary Presentation 39

3.6.2 Architectural Elements 39

3.6.3 Interface Descriptions 41

3.6.4 Design Rationale 41

3.7 Selective Perception 43

3.7.1 Primary Presentation 43

3.7.2 Architectural Elements 43

3.7.3 Interface Descriptions 44

3.7.4 Design Rationale 44

3.8 Roles and Situated Commitments 45

3.8.1 Primary Presentation 45

3.8.2 Architectural Elements 45

3.8.3 Design Rationale 47

3.8.4 Free-Flow Trees Extended with Roles and Situated Commitments 47

3.9 Protocol-Based Communication 50

3.9.1 Primary Presentation 50

3.9.2 Architectural Elements 50

3.9.3 Interface Descriptions 52

3.9.4 Design Rationale 52

3.10 Summary 53

4 Architectural Design of Multi-Agent Systems 55

4.1 Designing and Documenting Multi-Agent System Architectures 55

4.1.1 Designing and Documenting Architecture in the Development Life Cycle 56

4.1.2 Inputs and Outputs of ADD 57

4.1.3 Overview of the ADD Activities 57

4.2 Case Study 58

4.2.1 The Domain of Automated Transportation Systems 58

4.2.2 Business Case 60

4.2.3 System Requirements 61

4.3 General Overview of the Design 63

4.3.1 Challenges at the Outset 64

4.3.2 The System and Its Environment 65

4.3.3 Design Process 67

4.3.4 Design Rationale 68

4.3.5 High-Level Design 69

4.4 Architecture Documentation 75

4.4.1 Introduction to the Architecture Documentation 75

4.4.2 Deployment View 76

4.4.3 Module Uses View 79

4.4.4 Collaborating Components View 83

4.5 Summary 92

5 Middleware for Distributed Multi-Agent Systems 93

5.1 Middleware Support for Distributed, Decentralized Coordination 93

5.1.1 Middleware in Distributed Software Systems 94

5.1.2 Middleware in Multi-Agent Systems 95

5.2 Case Study 96

5.2.1 Scope of the Middleware and Requirements 96

5.2.2 Objectplaces 97

5.2.3 Views 99

5.2.4 Coordination Roles 103

5.3 Middleware Architecture 106

5.3.1 High-Level Module Decomposition 106

5.3.2 Group Formation 109

5.3.3 View Management 111

5.3.4 Role Activation 113

5.4 Collision Avoidance in the AGV Transportation System 114

5.4.1 Collision Avoidance 114

5.4.2 Collision Avoidance Protocol 115

5.4.3 Software Architecture: Communicating Processes for Collision Avoidance 119

5.5 Summary 122

6 Task Assignment 123

6.1 Schedule-Based Task Assignment 124

6.2 FiTA: Field-Based Task Assignment 124

6.2.1 Coordination Fields 125

6.2.2 Adaptive Task Assignment 127

6.2.3 Software Architecture 127

6.2.4 Dealing With Local Minima 130

6.3 DynCNET Protocol 131

6.3.1 Adaptive Task Assignment 132

6.3.2 Monitoring the Area of Interest 135

6.3.3 Convergence 137

6.3.4 Synchronization Issues 137

6.4 Evaluation 137

6.4.1 Test Setting 137

6.4.2 Test Results 139

6.4.3 Tradeoff Analysis 144

6.5 Summary 147

7 Evaluation of Multi-Agent System Architectures 149

7.1 Evaluating Multi-Agent System Architectures with ATAM 149

7.1.1 Architecture Evaluation in the Development Life Cycle 150

7.1.2 Objectives of a Multi-Agent System Architecture Evaluation 151

7.1.3 Overview of the ATAM Activities 151

7.2 Case Study 152

7.2.1 AGV Transportation System for a Tea Processing Warehouse 153

7.2.2 Evaluation Process 153

7.2.3 Quality Attribute Workshop 155

7.2.4 Analysis of Architectural Approaches 156

7.3 Reflection on ATAM for Evaluating a Multi-Agent System Architecture 161

7.4 ATAM Follow-Up and Demonstrator 163

7.5 Summary 163

8 Related Approaches 165

8.1 Architectural Approaches and Multi-Agent Systems 165

8.1.1 Architectural Styles 165

8.1.2 Reference Models and Architectures for Multi-Agent Systems 168

8.2 Middleware for Mobile Systems 172

8.2.1 Work Related to Views 172

8.2.2 Work Related to Coordination Roles 174

8.3 Scheduling and Routing of AGV Transportation Systems 177

8.3.1 AI and Robotics Approaches 177

8.3.2 Multi-Agent System Approaches 178

9 Conclusions 181

9.1 Reflection on Architecture-Based Design of Multi-Agent Systems 181

9.1.1 It Works! 181

9.1.2 Reflection on the Project with Egemin 183

9.2 Lessons Learned and Challenges 185

9.2.1 Dealing with Quality Attributes 185

9.2.2 Designing a Multi-Agent System Architecture 185

9.2.3 Integrating a Multi-Agent System with Its Software Environment 186

9.2.4 Impact of Adopting a Multi-Agent System 187

A π-ADL Specification of the Architectural Patterns 189

A.1 Language Constructs 189

A.2 Virtual Environment Pattern 190

A.3 Situated Agent Pattern 194

B Synchronization in the DynCNET Protocol 199

B.1 Synchronization of Abort and Bound Messages 199

B.2 Synchronization of Scope Dynamics 201

C Collision Avoidance Protocol 203

C.1 Overview 203

C.2 Invariant 204

C.3 Maintaining the Invariant 205

Glossary 209

References 213

Index 223

From the B&N Reads Blog

Customer Reviews