21
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

Capturing Variability in Space and Time

  • Upload
    jean

  • View
    35

  • Download
    1

Embed Size (px)

DESCRIPTION

Capturing Variability in Space and Time. with Hyper Feature Models. Christoph Seidl Ina Schaefer Uwe Aßmann. Agenda. Background Software Ecosystems (SECOs) and Variability Formalization of Feature Models Problem: No Variability in Time in Feature Models Contributions - PowerPoint PPT Presentation

Citation preview

Page 1: Capturing Variability in Space and Time

VICCIVisual and Interactive Cyber-Physical Systems Control and Integration

Capturing Variability in Space and Timewith Hyper Feature Models

Christoph SeidlIna SchaeferUwe Aßmann

Page 2: Capturing Variability in Space and Time

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

Page 3: Capturing Variability in Space and Time

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

Page 4: Capturing Variability in Space and Time

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

Page 5: Capturing Variability in Space and Time

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

Page 6: Capturing Variability in Space and Time

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

Page 7: Capturing Variability in Space and Time

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!

Page 8: Capturing Variability in Space and Time

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

Page 9: Capturing Variability in Space and Time

Hyper Feature Models (HFMs)Contribution 1

Page 10: Capturing Variability in Space and Time

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

Page 11: Capturing Variability in Space and Time

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

Page 12: Capturing Variability in Space and Time

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

Page 13: Capturing Variability in Space and Time

Version-Aware Constraint LanguageContribution 2

Page 14: Capturing Variability in Space and Time

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

Page 15: Capturing Variability in Space and Time

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]

Page 16: Capturing Variability in Space and Time

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]

Page 17: Capturing Variability in Space and Time

Automatic Version SelectionContribution 3

Page 18: Capturing Variability in Space and Time

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

Page 19: Capturing Variability in Space and Time

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.0s(v) = i(v) * n(v) = 1.0

i(v) = 1/(0 + 1) = 1.0n(v) = 1/(0 + 1) = 1.0s(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.5score(v) = i(v) * n(v) = 0.5

BumpKeyboard

MovementEngine

TurtleBot

DetectionWebservice

i(v) = 1/(1 + 1) = 0.5n(v) = 1/(0 + 1) = 1.0s(v) = i(v) * n(v) = 0.5

TurtleBot [³ 2.0] ® Engine [³ Kobuki 1.0]

i(v) = 1/(1 + 1) = 0.5n(v) = 1/(0 + 1) = 1.0s(v) = i(v) * n(v) = 0.5

Page 20: Capturing Variability in Space and Time

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

Page 21: Capturing Variability in Space and Time

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