SlideShare a Scribd company logo
1 of 61
Download to read offline
Handling Complex Configurations 
in Software Product Lines: 
a Tooled Approach 
SPLC’14 - Florence September 2014 
Simon Urli 
Mireille Blay-Fornarino 
Philippe Collet 
urli@i3s.unice.fr 
I3S Laboratory - University Nice-Sophia Antipolis 
1
SPL for information systems? 
SPLC’14 - Florence September 2014 
2
Running Example: SmartHome 
SPLC’14 - Florence September 2014 
3
Running Example: SmartHome 
SPLC’14 - Florence September 2014 
4
Running Example: SmartHome 
SPLC’14 - Florence September 2014 
5
Running Example: SmartHome 
SPLC’14 - Florence September 2014 
6
Running Example: SmartHome 
SPLC’14 - Florence September 2014 
7 
Main Room
Running Example: SmartHome 
SPLC’14 - Florence September 2014 
8 
Main Room
Running Example: SmartHome 
SPLC’14 - Florence September 2014 
9 
Main Room
Running Example: SmartHome 
Main Room Entrance 
SPLC’14 - Florence September 2014 
10
Scenario 1: SimpleFlat 
SPLC’14 - Florence September 2014 
11 
home:House 
{House} 
Key 
name:Concept 
{features}
Scenario 1: SimpleFlat 
SPLC’14 - Florence September 2014 
12 
home:House 
{House} 
frontDoor:Opening 
{Opening, Kind, Door, Lock, 
Sensors, OpenedState} 
Key 
name:Concept 
{features}
Scenario 1: SimpleFlat 
SPLC’14 - Florence September 2014 
13 
home:House 
{House} 
frontDoor:Opening 
{Opening, Kind, Door, Lock, 
Sensors, OpenedState} 
mainRoom:Room 
{Room,Sensors,Lightning} 
Key 
name:Concept 
{features}
Scenario 1: SimpleFlat 
SPLC’14 - Florence September 2014 
14 
home:House 
{House} 
frontDoor:Opening 
{Opening, Kind, Door, Lock, 
Sensors, OpenedState} 
mainRoom:Room 
{Room,Sensors,Lightning} 
mainRoomWindow:Opening 
{Opening, Kind, Window, 
TintedGlass} 
Key 
name:Concept 
{features}
Scenario 1: SimpleFlat 
SPLC’14 - Florence September 2014 
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} 
Key 
name:Concept 
{features}
Scenario 1: SimpleFlat 
SPLC’14 - Florence September 2014 
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} 
Key 
name:Concept 
{features}
Different configurations... 
SPLC’14 - Florence September 2014 
17 
home:House 
{House} 
entrance:Room 
{Room} 
frontDoor:Opening 
{Opening, Kind, Door}
Different configurations... 
SPLC’14 - Florence September 2014 
18 
home:House 
{House} 
entrance:Room 
{Room} 
frontDoor:Opening 
{Opening, Kind, Door}
Different configurations... 
SPLC’14 - Florence September 2014 
19 
home:House 
{House} 
entrance:Room 
{Room} 
frontDoor:Opening 
{Opening, Kind, Door}
Different configurations... 
SPLC’14 - Florence September 2014 
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}
Different configurations... 
SPLC’14 - Florence September 2014 
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}
Different configurations... 
SPLC’14 - Florence September 2014 
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}
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 
SPLC’14 - Florence September 2014 
23
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 
SPLC’14 - Florence September 2014 
24
SpineFM Overview 
House Room Opening 
1 1..* 1..* 1..* 
contains contains 
25 SPLC’14 - Florence September 2014 
Feature Models 
Domain Model 
Metamodel 
SpineFM 
House Room Opening 
0..1 1..* 
hasGateways 
API + Propagation algorithm 
Generation
Designing the SPL 
hasGateways 
0..1 1..* 
1 1..* 1..* 1..* 
House Room Opening 
SPLC’14 - Florence September 2014 
contains contains 
26 
SPL 
assets 
SPL 
assets 
SPL 
assets 
Tools Domain Model Assets FMs 
Generation
Running example: FM by concerns 
Locking 
SPLC’14 - Florence September 2014 
27 
Room 
Sensors Actuators 
Temperature 
Lightning 
Presence RollerStore 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking 
Opening 
Sensors Lock 
OpenedState 
Kind 
Door Window 
RollerStore TintedGlass 
House 
Temperature 
Manager 
Luminosity 
Manager 
Security 
Manager 
CentralComputer 
Digital
Designing the SPL 
hasGateways 
0..1 1..* 
1 1..* 1..* 1..* 
House Room Opening 
SPLC’14 - Florence September 2014 
contains contains 
28 
SPL 
assets 
SPL 
assets 
SPL 
assets 
Tools Domain Model Assets FMs 
Generation + inter-FM constraints
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 
SPLC’14 - Florence September 2014 
29
Running example: FM by concerns... with constraints 
Locking 
SPLC’14 - Florence September 2014 
30 
House 
Temperature 
Manager 
Luminosity 
Manager 
Security 
Manager 
Opening 
Sensors Lock 
Room 
Sensors Actuators 
Temperature 
Lightning 
Presence RollerStore 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking 
OpenedState 
Kind 
Door Window 
RollerStore TintedGlass 
Key 
Mandatory 
feature 
Optional 
feature 
XOR 
OR 
interFM 
implication 
CentralComputer 
Digital
Running Example: Constraints 
Locking 
SPLC’14 - Florence September 2014 
31 
source:Room 
target:Opening 
Rule 
: 
Selected 
Locking 
⇒ 
SELECT 
Lock 
House 
Temperature 
Manager 
Luminosity 
Manager 
Security 
Manager 
Opening 
Sensors Lock 
Room 
Sensors Actuators 
Temperature 
Lightning 
Presence RollerStore 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking 
OpenedState 
Kind 
Door Window 
RollerStore TintedGlass 
Key 
Mandatory 
feature 
Optional 
feature 
XOR 
OR 
interFM 
implication 
CentralComputer 
Digital
Running Example: Constraints 
Locking 
SPLC’14 - Florence September 2014 
32 
source:Opening 
target:Room 
Rule 
: 
Excluded 
Lock 
⇒ 
DESELECT 
Locking 
House 
Temperature 
Manager 
Luminosity 
Manager 
Security 
Manager 
Opening 
Sensors Lock 
Room 
Sensors Actuators 
Temperature 
Lightning 
Presence RollerStore 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking 
OpenedState 
Kind 
Door Window 
RollerStore TintedGlass 
Key 
Mandatory 
feature 
Optional 
feature 
XOR 
OR 
interFM 
implication 
CentralComputer 
Digital
Locking 
Thermostat 
Temperature implies Thermostat 
SPLC’14 - Florence September 2014 
Constraints in real life 
33 
source:Room 
target:Opening 
Rule 
: 
Selected 
Temperature 
RollerStore 
and 
Room 
Sensors Actuators 
Lightning 
Presence RollerStore 
Presence implies Locking 
Excluded 
Presence 
⇒ 
Add 
Constraint 
Door 
or 
RollerStore 
Opening 
Sensors Lock 
OpenedState 
Kind 
Door Window 
RollerStore TintedGlass 
House 
Temperature 
Manager 
Luminosity 
Manager 
Security 
Manager 
CentralComputer 
Digital
Derive a complex configuration 
SPLC’14 - Florence September 2014 
34 
Key 
name: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}
Providing flexibility and consistency 
SPLC’14 - Florence September 2014 
Logo from conTeXt tool. 35
Providing flexibility and consistency 
Locking 
✔︎ ✗ 
✔︎✗ 
Locking 
SPLC’14 - Florence September 2014 
36 
Opening 
Sensors Lock 
OpenedState 
Kind 
Door Window 
RollerStore TintedGlass 
Digital 
House 
Temperature 
Manager 
Luminosity 
Manager 
Security 
Manager 
CentralComputer✗ 
Room 
Sensors Actuators 
✔︎ 
Opening 
Sensors Lock 
OpenedState 
Locking 
Kind 
Door Window 
RollerStore TintedGlass 
Digital 
✔︎ ✔︎ 
Temperature 
Lightning 
Presence RollerStore 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking 
Room 
Sensors Actuators 
Temperature 
Lightning 
Presence RollerStore 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking 
Room 
Sensors Actuators 
Temperature 
Lightning 
Presence RollerStore 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking
hasGateways 
0..1 1..* 
1 1..* 1..* 1..* 
House Room Opening 
SPLC’14 - Florence September 2014 
Global context 
contains contains 
37 
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}
Locking 
SPLC’14 - Florence September 2014 
Global context 
38 
House 
Temperature 
Manager 
Luminosity 
Manager 
Security 
Manager 
Opening 
Sensors Lock 
Room 
Sensors Actuators 
Temperature 
Lightning 
Presence RollerStore 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking 
OpenedState 
Kind 
Door Window 
RollerStore TintedGlass 
Key 
Mandatory 
feature 
Optional 
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}
hasGateways 
0..1 1..* 
1 1..* 1..* 1..* 
House Room Opening 
SPLC’14 - Florence September 2014 
Local context 
contains contains 
39 
entrance:Room 
{Room,Sensors, 
Presence,Actuators, Locking, 
RollerStore} 
frontDoor:Opening 
{Opening, Kind, Door, Lock, 
Digital, Sensors, OpenedState}
Locking 
SPLC’14 - Florence September 2014 
Local context 
40 
House 
Temperature 
Manager 
Luminosity 
Manager 
Security 
Manager 
Opening 
Sensors Lock 
Room 
Sensors Actuators 
Temperature 
Lightning 
Presence RollerStore 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking 
OpenedState 
Kind 
Door Window 
RollerStore TintedGlass 
Key 
Mandatory 
feature 
Optional 
feature 
XOR 
OR 
interFM 
implication 
CentralComputer 
Digital 
entrance:Room 
{Room,Sensors, 
Presence,Actuators, Locking, 
RollerStore} 
frontDoor:Opening 
{Opening, Kind, Door, Lock, 
Digital, Sensors, OpenedState}
Propagation: ensuring consistency 
SPLC’14 - Florence September 2014 
through all contexts 
41 
global context 
context 1 
context 2 
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}
Locking 
SPLC’14 - Florence September 2014 
Propagation 
42 
global context 
House 
Temperature 
Manager 
Luminosity 
Manager 
Security 
Manager 
CentralComputer 
Room 
Sensors Actuators 
Temperature 
Lightning 
Presence RollerStore 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking 
Opening 
Sensors Lock 
OpenedState 
Kind 
Door Window 
RollerStore TintedGlass 
Digital
Locking 
SPLC’14 - Florence September 2014 
Propagation 
43 
global context 
House 
Temperature 
Manager 
Luminosity 
Manager 
Security 
Manager 
CentralComputer 
Room 
Sensors Actuators 
Temperature 
Lightning 
Presence RollerStore 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking 
context 1 
Opening 
Sensors Lock 
OpenedState 
Kind 
Door Window 
RollerStore TintedGlass 
Digital 
Room 
Sensors Actuators 
Temperature 
Lightning 
Presence RollerStore 
Locking 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking
Locking 
SPLC’14 - Florence September 2014 
Propagation 
44 
global context 
House 
Temperature 
Manager 
Luminosity 
Manager 
Security 
Manager 
CentralComputer 
Room 
Sensors Actuators 
Temperature 
Lightning 
Presence RollerStore 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking 
context 1 
Opening 
Sensors Lock 
OpenedState 
Kind 
Door Window 
RollerStore TintedGlass 
Digital 
Room 
Sensors Actuators 
Temperature 
Lightning 
Presence RollerStore 
Locking 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking 
Opening 
Sensors Lock 
OpenedState 
Kind 
Door Window 
RollerStore TintedGlass 
Digital
Locking 
SPLC’14 - Florence September 2014 
Propagation 
45 
global context 
House 
Temperature 
Manager 
Luminosity 
Manager 
Security 
Manager 
CentralComputer 
Room 
Sensors Actuators 
Temperature 
Lightning 
Presence RollerStore 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking 
context 1 
Opening 
Sensors Lock 
OpenedState 
Kind 
Door Window 
RollerStore TintedGlass 
Digital 
Room 
Sensors Actuators 
Temperature 
Lightning 
Presence RollerStore 
Locking 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking 
Opening 
Sensors Lock 
OpenedState 
Kind 
Door Window 
RollerStore TintedGlass 
Digital 
✔︎
Constraints reminder 
Locking 
SPLC’14 - Florence September 2014 
46 
House 
Temperature 
Manager 
Luminosity 
Manager 
Security 
Manager 
Opening 
Sensors Lock 
Room 
Sensors Actuators 
Temperature 
Lightning 
Presence RollerStore 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking 
OpenedState 
Kind 
Door Window 
RollerStore TintedGlass 
Key 
Mandatory 
feature 
Optional 
feature 
XOR 
OR 
interFM 
implication 
CentralComputer 
Digital
Locking 
SPLC’14 - Florence September 2014 
Propagation 
47 
global context 
House 
Temperature 
Manager 
Luminosity 
Manager 
Security 
Manager 
CentralComputer 
Room 
Sensors Actuators 
Temperature 
Lightning 
Presence RollerStore 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking 
context 1 
Opening 
Sensors Lock 
OpenedState 
Kind 
Door Window 
RollerStore TintedGlass 
Digital 
Room 
Sensors Actuators 
Temperature 
Lightning 
Presence RollerStore 
Locking 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking 
Opening 
Sensors Lock 
OpenedState 
Kind 
Door Window 
RollerStore TintedGlass 
Digital 
✔︎ 
✔︎
Locking 
SPLC’14 - Florence September 2014 
Propagation 
48 
global context 
House 
Temperature 
Manager 
Luminosity 
Manager 
Security 
Manager 
CentralComputer 
Room 
Sensors Actuators 
Temperature 
Lightning 
Presence RollerStore 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking 
context 1 
Opening 
Sensors Lock 
OpenedState 
Kind 
Door Window 
RollerStore TintedGlass 
Digital 
Room 
Sensors Actuators 
Temperature 
Lightning 
Presence RollerStore 
Locking 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking 
Opening 
Sensors Lock 
OpenedState 
Kind 
Door Window 
RollerStore TintedGlass 
Digital 
✔︎ 
✔︎ 
Opening 
Sensors Lock 
OpenedState 
Kind 
Door Window 
RollerStore TintedGlass 
Digital 
context 2 
Room 
Sensors Actuators 
Temperature 
Lightning 
Presence RollerStore 
Locking 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking 
✔︎
Constraints reminder 
Locking 
SPLC’14 - Florence September 2014 
49 
House 
Temperature 
Manager 
Luminosity 
Manager 
Security 
Manager 
Opening 
Sensors Lock 
Room 
Sensors Actuators 
Temperature 
Lightning 
Presence RollerStore 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking 
OpenedState 
Kind 
Door Window 
RollerStore TintedGlass 
Key 
Mandatory 
feature 
Optional 
feature 
XOR 
OR 
interFM 
implication 
CentralComputer 
Digital
Locking 
SPLC’14 - Florence September 2014 
Propagation 
50 
global context 
House 
Temperature 
Manager 
Luminosity 
Manager 
Security 
Manager 
CentralComputer 
Room 
Sensors Actuators 
Temperature 
Lightning 
Presence RollerStore 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking 
context 1 
Opening 
Sensors Lock 
OpenedState 
Kind 
Door Window 
RollerStore TintedGlass 
Digital 
Room 
Sensors Actuators 
Temperature 
Lightning 
Presence RollerStore 
Locking 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking 
Opening 
Sensors Lock 
OpenedState 
Kind 
Door Window 
RollerStore TintedGlass 
Digital 
✔︎ 
✔︎ 
Opening 
Sensors Lock 
OpenedState 
Kind 
Door Window 
RollerStore TintedGlass 
Digital 
context 2 
Room 
Sensors Actuators 
Temperature 
Lightning 
Presence RollerStore 
Locking 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking 
✔︎ 
✔︎
Constraints reminder 
Locking 
SPLC’14 - Florence September 2014 
51 
House 
Temperature 
Manager 
Luminosity 
Manager 
Security 
Manager 
Opening 
Sensors Lock 
Room 
Sensors Actuators 
Temperature 
Lightning 
Presence RollerStore 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking 
OpenedState 
Kind 
Door Window 
RollerStore TintedGlass 
Key 
Mandatory 
feature 
Optional 
feature 
XOR 
OR 
interFM 
implication 
CentralComputer 
Digital
Locking 
SPLC’14 - Florence September 2014 
Propagation 
52 
global context 
House 
Temperature 
Manager 
Luminosity 
Manager 
Security 
Manager 
CentralComputer 
Room 
Sensors Actuators 
Temperature 
Lightning 
Presence RollerStore 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking 
context 1 
Opening 
Sensors Lock 
OpenedState 
Kind 
Door Window 
RollerStore TintedGlass 
Digital 
Room 
Sensors Actuators 
Temperature 
Lightning 
Presence RollerStore 
Locking 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking 
Opening 
Sensors Lock 
OpenedState 
Kind 
Door Window 
RollerStore TintedGlass 
Digital 
✔︎ 
✔︎ 
Opening 
Sensors Lock 
OpenedState 
Kind 
Door Window 
RollerStore TintedGlass 
Digital 
context 2 
Room 
Sensors Actuators 
Temperature 
Lightning 
Presence RollerStore 
Locking 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking 
✔︎ 
✔︎ 
✔︎✔︎ 
✔︎ 
✔︎ 
✔︎
Locking 
SPLC’14 - Florence September 2014 
Propagation 
53 
global context 
House 
Temperature 
Manager 
Luminosity 
Manager 
Security 
Manager 
CentralComputer 
Room 
Sensors Actuators 
Temperature 
Lightning 
Presence RollerStore 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking 
context 1 
Opening 
Sensors Lock 
OpenedState 
Kind 
Door Window 
RollerStore TintedGlass 
Digital 
Room 
Sensors Actuators 
Temperature 
Lightning 
Presence RollerStore 
Locking 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking 
Opening 
Sensors Lock 
OpenedState 
Kind 
Door Window 
RollerStore TintedGlass 
Digital 
✔︎ 
✔︎ 
Opening 
Sensors Lock 
OpenedState 
Kind 
Door Window 
RollerStore TintedGlass 
Digital 
context 2 
Room 
Sensors Actuators 
Temperature 
Lightning 
Presence RollerStore 
Locking 
Thermostat 
Temperature implies Thermostat 
Presence implies Locking 
✔︎ 
✔︎ 
✔︎✔︎ 
✔︎ 
✔︎ 
✔︎ 
✔︎ ✔︎ 
✔︎ 
✔︎ 
✔︎ 
✔︎ ✔︎ ✔︎
Propagation Algorithm 
• Hypothesis: the SPL is consistent 
‣ Incremental algorithm based on 
biconnected components 
• Always terminate 
• Always reduce the solution scope 
SPLC’14 - Florence September 2014 
54
Application on SPL for digital signage systems 
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 
55
Application on YourCast 
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 
56
57 SPLC’14 - Florence September 2014
Results on YourCast 
Based on 5 different complex configurations. 
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 
58
SpineFM: application on YourCast 
SPLC’14 - Florence September 2014 
59 
6 % 
94 % 
Manual actions 
Automatic 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
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 
urli@i3s.unice.fr http://github.com/surli/spinefm 
SPLC’14 - Florence September 2014 
61

