handling complex configurations in software product lines: a tooled approach

Post on 27-May-2015

279 Views

Category:

Science

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

We propose a new approach called SpineFM to handle complex configurations in software product lines. This presentation shows how SpineFM allows to design a SPL and to use it through a flexible derivation process ensuring consistency of user choices.

TRANSCRIPT

SPLC’14 - Florence September 2014

Handling Complex Configurations in Software Product Lines:

a Tooled ApproachSimon Urli

Mireille Blay-Fornarino Philippe Collet

urli@i3s.unice.fr

I3S Laboratory - University Nice-Sophia Antipolis

1

SPLC’14 - Florence September 2014

SPL for information systems?

2

SPLC’14 - Florence September 2014

Running Example: SmartHome

3

SPLC’14 - Florence September 2014

Running Example: SmartHome

4

SPLC’14 - Florence September 2014

Running Example: SmartHome

5

SPLC’14 - Florence September 2014

Running Example: SmartHome

6

SPLC’14 - Florence September 2014

Running Example: SmartHome

7

Main Room

SPLC’14 - Florence September 2014

Running Example: SmartHome

8

Main Room

SPLC’14 - Florence September 2014

Running Example: SmartHome

9

Main Room

SPLC’14 - Florence September 2014

Running Example: SmartHome

10

Main Room Entrance

SPLC’14 - Florence September 2014

Scenario 1: SimpleFlat

11

home:House

{House}

Keyname:Concept{features}

SPLC’14 - Florence September 2014

Scenario 1: SimpleFlat

12

home:House

{House}

frontDoor:Opening{Opening, Kind, Door, Lock,

Sensors, OpenedState}

Keyname:Concept{features}

SPLC’14 - Florence September 2014

Scenario 1: SimpleFlat

13

home:House

{House}

frontDoor:Opening{Opening, Kind, Door, Lock,

Sensors, OpenedState}

mainRoom:Room

{Room,Sensors,Lightning}

Keyname:Concept{features}

SPLC’14 - Florence September 2014

Scenario 1: SimpleFlat

14

home:House

{House}

frontDoor:Opening{Opening, Kind, Door, Lock,

Sensors, OpenedState}

mainRoom:Room

{Room,Sensors,Lightning}mainRoomWindow:Opening

{Opening, Kind, Window, TintedGlass}

Keyname:Concept{features}

SPLC’14 - Florence September 2014

Scenario 1: SimpleFlat

15

home:House

{House}

frontDoor:Opening{Opening, Kind, Door, Lock,

Sensors, OpenedState}

mainRoom:Room

{Room,Sensors,Lightning}

mainRoomDoor:Opening

{Opening, Kind, Door, Lock}

mainRoomWindow:Opening{Opening, Kind, Window,

TintedGlass}

Keyname:Concept{features}

SPLC’14 - Florence September 2014

Scenario 1: SimpleFlat

16

home:House

{House}

entrance:Room{Room,Sensors,

Presence,Actuators, Locking}

frontDoor:Opening{Opening, Kind, Door, Lock,

Sensors, OpenedState}

mainRoom:Room

{Room,Sensors,Lightning}

mainRoomDoor:Opening

{Opening, Kind, Door, Lock}

mainRoomWindow:Opening{Opening, Kind, Window,

TintedGlass}

Keyname:Concept{features}

SPLC’14 - Florence September 2014

Different configurations...

17

home:House

{House}

entrance:Room

{Room}

frontDoor:Opening

{Opening, Kind, Door}

SPLC’14 - Florence September 2014

Different configurations...

18

home:House

{House}

entrance:Room

{Room}

frontDoor:Opening

{Opening, Kind, Door}

SPLC’14 - Florence September 2014

Different configurations...

19

home:House

{House}

entrance:Room

{Room}

frontDoor:Opening

{Opening, Kind, Door}

SPLC’14 - Florence September 2014

Different configurations...

20

home:House

{House}

entrance:Room

{Room}

frontDoor:Opening

{Opening, Kind, Door}

SecuredHome:House{House, CentralComputer,

SecurityManager}

entrance:Room{Room,Sensors,

Presence,Actuators, Locking, RollerStore}

frontDoor:Opening

{Opening, Kind, Door, Lock, Digital, Sensors, OpenedState}

mainRoom:Room

{Room,Sensors,Lightning,Locking,Actuators,RollerStore, Presence}

