+ All Categories
Home > Documents > VICCI - TU Braunschweig · Software Variant150% Model Software Variant ASoftware Variant B...

VICCI - TU Braunschweig · Software Variant150% Model Software Variant ASoftware Variant B...

Date post: 25-Jun-2020
Category:
Upload: others
View: 6 times
Download: 0 times
Share this document with a friend
22
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
Transcript
Page 1: VICCI - TU Braunschweig · Software Variant150% Model Software Variant ASoftware Variant B Variability Realization Mechanisms (Excerpt) Background 05.04.2014 Deriving Variants with

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

Page 2: VICCI - TU Braunschweig · Software Variant150% Model Software Variant ASoftware Variant B Variability Realization Mechanisms (Excerpt) Background 05.04.2014 Deriving Variants with

Software Variant Software Variant B Software Variant A 150% Model

Variability Realization Mechanisms (Excerpt)

Background

Deriving Variants with Variability in Space and Time - Christoph Seidl 2 05.04.2014

Variability in Space

Configuration

Variant of system

Variability in Time

Evolution

Version of system

Desired Variant Subtractive Variability

Delta Modeling

Software Variant

Page 3: VICCI - TU Braunschweig · Software Variant150% Model Software Variant ASoftware Variant B Variability Realization Mechanisms (Excerpt) Background 05.04.2014 Deriving Variants with

Running Example: TurtleBot Driver

Deriving Variants with Variability in Space and Time - Christoph Seidl 3 05.04.2014

Ultrasound Infrared Bump

[1..3]

Detection Webservice

Autonomous Gamepad Keyboard

[1..1]

Movement Engine

TurtleBot

Cross-Tree Constraints

1. Autonomous Detection

2. Keyboard Gamepad Webservice

Page 4: VICCI - TU Braunschweig · Software Variant150% Model Software Variant ASoftware Variant B Variability Realization Mechanisms (Excerpt) Background 05.04.2014 Deriving Variants with

Feature Models: No Variability in Time

Deriving Variants with Variability in Space and Time - Christoph Seidl 4 05.04.2014

Ultrasound Infrared Bump

[1..3]

Detection Webservice

Autonomous Gamepad Keyboard

[1..1]

Movement Engine

TurtleBot

Constraints caused by evolution (excerpt)

iClebo Kobuki is incompatible with TurtleBot v1.0

iClebo Kobuki requires at least TurtleBot v2.0

Problem

Cannot model the evolution on conceptual level

Cannot derive "older" variants!

iRobot Create iClebo Kobuki v1.0 v2.0 Evolution! Evolution!

Page 5: VICCI - TU Braunschweig · Software Variant150% Model Software Variant ASoftware Variant B Variability Realization Mechanisms (Excerpt) Background 05.04.2014 Deriving Variants with

Var

iab

ility

in

Sp

ace

Solution Overview

Deriving Variants with Variability in Space and Time - Christoph Seidl 5 05.04.2014

Transformation Delta

Modeling Feature Models

Variability Realization Mechanism

Variability Model Variant Derivation

Process

1

Extension for Variability in Time

3

Extension for Variability in Time

2

Extension for Variability in Time

Page 6: VICCI - TU Braunschweig · Software Variant150% Model Software Variant ASoftware Variant B Variability Realization Mechanisms (Excerpt) Background 05.04.2014 Deriving Variants with

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.0

1.1

2.1 2.0

Detection Webservice Movement Engine

Deriving Variants with Variability in Space and Time - Christoph Seidl 6 05.04.2014

Ultrasound Infrared Bump

[1..3]

Autonomous Gamepad Keyboard

[1..1]

TurtleBot

1.0 0.9 0.8 Relative Version Restrictions

(Open Intervals) Version Range Restrictions

(Closed Intervals)

Page 7: VICCI - TU Braunschweig · Software Variant150% Model Software Variant ASoftware Variant B Variability Realization Mechanisms (Excerpt) Background 05.04.2014 Deriving Variants with

1.1 1.0

Configurations of Hyper Feature Models

Deriving Variants with Variability in Space and Time - Christoph Seidl 7 05.04.2014

1.0 0.9 0.8 2.2 2.0 1.0 1.0 2.0 1.1 1.0 2.0 1.0

[1..1]

1.0 2.0 1.2 1.1 Create 1.2

1.0

Kobuki 1.0

1.1

1.0

1.1

2.1 2.0