More Related Content

Recently uploaded

Pests of soyabean_Binomics_IdentificationDr.UPR.pdf
Pests of soyabean_Binomics_IdentificationDr.UPR.pdfPests of soyabean_Binomics_IdentificationDr.UPR.pdf
Pests of soyabean_Binomics_IdentificationDr.UPR.pdfPirithiRaju
 
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfBehavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfSELF-EXPLANATORY
 
RESPIRATORY ADAPTATIONS TO HYPOXIA IN HUMNAS.pptx
RESPIRATORY ADAPTATIONS TO HYPOXIA IN HUMNAS.pptxRESPIRATORY ADAPTATIONS TO HYPOXIA IN HUMNAS.pptx
RESPIRATORY ADAPTATIONS TO HYPOXIA IN HUMNAS.pptxFarihaAbdulRasheed
 
The dark energy paradox leads to a new structure of spacetime.pptx
The dark energy paradox leads to a new structure of spacetime.pptxThe dark energy paradox leads to a new structure of spacetime.pptx
The dark energy paradox leads to a new structure of spacetime.pptxEran Akiva Sinbar
 
BUMI DAN ANTARIKSA PROJEK IPAS SMK KELAS X.pdf
BUMI DAN ANTARIKSA PROJEK IPAS SMK KELAS X.pdfBUMI DAN ANTARIKSA PROJEK IPAS SMK KELAS X.pdf
BUMI DAN ANTARIKSA PROJEK IPAS SMK KELAS X.pdfWildaNurAmalia2
 
