Muutke küpsiste eelistusi

Architecture-Based Design of Multi-Agent Systems [Kõva köide]

  • Formaat: Hardback, 224 pages, kõrgus x laius: 235x155 mm, kaal: 535 g, XVII, 224 p., 1 Hardback
  • Ilmumisaeg: 09-Jun-2010
  • Kirjastus: Springer-Verlag Berlin and Heidelberg GmbH & Co. K
  • ISBN-10: 3642010636
  • ISBN-13: 9783642010637
  • Kõva köide
  • Hind: 104,29 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Tavahind: 122,69 €
  • Säästad 15%
  • Raamatu kohalejõudmiseks kirjastusest kulub orienteeruvalt 2-4 nädalat
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Tellimisaeg 2-4 nädalat
  • Lisa soovinimekirja
  • Formaat: Hardback, 224 pages, kõrgus x laius: 235x155 mm, kaal: 535 g, XVII, 224 p., 1 Hardback
  • Ilmumisaeg: 09-Jun-2010
  • Kirjastus: Springer-Verlag Berlin and Heidelberg GmbH & Co. K
  • ISBN-10: 3642010636
  • ISBN-13: 9783642010637
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.

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 book presents a software engineering approach for multi-agent systems that is based on software architecture.

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.

Arvustused

From the reviews:

The book renders a comprehensive view upon multi-agent systems from both the theoretical and practical sides. The aim of the author, which is fully accomplished, is to offer a handy guide for both software engineers studying the architecture of real-world multi-agent systems and theoreticians looking for an industrial application of the presented concepts. A book many readers with diverse backgrounds will find valuable. It is clearly written based on vast experience and dedication to the field of applied multi-agent systems. (Catalin Stoean, Zentralblatt MATH, Vol. 1204, 2011)

This volume offers an integrated, coherent guide to architectural tools for designing such real-world systems. Due to its clear, accessible engineering approach to designing multiagent systems, this book will be invaluable for industrial practitioners, and essential reading in academic courses in software engineering. (H. Van Dyke Parunak, ACM Computing Reviews, November, 2011)

