Top Banner
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
27

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

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Software Self-Adaptation A survey of the field “Self-adaptive software evaluates its own behavior and changes behavior when the evaluation indicates it.

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. SousaStudent: Nikolaos AbatzisSWE796 – Spring 2008

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

SWE 796 - Spring ‘08 2

Introduction Why change? causes Change what? effects Choices, choices … Are we there yet?

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

SWE 796 - Spring ‘08 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 (Moore’s law)

1 Robertson, P., Laddaga, R. and Shrobe, H., Introduction: The First International Workshop on Self-Adaptive Software, Oxford UK 2000

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

SWE 796 - Spring ‘08 4

Change drives adaptation

Causes of change

•requirements

•faults

•resources

Self-adaptation

•self-healing

•self-optimizing

not trivial !

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

SWE 796 - Spring ‘08 5

Change drives adaptation

Causes of change

•requirements

•faults

•resources

Self-adaptation

•self-healing

•self-optimizing

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

SWE 796 - Spring ‘08 6

Different focus based on change handled

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

SWE 796 - Spring ‘08 7

What is a resource? “simple”, i.e. CPU, energy, network

bandwidth service, i.e. speech recognition composite service, i.e. speech-to-speech

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

SWE 796 - Spring ‘08 8

Effects of change

Software parameters (fidelity) Algorithms, switch the executing code redeployment of components Use of resources Services

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

SWE 796 - Spring ‘08 9

different models & mechanisms,

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

SWE 796 - Spring ‘08 10

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

SWE 796 - Spring ‘08 11

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

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

SWE 796 - Spring ‘08 12

Control loop for self-* systems

Autonomic Computing: An architectural blueprint for autonomic computing, IBM, June 2006 (Fourth Ed.).

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

SWE 796 - Spring ‘08 13

Adaptation at different levels

Autonomic Computing: An architectural blueprint for autonomic computing, IBM, June 2006 (Fourth Ed.).

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

SWE 796 - Spring ‘08 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]

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

SWE 796 - Spring ‘08 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]

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

SWE 796 - Spring ‘08 16

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

SWE 796 - Spring ‘08 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]

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

SWE 796 - Spring ‘08 18

Model of the system Contained within each runtime

component, autonomous [Georgiadis+, 2002]

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

SWE 796 - Spring ‘08 19

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

SWE 796 - Spring ‘08 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

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

SWE 796 - Spring ‘08 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

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

SWE 796 - Spring ‘08 22

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

SWE 796 - Spring ‘08 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]

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

SWE 796 - Spring ‘08 24

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

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

SWE 796 - Spring ‘08 25

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.

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

SWE 796 - Spring ‘08 26

Question: Who, what, when, adapts the adapting

mechanisms?

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

SWE 796 - Spring ‘08 27

Thank You !!!

Questions ???