mainRoomDoor:Opening

{Opening, Kind, Door, Lock, Sensors, OpenedState}

mainRoomWindow:Opening

{Opening, Kind, Window, TintedGlass, Lock, Sensors,

OpenedState}

SPLC’14 - Florence September 2014

Different configurations...

21

home:House

{House}

entrance:Room

{Room}

frontDoor:Opening

{Opening, Kind, Door}

SecuredHome:House{House, CentralComputer,

SecurityManager}

entrance:Room{Room,Sensors,

Presence,Actuators, Locking, RollerStore}

frontDoor:Opening

{Opening, Kind, Door, Lock, Digital, Sensors, OpenedState}

mainRoom:Room

{Room,Sensors,Lightning,Locking,Actuators,RollerStore, Presence}

mainRoomDoor:Opening

{Opening, Kind, Door, Lock, Sensors, OpenedState}

mainRoomWindow:Opening

{Opening, Kind, Window, TintedGlass, Lock, Sensors,

OpenedState}

SPLC’14 - Florence September 2014

Different configurations...

22

home:House

{House}

entrance:Room

{Room}

frontDoor:Opening

{Opening, Kind, Door}

SecuredHome:House{House, CentralComputer,

SecurityManager}

entrance:Room{Room,Sensors,

Presence,Actuators, Locking, RollerStore}

frontDoor:Opening

{Opening, Kind, Door, Lock, Digital, Sensors, OpenedState}

mainRoom:Room

{Room,Sensors,Lightning,Locking,Actuators,RollerStore, Presence}

mainRoomDoor:Opening

{Opening, Kind, Door, Lock, Sensors, OpenedState}

mainRoomWindow:Opening

{Opening, Kind, Window, TintedGlass, Lock, Sensors,

OpenedState}

SPLC’14 - Florence September 2014

Handling complex configurations?

‣ Considering variability by concerns

‣ Managing constraints between variability models

‣ Allowing the user to dynamically create sub-configurations

‣ Allowing to create links between sub-configurations

‣ Ensuring consistency in user’s choices

‣ Supporting a flexible configuration process

23

SPLC’14 - Florence September 2014

Handling complex configurations?

‣ Considering variability by concerns

‣ Managing constraints between variability models

‣ Allowing the user to dynamically create sub-configurations

‣ Allowing to create links between sub-configurations

‣ Ensuring consistency in user’s choices

‣ Supporting a flexible configuration process

24

SPLC’14 - Florence September 201425

SpineFM OverviewOpeningHouse Room

Feature Models

Domain Model

MetamodelSpineFM

House Room Opening1 1..* 1..* 1..*

1..*0..1contains contains

hasGateways

API + Propagation algorithm

Generation

SPLC’14 - Florence September 2014

Designing the SPL

26

House Room Opening1 1..* 1..* 1..*

1..*0..1

contains contains

hasGateways

SPLassets

SPLfor

House

SPLassets

SPLfor

Room

SPLassets

SPLfor

Opening

SharedSPL

assets

Gen

erat

ion

Tool

sD

omai

n M

odel

Asse

tsPr

oduc

tsFM

s

SPLC’14 - Florence September 2014

Running example: FM by concerns

27

Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

Opening

Sensors Lock

OpenedState

Kind

Door Window

RollerStore TintedGlass

House

Temperature Manager

Luminosity Manager

SecurityManager

CentralComputer

Digital

SPLC’14 - Florence September 2014

Designing the SPL

28

House Room Opening1 1..* 1..* 1..*

1..*0..1

contains contains

hasGateways

SPLassets

SPLfor

House

SPLassets

SPLfor

Room

SPLassets

SPLfor

Opening

SharedSPL

assets

Gen

erat

ion

Tool

sD

omai

n M

odel

Asse

tsPr

oduc

tsFM

s

+ inter-FM constraints

SPLC’14 - Florence September 2014

Inter-FM constraint

• Association contains oriented functions

• Function contains rules

• Rule:

• from a source FM to a target FM

• state implies action

• state: selected and excluded features

• action: select, exclude, add new CT constraint

29

SPLC’14 - Florence September 2014

Running example: FM by concerns... with constraints

30

House

Temperature Manager

Luminosity Manager

SecurityManager

Opening

Sensors Lock

Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

OpenedState

Kind

Door Window

RollerStore TintedGlass

KeyMandatory

featureOptional feature

XOR

OR

