|
|
1 | (8) |
|
1.1 Software Architecture and Middleware |
|
|
1 | (3) |
|
1.1.1 Software Architecture |
|
|
2 | (1) |
|
|
3 | (1) |
|
1.2 Agent-Oriented Methodologies |
|
|
4 | (1) |
|
|
5 | (1) |
|
|
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) |
|
|
14 | (3) |
|
2.3.1 Architectural Patterns |
|
|
14 | (2) |
|
|
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) |
|
|
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) |
|
|
34 | (1) |
|
|
35 | (4) |
|
3.5.1 Primary Presentation |
|
|
35 | (1) |
|
3.5.2 Architectural Elements |
|
|
35 | (2) |
|
3.5.3 Interface Descriptions |
|
|
37 | (1) |
|
|
38 | (1) |
|
|
39 | (4) |
|
3.6.1 Primary Presentation |
|
|
39 | (1) |
|
3.6.2 Architectural Elements |
|
|
39 | (2) |
|
3.6.3 Interface Descriptions |
|
|
41 | (1) |
|
|
41 | (2) |
|
|
43 | (2) |
|
3.7.1 Primary Presentation |
|
|
43 | (1) |
|
3.7.2 Architectural Elements |
|
|
43 | (1) |
|
3.7.3 Interface Descriptions |
|
|
44 | (1) |
|
|
44 | (1) |
|
3.8 Roles and Situated Commitments |
|
|
45 | (5) |
|
3.8.1 Primary Presentation |
|
|
45 | (1) |
|
3.8.2 Architectural Elements |
|
|
45 | (2) |
|
|
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) |
|
|
52 | (1) |
|
|
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) |
|
|
58 | (5) |
|
4.2.1 The Domain of Automated Transportation Systems |
|
|
58 | (2) |
|
|
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) |
|
|
67 | (1) |
|
|
68 | (1) |
|
|
69 | (6) |
|
4.4 Architecture Documentation |
|
|
75 | (17) |
|
4.4.1 Introduction to the Architecture Documentation |
|
|
75 | (1) |
|
|
76 | (3) |
|
|
79 | (4) |
|
4.4.4 Collaborating Components View |
|
|
83 | (9) |
|
|
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) |
|
|
96 | (10) |
|
5.2.1 Scope of the Middleware and Requirements |
|
|
96 | (1) |
|
|
97 | (2) |
|
|
99 | (4) |
|
|
103 | (3) |
|
5.3 Middleware Architecture |
|
|
106 | (8) |
|
5.3.1 High-Level Module Decomposition |
|
|
106 | (3) |
|
|
109 | (2) |
|
|
111 | (2) |
|
|
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) |
|
|
122 | (1) |
|
|
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) |
|
|
131 | (6) |
|
6.3.1 Adaptive Task Assignment |
|
|
132 | (3) |
|
6.3.2 Monitoring the Area of Interest |
|
|
135 | (2) |
|
|
137 | (1) |
|
6.3.4 Synchronization Issues |
|
|
137 | (1) |
|
|
137 | (10) |
|
|
137 | (2) |
|
|
139 | (5) |
|
|
144 | (3) |
|
|
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) |
|
|
152 | (9) |
|
7.2.1 AGV Transportation System for a Tea Processing Warehouse |
|
|
153 | (1) |
|
|
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) |
|
|
163 | (2) |
|
|
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) |
|
|
181 | (8) |
|
9.1 Reflection on Architecture-Based Design of Multi-Agent Systems |
|
|
181 | (4) |
|
|
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) |
|
|
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) |
|
|
203 | (1) |
|
|
204 | (1) |
|
C.3 Maintaining the Invariant |
|
|
205 | (4) |
Glossary |
|
209 | (4) |
References |
|
213 | (10) |
Index |
|
223 | |