[1..3]

1.1 1.0

1.0

Ultrasound Infrared Bump Autonomous Gamepad Keyboard

Movement Engine

TurtleBot

Detection Webservice

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]

Page 8: VICCI - TU Braunschweig · Software Variant150% Model Software Variant ASoftware Variant B Variability Realization Mechanisms (Excerpt) Background 05.04.2014 Deriving Variants with

Delta Modeling: No Variability in Time (Yet)

Deriving Variants with Variability in Space and Time - Christoph Seidl 8 05.04.2014

Delta Modeling (currently) handles only variability in space

Delta Modeling is a form of transformation

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 Artifact Target Artifact

Delta Module(s)

+

public class MovementController {

void handleEvent(Event e) {

//Intentionally empty

}

}

Page 9: VICCI - TU Braunschweig · Software Variant150% Model Software Variant ASoftware Variant B Variability Realization Mechanisms (Excerpt) Background 05.04.2014 Deriving Variants with

public class Movement {

void handleEvent(Event e) {

//Lengthy code here...

}

}

Example: Using Evolution Delta Modules

Deriving Variants with Variability in Space and Time - Christoph Seidl 9 05.04.2014

public class MovementController {

void handleEvent(Event e) {

handleKeyboardEvent(e);

}

private void handleKeyboardEvent(Event e) {

//Lengthy code here...

}

}

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

Page 10: VICCI - TU Braunschweig · Software Variant150% Model Software Variant ASoftware Variant B Variability Realization Mechanisms (Excerpt) Background 05.04.2014 Deriving Variants with

Mapping HFMs to Delta Modules

Deriving Variants with Variability in Space and Time - Christoph Seidl 10 05.04.2014

Features are mapped to configuration delta modules

Versions are mapped to evolution delta modules

… …

TurtleBot

1.0

1.1

2.1 2.0

… …

cδa

eδd eδa

eδb

eδc

Page 11: VICCI - TU Braunschweig · Software Variant150% Model Software Variant ASoftware Variant B Variability Realization Mechanisms (Excerpt) Background 05.04.2014 Deriving Variants with

Implicit Order of Delta Modules

Deriving Variants with Variability in Space and Time - Christoph Seidl 11 05.04.2014

a) Configuration delta modules

b) Evolution delta modules in order of development lines

c) Continue with remaining features of HFM

… …

TurtleBot

1.0

1.1

2.1 2.0

… …

cδa

eδd eδa

eδb

eδc

1

2

3a

3b

4

5 6 7 8

Page 12: VICCI - TU Braunschweig · Software Variant150% Model Software Variant ASoftware Variant B Variability Realization Mechanisms (Excerpt) Background 05.04.2014 Deriving Variants with

Applying Delta Modules

Deriving Variants with Variability in Space and Time - Christoph Seidl 12 05.04.2014

eδd eδc

cδa

cδb

eδa

eδb

Software Variant A

cδc eδe

Software Variant B

Software Variant A

1.0 1.1 1.2 1.0 2.0 2.2

1.0 1.1

Contains version information!

Page 13: VICCI - TU Braunschweig · Software Variant150% Model Software Variant ASoftware Variant B Variability Realization Mechanisms (Excerpt) Background 05.04.2014 Deriving Variants with

Var

iab

ility

in

Sp

ace

V

aria

bili

ty

in T

ime

Summary Current Work

Deriving Variants with Variability in Space and Time - Christoph Seidl 13 05.04.2014

Transformation Delta

Modeling Feature Models

Variability Realization Mechanism

Variability 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

Page 14: VICCI - TU Braunschweig · Software Variant150% Model Software Variant ASoftware Variant B Variability Realization Mechanisms (Excerpt) Background 05.04.2014 Deriving Variants with

Future Work: HFMs with Component Systems

Deriving Variants with Variability in Space and Time - Christoph Seidl 14 05.04.2014

Engine Create 1.2

TurtleBot 1.1

Bump 1.0

Infrared 2.0

Detection 1.1

2.2 2.0 1.0 1.0

[1..3]

1.1 1.0

Infrared Bump

Detection

Problem Space Solution Space

Page 15: VICCI - TU Braunschweig · Software Variant150% Model Software Variant ASoftware Variant B Variability Realization Mechanisms (Excerpt) Background 05.04.2014 Deriving Variants with

Future Work: Reconfiguration = Migrating Configurations

