An Architecture-Centric Approach for Software Engineering with for - - PowerPoint PPT Presentation

an architecture centric approach for software engineering
SMART_READER_LITE
LIVE PREVIEW

An Architecture-Centric Approach for Software Engineering with for - - PowerPoint PPT Presentation

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-1
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
SLIDE 2

A Challenging Application

slide-3
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
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
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
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
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
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
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

Conclusions

slide-10
SLIDE 10

Architecture-Centric Software Engineering

Development Life Cycle Development Life Cycle

slide-11
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
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

  • Conclusions
slide-13
SLIDE 13

Reference Architecture

B k d Background

  • Target domain

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
SLIDE 14

Reference Architecture

Background Background

Some of the applications Some of the applications

slide-15
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

  • Conclusions
slide-16
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
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

Part of the world where problem has to be solved

  • Resources external to

the system Deployment Context Environment y

slide-18
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
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

  • Abstraction of

deployment context I t ti di ti Application Environment

  • Interaction mediation

Given Environment

  • Part of the world where

problem has to be solved

  • Resources external to

Deployment Context Resources external to the system

slide-20
SLIDE 20

Reference Architecture: Application Environment

slide-21
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
SLIDE 22

Situated Multiagent Systems

E ploiting the En ironment An E ample Exploiting the Environment: An Example

slide-23
SLIDE 23

Situated Multiagent Systems

E ploiting the En ironment An E ample Exploiting the Environment: An Example

slide-24
SLIDE 24

Situated Multiagent Systems

E ploiting the En ironment An E ample Exploiting the Environment: An Example

slide-25
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
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
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
SLIDE 28

Exploiting the Environment: An Example Exploiting the Environment: An Example

Application environment in the AGV transportation system

slide-29
SLIDE 29

Exploiting the Environment: An Example

Collision Avoidance

slide-30
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
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
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

  • Conclusions
slide-33
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
SLIDE 34

Reference Architecture

Advanced Mechanisms for Adaptability

slide-35
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

  • Role

– 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
SLIDE 36

Reference Architecture

Roles and Situated Commitments

slide-37
SLIDE 37

Reference Architecture

Roles and Situated Commitments

slide-38
SLIDE 38

Reference Architecture

Roles and Situated Commitments

slide-39
SLIDE 39

Reference Architecture

Roles and Situated Commitments

slide-40
SLIDE 40

Reference Architecture

Roles and Situated Commitments

slide-41
SLIDE 41

Reference Architecture

Roles and Situated Commitments

slide-42
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
SLIDE 43

Outline

  • Architecture-Centric Software Engineering
  • Architecture-Centric Software Engineering
  • Reference Architecture for Situated

M lti t S t Multiagent Systems

  • Conclusions

– Summary of Contributions – Lessons Learned for Applying Agents in Industry – Future Work

slide-44
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
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
SLIDE 46

Lessons Learned Lessons Learned

  • Motivations to choose for a multiagent

g system

– Problem characteristics – Quality requirements

  • Integration with legacy

g g y

  • Gradual integration
  • Evaluation

Evaluation

– Software architecture for qualities – Simulation for functionality Simulation for functionality

slide-47
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
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