1 / 48

Supervisors Tom Holvoet & Pierre Verbaeten

An Architecture-Centric Approach for Software Engineering with Situated Multiagent Systems PhD Defense Danny Weyns Katholieke Universiteit Leuven October 11, 2006. Supervisors Tom Holvoet & Pierre Verbaeten. A Challenging Application. Three Important Problem Characteristics.

peony
Download Presentation

Supervisors Tom Holvoet & Pierre Verbaeten

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. An Architecture-Centric Approach for Software Engineering with Situated Multiagent SystemsPhD Defense Danny WeynsKatholieke Universiteit LeuvenOctober 11, 2006 Supervisors Tom Holvoet & Pierre Verbaeten

  2. A Challenging Application

  3. Three Important Problem Characteristics • Dynamic and changing operating conditions • Inherent distribution of resources, locality of activity • Stakeholders have various – possiblyconflicting – quality goals

  4. Engineering such Software Systems Structure of the software • Dynamic and changing operating conditions • Inherent distribution of resources, locality of activity • Stakeholders have various – possiblyconflicting – quality goals

  5. Engineering such Software Systems Structure of the software • Dynamic and changing operating conditions • Inherent distribution of resources, locality of activity • Stakeholders have various – possiblyconflicting – quality goals Approach to engineer software

  6. Self-management: deal with dynamism and change autonomously Decentralized control: system functionality results from cooperative subsystems Situated Multiagent Systems Structure of the Software • Dynamic and changing operating conditions • Inherent distribution of resources, locality of activity

  7. Compel stakeholders to deal explicitly with (conflicting) quality goals Architecture-Centric Software Engineering Approach to Engineer Software • Stakeholders have various – possibly conflicting – quality goals Architecture-Centric Software Development

  8. Contribution of this Research Problem characteristics: • Dynamism andchange • Locality of activity • (Conflicting) qualitygoals Engineering such systems Architecture-centric software engineering Situated multiagent systems Expertise Reference architecture for situated multiagent systems

  9. Outline • Architecture-Centric Software Engineering • Development Life-Cycle • Role of Reference Architecture • Reference Architecture for Situated Multiagent Systems • Conclusions

  10. Architecture-Centric Software EngineeringDevelopment Life Cycle

  11. Architecture-Centric Software EngineeringRole of Reference Architecture Architectural Design Design Software Architecture Apply proven architectural approaches to achieve main quality requirements Reference Architecture “Best of best practices” Integrated set of architectural patterns Blueprint to develop new software architectures for systems with similar requirements

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

  13. Reference ArchitectureBackground • Target domain • Dynamism and change • Locality of activity • Important quality goals: flexibility and openness • Development process • Research and development of various applications • Derived common functions and structures = building blocks of the reference architecture

  14. Reference ArchitectureBackground Some of the applications

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

  16. Reference ArchitectureEnvironment as a First-Class Design Abstraction Common perspective on a multiagent system Agents Environment = Deployment Context

  17. Reference ArchitectureEnvironment as a First-Class Design Abstraction Common perspective on a multiagent system Agents • Given • - Part of the world where problem has to be solved • Resources external to the system Deployment Context Environment

  18. Reference ArchitectureEnvironment as a First-Class Design Abstraction Application environment as a design abstraction Agents Application Environment Environment Deployment Context

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

  20. Reference Architecture: Application Environment

  21. Transport agent (logically) AGV agent Transport agent (physically) Situated Multiagent SystemsExploiting the Environment: An Example

  22. Situated Multiagent SystemsExploiting the Environment: An Example

  23. Situated Multiagent SystemsExploiting the Environment: An Example

  24. Situated Multiagent SystemsExploiting the Environment: An Example

  25. Reference ArchitectureExploiting the environment: an example • 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 ArchitectureExploiting the Environment: An Example Result: full complexity in the agents

  27. Reference ArchitectureExploiting the environment: an example • 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 Application environment in the AGV transportation system

  29. Exploiting the Environment: An Example Collision Avoidance

  30. Reference ArchitectureExploiting the environment: an example • Advantages of exploiting the environment to coordinate agents (1) • Avoid complex agents by splitting up responsibilities • Agents are responsible for projecting/removing hulls • Application environment is responsible for determining which AGV can drive on

  31. Reference ArchitectureExploiting the environment: an example • Advantages of exploiting the environment to coordinate agents (2) • Flexibility and openness • AGVs can dynamically remove hull and select alternative route • Application environment takes into account AGVs that enter/leave collision range

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

  33. Reference ArchitectureAdvanced Mechanisms for Adaptability • We have developed an integrated architecture for situated agents • Integrates set of advanced mechanisms for adaptability • Selective perception • Protocol-based communication • Roles and situated commitments

  34. Reference ArchitectureAdvanced Mechanisms for Adaptability

  35. Roles and situated commitments Endow situated agents with abilities for explicit social interaction Role Coherent part of functionality in context of an organization Situated Commitment Engagement to give preference to the actions in a particular role Driven by conditions in the environment in which the agents are situated Reference ArchitectureAdvanced Mechanism for Adaptability

  36. Reference ArchitectureRoles and Situated Commitments

  37. Reference ArchitectureRoles and Situated Commitments

  38. Reference ArchitectureRoles and Situated Commitments

  39. Reference ArchitectureRoles and Situated Commitments

  40. Reference ArchitectureRoles and Situated Commitments

  41. Reference ArchitectureRoles and Situated Commitments

  42. Building blocks for social organization Enable agents to set up collaborations Social interaction is driven by the context in which agents are situated Agents flexibly adapt their behavior with changing circumstances in the environment Reference ArchitectureRoles and Situated Commitments

  43. Outline • Architecture-Centric Software Engineering • Reference Architecture for Situated Multiagent Systems • Conclusions • Summary of Contributions • Lessons Learned for Applying Agents in Industry • Future Work

  44. Reference architecture for situated multiagent systems Contributions Problem characteristics: • Dynamism andchange • Locality of activity • Qualitygoals (flexibility, openness) • Promising perspective on software engineering with multiagent systems Architecture-centric software engineering Additional architectural approaches Software Architecture

  45. Contributions • Reference architecture for situated multiagent systems • Environment as first-class design abstraction • Set of advanced mechanisms for adaptability • Selective perception • Roles and situated commitments • Protocol-based communication

  46. Lessons Learned • Motivations to choose for a multiagent system • Problem characteristics • Quality requirements • Integration with legacy • Gradual integration • Evaluation • Software architecture for qualities • Simulation for functionality

  47. Future Research • Disciplined approach for architectural design with a reference architecture • Connection software architecture and multiagent systems • Robustness, scalability • Patterns for distribution • Crosscutting concerns • Scientific foundation for verifying global behavior

  48. A key for industrial adoption of multiagent systems Closing Reflection • Situated agency has been studied and applied for two decades • Reference architecture reifies our expertise that is founded on rich tradition • Reference architecture demonstrates how MAS can be integrated with mainstream software engineering practice

More Related