2. Validation of
reasoning engines and
adaptation mechanisms for
self-adaptive systems
Freddy Munoz
Rennes, France — 29 september 2010
mercredi 13 octobre 2010
8. What if the system
makes the wrong
decision?
8
mercredi 13 octobre 2010
9. What if the system
fails to adapt?
9
mercredi 13 octobre 2010
10. [image] what if a new device is introduced an the
system
decides to load a conflictive driver, the heating device
get crazy, enables full heating to compensate the wrong
driver, and burns the house down
10
A wrong decision
mercredi 13 octobre 2010
17. Rule based, Goal based,
cost function, etc.
12
Adaptation Mechanism
Running Platform
mercredi 13 octobre 2010
18. Rule based, Goal based,
cost function, etc.
AOP, Model Based,
Component based, etc.
12
Running Platform
mercredi 13 octobre 2010
19. Rule based, Goal based,
cost function, etc.
AOP, Model Based,
Component based, etc.
Component platform,
reflective java, etc.
12
mercredi 13 octobre 2010
30. rule "R1: platform windows-reserve"
when
Platform( id == Platform.WINDOWS
or
id == Platform.MAC )
UseType( type == UseType.RESERVE )
then
ORACLEClient.setActive(true);
end
21
mercredi 13 octobre 2010
31. rule "R2: security-protocol transition"
when
$currentServices : Services( available contains
Services.GOOGLE )
Services( this before $currentServices,
selected contains Services.EXCHANGE)
$currentSecurity : Security( level == Security.HIGH )
Security( this before $currentSecurity, level ==
Security.LOW )
then
TLSProtocol.setActive(true);
end
22
mercredi 13 octobre 2010
92. Memory level
Security level
Connection
speed
Low High
Low Med
Slow Fast
Low
High
Slow
Low
Low High
High
Fast Fast
Intra-variable Interactions 2 values
Inter-variable Interactions 2 variables
38
mercredi 13 octobre 2010
107. 52
rule "R1: platform windows-reserve"
! when
! ! Platform( id == Platform.WINDOWS
or
! ! ! ! id == Platform.MAC )
! ! UseType( type == UseType.RESERVE )
! then
! ! ORACLEClient.setActive(true);
end
mercredi 13 octobre 2010
127. 61
rule "R1: platform windows-reserve"
! when
! ! Platform( id == Platform.WINDOWS
or
! ! ! ! id == Platform.MAC )
! ! UseType( type == UseType.RESERVE )
! then
! ! ORACLEClient.setActive(true);
end
mercredi 13 octobre 2010
136. Inquiring the usage
of aspect-oriented
programming: an
empirical study
— ICSM’09
Vigilant usage of Aspects
ADI 09
Validation challenges in model
composition: The case of
adaptive systems —ChaMDE’08
Improving
Maintenance in
AOP Through
an Interaction
Specification
Framework
— ICSM’08
A framework for testing
model composition engines
— Software composition’08
Vidock: a Tool for Impact
Analysis of Aspect
Weaving on Test Cases
—ICTSS’08
International
Publications
mercredi 13 octobre 2010