Title: Software Self-Adaptation
1Software 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- Introduction
- Why change? causes
- Change what? effects
- Choices, choices
- Are we there yet?
3- 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 (Moores law)
1 Robertson, P., Laddaga, R. and Shrobe, H.,
Introduction The First International Workshop on
Self-Adaptive Software, Oxford UK 2000
4Change drives adaptation
- Self-adaptation
- self-healing
- self-optimizing
- Causes of change
- requirements
- faults
- resources
not trivial !
5Change drives adaptation
- Causes of change
- requirements
- faults
- resources
- Self-adaptation
- self-healing
- self-optimizing
6Different focus based on change handled
7- What is a resource?
- simple, i.e. CPU, energy, network bandwidth
- service, i.e. speech recognition
- composite service, i.e. speech-to-speech
8Effects of change
- Software parameters (fidelity)
- Algorithms, switch the executing code
- redeployment of components
- Use of resources
- Services
9different models mechanisms,
10(No Transcript)
11feedback 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- Control loop for self- systems
Autonomic Computing An architectural blueprint
for autonomic computing, IBM, June 2006 (Fourth
Ed.).
13Adaptation at different levels
Autonomic Computing An architectural blueprint
for autonomic computing, IBM, June 2006 (Fourth
Ed.).
14- 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- 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(No Transcript)
17- 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- Model of the system
- Contained within each runtime component,
autonomous Georgiadis, 2002
19(No Transcript)
20- 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- 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(No Transcript)
23- 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- Managing multiple users
- Microeconomics/centralized auction
protocolCapra,2003 - everybody wins! Maximize the sum of bids received
- Microeconomics/distributed congestion
pricingNeugebauer,2000 - each user is charged depending on the scarcity
of the resource requested
25- 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.
- Many promising approaches exist, bringing tools
from control theory, biology, economics, utility
theory, artificial intelligence, etc.
26- Question
- Who, what, when, adapts the adapting mechanisms?
27- Thank You !!!
- Questions ???