Software Self-Adaptation - PowerPoint PPT Presentation

About This Presentation
Title:

Software Self-Adaptation

Description:

Adaptation at different levels ... Mechanisms for adaptation based on ... architecture of self-adaptation ... – PowerPoint PPT presentation

Number of Views:53
Avg rating:3.0/5.0
Slides: 28
Provided by: csG6
Learn more at: https://cs.gmu.edu
Category:

less

Transcript and Presenter's Notes

Title: Software Self-Adaptation


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
  • 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
4
Change drives adaptation
  • Self-adaptation
  • self-healing
  • self-optimizing
  • Causes of change
  • requirements
  • faults
  • resources

not trivial !
5
Change drives adaptation
  • Causes of change
  • requirements
  • faults
  • resources
  • Self-adaptation
  • self-healing
  • self-optimizing

6
Different 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

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

9
different models mechanisms,
10
(No Transcript)
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
12
  • Control loop for self- systems

Autonomic Computing An architectural blueprint
for autonomic computing, IBM, June 2006 (Fourth
Ed.).
13
Adaptation 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 ???
Write a Comment
User Comments (0)
About PowerShow.com