Deriving Variants with Variability in Space and Time - Christoph Seidl 15 05.04.2014

2.2 2.0 1.0 1.0

[1..3]

1.1 1.0

Infrared Bump

Detection

2.2 2.0 1.0 1.0

[1..3]

1.1 1.0

Infrared Bump

Detection

Page 16: VICCI - TU Braunschweig · Software Variant150% Model Software Variant ASoftware Variant B Variability Realization Mechanisms (Excerpt) Background 05.04.2014 Deriving Variants with

Future Work: Configuration Migration Operations

Deriving Variants with Variability in Space and Time - Christoph Seidl 16 05.04.2014

1.0

1.1

2.1 2.0

TurtleBot

1.0

1.1

2.1 2.0

TurtleBot

Select Feature (at Version)

1.0

1.1

2.1 2.0

TurtleBot

1.0

1.1

2.1 2.0

TurtleBot

Deselect Feature (and Version)

1.0

1.1

2.1 2.0

TurtleBot

1.0

1.1

2.1 2.0

TurtleBot

Change Version

Page 17: VICCI - TU Braunschweig · Software Variant150% Model Software Variant ASoftware Variant B Variability Realization Mechanisms (Excerpt) Background 05.04.2014 Deriving Variants with

Future Work: Ordering of Operations Matters (1)

Deriving Variants with Variability in Space and Time - Christoph Seidl 17 05.04.2014

2.2 2.0 1.0 1.0

[1..3]

1.1 1.0

Infrared Bump

Detection

2.2 2.0 1.0 1.0

[1..3]

1.1 1.0

Infrared Bump

Detection

2.2 2.0 1.0 1.0

[1..3]

1.1 1.0

Infrared Bump

Detection

2.2 2.0 1.0 1.0

[1..3]

1.1 1.0

Infrared Bump

Detection

1. Deselect Bump 2. Select [email protected]

Page 18: VICCI - TU Braunschweig · Software Variant150% Model Software Variant ASoftware Variant B Variability Realization Mechanisms (Excerpt) Background 05.04.2014 Deriving Variants with

Future Work: Ordering of Operations Matters (2)

Deriving Variants with Variability in Space and Time - Christoph Seidl 18 05.04.2014

2.2 2.0 1.0 1.0

[1..3]

1.1 1.0

Infrared Bump

Detection

2.2 2.0 1.0 1.0

[1..3]

1.1 1.0

Infrared Bump

Detection

2.2 2.0 1.0 1.0

[1..3]

1.1 1.0

Infrared Bump

Detection

2.2 2.0 1.0 1.0

[1..3]

1.1 1.0

Infrared Bump

Detection

1. Select [email protected] 2. Deselect Bump

Page 19: VICCI - TU Braunschweig · Software Variant150% Model Software Variant ASoftware Variant B Variability Realization Mechanisms (Excerpt) Background 05.04.2014 Deriving Variants with

Future Work: Safe Evolution Templates for HFMs

Deriving Variants with Variability in Space and Time - Christoph Seidl 19 05.04.2014

1.0

[1..3]

1.1 1.0

Bump

Detection

1.1 1.0 1.0

[1..4]

1.1 1.0

Camera Bump

Detection

Page 20: VICCI - TU Braunschweig · Software Variant150% Model Software Variant ASoftware Variant B Variability Realization Mechanisms (Excerpt) Background 05.04.2014 Deriving Variants with

Var

iab

ility

in

Tim

e

Future Work

Deriving Variants with Variability in Space and Time - Christoph Seidl 20 05.04.2014

Transformation Delta

Modeling Feature Models

Variability Realization Mechanism

Variability 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

Page 21: VICCI - TU Braunschweig · Software Variant150% Model Software Variant ASoftware Variant B Variability Realization Mechanisms (Excerpt) Background 05.04.2014 Deriving Variants with

Interesting Contacts for Me

Deriving Variants with Variability in Space and Time - Christoph Seidl 21 05.04.2014

Dynamic Software Product Lines (DSPLs)

Formal Methods for (Re-)Configuration

Safe Evolution Templates (for Versions?)

Evolution in Software Product Lines in General

Page 22: VICCI - TU Braunschweig · Software Variant150% Model Software Variant ASoftware Variant B Variability Realization Mechanisms (Excerpt) Background 05.04.2014 Deriving Variants with

Questions, Comments, Feedback?

Thank you for your attention!


Recommended