interFM implication

CentralComputer

Digital

SPLC’14 - Florence September 2014

Running Example: Constraints

31

source:Roomtarget:Opening

Rule  :Selected  Locking  ⇒  SELECT  Lock

House

Temperature Manager

Luminosity Manager

SecurityManager

Opening

Sensors Lock

Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

OpenedState

Kind

Door Window

RollerStore TintedGlass

KeyMandatory

featureOptional feature

XOR

OR

interFM implication

CentralComputer

Digital

SPLC’14 - Florence September 2014

Running Example: Constraints

32

source:Openingtarget:Room

Rule  :Excluded  Lock  ⇒  DESELECT  Locking

House

Temperature Manager

Luminosity Manager

SecurityManager

Opening

Sensors Lock

Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

OpenedState

Kind

Door Window

RollerStore TintedGlass

KeyMandatory

featureOptional feature

XOR

OR

interFM implication

CentralComputer

Digital

SPLC’14 - Florence September 2014

Constraints in real life

33

source:Roomtarget:Opening

Rule  :Selected  RollerStore  and  Excluded  Presence  

⇒  Add  Constraint  Door  or  RollerStore

Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

Opening

Sensors Lock

OpenedState

Kind

Door Window

RollerStore TintedGlass

House

Temperature Manager

Luminosity Manager

SecurityManager

CentralComputer

Digital

SPLC’14 - Florence September 2014

Derive a complex configuration

34

Keyname:Concept{features}

SecuredHome:House{House, CentralComputer,

SecurityManager}

entrance:Room{Room,Sensors,

Presence,Actuators, Locking, RollerStore}

frontDoor:Opening

{Opening, Kind, Door, Lock, Digital, Sensors, OpenedState}

mainRoom:Room

{Room,Sensors,Lightning,Locking,Actuators,RollerStore, Presence}

mainRoomDoor:Opening

{Opening, Kind, Door, Lock, Sensors, OpenedState}

mainRoomWindow:Opening

{Opening, Kind, Window, TintedGlass, Lock, Sensors,

OpenedState}

SPLC’14 - Florence September 2014

Providing flexibility and consistency

35Logo from conTeXt tool.

SPLC’14 - Florence September 2014

Providing flexibility and consistency

36

Opening

Sensors Lock

OpenedState

Kind

Door Window

RollerStore TintedGlass

Digital

House

Temperature Manager

Luminosity Manager

SecurityManager

CentralComputer✗

✗✔ ︎

Opening

Sensors Lock

OpenedState

Kind

Door Window

RollerStore TintedGlass

Digital✔ ︎ ✔ ︎

Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

✔ ︎

Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

✔ ︎ ✗

Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

SPLC’14 - Florence September 2014

Global context

37

House Room Opening1 1..* 1..* 1..*

1..*0..1

contains contains

hasGateways

SecuredHome:House{House, CentralComputer,

SecurityManager}

entrance:Room{Room,Sensors,

Presence,Actuators, Locking, RollerStore}

frontDoor:Opening

{Opening, Kind, Door, Lock, Digital, Sensors, OpenedState}

mainRoom:Room

{Room,Sensors,Lightning,Locking,Actuators,RollerStore, Presence}

mainRoomDoor:Opening

{Opening, Kind, Door, Lock, Sensors, OpenedState}

mainRoomWindow:Opening

{Opening, Kind, Window, TintedGlass, Lock, Sensors,

OpenedState}

SPLC’14 - Florence September 2014

Global context

38

House

Temperature Manager

Luminosity Manager

SecurityManager

Opening

Sensors Lock

Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

OpenedState

Kind

Door Window

RollerStore TintedGlass

KeyMandatory

featureOptional feature

XOR

OR

interFM implication

CentralComputer

Digital

SecuredHome:House{House, CentralComputer,

SecurityManager}

entrance:Room{Room,Sensors,

Presence,Actuators, Locking, RollerStore}

frontDoor:Opening

{Opening, Kind, Door, Lock, Digital, Sensors, OpenedState}

mainRoom:Room

{Room,Sensors,Lightning,Locking,Actuators,RollerStore, Presence}

mainRoomDoor:Opening

{Opening, Kind, Door, Lock, Sensors, OpenedState}

mainRoomWindow:Opening

{Opening, Kind, Window, TintedGlass, Lock, Sensors,

OpenedState}

SPLC’14 - Florence September 2014

Local context

