Download presentation
Presentation is loading. Please wait.
Published byTate Reder Modified over 9 years ago
1
VICCI Visual and Interactive Cyber-Physical Systems Control and Integration Capturing Variability in Space and Time with Hyper Feature Models Christoph Seidl Ina Schaefer Uwe 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 Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann2 22.01.2014
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 Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann3 22.01.2014 Variability in Space Configuration Variant of system Variability in Time Evolution Version of system
4
Running Example: TurtleBot Driver Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann4 22.01.2014 UltrasoundInfraredBump [1..3] DetectionWebservice AutonomousGamepadKeyboard [1..1] MovementEngine TurtleBot Cross-Tree Constraints 1.Autonomous Detection 2.Keyboard Gamepad Webservice
5
DetectionWebserviceMovementEngine Definition 1: Feature Model Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann5 22.01.2014 UltrasoundInfraredBump [1..3] AutonomousGamepadKeyboard [1..1] TurtleBot [0..1][1..1] Cross-Tree Constraints 1.Autonomous Detection 2.Keyboard Gamepad Webservice
6
Cross-Tree Constraints 1.Autonomous Detection 2.Keyboard Gamepad Webservice Definition 2: Feature Model Semantics Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann6 22.01.2014 DetectionWebserviceMovementEngine UltrasoundInfraredBump [1..3] AutonomousGamepadKeyboard [1..1] TurtleBot
7
Problem: No Variability in Time in Feature Models Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann7 22.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 CreateiClebo Kobuki v1.0v2.0 Evolution!
8
Requirement 1 Support for feature versions as units of configuration. Requirement 2 Specification of the relation of versions in logical development lines (i.e., predecessor and successor versions including branching). Requirement 3 Expression of dependencies on and incompatibilities with version ranges. Requirement 4 Support for users in selecting suitable combinations of versions from a selection of features. Requirements on Solution Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann8 22.01.2014
9
Hyper Feature Models (HFMs) Contribution 1
10
Definition 3: Hyper Feature Model (HFM) TurtleBot 1.01.12.12.0 DetectionWebserviceMovementEngine Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann10 22.01.2014 UltrasoundInfraredBump [1..3] AutonomousGamepadKeyboard [1..1] TurtleBot 1.00.90.8 Requirement 1 Requirement 2b Feature Model (Definition 1) Requirement 2a
11
Definition 5: HFM Semantics Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann11 22.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.02.01.21.1 Engine Create 1.21.0Kobuki 1.01.1 TurtleBot 1.0 1.1 2.12.0 [1..3] Detection 1.11.0 Webservice 1.11.0 Keyboard
12
Definition 5: HFM Semantics Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann12 22.01.2014 1.0Create 1.2 1.0 Kobuki 1.0 1.1 1.02.01.21.1 1.0 1.1 2.12.0 Feature Model (Definition 2) Keyboard Movement Engine TurtleBot
13
Version-Aware Constraint Language Contribution 2
14
Definition 6: Version-Aware Constraint Syntax Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann14 22.01.2014 Compound Expressions Atomic Expressions Boolean Algebra Requirement 3
15
f [v a – v b ] ?f [v a – v b ] (f f [v a – v b ]) 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 Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann15 22.01.2014 1.0 1.1 2.12.0 TurtleBot TurtleBot [1.0 – 1.1]
16
f [op v a ] ?f [op v a ] (f f [op v a ]) 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 Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann16 22.01.2014 1.0 1.1 2.12.0 TurtleBot TurtleBot [ 2.1]
17
Automatic Version Selection Contribution 3
18
Automatic Version Selection: General Procedure Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann18 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.02.01.21.1 Engine Create 1.2 1.0 Kobuki 1.0 1.1 TurtleBot 1.0 1.1 2.12.0 [1..3] Detection 1.11.0 Webservice 1.0 1.11.0 0.90.82.22.01.0 2.01.11.02.01.0 [1..1] 1.02.01.21.1 Create 1.2 1.0 Kobuki 1.0 1.1 1.0 1.1 2.12.0 [1..3] 1.11.0 UltrasoundInfraredBumpAutonomousGamepadKeyboard Movement Engine TurtleBot DetectionWebservice Version-Aware Constraints 1.Autonomous Detection 2.Keyboard Gamepad Webservice 3.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
19
i(v) = 1/(0 + 1) = 1.0 n(v) = 1/(0 + 1) = 1.0 s(v) = i(v) * n(v) = 1.0 i(v) = 1/(0 + 1) = 1.0 n(v) = 1/(0 + 1) = 1.0 s(v) = i(v) * n(v) = 1.0 1.11.0 Scoring to Find "Best" Configuration Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann19 22.01.2014 Ultrasound 1.00.90.8 Infrared 2.22.01.0 Autonomous 2.01.11.0 Gamepad 2.01.0 [1..1] 1.02.01.21.1Create 1.2 1.0 Kobuki 1.0 1.11.0 1.1 2.12.0 [1..3] 1.11.0 Requirement 4 importance(v) = 1/(0 + 1) = 1.0 novelty(v) = 1/(1 + 1) = 0.5 score(v) = i(v) * n(v) = 0.5 BumpKeyboard Movement Engine TurtleBot DetectionWebservice i(v) = 1/(1 + 1) = 0.5 n(v) = 1/(0 + 1) = 1.0 s(v) = i(v) * n(v) = 0.5 TurtleBot [ 2.0] Engine [ Kobuki 1.0] i(v) = 1/(1 + 1) = 0.5 n(v) = 1/(0 + 1) = 1.0 s(v) = i(v) * n(v) = 0.5
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 Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann20 22.01.2014
21
Questions, Comments, Feedback? Thank you for your attention!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.