This document discusses handling complex configurations in software product lines. It presents an approach called SpineFM that considers variability by concerns, manages constraints between variability models, allows dynamic creation of sub-configurations and links between them, ensures consistency in user choices, and supports a flexible configuration process. The approach is demonstrated on a running example of configuring a smart home system with features organized into multiple feature models by concern and constraints between them.
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
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
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
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