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
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”. - PowerPoint PPT Presentation
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
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
SWE 796 - Spring ‘08 2
Introduction Why change? causes Change what? effects Choices, choices … Are we there yet?
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
SWE 796 - Spring ‘08 4
Change drives adaptation
Causes of change
•requirements
•faults
•resources
Self-adaptation
•self-healing
•self-optimizing
not trivial !
SWE 796 - Spring ‘08 5
Change drives adaptation
Causes of change
•requirements
•faults
•resources
Self-adaptation
•self-healing
•self-optimizing
SWE 796 - Spring ‘08 6
Different focus based on change handled
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
SWE 796 - Spring ‘08 8
Effects of change
Software parameters (fidelity) Algorithms, switch the executing code redeployment of components Use of resources Services
SWE 796 - Spring ‘08 9
different models & mechanisms,
SWE 796 - Spring ‘08 10
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
SWE 796 - Spring ‘08 12
Control loop for self-* systems
Autonomic Computing: An architectural blueprint for autonomic computing, IBM, June 2006 (Fourth Ed.).
SWE 796 - Spring ‘08 13
Adaptation at different levels
Autonomic Computing: An architectural blueprint for autonomic computing, IBM, June 2006 (Fourth Ed.).
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]