Presentation is loading. Please wait.

Presentation is loading. Please wait.

VICCI Visual and Interactive Cyber-Physical Systems Control and Integration Deriving Variants with Variability in Space and Time Using Hyper Feature Models.

Similar presentations


Presentation on theme: "VICCI Visual and Interactive Cyber-Physical Systems Control and Integration Deriving Variants with Variability in Space and Time Using Hyper Feature Models."— Presentation transcript:

1 VICCI Visual and Interactive Cyber-Physical Systems Control and Integration Deriving Variants with Variability in Space and Time Using Hyper Feature Models and Delta Modeling Christoph Seidl Ina Schaefer Uwe Aßmann

2 Software VariantSoftware Variant BSoftware Variant A150% Model  Variability Mechanisms (Excerpt) Background Deriving Variants with Variability in Space and Time - Christoph Seidl203.03.2014  Variability in Space  Configuration  Variant of system  Variability in Time  Evolution  Version of system Desired Variant Subtractive Variability Delta Modeling Software Variant

3 Running Example: TurtleBot Driver Deriving Variants with Variability in Space and Time - Christoph Seidl303.03.2014 UltrasoundInfraredBump [1..3] DetectionWebservice AutonomousGamepadKeyboard [1..1] MovementEngine TurtleBot Cross-Tree Constraints 1.Autonomous  Detection 2.Keyboard  Gamepad  Webservice

4 Development History of TurtleBot Driver Deriving Variants with Variability in Space and Time - Christoph Seidl403.03.2014 UltrasoundInfraredBump [1..n] DetectionWebservice AutonomousGamepadKeyboard [1..1] MovementEngine TurtleBot Lessons Learned  Many updates!  Old versions are still out there  Incompatibilities of versions! Resulting Problems  Cannot model the evolution on conceptual level  Cannot derive "older" variants! Update! Iteration 1Iteration 2Iteration 3Iteration 4

5 Requirements for Deriving "Older" Variants Deriving Variants with Variability in Space and Time - Christoph Seidl503.03.2014 3 Variant Derivation Process that can handle Variability in Time 2 Variability Mechanism that can handle Variability in Time 1 Variability Model that can handle Variability in Time

6 Variability in Space Solution Overview Deriving Variants with Variability in Space and Time - Christoph Seidl603.03.2014 Transformation Delta Modeling Feature Models Variability MechanismVariability Model Variant Derivation Process 1 Extension for Variability in Time 3 Extension for Variability in Time 2 Extension for Variability in Time 1 Extension for Variability in Time

7 Feature Models: No Variability in Time Deriving Variants with Variability in Space and Time - Christoph Seidl703.03.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 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] Hyper Feature Models (HFMs) for Versions TurtleBot 1.01.12.12.0 DetectionWebserviceMovementEngine Deriving Variants with Variability in Space and Time - Christoph Seidl803.03.2014 UltrasoundInfraredBump [1..3] AutonomousGamepadKeyboard [1..1] TurtleBot 1.00.90.8 Relative Version Restrictions (Open Intervals) Version Range Restrictions (Closed Intervals)

9 1.11.0 Configurations of Hyper Feature Models Deriving Variants with Variability in Space and Time - Christoph Seidl903.03.2014 1.00.90.82.22.01.0 2.01.11.02.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 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] Engine@Kobuki 1.0

10 Variability Model for Variability in Time Deriving Variants with Variability in Space and Time - Christoph Seidl1003.03.2014 Transformation Delta Modeling Feature Models Variability MechanismVariability Model Variant Derivation Process 1 Extension for Variability in Time 3 Extension for Variability in Time 2 Extension for Variability in Time Hyper Feature Models Version-Aware Constraint Language Hyper Feature Models Version-Aware Constraint Language

11 Variability Mechanism for Variability in Time? Deriving Variants with Variability in Space and Time - Christoph Seidl1103.03.2014 Transformation Delta Modeling Feature Models Variability MechanismVariability Model Variant Derivation Process 3 Extension for Variability in Time 2 Extension for Variability in Time 2 Extension for Variability in Time Hyper Feature Models Version-Aware Constraint Language

