VICCI Visual and Interactive Cyber-Physical Systems Control and Integration Capturing Variability in...
-
Upload
tate-reder -
Category
Documents
-
view
214 -
download
0
Transcript of VICCI Visual and Interactive Cyber-Physical Systems Control and Integration Capturing Variability in...
VICCIVisual and Interactive Cyber-Physical Systems Control and Integration
Capturing Variability in Space and Timewith Hyper Feature Models
Christoph SeidlIna SchaeferUwe Aßmann
Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann 2
Background Software Ecosystems (SECOs) and Variability Formalization of Feature Models
Problem: No Variability in Time in Feature Models
Contributions Hyper Feature Models (HFMs) Version-Aware Constraint Language Automatic Version Selection
Conclusion: Capturing Variability in Space and Time with HFMs
Agenda
22.01.2014
Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann 3
Software Ecosystems (SECOs) Family of closely related software systems E.g., Eclipse, Android, ROS etc. Similar to SPLs, but…
Multiple contributors Frequent (unsynchronized) evolution of variable assets
Background
22.01.2014
Variability in Space Configuration Variant of system
Variability in Time Evolution Version of system
Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann
Running Example: TurtleBot Driver
422.01.2014
UltrasoundInfraredBump
[1..3]
DetectionWebservice
AutonomousGamepadKeyboard
[1..1]
MovementEngine
TurtleBot
Cross-Tree Constraints1. Autonomous ® Detection2. Keyboard Ú Gamepad ® Webservice
Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann
DetectionWebserviceMovementEngine
Definition 1: Feature Model
522.01.2014
UltrasoundInfraredBump
[1..3]
AutonomousGamepadKeyboard
[1..1]
TurtleBot[0..1][1..1]
Cross-Tree Constraints1. Autonomous ® Detection2. Keyboard Ú Gamepad ®
Webservice
Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann 6
Cross-Tree Constraints1. Autonomous ® Detection2. Keyboard Ú Gamepad ®
Webservice
Definition 2: Feature Model Semantics
22.01.2014
DetectionWebserviceMovementEngine
UltrasoundInfraredBump
[1..3]
AutonomousGamepadKeyboard
[1..1]
TurtleBot
Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann
Problem: No Variability in Time in Feature Models
722.01.2014
UltrasoundInfraredBump
[1..3]
DetectionWebservice
AutonomousGamepadKeyboard
[1..1]
MovementEngine
TurtleBot
Constraints caused by evolution (excerpt) iClebo Kobuki is incompatible with TurtleBot v1.0 iClebo Kobuki requires at least TurtleBot v2.0
Problem Feature model captures only variability in space Only exactly one version of variable asset in feature
model (no variability in time)
iRobot Create iClebo Kobuki v1.0 v2.0Evolution!Evolution!
Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann 8
Requirement 1Support for feature versions as units of configuration.
Requirement 2Specification of the relation of versions in logical development lines (i.e., predecessor and successor versions including branching).
Requirement 3Expression of dependencies on and incompatibilities with version ranges.
Requirement 4Support for users in selecting suitable combinations of versions from a selection of features.
Requirements on Solution
22.01.2014
Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann
Definition 3: Hyper Feature Model (HFM)TurtleBot
1.01.1
2.12.0
DetectionWebserviceMovementEngine
1022.01.2014
UltrasoundInfraredBump
[1..3]
AutonomousGamepadKeyboard
[1..1]
TurtleBot
1.00.90.8
Requirement 1
Requirement 2b
Feat
ure
Mod
el(D
efini
tion
1) Requirement 2a
Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann
Definition 5: HFM Semantics
1122.01.2014
Ultrasound
1.00.90.8
Infrared
2.22.01.0
Bump
1.0
Autonomous
2.01.11.0
Gamepad
2.01.0
[1..1]
Movement
1.0 2.01.21.1
Engine
Create 1.21.0
Kobuki 1.01.1
TurtleBot
1.01.1
2.12.0
[1..3]
Detection
1.11.0
Webservice
1.11.0
1.0
Keyboard
Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann
Definition 5: HFM Semantics
1222.01.2014
1.0
Create 1.21.0
Kobuki 1.01.1
1.0 2.01.21.1
1.01.1
2.12.0
Feat
ure
Mod
el(D
efini
tion
2)
Keyboard
MovementEngine
TurtleBot
Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann
Definition 6: Version-Aware Constraint Syntax
1422.01.2014
Com
poun
d Ex
pres
sion
sAt
omic
Ex
pres
sion
s
Bool
ean
Alge
bra
Requirement 3
Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann 15
f [va – vb]
?f [va – vb] º (f ® f [va – vb])
Examples TurtleBot [1.0 – 1.1] ® Engine [£ Create 1.2] ?Movement [1.2 – 2.0]
Semantics
Usage Closed intervals (fixed even if evolved) E.g., dependencies of Eclipse manifest files
(Conditional) Version Range Restrictions
22.01.2014
1.01.1
2.12.0
TurtleBot
TurtleBot [1.0 – 1.1]
Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann 16
f [op va]
?f [op va] º (f ® f [op va])
Operators: op = {>, ³, =, £, <}
Examples TurtleBot [1.0 – 1.1] ® Engine [£ Create 1.2] ?Engine [³ Kobuki 1.0]
Semantics
Usage No need to know all versions in the interval explicitly Open intervals (extended in case of evolution)
(Conditional) Relative Version Restrictions
22.01.2014
1.01.1
2.12.0
TurtleBot
TurtleBot [£ 2.1]
Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann 18
Automatic Version Selection: General Procedure
22.01.2014
+
encode
1.11.0
Ultrasound
1.00.90.8
Infrared
2.22.01.0
Bump
1.0
Autonomous
2.01.11.0
Gamepad
2.01.0
Keyboard
[1..1]
Movement
1.0 2.01.21.1
Engine
Create 1.21.0
Kobuki 1.01.1
TurtleBot
1.01.1
2.12.0
[1..3]
Detection
1.11.0
Webservice
1.0
1.11.0
1.00.90.82.22.01.01.02.01.11.02.01.0
[1..1]
1.0 2.01.21.1Create 1.21.0
Kobuki 1.01.1
1.01.1
2.12.0
[1..3]
1.11.0
1.0
UltrasoundInfraredBumpAutonomousGamepadKeyboard
MovementEngine
TurtleBot
DetectionWebservice
Version-Aware Constraints1. Autonomous ® Detection2. Keyboard Ú Gamepad ® Webservice3. Infrared [³ 2.0] Ú Ultrasound ® Detection [³
1.1]4. TurtleBot [³ 2.0] ® Engine [³ Kobuki 1.0]5. TurtleBot [1.0 – 1.1] ® Engine [£ Create 1.2]6. TurtleBot [³ 2.0] ® ?Webservice [³ 1.1]
Constraint Satisfaction Problem (CSP) Solver
All Possible (Version) Configurations
select
solve
Scoring to find "best" configuration
Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann
i(v) = 1/(0 + 1) = 1.0n(v) = 1/(0 + 1) = 1.0
s(v) = i(v) * n(v) = 1.0
i(v) = 1/(0 + 1) = 1.0n(v) = 1/(0 + 1) = 1.0
s(v) = i(v) * n(v) = 1.0
1.11.0
Scoring to Find "Best" Configuration
1922.01.2014
Ultrasound
1.00.90.8
Infrared
2.22.01.01.0
Autonomous
2.01.11.0
Gamepad
2.01.0
[1..1]1.0 2.01.21.1Create 1.2
1.0Kobuki 1.0
1.1
1.01.1
2.12.0
[1..3]1.11.0
1.0
Requirement 4 importance(v) = 1/(0 + 1) = 1.0novelty(v) = 1/(1 + 1) = 0.5
score(v) = i(v) * n(v) = 0.5
BumpKeyboard
MovementEngine
TurtleBot
DetectionWebservice
i(v) = 1/(1 + 1) = 0.5n(v) = 1/(0 + 1) = 1.0
s(v) = i(v) * n(v) = 0.5TurtleBot [³ 2.0] ® Engine [³ Kobuki 1.0]
i(v) = 1/(1 + 1) = 0.5n(v) = 1/(0 + 1) = 1.0
s(v) = i(v) * n(v) = 0.5
Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann 20
Problem: No variability in time in Feature Models
Solution Hyper Feature Models (HFMs) Version-Aware Constraint Language Automatic Version Selection
Fulfills initially posed requirements Evaluated in case study using TurtleBot driver
Capturing variability in space and time in Hyper Feature Models
Conclusion
22.01.2014