1 Introduction
1(8)
1.1 Software Architecture and Middleware
1(3)
1.1.1 Software Architecture
2(1)
1.1.2 Middleware
3(1)
1.2 Agent-Oriented Methodologies
4(1)
1.3 Case Study
5(1)
1.4 Overview of the Book
6(3)
2 Overview of Architecture-Based Design of Multi-Agent Systems
9(18)
2.1 General Overview of the Approach
9(3)
2.1.1 Architectural Design in the Development Life Cycle
9(2)
2.1.2 Steps of Architecture-Based Design of Multi-Agent Systems
11(1)
2.2 Functional and Quality Attribute Requirements
12(2)
2.3 Architectural Design
14(3)
2.3.1 Architectural Patterns
14(2)
2.3.2 ADD Process
16(1)
2.4 Middleware Support for Multi-Agent Systems
17(1)
2.5 Documenting Software Architecture
17(3)
2.5.1 Architectural Views
18(1)
2.5.2 Architectural Description Languages
19(1)
2.6 Evaluating Software Architecture
20(3)
2.7 From Software Architecture to Downstream Design and Implementation
23(1)
2.8 Summary
24(3)
3 Capturing Expertise in Multi-Agent System Engineering with Architectural Patterns
27(28)
3.1 Situated Multi-Agent Systems
28(4)
3.1.1 Single-Agent Systems
28(2)
3.1.2 Multi-Agent Systems
30(2)
3.2 Target Domain of the Pattern Language for Situated Multi-Agent Systems
32(1)
3.3 Overview of the Pattern Language
33(1)
3.4 Pattern Template
34(1)
3.5 Virtual Environment
35(4)
3.5.1 Primary Presentation
35(1)
3.5.2 Architectural Elements
35(2)
3.5.3 Interface Descriptions
37(1)
3.5.4 Design Rationale
38(1)
3.6 Situated Agent
39(4)
3.6.1 Primary Presentation
39(1)
3.6.2 Architectural Elements
39(2)
3.6.3 Interface Descriptions
41(1)
3.6.4 Design Rationale
41(2)
3.7 Selective Perception
43(2)
3.7.1 Primary Presentation
43(1)
3.7.2 Architectural Elements
43(1)
3.7.3 Interface Descriptions
44(1)
3.7.4 Design Rationale
44(1)
3.8 Roles and Situated Commitments
45(5)
3.8.1 Primary Presentation
45(1)
3.8.2 Architectural Elements
45(2)
3.8.3 Design Rationale
47(1)
3.8.4 Free-Flow Trees Extended with Roles and Situated Commitments
47(3)
3.9 Protocol-Based Communication
50(3)
3.9.1 Primary Presentation
50(1)
3.9.2 Architectural Elements
50(2)
3.9.3 Interface Descriptions
52(1)
3.9.4 Design Rationale
52(1)
3.10 Summary
53(2)
4 Architectural Design of Multi-Agent Systems
55(38)
4.1 Designing and Documenting Multi-Agent System Architectures
55(3)
4.1.1 Designing and Documenting Architecture in the Development Life Cycle
56(1)
4.1.2 Inputs and Outputs of ADD
57(1)
4.1.3 Overview of the ADD Activities
57(1)
4.2 Case Study
58(5)
4.2.1 The Domain of Automated Transportation Systems
58(2)
4.2.2 Business Case
60(1)
4.2.3 System Requirements
61(2)
4.3 General Overview of the Design
63(12)
4.3.1 Challenges at the Outset
64(1)
4.3.2 The System and Its Environment
65(2)
4.3.3 Design Process
67(1)
4.3.4 Design Rationale
68(1)
4.3.5 High-Level Design
69(6)
4.4 Architecture Documentation
75(17)
4.4.1 Introduction to the Architecture Documentation
75(1)
4.4.2 Deployment View
76(3)
4.4.3 Module Uses View
79(4)
4.4.4 Collaborating Components View
83(9)
4.5 Summary
92(1)
5 Middleware for Distributed Multi-Agent Systems
93(30)
5.1 Middleware Support for Distributed, Decentralized Coordination
93(3)
5.1.1 Middleware in Distributed Software Systems
94(1)
5.1.2 Middleware in Multi-Agent Systems
95(1)
5.2 Case Study
96(10)
5.2.1 Scope of the Middleware and Requirements
96(1)
5.2.2 Objectplaces
97(2)
5.2.3 Views
99(4)
5.2.4 Coordination Roles
103(3)
5.3 Middleware Architecture
106(8)
5.3.1 High-Level Module Decomposition
106(3)
5.3.2 Group Formation
109(2)
5.3.3 View Management
111(2)
5.3.4 Role Activation
113(1)
5.4 Collision Avoidance in the AGV Transportation System
114(8)
5.4.1 Collision Avoidance
114(1)
5.4.2 Collision Avoidance Protocol
115(4)
5.4.3 Software Architecture: Communicating Processes for Collision Avoidance
119(3)
5.5 Summary
122(1)
6 Task Assignment
123(26)
6.1 Schedule-Based Task Assignment
124(1)
6.2 FiTA: Field-Based Task Assignment
124(7)
6.2.1 Coordination Fields
125(2)
6.2.2 Adaptive Task Assignment
127(1)
6.2.3 Software Architecture
127(3)
6.2.4 Dealing with Local Minima
130(1)
6.3 DynCNET Protocol
131(6)
6.3.1 Adaptive Task Assignment
132(3)
6.3.2 Monitoring the Area of Interest
135(2)
6.3.3 Convergence
137(1)
6.3.4 Synchronization Issues
137(1)
6.4 Evaluation
137(10)
6.4.1 Test Setting
137(2)
6.4.2 Test Results
139(5)
6.4.3 Tradeoff Analysis
144(3)
6.5 Summary
147(2)
7 Evaluation of Multi-Agent System Architectures
149(16)
7.1 Evaluating Multi-Agent System Architectures with ATAM
149(3)
7.1.1 Architecture Evaluation in the Development Life Cycle
150(1)
7.1.2 Objectives of a Multi-Agent System Architecture Evaluation
151(1)
7.1.3 Overview of the ATAM Activities
151(1)
7.2 Case Study
152(9)
7.2.1 AGV Transportation System for a Tea Processing Warehouse
153(1)
7.2.2 Evaluation Process
153(2)
7.2.3 Quality Attribute Workshop
155(1)
7.2.4 Analysis of Architectural Approaches
156(5)
7.3 Reflection on ATAM for Evaluating a Multi-Agent System Architecture
161(2)
7.4 ATAM Follow-Up and Demonstrator
163(1)
7.5 Summary
163(2)
8 Related Approaches
165(16)
8.1 Architectural Approaches and Multi-Agent Systems
165(7)
8.1.1 Architectural Styles
165(3)
8.1.2 Reference Models and Architectures for Multi-Agent Systems
168(4)
8.2 Middleware for Mobile Systems
172(5)
8.2.1 Work Related to Views
172(2)
8.2.2 Work Related to Coordination Roles
174(3)
8.3 Scheduling and Routing of AGV Transportation Systems
177(4)
8.3.1 AI and Robotics Approaches
177(1)
8.3.2 Multi-Agent System Approaches
178(3)
9 Conclusions
181(8)
9.1 Reflection on Architecture-Based Design of Multi-Agent Systems
181(4)
9.1.1 It Works!
181(2)
9.1.2 Reflection on the Project with Egemin
183(2)
9.2 Lessons Learned and Challenges
185(4)
9.2.1 Dealing with Quality Attributes
185(1)
9.2.2 Designing a Multi-Agent System Architecture
185(1)
9.2.3 Integrating a Multi-Agent System with Its Software Environment
186(1)
9.2.4 Impact of Adopting a Multi-Agent System
187(2)
A π-ADL Specification of the Architectural Patterns
189(10)
A.1 Language Constructs
189(1)
A.2 Virtual Environment Pattern
190(4)
A.3 Situated Agent Pattern
194(5)
B Synchronization in the DynCNET Protocol
199(4)
B.1 Synchronization of Abort and Bound Messages
199(2)
B.2 Synchronization of Scope Dynamics
201(2)
C Collision Avoidance Protocol
203(6)
C.1 Overview
203(1)
C.2 Invariant
204(1)
C.3 Maintaining the Invariant
205(4)
Glossary 209(4)
References 213(10)
Index 223
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.