12 Delta Modeling: No Variability in Time (Yet) Deriving Variants with Variability in Space and Time - Christoph Seidl1203.03.2014  Delta Modeling (currently) handles only variability in space  Delta Modeling is a form of tranformation  May be extended for variability in time  Explicit notion of evolution delta modules delta DKeyboard { modifies class MovementController { modifies void handleEvent(Event e) { handleKeyboardEvent(e); } } } public class MovementController { void handleEvent(Event e) { //Intentionally empty } public class MovementController { void handleEvent(Event e) { handleKeyboardEvent(e); } } Source ArtifactTarget Artifact Delta Module(s) + public class MovementController { void handleEvent(Event e) { //Intentionally empty }

13 Evolution Delta Modules are Different Deriving Variants with Variability in Space and Time - Christoph Seidl1303.03.2014 1. Intent 2. Predictability 3. Expressiveness Creating Variants vs. Meeting New Requirements A Priori Known vs. Unplanned Intentionally Limited Expressive Power vs. Great Expressive Power

14 public class Movement { void handleEvent(Event e) { //Lengthy code here... } Example: Using Evolution Delta Modules Deriving Variants with Variability in Space and Time - Christoph Seidl1403.03.2014 public class MovementController { void handleEvent(Event e) { handleKeyboardEvent(e); } private void handleKeyboardEvent(Event e) { //Lengthy code here... } } public class Movement { void handleEvent(Event e) { //Lengthy code here... } public class MovementController { void handleEvent(Event e) { //Lengthy code here... } public class MovementController { void handleEvent(Event e) { //Lengthy code here... } private void handleKeyboardEvent(Event e) { } public class MovementController { void handleEvent(Event e) { } private void handleKeyboardEvent(Event e) { //Lengthy code here... } eδeδ Evolution Delta Operations Configuration Delta Operations Modifying Identifiers Refactorings ??? 1.Rename class 2.Extract method a)Create new method b)Move code to new method c)Call new method

15 Variability Mechanism for Variability in Time Deriving Variants with Variability in Space and Time - Christoph Seidl1503.03.2014 Transformation Delta Modeling Feature Models Variability MechanismVariability Model Variant Derivation Process 3 Extension for Variability in Time 2 Extension for Variability in Time Hyper Feature Models Version-Aware Constraint Language Evolution Delta Modules Evolution Delta Modules

16 Variant Derivation for Variability in Time? Deriving Variants with Variability in Space and Time - Christoph Seidl1603.03.2014 Transformation Delta Modeling Feature Models Variability MechanismVariability Model Variant Derivation Process 3 Extension for Variability in Time Hyper Feature Models Version-Aware Constraint Language Evolution Delta Modules 3 Extension for Variability in Time

17 Mapping to Delta Modules Deriving Variants with Variability in Space and Time - Christoph Seidl1703.03.2014  Features are mapped to configuration delta modules  Versions are mapped to evolution delta modules … … TurtleBot 1.0 1.1 2.12.0 …… cδacδa eδdeδd eδaeδa eδbeδb eδceδc

18 Ordering Delta Modules Deriving Variants with Variability in Space and Time - Christoph Seidl1803.03.2014  Common case  Dependencies of delta modules specified explicitly  Topological sorting to determine application order  With mapping of features/versions to delta modules  Relation of features to other features (structure of HFM)  Relation of versions to features (version containment in HFM)  Relation of versions (development lines, branching etc.)  Strict ordering of delta modules allows assumptions on previously applied delta modules  Specify default ordering of delta modules associated to HFMs

19 Implicit Order of Delta Modules Deriving Variants with Variability in Space and Time - Christoph Seidl1903.03.2014 1.Configuration delta modules 2.Evolution delta modules in order of development lines 3.Continue in depth first order of HFM … … TurtleBot 1.0 1.1 2.12.0 …… cδacδa eδdeδd eδaeδa eδbeδb eδceδc 1 2 3a 3b 4 5678

20 Example Delta Module Order Deriving Variants with Variability in Space and Time - Christoph Seidl2003.03.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

21 Example Delta Module Order Deriving Variants with Variability in Space and Time - Christoph Seidl2103.03.2014 1.0Create 1.21.0Kobuki 1.01.11.02.01.21.11.01.12.12.0 Keyboard Movement Engine TurtleBot Delta Module Order 1.cδ TurtleBot 2.eδ TurtleBot@1.0 3.eδ TurtleBot@2.0 4.eδ TurtleBot@2.1 5.cδ Engine 6.eδ Engine@1.0 7.eδ Engine@1.1 8.eδ Engine@Kobuki 1.0 9.cδ Movement 10.eδ Movement@1.0 11.cδ Keyboard 12.eδ Keyboard@1.0

22  Use expressions from version-aware constraint language  Subsume simple mappings  Potential dependencies have to be expressed explicitly  Topological sorting using this information  Logical expressions of features and versions mapped to delta modules Complex Mapping to Delta Modules Deriving Variants with Variability in Space and Time - Christoph Seidl2203.03.2014 cδacδa TurtleBot eδbeδb TurtleBot @ 1.1 cδxcδx (Keyboard  Gamepad)  Autonomous eδyeδy Autonomous @ 1.1  Movement @ 1.1

23 Applying Delta Modules Managing Variability in Space and Time in Software Families - Christoph Seidl2312.03.2014 eδdeδdeδceδc cδacδa cδbcδb eδaeδa eδbeδb Software Variant A cδccδceδeeδe Software Variant B Software Variant A 1.01.11.2 1.02.02.2 1.01.1

24 Applying Delta Modules Managing Variability in Space and Time in Software Families - Christoph Seidl2412.03.2014 eδdeδdeδceδc cδacδa cδbcδb eδaeδa eδbeδb Software Variant A cδccδceδeeδe Software Variant B Software Variant A 1.01.11.2 1.02.02.2 1.01.1 Contains version information!

25 Variant Derivation for Variability in Time Deriving Variants with Variability in Space and Time - Christoph Seidl2503.03.2014 Transformation Delta Modeling Feature Models Variability MechanismVariability Model Variant Derivation Process 3 Extension for Variability in Time Hyper Feature Models Version-Aware Constraint Language Evolution Delta Modules Feature and Version to Delta Module Mapping Implicit Delta Module Evaluation Order Feature and Version to Delta Module Mapping Implicit Delta Module Evaluation Order

26 Variability in Space Variability in Time Conclusion Deriving Variants with Variability in Space and Time - Christoph Seidl2603.03.2014 Transformation Delta Modeling Feature Models Variability MechanismVariability Model Variant Derivation Process Hyper Feature Models Version-Aware Constraint Language Evolution Delta Modules Feature and Version to Delta Module Mapping Implicit Delta Module Evaluation Order

27 Questions, Comments, Feedback? Thank you for your attention!

28 Questions to the Audience Deriving Variants with Variability in Space and Time - Christoph Seidl2803.03.2014  Configuration and evolution delta language have a lot in common, but …  … is evolution language a superset of configuration language?  … do they just overlap and there are operations that are exclusively used for configuration?  How to identify when an operation is configuration and when it is evolution?  What changes are allowed to a feature before the identity of the feature is altered?

29 My Questions  How to exclude delta module clashes (e.g., specialized delta module for Keyboard && Gamepad but simple ones are evaluated as well)?  Hard criteria what separates an evolution delta language from a configuration delta language (seems to depend on the concrete case)?  How to make sure that this method is widely applicable?  Information on CVL  How to identify when an operation is configuration and when it is evolution.  Clues for evolution operations (explicitly not available for configuration)  Changing things that should be stable (Ids, sometimes names)  Changing things that do not affect (user-visible) functionality (refactorings)  …?  What happens when feature is updated (not essential functionality but not just bug fixing either)? When is something a "user visible" functionality?  Configuration and evolution delta language have a lot in common, but …  … is evolution language a superset of configuration language?  … do they just overlap and there are operations that are exclusively used for configuration? 03.03.2014Deriving Variants with Variability in Space and Time - Christoph Seidl29

30 References Deriving Variants with Variability in Space and Time - Christoph Seidl3003.03.2014  [SSA14a] C. Seidl, I. Schaefer, and U. Aßmann. Capturing Variability in Space and Time with Hyper Feature Models. In Proceedings of the 8th International Workshop on Variability Modelling of Software-intensive Systems (VaMoS), VaMoS'14, 2014.


Download ppt "VICCI Visual and Interactive Cyber-Physical Systems Control and Integration Deriving Variants with Variability in Space and Time Using Hyper Feature Models."

Similar presentations


Ads by Google