9. “... a software system self-adaptive if
modifies its own behavior in response to ...”
[*] Oreizy, P., Gorlick, M.M., Taylor, R.N., Heimbigner, D., Johnson, G., Medvidovic, N.,
Quilici, A., Rosenblum, D.S., Wolf, A.L.: An architecture-based approach to self-
adaptive software. Intelligent Systems and their Applications 14(3), 54–62 (1999)
[*] Robertson, P., Shrobe, H.E., Laddaga, R.: Introduction to self-adaptive software:
Applications. In: Robertson, P., Shrobe, H.E., Laddaga, R. (eds.) IWSAS. LNCS, vol.
1936, pp. 1–5. Springer (2001)
[*] Self-Adaptive Software: Landscape and Research Challenges, Mazeiar Salehie,
Ladan Tahvildari, ACM Transactions on Autonomous and Adaptive Systems 4, 2.
11. IS THIS ADAPTATION?
“if the hill is too steep then
assemble with other robots and try again”
12. is obstacle avoidance adaptation?
“Obstacle avoidance may count as adaptive
behaviour if […] obstacles appear rarely. [...]
If the ‘normal’ environment is […] obstacle-rich,
then avoidance becomes [...] “normal” behaviour
rather than an adaptation.”
- Ezequiel di Paolo, course on “Adaptive Systems”,
University of Sussex, Spring 2006.
15. WHAT IS A PROGRAM?
“program = control + data”
- Niklaus Wirth, “Algorithms + Data Structures = Programs”,
Prentice-Hall (1976)
16. WHAT IS AN ADAPTABLE PROGRAM?
“adaptable program =
control + data
17. WHAT IS AN ADAPTABLE PROGRAM?
“adaptable program =
control + data
control data + the rest ”
18.
19.
20.
21. WHAT IS AN ADAPTABLE PROGRAM?
CONTROL DATA OTHER DATA
CONTROL
“adaptation is the run-time
modification of control data”
22. AUTONOMIC MANAGER
Analyze Plan
Monitor Knowledge Execute
EFFECTOR
MANAGED ELEMENT
CONTROL
DATA
23. A PROGRAM IS...
“...adaptable if it has a distinguished collection of CD
that can be modified at runtime.”
“...adaptive if its control data is modified at runtime
for some computation.”
“...self-adaptive if it modifies its own control data at
runtime.”
24. EXAMPLES OF CONTROL DATA
plans
aspects
rules
contexts
configuration policies
variables programs
CONTROL DATA
25. “an excellent discussion of
the precise meaning of the
term adaptive software.”
- Carlo Ghezzi, Evolution, Adaptation, and the
Quest for Incrementality, LNCS 7539/2012,
26. 1 White box adaptation
2 Russian dolls & robots
3 Adaptable transition systems
31. SELF-AWARENESS
“self-awareness means manager
that the system is aware of
its self states
and behaviors. ” state rules
- M.G. Hinchey, et al, “Self-managing software”.
IEEE Computer 39(2) 107–109, 2006.
interpreter
(white-box component)
33. % of robots crossing the hole
0.9
0.8
0.7
0.6
0.5
0.4
0.3 any shape
0.2
anyshape, no double-grip
line
0.1
quasi-orthogonal line
0
0 3 6 9
number of robots in the scenario
34. 1 White box adaptation
2 Russian dolls & robots
3 Adaptable transition systems