320 likes | 549 Views
Multi-agent systems and software engineering for self-adaptive systems Danny Weyns Katholieke Universiteit Leuven, Belgium Dagstuhl Seminar on Software Engineering for Self-Adaptive Systems January 14-18, 2008. Outline. Multi-agent systems and software architecture Multi-agent systems (MAS)
E N D
Multi-agent systems and software engineering for self-adaptive systemsDanny WeynsKatholieke Universiteit Leuven, BelgiumDagstuhl Seminar on Software Engineering for Self-Adaptive SystemsJanuary 14-18, 2008
Outline • Multi-agent systems and software architecture • Multi-agent systems (MAS) • Architecture-centric perspective on MAS • MAS and self-adaptation • Current research • Self-healing as a separate concern Conclusions
Multi-agent systems • What is an agent? • A computer system situated in some environment that is capable of autonomous actions in the environment in order to achieve its design objectives1 • What is a MAS? • A set of interacting agents • Example application areas • E-business • Logistics, manufacturing control • Intelligent traffic systems 1 Wooldridge M. Agent-based software engineering. Software Engineering 144, 1997
Multi-agent systems • 1980-1995: focus on single agent architectures • Knowledge-oriented • Knowledge representation & rational choice • E.g., Believe-Desire-Intention1 • Interaction-oriented • Direct coupling of perception to action • Modularization of behavior • E.g., subsumption architecture2 1Rao and M. Georgeff. BDI Agents: From Theory to Practice. 1st International Conference on Multiagent Systems, MIT Press, 1995 2Brooks, A Robust Layered Control System For A Mobile Robot, Journal Of Robotics And Automation, RA-2, 1986
Multi-agent systems • From 1995s: shift to “the collective” • Knowledge-oriented approaches • Social attitudes (task sharing, mutual commitments, etc.) • Negotiation, argumentation1, trust • Coordination infrastructures (e.g., e-institutions) • Learning in MAS • Interaction-oriented approaches • Bio-inspired2 (digital pheromones, fields, …) 1Parsons, Sierra, Jennings. Agents that Reason and Negotiate by Arguing, Journal of Logic and Computation 8(3), 1998 2Parunak, Go to the ant: Engineering principles from natural multi-agent systems, Journal Annals of Operations Research 75, Springer, 1997
Multi-agent systems • Software engineering of multi-agent systems • Numerous dedicated methodologies1 • Some partial, some covering whole life-cycle • Dedicated specification languages • Focus on knowledge-oriented approaches • Agent-oriented programming languages • Programming agents’ mental attitudes and decision making2 1Bergenti, Gleizes, Zambonelli, Methodologies and Software Engineering for Agent Systems, Springer, 2004 2Dastani, de Boer, Dignum, Meyer, Programming Agent Deliberation: An Approach Illustrated Using the 3APL Language, International Conference on Autonomous Agents and Multiagent Systems, 2003
Outline • Multi-agent systems and software architecture • Multi-agent systems (MAS) • Architecture-centric perspective on MAS • MAS and self-adaptation • Current research • Self-healing as a separate concern Conclusions
Architecture-centric perspective on MAS • Multi-agent systems as a particular family of software systems • <> new paradigm to engineer software systems • Specific way to structure software system Agents MAS-specific Coordination infrastructure Common infrastructure Common middleware services, distributed middleware, host infrastructure
Architecture-centric perspective on MAS • Useful • For systems with particular characteristics • Inherent distribution of resources • Highly dynamic operating conditions • To achieve particular quality attributes • Flexibility, openness, robustness, scalability • Number of tradeoffs, e.g., • Decentralized control makes predictability harder • Communication cost • To build up know-how in terms of reusable architectural patterns
Outline • Multi-agent systems and software architecture • Multi-agent systems (MAS) • Architecture-centric perspective on MAS • MAS and self-adaptation • Current research • Self-healing as a separate concern Conclusions
MAS and self-adaptation • Agents can flexibly adapt their behavior to changing operating conditions • Changes in the system and its environment • Agents that enter/leave the system • Coordination infrastructure • Allows agents to share information and coordinate their behavior • Embed application-specific rules/laws to regulate agents’ actions and interactions
MAS and self-adaptationExample from our practice1 1 Weyns, Schelfthout, Holvoet, T. Lefever, Decentralized control of E'GV transportation systems, International Conference on Autonomous Agents and Multiagent Systems, 2005
MAS and self-adaptation Adaptive behavior in AGV transportation system
Self-adaptation in AGV application Field-based task assignment
Self-adaptation in AGV application • Separation of functionalities • Agents follow gradient of field • Coordination infrastructure manages field spreading • Flexibility and openness • Fields adapt when context changes • Adding/removing field when agent enters/leaves system • Robustness to message loss • Refresh fields delayed (graceful degradation)
Outline • Multi-agent systems and software architecture • Multi-agent systems (MAS) • Architecture-centric perspective on MAS • MAS and self-adaptation • Current research • Self-healing as a separate concern Conclusions
Self-healing as a separate concernIntelligent traffic application Haesevoets, Van Eylen, Weyns, Helleboogh, Holvoet, Joosen, Context-Driven Dynamic Organizations applied in Coordinated Monitoring of Traffic Jams, International conference on Engineering Environment-Mediated Multi-Agent Systems, 2007
System inconsistencies Self-healing as a solution
Self-healing as a separate concern Self-Healing Subsystem <self-healing scenarios> … </self-healing scenarios> Self-Healing Manager Abstraction Layer Key control component monitor data flow Main System scenario
Scenarios Self-Healing Subsystem <self-healing scenarios> … </self-healing scenarios> Self-Healing Manager Abstraction Layer control monitor Main System Fault Model
Self-Healing Subsystem <self-healing scenarios> … </self-healing scenarios> Self-Healing Manager Abstraction Layer Relevant Abstraction control monitor Main System
Self-Healing Subsystem <self-healing scenarios> … </self-healing scenarios> Self-Healing Manager Abstraction Layer ? ? Joint point model? Main System
High-Level Control Self-Healing Subsystem <self-healing scenarios> … </self-healing scenarios> Self-Healing Manager Abstraction Layer control monitor Main System
Distribution Self-Healing Subsystem <self-healing scenarios> … </self-healing scenarios> Self-Healing Manager Abstraction Layer control monitor Main System
Outline • Multi-agent systems and software architecture • Multi-agent systems (MAS) • Architecture-centric perspective on MAS • MAS and self-adaptation • Current research • Self-healing as a separate concern Conclusions
Conclusions • MAS research has developed a wide body of knowledge for self-adapting systems • Need for integration of the know-how with mainstream software engineering • Architecture is a key enabler • Self-adaptation with MAS vs. self-healing as a separate concern • Future research in 2 projects (Traffic and Logistics)