handling complex configurations in software product lines: a tooled approach
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
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
[email protected] http://github.com/surli/spinefm