SLIDE 1 An Architecture-Centric Approach for Software Engineering with for Software Engineering with Situated Multiagent Systems
PhD Defense Danny Weyns
Katholieke Universiteit Leuven October 11, 2006 Supervisors Tom Holvoet & Pierre Verbaeten
SLIDE 2
A Challenging Application
SLIDE 3 Three Important Problem Characteristics
- 1. Dynamic and changing operating
conditions
- 2. Inherent distribution of resources, locality
- f activity
- f activity
- 3. Stakeholders have various – possibly
p y conflicting – quality goals
SLIDE 4 Engineering such Software Systems g g y
Structure of the software
- 1. Dynamic and changing operating
conditions conditions
- 2. Inherent distribution of resources, locality
- f activity
- f activity
- 3. Stakeholders have various – possibly
3 Sta e o de s a e a ous poss b y conflicting – quality goals
SLIDE 5 Engineering such Software Systems g g y
Structure of the software
- 1. Dynamic and changing operating
conditions conditions
- 2. Inherent distribution of resources, locality
- f activity
- f activity
- 3. Stakeholders have various – possibly
3 Sta e o de s a e a ous poss b y conflicting – quality goals Approach to engineer software
SLIDE 6
Structure of the Software Structure of the Software
1. Dynamic and changing operating diti conditions 2. Inherent distribution of resources, locality of activity activity
Self-management: deal with dynamism and Se a age e t dea t dy a s a d change autonomously Decentralized control: system functionality y y results from cooperative subsystems
Situated Multiagent Systems
SLIDE 7 Approach to Engineer Software Approach to Engineer Software
3 St k h ld h i ibl
- 3. Stakeholders have various – possibly
conflicting – quality goals
Compel stakeholders to deal explicitly with Compel stakeholders to deal explicitly with (conflicting) quality goals
Architecture-Centric Software Engineering
SLIDE 8 Contribution of this Research
Problem characteristics: 1 D i d h 1. Dynamism and change 2. Locality of activity 3. (Conflicting) quality goals ( g) q y g Engineering such systems Architecture-centric software engineering Situated multiagent systems
R f hit t f it t d lti t t
Expertise
Reference architecture for situated multiagent systems
SLIDE 9 Outline
A hit t C t i S ft E i i
- Architecture-Centric Software Engineering
– Development Life-Cycle – Role of Reference Architecture
- Reference Architecture for Situated
Multiagent Systems
Conclusions
SLIDE 10
Architecture-Centric Software Engineering
Development Life Cycle Development Life Cycle
SLIDE 11 Architecture-Centric Software Engineering
R l f R f A hit t Role of Reference Architecture
Design Software Architecture Architectural Design Design Software Architecture Apply proven architectural approaches to achieve main quality requirements Architectural Design Reference Architecture “Best of best practices” Best of best practices Integrated set of architectural patterns Blueprint to develop new software hi f i h i il architectures for systems with similar requirements
SLIDE 12 Outline
- Architecture-Centric Software Engineering
- Architecture-Centric Software Engineering
- Reference Architecture for Situated
M lti t S t Multiagent Systems
– Background – Environment as a First-Class Design Abstraction – Advanced Mechanisms for Adaptability
SLIDE 13 Reference Architecture
B k d Background
Target domain
– Dynamism and change – Locality of activity Locality of activity – Important quality goals: flexibility and openness
- Development process
- Development process
– Research and development of various applications applications – Derived common functions and structures = building blocks of the reference architecture
SLIDE 14
Reference Architecture
Background Background
Some of the applications Some of the applications
SLIDE 15 Outline
- Architecture-Centric Software Engineering
- Architecture-Centric Software Engineering
- Reference Architecture for Situated
M lti t S t Multiagent Systems
– Background – Environment as a First-Class Design Abstraction – Advanced Mechanisms for Adaptability
SLIDE 16 Reference Architecture
E i t Fi t Cl D i Ab t ti Environment as a First-Class Design Abstraction
Common perspective on a multiagent system Common perspective on a multiagent system
Agents Environment = Deployment Context
SLIDE 17 Reference Architecture
Environment as a First Class Design Abstraction Environment as a First-Class Design Abstraction
Common perspective on a multiagent system Common perspective on a multiagent system
Agents Given
Part of the world where problem has to be solved
the system Deployment Context Environment y
SLIDE 18 Reference Architecture
E i t Fi t Cl D i Ab t ti Environment as a First-Class Design Abstraction
Application environment as a design abstraction
Agents
pp g
g Application Environment Environment Deployment Context Deployment Context
SLIDE 19 Reference Architecture
Environment as a First Class Design Abstraction Environment as a First-Class Design Abstraction
Part to be designed Agents Part to be designed
deployment context I t ti di ti Application Environment
Given Environment
problem has to be solved
Deployment Context Resources external to the system
SLIDE 20
Reference Architecture: Application Environment
SLIDE 21 Situated Multiagent Systems
E ploiting the En ironment An E ample Exploiting the Environment: An Example
Transport agent (logically) (logically) AGV agent g Transport agent (physically) (p y y)
SLIDE 22
Situated Multiagent Systems
E ploiting the En ironment An E ample Exploiting the Environment: An Example
SLIDE 23
Situated Multiagent Systems
E ploiting the En ironment An E ample Exploiting the Environment: An Example
SLIDE 24
Situated Multiagent Systems
E ploiting the En ironment An E ample Exploiting the Environment: An Example
SLIDE 25 Reference Architecture
E l iti th i t l Exploiting the environment: an example
- Coordination in AGV transportation system
Coordination in AGV transportation system
– Assignment of tasks – Collision avoidance – Charging batteries –
- How to coordinate agents?
– “Classic approach”: agents coordinate by exchanging messages – Exploit the environment
SLIDE 26
Reference Architecture
E l iti th E i t A E l Exploiting the Environment: An Example Result: full complexity in the agents
SLIDE 27 Reference Architecture
E l iti th i t l Exploiting the environment: an example
- Exploit the environment to coordinate
- Exploit the environment to coordinate
- However
– Deployment context restricts how agents can exploit the environment
- We introduced an application environment
– Enables agents to coordinate through the environment
SLIDE 28
Exploiting the Environment: An Example Exploiting the Environment: An Example
Application environment in the AGV transportation system
SLIDE 29
Exploiting the Environment: An Example
Collision Avoidance
SLIDE 30 Reference Architecture
E l iti th i t l Exploiting the environment: an example
- Advantages of exploiting the environment
- Advantages of exploiting the environment
to coordinate agents (1)
A id l t b litti – Avoid complex agents by splitting up responsibilities
- Agents are responsible for projecting/removing hulls
- Agents are responsible for projecting/removing hulls
- Application environment is responsible for
determining which AGV can drive on g
SLIDE 31 Reference Architecture
E l iti th i t l Exploiting the environment: an example
- Advantages of exploiting the environment
- Advantages of exploiting the environment
to coordinate agents (2)
Fl ibilit d – Flexibility and openness
- AGVs can dynamically remove hull and select
alternative route alternative route
- Application environment takes into account AGVs
that enter/leave collision range
SLIDE 32 Outline
- Architecture-Centric Software Engineering
- Architecture-Centric Software Engineering
- Reference Architecture for Situated
M lti t S t Multiagent Systems
– Background – Environment as a First-Class Design Abstraction – Advanced Mechanisms for Adaptability
SLIDE 33 Reference Architecture
Ad d M h i f Ad t bilit Advanced Mechanisms for Adaptability
- We have developed an integrated architecture
- We have developed an integrated architecture
for situated agents
- Integrates set of advanced mechanisms for
- Integrates set of advanced mechanisms for
adaptability
– Selective perception p p – Protocol-based communication – Roles and situated commitments
SLIDE 34
Reference Architecture
Advanced Mechanisms for Adaptability
SLIDE 35 Reference Architecture
Ad d M h i f Ad t bilit Advanced Mechanism for Adaptability
- Roles and situated commitments
- Roles and situated commitments
– Endow situated agents with abilities for explicit social interaction
– Coherent part of functionality in context of an
- rganization
- rganization
- Situated Commitment
– Engagement to give preference to the actions in a g g g p particular role – Driven by conditions in the environment in which the agents are situated agents are situated
SLIDE 36
Reference Architecture
Roles and Situated Commitments
SLIDE 37
Reference Architecture
Roles and Situated Commitments
SLIDE 38
Reference Architecture
Roles and Situated Commitments
SLIDE 39
Reference Architecture
Roles and Situated Commitments
SLIDE 40
Reference Architecture
Roles and Situated Commitments
SLIDE 41
Reference Architecture
Roles and Situated Commitments
SLIDE 42 Reference Architecture
R l d Sit t d C it t Roles and Situated Commitments
- Building blocks for social organization
- Building blocks for social organization
– Enable agents to set up collaborations
- Social interaction is driven by the context in
- Social interaction is driven by the context in
which agents are situated
– Agents flexibly adapt their behavior with changing Agents flexibly adapt their behavior with changing circumstances in the environment
SLIDE 43 Outline
- Architecture-Centric Software Engineering
- Architecture-Centric Software Engineering
- Reference Architecture for Situated
M lti t S t Multiagent Systems
– Summary of Contributions – Lessons Learned for Applying Agents in Industry – Future Work
SLIDE 44 Contributions
Problem characteristics:
Contributions
Problem characteristics:
- 1. Dynamism and change
- 2. Locality of activity
- Promising perspective on
software engineering with
- 3. Quality goals (flexibility,
- penness)
software engineering with multiagent systems Architecture-centric
Reference architecture for situated multiagent systems
c tectu e ce t c software engineering
g y
Additional architectural approaches
Software Architecture
SLIDE 45 Contributions Contributions
Reference architecture for situated
- Reference architecture for situated
multiagent systems
E i t fi t l d i b t ti – Environment as first-class design abstraction – Set of advanced mechanisms for adaptability
S l ti ti
- Selective perception
- Roles and situated commitments
- Protocol based communication
- Protocol-based communication
SLIDE 46 Lessons Learned Lessons Learned
- Motivations to choose for a multiagent
g system
– Problem characteristics – Quality requirements
g g y
- Gradual integration
- Evaluation
Evaluation
– Software architecture for qualities – Simulation for functionality Simulation for functionality
SLIDE 47 Future Research Future Research
- Disciplined approach for architectural
- Disciplined approach for architectural
design with a reference architecture
- Connection software architecture and
- Connection software architecture and
multiagent systems
– Robustness scalability – Robustness, scalability – Patterns for distribution – Crosscutting concerns Crosscutting concerns – Scientific foundation for verifying global behavior
SLIDE 48 Closing Reflection Closing Reflection
Situated agency has been studied and
- Situated agency has been studied and
applied for two decades R f hi ifi
- Reference architecture reifies our
expertise that is founded on rich tradition
- Reference architecture demonstrates how
MAS can be integrated with mainstream software engineering practice
A key for industrial adoption of multiagent systems A key for industrial adoption of multiagent systems