an architecture centric approach for software engineering
play

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


  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

  2. A Challenging Application

  3. Three Important Problem Characteristics 1. Dynamic and changing operating conditions 2. Inherent distribution of resources, locality of activity of activity 3. Stakeholders have various – possibly p y conflicting – quality goals

  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 of activity of activity 3. Stakeholders have various – possibly 3 Sta e o de s a e a ous poss b y conflicting – quality goals

  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 of activity of 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

  6. Structure of the Software Structure of the Software 1. Dynamic and changing operating conditions diti 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

  7. Approach to Engineer Software Approach to Engineer Software 3 3. Stakeholders have various – possibly St k h ld h i ibl conflicting – quality goals Compel stakeholders to deal explicitly with Compel stakeholders to deal explicitly with (conflicting) quality goals Architecture-Centric Software Engineering

  8. Contribution of this Research Problem characteristics: 1 1. D Dynamism and change i d h 2. Locality of activity 3. (Conflicting) quality goals ( g) q y g Engineering such systems Architecture-centric Situated multiagent software engineering systems Expertise R f Reference architecture for situated multiagent systems hit t f it t d lti t t

  9. Outline • Architecture-Centric Software Engineering A hit t C t i S ft E i i – Development Life-Cycle – Role of Reference Architecture • Reference Architecture for Situated Multiagent Systems • Conclusions Conclusions

  10. Architecture-Centric Software Engineering Development Life Cycle Development Life Cycle

  11. Architecture-Centric Software Engineering R l Role of Reference Architecture f R f A hit t Architectural Design Architectural Design Design Software Architecture Design Software Architecture Apply proven architectural approaches to achieve main quality requirements Reference Architecture “Best of best practices” Best of best practices Integrated set of architectural patterns Blueprint to develop new software architectures for systems with similar hi f i h i il requirements

  12. Outline • Architecture-Centric Software Engineering • Architecture-Centric Software Engineering • Reference Architecture for Situated M lti Multiagent Systems t S t – Background – Environment as a First-Class Design Abstraction – Advanced Mechanisms for Adaptability • Conclusions

  13. Reference Architecture B Background k d • 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

  14. Reference Architecture Background Background Some of the applications Some of the applications

  15. Outline • Architecture-Centric Software Engineering • Architecture-Centric Software Engineering • Reference Architecture for Situated M lti Multiagent Systems t S t – Background – Environment as a First-Class Design Abstraction – Advanced Mechanisms for Adaptability • Conclusions

  16. Reference Architecture E Environment as a First-Class Design Abstraction i t Fi t Cl D i Ab t ti Common perspective on a multiagent system Common perspective on a multiagent system Agents Environment = Deployment Context

  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 Deployment Context Environment problem has to be solved - Resources external to the system y

  18. Reference Architecture E Environment as a First-Class Design Abstraction i t Fi t Cl D i Ab t ti Application environment as a design abstraction pp g Agents g Application Environment Environment Deployment Context Deployment Context

  19. Reference Architecture Environment as a First-Class Design Abstraction Environment as a First Class Design Abstraction Agents Part to be designed Part to be designed - Abstraction of Application Environment deployment context - Interaction mediation I t ti di ti Environment Given - Part of the world where problem has to be solved Deployment Context - Resources external to Resources external to the system

  20. Reference Architecture: Application Environment

  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)

  22. Situated Multiagent Systems E ploiting the En ironment An E ample Exploiting the Environment: An Example

  23. Situated Multiagent Systems E ploiting the En ironment An E ample Exploiting the Environment: An Example

  24. Situated Multiagent Systems E ploiting the En ironment An E ample Exploiting the Environment: An Example

  25. Reference Architecture E Exploiting the environment: an example l iti th i t l • 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

  26. Reference Architecture E Exploiting the Environment: An Example l iti th E i t A E l Result: full complexity in the agents

  27. Reference Architecture E Exploiting the environment: an example l iti th i t l • 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

  28. Exploiting the Environment: An Example Exploiting the Environment: An Example Application environment in the AGV transportation system

  29. Exploiting the Environment: An Example Collision Avoidance

  30. Reference Architecture Exploiting the environment: an example E l iti th i t l • Advantages of exploiting the environment • Advantages of exploiting the environment to coordinate agents (1) – Avoid complex agents by splitting up A id l t b litti 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

  31. Reference Architecture E Exploiting the environment: an example l iti th i t l • Advantages of exploiting the environment • Advantages of exploiting the environment to coordinate agents (2) – Flexibility and openness Fl ibilit d • AGVs can dynamically remove hull and select alternative route alternative route • Application environment takes into account AGVs that enter/leave collision range

  32. Outline • Architecture-Centric Software Engineering • Architecture-Centric Software Engineering • Reference Architecture for Situated M lti Multiagent Systems t S t – Background – Environment as a First-Class Design Abstraction – Advanced Mechanisms for Adaptability • Conclusions

  33. Reference Architecture Ad Advanced Mechanisms for Adaptability d M h i f Ad t bilit • 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

  34. Reference Architecture Advanced Mechanisms for Adaptability

  35. Reference Architecture Ad Advanced Mechanism for Adaptability d M h i f Ad t bilit • 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 organization organization • 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

  36. Reference Architecture Roles and Situated Commitments

Recommend


More recommend