A Visual Support for Decomposing Complex Feature Models
-
Upload
simon-urli -
Category
Science
-
view
643 -
download
3
Transcript of A Visual Support for Decomposing Complex Feature Models
A Visual Support for Decomposing Complex
Feature ModelsSimon Urli
Alexandre Bergel Mireille Blay-Fornarino
Philippe ColletSébastien Mosser
I3S Laboratory - University Nice-Sophia Antipolis - France Pleiad Lab - University of Chile - Chile
Urli et al - Vissoft 2015 - Bremen
Feature Models
• Huge Feature Models: thousands of features and constraints
4
Urli et al - Vissoft 2015 - Bremen
Feature Models
• Huge Feature Models: thousands of features and constraints
• Tedious to understand
4
Urli et al - Vissoft 2015 - Bremen
Feature Models
• Huge Feature Models: thousands of features and constraints
• Tedious to understand
• Difficult to maintain
4
Urli et al - Vissoft 2015 - Bremen
Feature Models
• Huge Feature Models: thousands of features and constraints
• Tedious to understand
• Difficult to maintain
➡Towards decomposition
4
Urli et al - Vissoft 2015 - Bremen
Handling complex FM
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
5
Urli et al - Vissoft 2015 - Bremen
Handling complex FMHouse
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
6
Urli et al - Vissoft 2015 - Bremen
Handling complex FM in real lifeConcept # Features # Internal
constraints # Configurations
Source
Renderer
Behaviour
Zone
Layout
81 154 68
76 347 74
33 45 15
49 160 27
51 59 13
Total 290 765 197
7
Urli et al - Vissoft 2015 - Bremen
Handling complex FM in real lifeConcept # Features # Internal
constraints # Configurations
Source
Renderer
Behaviour
Zone
Layout
Total
81 154 68
76 347 74
33 45 15
49 160 27
51 59 13
290 765 197
And 144 external constraints !8
Urli et al - Vissoft 2015 - Bremen
Variability Blueprint
• Roassal: a parametric visualization tool developed in SmallTalk
• Several usages, mostly for visualizing large-scale programs and analyzing code repositories
• Idea behind: to quickly create an interactive visualization
9
Urli et al - Vissoft 2015 - Bremen
Visualizing feature models
7/25/13 12:16 PM
Page 1 of 1file:///Users/alexandrebergel/Desktop/FamiliarOnRoassal/fooZork.svg
source
renderer
zonebehaviourlayout
# external constraints
# internal constraints
optionalmutex
BA
xor
10
Urli et al - Vissoft 2015 - Bremen
Using interactive visualization to handle interrelated feature models
12
Urli et al - Vissoft 2015 - Bremen
Using interactive visualization to handle interrelated feature models
12
Urli et al - Vissoft 2015 - Bremen
Using Roassal during decomposition
• Frascati: a SCA platform
• A feature model containing:
- 63 features
- 46 constraints
• Goal: decomposing the FM in keeping some good metrics in average
• CTC: # features involved in internal constraints / # internal constraints
• exCTC: same idea on external constraints
13
Urli et al - Vissoft 2015 - Bremen
Frascati Scenario
14
V0
7/31/13 10:40 AM
Page 1 of 1file:///Users/alexandrebergel/Desktop/FamiliarOnRoassal/frascati.svg
frascati
Urli et al - Vissoft 2015 - Bremen
Frascati Scenario
14
V0
7/31/13 10:40 AM
Page 1 of 1file:///Users/alexandrebergel/Desktop/FamiliarOnRoassal/frascati.svg
frascati
7/31/13 10:53 AM
Page 1 of 1file:///Users/alexandrebergel/Desktop/FamiliarOnRoassal/frascati_v1.svg
AssemblyFactoryImplementation ComponentFactory
Frascati ScaParser
V1
CTC: 57%exCTC: 0%
CTC: 16%exCTC: 47%
Urli et al - Vissoft 2015 - Bremen
Frascati Scenario
14
V0
7/31/13 10:40 AM
Page 1 of 1file:///Users/alexandrebergel/Desktop/FamiliarOnRoassal/frascati.svg
frascati
7/31/13 10:53 AM
Page 1 of 1file:///Users/alexandrebergel/Desktop/FamiliarOnRoassal/frascati_v1.svg
AssemblyFactoryImplementation ComponentFactory
Frascati ScaParser
V1
CTC: 57%exCTC: 0%
CTC: 16%exCTC: 47%
SCAParser: 71% exCTC
Urli et al - Vissoft 2015 - Bremen
7/31/13 10:53 AM
Page 1 of 1file:///Users/alexandrebergel/Desktop/FamiliarOnRoassal/frascati_v1.svg
AssemblyFactoryImplementation ComponentFactory
Frascati ScaParser
V1
V2
CTC: 16%exCTC: 47%
CTC: 17%exCTC: 47%
Frascati Scenario
16
Urli et al - Vissoft 2015 - Bremen
7/31/13 11:00 AM
Page 1 of 1file:///Users/alexandrebergel/Desktop/FamiliarOnRoassal/frascati_v5.svg
AssemblyFactoryImplementationComponentFactory
Frascati
V5
7/31/13 10:59 AM
Page 1 of 1file:///Users/alexandrebergel/Desktop/FamiliarOnRoassal/frascati_v3.svg
AssemblyFactoryImplementationComponentFactory
Frascati ScaParser
V4
CTC: 34%exCTC: 33%
CTC: 45%exCTC: 19%
Frascati Scenario
17
Urli et al - Vissoft 2015 - Bremen
Decomposition metrics in Frascati scenario
#FM # features / FM CTC exCTC
V0V1
V2
V3
V4
V5
1 63 57 % 0 %4 16 16 % 47 %
4 16 17 % 47 %
4 17 28 % 41 %
4 19 34 % 33 %
3 24 45 % 19 %
18
Urli et al - Vissoft 2015 - Bremen
Future works
• Integration with modeling tools
• Towards automation to find patterns
• Finding the right trade-off between cohesion and decoupling
19