Self-adaptive and dynamic systems adapt their behavior according to the context of execution. The contextual information exhibits multiple variability factors which induce many possible configurations of the software system at runtime. The challenge is to specify the adaptation rules that can link the dynamic variability of the context with the possible variants of the system. Our work investigates the systematic use of feature models for modeling the context and the software variants, together with their inter relations, as a way to configure the adaptive system with respect to a particular context. A case study in the domain of video surveillance systems is used to illustrate the approach.
Modeling Context and Dynamic Adaptations with Feature Models
1. Modeling Context and Dynamic Adaptations
with Feature Models
1 1 2 1 3 3
Mathieu Acher , Philippe Collet , Franck Fleurey , Philippe Lahire , Sabine Moisan , and Jean-Paul Rigault
1 2 3
University of Nice Sophia Antipolis, CNRS, France SINTEF, Oslo, Norway INRIA Sophia Antipolis Mediterranée, France,
{acher,collet,lahire}@i3s.unice.fr franck.fleurey@sintef.no {moisan,jpr}@sophia.inria.fr
Problem Statement DSML Approach
o Dynamic Adaptive Systems (DAS) are software systems o Consider DAS as a Software Product Line (SPL)
which have to dynamically adapt their behavior in order From common assets, different programs of a domain can be assembled
to cope with a changing environment. o Variants
o Model also the context as an SPL
o Constraints
o Issues:
o Context VariantConstraint -dependency
o Large number of software configurations VariabilityModel
o Rules 0..1
o Large number of contexts 0..* -context
0..*
-dimension Dimension
1..1 -variant Variant
-upper : Integer
Variable
Video Surveillance Case Study -property
0..* -lower : Integer -type 0..*
Variants 0..* -property -propertyValue 0..*
SPL of SPL of SPL of Frame to SPL of Task -property
Frame Analysis Dependent BooleanVariable Property PropertyValue
Segmentation Classification
-direction : Integer 1..1 -value : Integer
PropertyPriority 1..1
0..* -rule -priority : Integer -property
Base -available
Frame to Frame Task EnumVariable Rule ContextConstraint 0..1
Acquisition Segmentation Classification Dependent -priority 0..* -context
Analysis
-required
1..1 0..1
Revisiting the Approach with Feature Models
Modeling Software Variants Configurations@run.time
And-Group Xor-Group
VSSystem initial context initial system
Optional VSContext VSSystem
Or-Group
Mandatory
Scene Segmentation
Segmentation Classification LightingAnalyses TraversalAlgorithm
LightingConditions
Acquisition threshold: integer
GridStep
NaturalLight
WithMask
ArtificialLight
Contour Density Model HeadlightDetect WithWindow
TraversalAlgorithm KernelFunction Outdoors KernelFunction
Indoors Edge
TimeOfDay 1 Region
Night ShadowElimination
WithWindow GridStep Color Grey Edge Region Ellipse Parallelepiped Omega Classification
Day
Density
GridStep or WithWindow excludes Edge (C1) LightingNoise
Contour
GridStep excludes Ellipse (C2) Flashes LightingAnalysis
Edge excludes Density (C3) 2 Shadows DetectRapidChanges
HeadLight
Modeling Context HeadLightDetection
new context SPL after reconfiguration
VSContext VSContext VSSystem
Scene Segmentation
Scene
ObjectOfInterest LightingConditions TraversalAlgorithm
GridStep
Camera NaturalLight WithMask
LightingConditions ArtificialLight
WithWindow
Resolution DepthOfField Outdoors KernelFunction
Sort
NaturalLight Indoors Edge
TimeOfDay 3 Region
ArtificialLight Outdoors Indoors Vehicle Person Night ShadowElimination
Classification
LightingNoise TimeOfDay
Day Density
{flashes,headlight,shadows}: enum {night, day}: enum LightingNoise Contour
Flashes LightingAnalysis
Modeling Adaptation Shadows DetectRapidChanges
HeadLight HeadLightDetection
Night and HeadLight implies HeadLightDetection (AR0)
not LightingNoise implies Region (AR1) 1 Initial deployment: configuration of the system from the context
LightingNoise implies Edge (AR2)
ArtificialLight implies DetectRapidChanges (AR3) 2 Dynamic update of the context happens
Flashes or HeadLight implies Contour (AR4) 3 Dynamic reconfiguration of the system from the updated context
Results Future Work
o The concept of configuration is naturally present and defined by the o Leverage the expressiveness of FMs (e.g. attributes).
semantics of FM.
o Achieve an automatic translation between DSML and FMs.
o Uniform representation of the context model and the software system
makes possible to express relations between the two models. o Update automatically contextual information.
o DSML and FM-based approaches can complement each other. o Connect state-of-the-art adaption engines to our models.