39

House Room Opening1 1..* 1..* 1..*

1..*0..1

contains contains

hasGateways

entrance:Room{Room,Sensors,

Presence,Actuators, Locking, RollerStore}

frontDoor:Opening

{Opening, Kind, Door, Lock, Digital, Sensors, OpenedState}

SPLC’14 - Florence September 2014

Local context

40

House

Temperature Manager

Luminosity Manager

SecurityManager

Opening

Sensors Lock

Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

OpenedState

Kind

Door Window

RollerStore TintedGlass

KeyMandatory

featureOptional feature

XOR

OR

interFM implication

CentralComputer

Digital

entrance:Room{Room,Sensors,

Presence,Actuators, Locking, RollerStore}

frontDoor:Opening

{Opening, Kind, Door, Lock, Digital, Sensors, OpenedState}

SPLC’14 - Florence September 2014

Propagation: ensuring consistency through all contexts

41

global contextcontext 2

context 1

SecuredHome:House{House, CentralComputer,

SecurityManager}

entrance:Room{Room,Sensors,

Presence,Actuators, Locking, RollerStore}

frontDoor:Opening

{Opening, Kind, Door, Lock, Digital, Sensors, OpenedState}

mainRoom:Room

{Room,Sensors,Lightning,Locking,Actuators,RollerStore, Presence}

mainRoomDoor:Opening

{Opening, Kind, Door, Lock, Sensors, OpenedState}

mainRoomWindow:Opening

{Opening, Kind, Window, TintedGlass, Lock, Sensors,

OpenedState}

SPLC’14 - Florence September 2014

Propagation

42

global contextHouse

Temperature Manager

Luminosity Manager

SecurityManager

CentralComputer

Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

Opening

Sensors Lock

OpenedState

Kind

Door Window

RollerStore TintedGlass

Digital

SPLC’14 - Florence September 2014

Propagation

43

global contextHouse

Temperature Manager

Luminosity Manager

SecurityManager

CentralComputer

Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

context 1

Opening

Sensors Lock

OpenedState

Kind

Door Window

RollerStore TintedGlass

Digital

Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

SPLC’14 - Florence September 2014

Propagation

44

global contextHouse

Temperature Manager

Luminosity Manager

SecurityManager

CentralComputer

Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

context 1

Opening

Sensors Lock

OpenedState

Kind

Door Window

RollerStore TintedGlass

Digital

Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

Opening

Sensors Lock

OpenedState

Kind

Door Window

RollerStore TintedGlass

Digital

SPLC’14 - Florence September 2014

Propagation

45

global contextHouse

Temperature Manager

Luminosity Manager

SecurityManager

CentralComputer

Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

context 1

Opening

Sensors Lock

OpenedState

Kind

Door Window

RollerStore TintedGlass

Digital

Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

Opening

Sensors Lock

OpenedState

Kind

Door Window

RollerStore TintedGlass

Digital

✔ ︎

SPLC’14 - Florence September 2014

Constraints reminder

46

House

Temperature Manager

Luminosity Manager

SecurityManager

Opening

Sensors Lock

Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

OpenedState

Kind

Door Window

RollerStore TintedGlass

KeyMandatory

featureOptional feature

XOR

OR

interFM implication

CentralComputer

Digital

SPLC’14 - Florence September 2014

Propagation

47

global contextHouse

Temperature Manager

Luminosity Manager

SecurityManager

CentralComputer

Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

context 1

Opening

Sensors Lock

OpenedState

Kind

Door Window

RollerStore TintedGlass

Digital

Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

Opening

Sensors Lock

OpenedState

Kind

Door Window

RollerStore TintedGlass

Digital

✔ ︎

✔ ︎

SPLC’14 - Florence September 2014

Propagation

48

global contextHouse

Temperature Manager

Luminosity Manager

SecurityManager

CentralComputer

Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

context 1

Opening

Sensors Lock

OpenedState

Kind

Door Window

RollerStore TintedGlass

Digital

Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

Opening

Sensors Lock

OpenedState

Kind

Door Window

RollerStore TintedGlass

Digital

✔ ︎

✔ ︎

Opening

Sensors Lock

OpenedState

Kind

Door Window

RollerStore TintedGlass

Digital

context 2Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

✔ ︎

SPLC’14 - Florence September 2014

Constraints reminder

49

House

Temperature Manager

Luminosity Manager

SecurityManager

Opening

Sensors Lock

Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