Call Us ≽ 9953322196 ≼ Call Girls In Lajpat Nagar (Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Lajpat Nagar (Delhi) |Call Us ≽ 9953322196 ≼ Call Girls In Lajpat Nagar (Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Lajpat Nagar (Delhi) |aasikanpl
 
Twin's paradox experiment is a meassurement of the extra dimensions.pptx
Twin's paradox experiment is a meassurement of the extra dimensions.pptxTwin's paradox experiment is a meassurement of the extra dimensions.pptx
Twin's paradox experiment is a meassurement of the extra dimensions.pptxEran Akiva Sinbar
 
Environmental Biotechnology Topic:- Microbial Biosensor
Environmental Biotechnology Topic:- Microbial BiosensorEnvironmental Biotechnology Topic:- Microbial Biosensor
Environmental Biotechnology Topic:- Microbial Biosensorsonawaneprad
 
Artificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PArtificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PPRINCE C P
 
Vision and reflection on Mining Software Repositories research in 2024
Vision and reflection on Mining Software Repositories research in 2024Vision and reflection on Mining Software Repositories research in 2024
Vision and reflection on Mining Software Repositories research in 2024AyushiRastogi48
 
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.aasikanpl
 
Best Call Girls In Sector 29 Gurgaon❤️8860477959 EscorTs Service In 24/7 Delh...
Best Call Girls In Sector 29 Gurgaon❤️8860477959 EscorTs Service In 24/7 Delh...Best Call Girls In Sector 29 Gurgaon❤️8860477959 EscorTs Service In 24/7 Delh...
Best Call Girls In Sector 29 Gurgaon❤️8860477959 EscorTs Service In 24/7 Delh...lizamodels9
 
Neurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trNeurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trssuser06f238
 
Evidences of Evolution General Biology 2
Evidences of Evolution General Biology 2Evidences of Evolution General Biology 2
Evidences of Evolution General Biology 2John Carlo Rollon
 
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.aasikanpl
 
Speech, hearing, noise, intelligibility.pptx
Speech, hearing, noise, intelligibility.pptxSpeech, hearing, noise, intelligibility.pptx
Speech, hearing, noise, intelligibility.pptxpriyankatabhane
 
Forest laws, Indian forest laws, why they are important
Forest laws, Indian forest laws, why they are importantForest laws, Indian forest laws, why they are important
Forest laws, Indian forest laws, why they are importantadityabhardwaj282
 
Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?Patrick Diehl
 
LIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptx
LIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptxLIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptx
LIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptxmalonesandreagweneth
 
Pests of jatropha_Bionomics_identification_Dr.UPR.pdf
Pests of jatropha_Bionomics_identification_Dr.UPR.pdfPests of jatropha_Bionomics_identification_Dr.UPR.pdf
Pests of jatropha_Bionomics_identification_Dr.UPR.pdfPirithiRaju
 

Recently uploaded (20)

Pests of soyabean_Binomics_IdentificationDr.UPR.pdf
Pests of soyabean_Binomics_IdentificationDr.UPR.pdfPests of soyabean_Binomics_IdentificationDr.UPR.pdf
Pests of soyabean_Binomics_IdentificationDr.UPR.pdf
 
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfBehavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
 
RESPIRATORY ADAPTATIONS TO HYPOXIA IN HUMNAS.pptx
RESPIRATORY ADAPTATIONS TO HYPOXIA IN HUMNAS.pptxRESPIRATORY ADAPTATIONS TO HYPOXIA IN HUMNAS.pptx
RESPIRATORY ADAPTATIONS TO HYPOXIA IN HUMNAS.pptx
 
The dark energy paradox leads to a new structure of spacetime.pptx
The dark energy paradox leads to a new structure of spacetime.pptxThe dark energy paradox leads to a new structure of spacetime.pptx
The dark energy paradox leads to a new structure of spacetime.pptx
 
BUMI DAN ANTARIKSA PROJEK IPAS SMK KELAS X.pdf
BUMI DAN ANTARIKSA PROJEK IPAS SMK KELAS X.pdfBUMI DAN ANTARIKSA PROJEK IPAS SMK KELAS X.pdf
BUMI DAN ANTARIKSA PROJEK IPAS SMK KELAS X.pdf
 
Call Us ≽ 9953322196 ≼ Call Girls In Lajpat Nagar (Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Lajpat Nagar (Delhi) |Call Us ≽ 9953322196 ≼ Call Girls In Lajpat Nagar (Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Lajpat Nagar (Delhi) |
 
Twin's paradox experiment is a meassurement of the extra dimensions.pptx
Twin's paradox experiment is a meassurement of the extra dimensions.pptxTwin's paradox experiment is a meassurement of the extra dimensions.pptx
Twin's paradox experiment is a meassurement of the extra dimensions.pptx
 
Environmental Biotechnology Topic:- Microbial Biosensor
Environmental Biotechnology Topic:- Microbial BiosensorEnvironmental Biotechnology Topic:- Microbial Biosensor
Environmental Biotechnology Topic:- Microbial Biosensor
 
Artificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PArtificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C P
 
Vision and reflection on Mining Software Repositories research in 2024
Vision and reflection on Mining Software Repositories research in 2024Vision and reflection on Mining Software Repositories research in 2024
Vision and reflection on Mining Software Repositories research in 2024
 
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
 
Best Call Girls In Sector 29 Gurgaon❤️8860477959 EscorTs Service In 24/7 Delh...
Best Call Girls In Sector 29 Gurgaon❤️8860477959 EscorTs Service In 24/7 Delh...Best Call Girls In Sector 29 Gurgaon❤️8860477959 EscorTs Service In 24/7 Delh...
Best Call Girls In Sector 29 Gurgaon❤️8860477959 EscorTs Service In 24/7 Delh...
 
Neurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trNeurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 tr
 
Evidences of Evolution General Biology 2
Evidences of Evolution General Biology 2Evidences of Evolution General Biology 2
Evidences of Evolution General Biology 2
 
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
 
Speech, hearing, noise, intelligibility.pptx
Speech, hearing, noise, intelligibility.pptxSpeech, hearing, noise, intelligibility.pptx
Speech, hearing, noise, intelligibility.pptx
 
Forest laws, Indian forest laws, why they are important
Forest laws, Indian forest laws, why they are importantForest laws, Indian forest laws, why they are important
Forest laws, Indian forest laws, why they are important
 
Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?
 
LIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptx
LIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptxLIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptx
LIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptx
 
Pests of jatropha_Bionomics_identification_Dr.UPR.pdf
Pests of jatropha_Bionomics_identification_Dr.UPR.pdfPests of jatropha_Bionomics_identification_Dr.UPR.pdf
Pests of jatropha_Bionomics_identification_Dr.UPR.pdf
 

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Handling Complex Configurations in Software Product Lines: a Tooled Approach

  • 1. Handling Complex Configurations in Software Product Lines: a Tooled Approach SPLC’14 - Florence September 2014 Simon Urli Mireille Blay-Fornarino Philippe Collet urli@i3s.unice.fr I3S Laboratory - University Nice-Sophia Antipolis 1
  • 2. SPL for information systems? SPLC’14 - Florence September 2014 2
  • 3. Running Example: SmartHome SPLC’14 - Florence September 2014 3
  • 4. Running Example: SmartHome SPLC’14 - Florence September 2014 4
  • 5. Running Example: SmartHome SPLC’14 - Florence September 2014 5
  • 6. Running Example: SmartHome SPLC’14 - Florence September 2014 6
  • 7. Running Example: SmartHome SPLC’14 - Florence September 2014 7 Main Room
  • 8. Running Example: SmartHome SPLC’14 - Florence September 2014 8 Main Room
  • 9. Running Example: SmartHome SPLC’14 - Florence September 2014 9 Main Room
  • 10. Running Example: SmartHome Main Room Entrance SPLC’14 - Florence September 2014 10
  • 11. Scenario 1: SimpleFlat SPLC’14 - Florence September 2014 11 home:House {House} Key name:Concept {features}
  • 12. Scenario 1: SimpleFlat SPLC’14 - Florence September 2014 12 home:House {House} frontDoor:Opening {Opening, Kind, Door, Lock, Sensors, OpenedState} Key name:Concept {features}
  • 13. Scenario 1: SimpleFlat SPLC’14 - Florence September 2014 13 home:House {House} frontDoor:Opening {Opening, Kind, Door, Lock, Sensors, OpenedState} mainRoom:Room {Room,Sensors,Lightning} Key name:Concept {features}
  • 14. Scenario 1: SimpleFlat SPLC’14 - Florence September 2014 14 home:House {House} frontDoor:Opening {Opening, Kind, Door, Lock, Sensors, OpenedState} mainRoom:Room {Room,Sensors,Lightning} mainRoomWindow:Opening {Opening, Kind, Window, TintedGlass} Key name:Concept {features}
  • 15. Scenario 1: SimpleFlat SPLC’14 - Florence September 2014 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} Key name:Concept {features}
  • 16. Scenario 1: SimpleFlat SPLC’14 - Florence September 2014 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} Key name:Concept {features}
  • 17. Different configurations... SPLC’14 - Florence September 2014 17 home:House {House} entrance:Room {Room} frontDoor:Opening {Opening, Kind, Door}
  • 18. Different configurations... SPLC’14 - Florence September 2014 18 home:House {House} entrance:Room {Room} frontDoor:Opening {Opening, Kind, Door}
  • 19. Different configurations... SPLC’14 - Florence September 2014 19 home:House {House} entrance:Room {Room} frontDoor:Opening {Opening, Kind, Door}
  • 20. Different configurations... SPLC’14 - Florence September 2014 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}
  • 21. Different configurations... SPLC’14 - Florence September 2014 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}
  • 22. Different configurations... SPLC’14 - Florence September 2014 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}
  • 23. 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 SPLC’14 - Florence September 2014 23
  • 24. 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 SPLC’14 - Florence September 2014 24
  • 25. SpineFM Overview House Room Opening 1 1..* 1..* 1..* contains contains 25 SPLC’14 - Florence September 2014 Feature Models Domain Model Metamodel SpineFM House Room Opening 0..1 1..* hasGateways API + Propagation algorithm Generation
  • 26. Designing the SPL hasGateways 0..1 1..* 1 1..* 1..* 1..* House Room Opening SPLC’14 - Florence September 2014 contains contains 26 SPL assets SPL assets SPL assets Tools Domain Model Assets FMs Generation
  • 27. Running example: FM by concerns Locking SPLC’14 - Florence September 2014 27 Room Sensors Actuators Temperature Lightning Presence RollerStore Thermostat Temperature implies Thermostat Presence implies Locking Opening Sensors Lock OpenedState Kind Door Window RollerStore TintedGlass House Temperature Manager Luminosity Manager Security Manager CentralComputer Digital
  • 28. Designing the SPL hasGateways 0..1 1..* 1 1..* 1..* 1..* House Room Opening SPLC’14 - Florence September 2014 contains contains 28 SPL assets SPL assets SPL assets Tools Domain Model Assets FMs Generation + inter-FM constraints
  • 29. 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 SPLC’14 - Florence September 2014 29
  • 30. Running example: FM by concerns... with constraints Locking SPLC’14 - Florence September 2014 30 House Temperature Manager Luminosity Manager Security Manager Opening Sensors Lock Room Sensors Actuators Temperature Lightning Presence RollerStore Thermostat Temperature implies Thermostat Presence implies Locking OpenedState Kind Door Window RollerStore TintedGlass Key Mandatory feature Optional feature XOR OR interFM implication CentralComputer Digital
  • 31. Running Example: Constraints Locking SPLC’14 - Florence September 2014 31 source:Room target:Opening Rule : Selected Locking ⇒ SELECT Lock House Temperature Manager Luminosity Manager Security Manager Opening Sensors Lock Room Sensors Actuators Temperature Lightning Presence RollerStore Thermostat Temperature implies Thermostat Presence implies Locking OpenedState Kind Door Window RollerStore TintedGlass Key Mandatory feature Optional feature XOR OR interFM implication CentralComputer Digital
  • 32. Running Example: Constraints Locking SPLC’14 - Florence September 2014 32 source:Opening target:Room Rule : Excluded Lock ⇒ DESELECT Locking House Temperature Manager Luminosity Manager Security Manager Opening Sensors Lock Room Sensors Actuators Temperature Lightning Presence RollerStore Thermostat Temperature implies Thermostat Presence implies Locking OpenedState Kind Door Window RollerStore TintedGlass Key Mandatory feature Optional feature XOR OR interFM implication CentralComputer Digital
  • 33. Locking Thermostat Temperature implies Thermostat SPLC’14 - Florence September 2014 Constraints in real life 33 source:Room target:Opening Rule : Selected Temperature RollerStore and Room Sensors Actuators Lightning Presence RollerStore Presence implies Locking Excluded Presence ⇒ Add Constraint Door or RollerStore Opening Sensors Lock OpenedState Kind Door Window RollerStore TintedGlass House Temperature Manager Luminosity Manager Security Manager CentralComputer Digital
  • 34. Derive a complex configuration SPLC’14 - Florence September 2014 34 Key name: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}
  • 35. Providing flexibility and consistency SPLC’14 - Florence September 2014 Logo from conTeXt tool. 35
  • 36. Providing flexibility and consistency Locking ✔︎ ✗ ✔︎✗ Locking SPLC’14 - Florence September 2014 36 Opening Sensors Lock OpenedState Kind Door Window RollerStore TintedGlass Digital House Temperature Manager Luminosity Manager Security Manager CentralComputer✗ Room Sensors Actuators ✔︎ Opening Sensors Lock OpenedState Locking Kind Door Window RollerStore TintedGlass Digital ✔︎ ✔︎ Temperature Lightning Presence RollerStore Thermostat Temperature implies Thermostat Presence implies Locking Room Sensors Actuators Temperature Lightning Presence RollerStore Thermostat Temperature implies Thermostat Presence implies Locking Room Sensors Actuators Temperature Lightning Presence RollerStore Thermostat Temperature implies Thermostat Presence implies Locking
  • 37. hasGateways 0..1 1..* 1 1..* 1..* 1..* House Room Opening SPLC’14 - Florence September 2014 Global context contains contains 37 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}
  • 38. Locking SPLC’14 - Florence September 2014 Global context 38 House Temperature Manager Luminosity Manager Security Manager Opening Sensors Lock Room Sensors Actuators Temperature Lightning Presence RollerStore Thermostat Temperature implies Thermostat Presence implies Locking OpenedState Kind Door Window RollerStore TintedGlass Key Mandatory feature Optional 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}
  • 39. hasGateways 0..1 1..* 1 1..* 1..* 1..* House Room Opening SPLC’14 - Florence September 2014 Local context contains contains 39 entrance:Room {Room,Sensors, Presence,Actuators, Locking, RollerStore} frontDoor:Opening {Opening, Kind, Door, Lock, Digital, Sensors, OpenedState}
  • 40. Locking SPLC’14 - Florence September 2014 Local context 40 House Temperature Manager Luminosity Manager Security Manager Opening Sensors Lock Room Sensors Actuators Temperature Lightning Presence RollerStore Thermostat Temperature implies Thermostat Presence implies Locking OpenedState Kind Door Window RollerStore TintedGlass Key Mandatory feature Optional feature XOR OR interFM implication CentralComputer Digital entrance:Room {Room,Sensors, Presence,Actuators, Locking, RollerStore} frontDoor:Opening {Opening, Kind, Door, Lock, Digital, Sensors, OpenedState}
  • 41. Propagation: ensuring consistency SPLC’14 - Florence September 2014 through all contexts 41 global context context 1 context 2 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}
  • 42. Locking SPLC’14 - Florence September 2014 Propagation 42 global context House Temperature Manager Luminosity Manager Security Manager CentralComputer Room Sensors Actuators Temperature Lightning Presence RollerStore Thermostat Temperature implies Thermostat Presence implies Locking Opening Sensors Lock OpenedState Kind Door Window RollerStore TintedGlass Digital
  • 43. Locking SPLC’14 - Florence September 2014 Propagation 43 global context House Temperature Manager Luminosity Manager Security Manager CentralComputer Room Sensors Actuators Temperature Lightning Presence RollerStore Thermostat Temperature implies Thermostat Presence implies Locking context 1 Opening Sensors Lock OpenedState Kind Door Window RollerStore TintedGlass Digital Room Sensors Actuators Temperature Lightning Presence RollerStore Locking Thermostat Temperature implies Thermostat Presence implies Locking
  • 44. Locking SPLC’14 - Florence September 2014 Propagation 44 global context House Temperature Manager Luminosity Manager Security Manager CentralComputer Room Sensors Actuators Temperature Lightning Presence RollerStore Thermostat Temperature implies Thermostat Presence implies Locking context 1 Opening Sensors Lock OpenedState Kind Door Window RollerStore TintedGlass Digital Room Sensors Actuators Temperature Lightning Presence RollerStore Locking Thermostat Temperature implies Thermostat Presence implies Locking Opening Sensors Lock OpenedState Kind Door Window RollerStore TintedGlass Digital
  • 45. Locking SPLC’14 - Florence September 2014 Propagation 45 global context House Temperature Manager Luminosity Manager Security Manager CentralComputer Room Sensors Actuators Temperature Lightning Presence RollerStore Thermostat Temperature implies Thermostat Presence implies Locking context 1 Opening Sensors Lock OpenedState Kind Door Window RollerStore TintedGlass Digital Room Sensors Actuators Temperature Lightning Presence RollerStore Locking Thermostat Temperature implies Thermostat Presence implies Locking Opening Sensors Lock OpenedState Kind Door Window RollerStore TintedGlass Digital ✔︎
  • 46. Constraints reminder Locking SPLC’14 - Florence September 2014 46 House Temperature Manager Luminosity Manager Security Manager Opening Sensors Lock Room Sensors Actuators Temperature Lightning Presence RollerStore Thermostat Temperature implies Thermostat Presence implies Locking OpenedState Kind Door Window RollerStore TintedGlass Key Mandatory feature Optional feature XOR OR interFM implication CentralComputer Digital
  • 47. Locking SPLC’14 - Florence September 2014 Propagation 47 global context House Temperature Manager Luminosity Manager Security Manager CentralComputer Room Sensors Actuators Temperature Lightning Presence RollerStore Thermostat Temperature implies Thermostat Presence implies Locking context 1 Opening Sensors Lock OpenedState Kind Door Window RollerStore TintedGlass Digital Room Sensors Actuators Temperature Lightning Presence RollerStore Locking Thermostat Temperature implies Thermostat Presence implies Locking Opening Sensors Lock OpenedState Kind Door Window RollerStore TintedGlass Digital ✔︎ ✔︎
  • 48. Locking SPLC’14 - Florence September 2014 Propagation 48 global context House Temperature Manager Luminosity Manager Security Manager CentralComputer Room Sensors Actuators Temperature Lightning Presence RollerStore Thermostat Temperature implies Thermostat Presence implies Locking context 1 Opening Sensors Lock OpenedState Kind Door Window RollerStore TintedGlass Digital Room Sensors Actuators Temperature Lightning Presence RollerStore Locking Thermostat Temperature implies Thermostat Presence implies Locking Opening Sensors Lock OpenedState Kind Door Window RollerStore TintedGlass Digital ✔︎ ✔︎ Opening Sensors Lock OpenedState Kind Door Window RollerStore TintedGlass Digital context 2 Room Sensors Actuators Temperature Lightning Presence RollerStore Locking Thermostat Temperature implies Thermostat Presence implies Locking ✔︎
  • 49. Constraints reminder Locking SPLC’14 - Florence September 2014 49 House Temperature Manager Luminosity Manager Security Manager Opening Sensors Lock Room Sensors Actuators Temperature Lightning Presence RollerStore Thermostat Temperature implies Thermostat Presence implies Locking OpenedState Kind Door Window RollerStore TintedGlass Key Mandatory feature Optional feature XOR OR interFM implication CentralComputer Digital
  • 50. Locking SPLC’14 - Florence September 2014 Propagation 50 global context House Temperature Manager Luminosity Manager Security Manager CentralComputer Room Sensors Actuators Temperature Lightning Presence RollerStore Thermostat Temperature implies Thermostat Presence implies Locking context 1 Opening Sensors Lock OpenedState Kind Door Window RollerStore TintedGlass Digital Room Sensors Actuators Temperature Lightning Presence RollerStore Locking Thermostat Temperature implies Thermostat Presence implies Locking Opening Sensors Lock OpenedState Kind Door Window RollerStore TintedGlass Digital ✔︎ ✔︎ Opening Sensors Lock OpenedState Kind Door Window RollerStore TintedGlass Digital context 2 Room Sensors Actuators Temperature Lightning Presence RollerStore Locking Thermostat Temperature implies Thermostat Presence implies Locking ✔︎ ✔︎
  • 51. Constraints reminder Locking SPLC’14 - Florence September 2014 51 House Temperature Manager Luminosity Manager Security Manager Opening Sensors Lock Room Sensors Actuators Temperature Lightning Presence RollerStore Thermostat Temperature implies Thermostat Presence implies Locking OpenedState Kind Door Window RollerStore TintedGlass Key Mandatory feature Optional feature XOR OR interFM implication CentralComputer Digital
  • 52. Locking SPLC’14 - Florence September 2014 Propagation 52 global context House Temperature Manager Luminosity Manager Security Manager CentralComputer Room Sensors Actuators Temperature Lightning Presence RollerStore Thermostat Temperature implies Thermostat Presence implies Locking context 1 Opening Sensors Lock OpenedState Kind Door Window RollerStore TintedGlass Digital Room Sensors Actuators Temperature Lightning Presence RollerStore Locking Thermostat Temperature implies Thermostat Presence implies Locking Opening Sensors Lock OpenedState Kind Door Window RollerStore TintedGlass Digital ✔︎ ✔︎ Opening Sensors Lock OpenedState Kind Door Window RollerStore TintedGlass Digital context 2 Room Sensors Actuators Temperature Lightning Presence RollerStore Locking Thermostat Temperature implies Thermostat Presence implies Locking ✔︎ ✔︎ ✔︎✔︎ ✔︎ ✔︎ ✔︎
  • 53. Locking SPLC’14 - Florence September 2014 Propagation 53 global context House Temperature Manager Luminosity Manager Security Manager CentralComputer Room Sensors Actuators Temperature Lightning Presence RollerStore Thermostat Temperature implies Thermostat Presence implies Locking context 1 Opening Sensors Lock OpenedState Kind Door Window RollerStore TintedGlass Digital Room Sensors Actuators Temperature Lightning Presence RollerStore Locking Thermostat Temperature implies Thermostat Presence implies Locking Opening Sensors Lock OpenedState Kind Door Window RollerStore TintedGlass Digital ✔︎ ✔︎ Opening Sensors Lock OpenedState Kind Door Window RollerStore TintedGlass Digital context 2 Room Sensors Actuators Temperature Lightning Presence RollerStore Locking Thermostat Temperature implies Thermostat Presence implies Locking ✔︎ ✔︎ ✔︎✔︎ ✔︎ ✔︎ ✔︎ ✔︎ ✔︎ ✔︎ ✔︎ ✔︎ ✔︎ ✔︎ ✔︎
  • 54. Propagation Algorithm • Hypothesis: the SPL is consistent ‣ Incremental algorithm based on biconnected components • Always terminate • Always reduce the solution scope SPLC’14 - Florence September 2014 54
  • 55. Application on SPL for digital signage systems 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 55
  • 56. Application on YourCast 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 56
  • 57. 57 SPLC’14 - Florence September 2014
  • 58. Results on YourCast Based on 5 different complex configurations. 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 58
  • 59. SpineFM: application on YourCast SPLC’14 - Florence September 2014 59 6 % 94 % Manual actions Automatic actions
  • 60. 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
  • 61. 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 urli@i3s.unice.fr http://github.com/surli/spinefm SPLC’14 - Florence September 2014 61