VICCI Visual and Interactive Cyber-Physical Systems Control and Integration Capturing Variability in...

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

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

Hyper Feature Models (HFMs)Contribution 1

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

Version-Aware Constraint LanguageContribution 2

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]

Automatic Version SelectionContribution 3

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

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