OpenedState

Kind

Door Window

RollerStore TintedGlass

KeyMandatory

featureOptional feature

XOR

OR

interFM implication

CentralComputer

Digital

SPLC’14 - Florence September 2014

Propagation

50

global contextHouse

Temperature Manager

Luminosity Manager

SecurityManager

CentralComputer

Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

context 1

Opening

Sensors Lock

OpenedState

Kind

Door Window

RollerStore TintedGlass

Digital

Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

Opening

Sensors Lock

OpenedState

Kind

Door Window

RollerStore TintedGlass

Digital

✔ ︎

✔ ︎

Opening

Sensors Lock

OpenedState

Kind

Door Window

RollerStore TintedGlass

Digital

context 2Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

✔ ︎

✔ ︎

SPLC’14 - Florence September 2014

Constraints reminder

51

House

Temperature Manager

Luminosity Manager

SecurityManager

Opening

Sensors Lock

Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

OpenedState

Kind

Door Window

RollerStore TintedGlass

KeyMandatory

featureOptional feature

XOR

OR

interFM implication

CentralComputer

Digital

SPLC’14 - Florence September 2014

Propagation

52

global contextHouse

Temperature Manager

Luminosity Manager

SecurityManager

CentralComputer

Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

context 1

Opening

Sensors Lock

OpenedState

Kind

Door Window

RollerStore TintedGlass

Digital

Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

Opening

Sensors Lock

OpenedState

Kind

Door Window

RollerStore TintedGlass

Digital

✔ ︎

✔ ︎

Opening

Sensors Lock

OpenedState

Kind

Door Window

RollerStore TintedGlass

Digital

context 2Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

✔ ︎

✔ ︎

✔ ︎✔ ︎

✔ ︎✔ ︎

✔ ︎

SPLC’14 - Florence September 2014

Propagation

53

global contextHouse

Temperature Manager

Luminosity Manager

SecurityManager

CentralComputer

Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

context 1

Opening

Sensors Lock

OpenedState

Kind

Door Window

RollerStore TintedGlass

Digital

Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

Opening

Sensors Lock

OpenedState

Kind

Door Window

RollerStore TintedGlass

Digital

✔ ︎

✔ ︎

Opening

Sensors Lock

OpenedState

Kind

Door Window

RollerStore TintedGlass

Digital

context 2Room

Sensors Actuators

Temperature

Lightning

Presence RollerStore

Thermostat

Locking

Temperature implies ThermostatPresence implies Locking

✔ ︎

✔ ︎

✔ ︎✔ ︎

✔ ︎✔ ︎

✔ ︎

✔ ︎ ✔ ︎✔ ︎

✔ ︎✔ ︎

✔ ︎ ✔ ︎ ✔ ︎

SPLC’14 - Florence September 2014

Propagation Algorithm

• Hypothesis: the SPL is consistent

‣ Incremental algorithm based on biconnected components

• Always terminate

• Always reduce the solution scope

54

SPLC’14 - Florence September 2014

Application on SPL for digital signage systems

55

Urli, S., Blay-Fornarino, M., Collet, P., Mosser, S., & Riveill, M. (2014). Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems. (SEAA'14)

SPLC’14 - Florence September 2014

Application on YourCast

56

Urli, S., Blay-Fornarino, M., Collet, P., Mosser, S., & Riveill, M. (2014). Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems. (SEAA'14)

SPLC’14 - Florence September 201457

SPLC’14 - Florence September 2014

Results on YourCastBased on 5 different complex configurations.

58

Min. Max. Average

# Configurations 9 61 31

# Contexts 5 32 16

Propagation time 1 ms 3622 ms 260 ms

# User actions 68 348 208

# FM actions 709 5726 2918

SPLC’14 - Florence September 2014

SpineFM: application on YourCast

59

6 %94 %

Manual actionsAutomatic actions

SPLC’14 - Florence September 2014

Future Work

• Formalize the whole approach (ongoing)

• Improve the expressiveness of domain model

• Allow constraints on the model

• Support undoing actions

• Industrialize our case study:

60

SPLC’14 - Florence September 2014

Thanks for your attention!

‣ Tooled approach

‣ Design a SPL with several FMs

‣ High level abstraction of the domain

‣ Flexible derivation process

‣ Ensure consistency of the configuration

‣ Validated on a real system

61

urli@i3s.unice.fr http://github.com/surli/spinefm

top related