Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Self-Adaptation A survey of the field “Self-adaptive software evaluates its own behavior and changes behavior when the evaluation indicates it.

Similar presentations


Presentation on theme: "Software Self-Adaptation A survey of the field “Self-adaptive software evaluates its own behavior and changes behavior when the evaluation indicates it."— Presentation transcript:

1 Software Self-Adaptation A survey of the field “Self-adaptive software evaluates its own behavior and changes behavior when the evaluation indicates it is not accomplishing what the software is intended to do, or when better functionality or performance is possible”. - DARPA Broad Agency Announcement 98/12 - Advisor: Prof. J.P. Sousa Student: Nikolaos Abatzis SWE796 – Spring 2008

2 SWE 796 - Spring ‘082  Introduction  Why change? causes  Change what? effects  Choices, choices …  Are we there yet?

3 SWE 796 - Spring ‘083 need for runtime change  timescale for change  complexity  mobility - we must take account of the environment (embedded systems are majority of systems around ~98%) 1 enabler for change  capability (Moore’s law) 1 Robertson, P., Laddaga, R. and Shrobe, H., Introduction: The First International Workshop on Self- Adaptive Software, Oxford UK 2000

4 SWE 796 - Spring ‘084 Change drives adaptation Causes of change requirements faults resources Self-adaptation self-healing self-optimizing not trivial !

5 SWE 796 - Spring ‘085 Change drives adaptation Causes of change requirements faults resources Self-adaptation self-healing self-optimizing

6 SWE 796 - Spring ‘086 Different focus based on change handled

7 SWE 796 - Spring ‘087  What is a resource? “simple”, i.e. CPU, energy, network bandwidth service, i.e. speech recognition composite service, i.e. speech-to-speech

8 SWE 796 - Spring ‘088 Effects of change  Software parameters (fidelity)  Algorithms, switch the executing code  redeployment of components  Use of resources  Services

9 SWE 796 - Spring ‘089 different models & mechanisms,

10 SWE 796 - Spring ‘0810

11 SWE 796 - Spring ‘0811 process control loops feedback loop Shaw, M., Beyond Objects: A software design paradigm based on process control, in ACM Software Engineering notes, 20(1), January 1995, 27-38

12 SWE 796 - Spring ‘0812 Control loop for self-* systems Autonomic Computing: An architectural blueprint for autonomic computing, IBM, June 2006 (Fourth Ed.).

13 SWE 796 - Spring ‘0813 Adaptation at different levels Autonomic Computing: An architectural blueprint for autonomic computing, IBM, June 2006 (Fourth Ed.).

14 SWE 796 - Spring ‘0814 architecture-based self-adaptation  Model composed of components & connectors Specific to C2, Weaves [Oreizy+, 1999] Architecture is generic, reusable adaptation mechanism [Garlan+, 2004]  Mechanisms for adaptation based on Knowledge, potential to adapt the mechanism itself [Georgas+, 2004] Self-adaptation language, Stitch [Cheng+, 2007] Hierarchical parallel finite state machines (HFSM) [Karsai+, 2001]

15 SWE 796 - Spring ‘0815 architecture of self-adaptation  peer-to-peer, aggregator-escalator-peer, Chain-of-configurators (Chain-of- responsibility pattern, Visitor pattern) [Hawthorn+, 2005]  Evaluation using ABAS [Neti+, 2007]

16 SWE 796 - Spring ‘0816

17 SWE 796 - Spring ‘0817 No model of the system per se  Agent transfers internal state, Port- Based agents [Dixon+,2000]  Use an adaptation automaton to map old process states to new states [Biyani+,2007]  Agents dynamically change commitments which puts them in specific roles, situated (in an environment) multiagent systems (MAS) [Weyns+,2007]

18 SWE 796 - Spring ‘0818 Model of the system  Contained within each runtime component, autonomous [Georgiadis+, 2002]

19 SWE 796 - Spring ‘0819

20 SWE 796 - Spring ‘0820 search solutions – random & centralized control  population-based model  Mechanisms: crossover, mutation, selection, fitness  Genetic algorithms [Whitley, 1994]. Genetic programming, use algorithms to generate programs! [Poli+,2008]  Evolution platform – AVIDA [Golsby+,2007] Generate state diagrams for processing components

21 SWE 796 - Spring ‘0821 compose a solution, distributed  Cell inspired no specific model simple “instructions” local communication  Cell automata [George+, 2002] shows self-healing, very low-level  Cell inspired agents [Nagpal+, 2003] Self-assembly, computational synthesis

22 SWE 796 - Spring ‘0822

23 SWE 796 - Spring ‘0823  Managing a resource at the O/S level conserve energy by adapting the fidelity of the data presented to an application (Odyssey)[Flinn+,1999]  Managing multiple resources Maximize a utility function for a user executing one or more tasks given available resources and their QoS, Environment Manager – Aura [Sousa+,2003] Choice of runtime execution platform, given bandwidth, CPU, memory and energy considerations, tactics – Chroma [Balan+,2003]

24 SWE 796 - Spring ‘0824  Managing multiple users Microeconomics/centralized – auction protocol[Capra+,2003]  everybody wins! Maximize the sum of bids received Microeconomics/distributed – congestion pricing[Neugebauer+,2000]  each user is charged depending on the “scarcity” of the resource requested

25 SWE 796 - Spring ‘0825  Many promising approaches exist, bringing tools from control theory, biology, economics, utility theory, artificial intelligence, etc. Causes of change requirements faults resources Self-adaptation self-healing self-optimizing  System complexity, environment, embedded systems have to deal with change. They need to adapt to it.  Adapting topology, resource usage, fidelity. No on-the-fly application modification, not yet anyways.

26 SWE 796 - Spring ‘0826 Question: Who, what, when, adapts the adapting mechanisms?

27 SWE 796 - Spring ‘0827 Thank You !!! Questions ???


Download ppt "Software Self-Adaptation A survey of the field “Self-adaptive software evaluates its own behavior and changes behavior when the evaluation indicates it."

Similar presentations


Ads by Google