Upload
alberto-lluch-lafuente
View
245
Download
0
Embed Size (px)
Citation preview
WHITE BOX ADAPTATION-- Roberto Bruni, UNIPI
-- Andrea Corradini, UNIPI
-- Fabio Gadducci, UNIPI
-- Alberto Lluch Lafuente, IMT
-- Andrea Vandin, IMT
´ ´
Andrea VandinIMT Lucca
Roberto BruniUniversity of Pisa
Andrea CorradiniUniversity of Pisa
Fabio GadducciUniversity of Pisa
What isADAPTATION?
Russian dolls & robots
Adaptable transition systems
White box adaptation1
2
3
OUTLINE
1
2
3
A conceptual framework for adaptation [FASE 2012]
Modelling and Analyzing Adaptive Self-assembly Strategies with Maude [WRLA 2012]
Adaptable Transition Systems [WADT 2012]
OUTLINE
Russian dolls & robots
Adaptable transition systems
White box adaptation1
2
3
OUTLINE
What isAdaptation?
Lotfi A. Zadeh,Proc. IEEE, 1963
“... 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.
...if p(x) thendo_this;
elsedo_that;
endif...
IS THIS ADAPTATION?
“if the hill is too steep then assemble with other robots and try again”
IS THIS 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.
is obstacle avoidance adaptation?
BLACK-BOX ADAPTATION
White boxadaptation
“program = control + data”
- Niklaus Wirth, “Algorithms + Data Structures = Programs”,Prentice-Hall (1976)
WHAT IS A PROGRAM?
“adaptable program = control + data
WHAT IS AN ADAPTABLE PROGRAM?
“adaptable program = control + data
control data + the rest ”
WHAT IS AN ADAPTABLE PROGRAM?
CONTROL
OTHER DATA
“adaptation is the run-time modification of control data”
WHAT IS AN ADAPTABLE PROGRAM?
CONTROL DATA
Monitor ExecuteKnowledge
Analyze Plan
AUTONOMIC MANAGER
CONTROLDATA
EFFECTORMANAGED ELEMENT
“...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.”
A PROGRAM IS...
CONTROL DATA
configuration variables programs
aspects
contexts
policies
rules
EXAMPLES OF CONTROL DATA
plans
“an excellent discussion of the precise meaning of the term adaptive software.”
- Carlo Ghezzi, Evolution, Adaptation, and the
Quest for Incrementality, LNCS 7539/2012,
Russian dolls & robots
Adaptable transition systems
White box adaptation1
2
3
“if the hill is too steep then assemble with other robots and try again”
SELF-ASSEMBLING ROBOTS
- J. Meseguer et al., “Semantic models for distributed object reflection”, ECOOP 2002, LNCS 2374. Springer, 1–36.
RRDs IN A NUTSHELL
Nested configurationsof interacting objects
Reflection (meta-programming)
state rules
interpreter
state rules
manager
REFLECTIVE COMPONENTS
interpreter
state rules
manager
(white-box component)
“self-awareness means that the system is aware of its self states and behaviors. ”
- M.G. Hinchey, et al, “Self-managing software”. IEEE Computer 39(2) 107–109, 2006.
SELF-AWARENESS
0 3 6 90
0.2
0.4
0.6
0.8
1
Specification in Maude
Statistical Model Checking
0 3 6 90
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
any shapeanyshape, no double-griplinequasi-orthogonal line
% of robots crossing the hole
number of robots in the scenario
Russian dolls & robots
Adaptable transition systems
White box adaptation1
2
3
D{}[t] D{}[tt]
U{}[] U{}[t] U{}[tt]
U{t}[] U{t}[t]
task?
down!
finish!finish!
up!up!
task?
schedule! schedule!
task? task?
D{}[]
task?
D{}[] D{}[t] D{}[tt]
U{}[] U{}[t] U{}[tt]
U{t}[] U{t}[t]
task?
finish!finish!
task?
schedule! schedule!
task? task?Is it self
adaptive?
down! up!up!
task?
D{}[] D{}[t] D{}[tt]
U{}[] U{}[t] U{}[tt]
U{t}[] U{t}[t]
task?
finish!finish!
task?
schedule! schedule!
task? task?
down! up!up!
task?
D{}[] D{}[t] D{}[tt]
U{}[] U{}[t] U{}[tt]
U{t}[] U{t}[t]
task?
finish!finish!
task?
schedule! schedule!
task? task?
down! up!up!
task?
D{}[] D{}[t] D{}[tt]
U{}[] U{}[t] U{}[tt]
U{t}[] U{t}[t]
task?
finish!finish!
task?
schedule! schedule!
task? task?
down! up!up!
B8= 4,140 different
interpretations!
task?
AdaptableInterfaceautomata
task?
finish!finish!
task?
schedule! schedule!
task? task?
down! up!up!
IA = Automata + Interface (i/o distinction)
task
task?
finish!finish!
task?
schedule! schedule!
task? task?
down! up!up!
IA = Automata + Interface (i/o distinction)
task?
task?
finish!finish!
task?
schedule! schedule!
task? task?
down! up!up!
task?
AIA = IA + control propositions (colors)
task?
finish!finish!
task?
schedule! schedule!
task? task?
down! up!up!
AIA = IA + control propositions (colors)task?
Now what?
Monitor ExecuteKnowledge
Analyze Plan
AUTONOMIC MANAGER
MANAGED COMPONENT
D{}[] D{}[t] D{}[tt]
U{}[] U{}[t] U{}[tt]
U{t}[] U{t}[t]
task?
finish!finish!
task?
schedule! schedule!
task? task?
down! up!up!
task?
some behavioural relation
i.e. normal output actions become inputsi.e. M “listens” outputs of B
D{}[] D{}[t] D{}[tt]
U{}[] U{}[t] U{}[tt]
U{t}[] U{t}[t]
task?
finish!finish?
task?
schedule! schedule!
task? task?
down! up!up!
task?
D{}[] D{}[t] D{}[tt]
U{}[] U{}[t] U{}[tt]
U{t}[] U{t}[t]
task?
finish?finish?
task?
schedule? schedule?
task? task?
down! up!up!
task?
i.e. control output actions become inputsi.e. B “obeys” outputs of M
D{}[] D{}[t] D{}[tt]
U{}[] U{}[t] U{}[tt]
U{t}[] U{t}[t]
task?
finish!finish!
task?
schedule! schedule!
task? task?
down! up!up!
task?
D{}[] D{}[t] D{}[tt]
U{}[] U{}[t] U{}[tt]
U{t}[] U{t}[t]
task?
finish!finish!
task?
schedule! schedule!
task? task?
down? up?up?
task?
ISO(for deterministic AIA)
Beyondisomorhism
i.e. control output actions become inputsi.e. B “obeys” outputs of M
i.e. collapse transitions labelled with Bi.e. M “ignores” B-moves
D{}[] D{}[t] D{}[tt]
U{}[] U{}[t] U{}[tt]
U{t}[] U{t}[t]
task?
finish?finish?
task?
schedule? schedule?
task? task?
down! up!up!
task?
D{}[] D{}[t] D{}[tt]
U{}[] U{}[t] U{}[tt]
task?
finish?finish?
task?
task? task?
alternating simulation
(for deterministic IA)
D{}[] D{}[t] D{}[tt]
U{}[] U{}[t] U{}[tt]
U{t}[] U{t}[t]
task?
finish!finish!
task?
schedule! schedule!
task? task?
down? up!up?
task?
Russian dolls & robots
Adaptable transition systems
White box adaptation1
2
3
Study cina's adaptation
Apply our ideas to scel
Keep working on what we saw1
2
3