SlideShare a Scribd company logo
WebFML 
Synthesizing 
Feature 
Models 
Everywhere 
Guillaume 
Bécan, 
Sana 
Ben 
Nasr, 
Mathieu 
Acher 
and 
Benoit 
Baudry 
1 
h:p://>nyurl.com/WebFMLDemo
There are numerous artefacts that 
exhibit features and their dependencies. 
Product 
Line 
Modeling 
variability 
2 
φ
Feature 
Models 
defacto 
standard 
for 
modeling 
variability 
3 
Feature 
Model 
= 
Feature 
Diagram 
+ 
Proposi>onal 
Formula 
φ 
. 
Configura@on 
Seman@cs 
Set 
of 
valid 
configura@ons 
(set 
of 
selected 
features) 
of 
an 
FM. 
Ontological 
Seman@cs 
Hierarchy 
and 
feature 
groups 
of 
an 
FM. 
Define 
the 
seman@cs 
of 
the 
features’ 
rela@onships. 
Features 
parent 
feature 
2 
child 
features 
root
4 
Feature 
Models 
defacto 
standard 
for 
modeling 
variability 
Valid 
configura@on: 
{Wiki, 
Storage, 
License, 
Hos@ng, 
P.SQL, 
P.License, 
H.Service 
, 
Ontological 
Seman@cs 
Hierarchy 
and 
feature 
groups 
of 
an 
FM. 
Define 
the 
seman@cs 
of 
the 
features’ 
rela@onships. 
Domain} 
Hierarchy 
+ 
Variability 
= 
set 
of 
valid 
configura@ons
For 
a 
given 
configura@on 
set, 
many 
(maximal) 
feature 
diagrams 
with 
different 
ontological 
seman@cs 
[She 
et 
al. 
ICSE’11, 
Andersen 
et 
al. 
SPLC’12, 
Acher 
et 
al. 
VaMoS’13] 
5
For 
a 
given 
configura@on 
set, 
many 
(maximal) 
feature 
diagrams 
with 
different 
ontological 
seman@cs 
[She 
et 
al. 
ICSE’11, 
Andersen 
et 
al. 
SPLC’12, 
Acher 
et 
al. 
VaMoS’13] 
6
Importance 
of 
ontological 
seman@cs 
(1) 
7
Importance 
of 
ontological 
seman@cs 
(2) 
8
Importance 
of 
ontological 
seman@cs 
(3) 
9 
Communica>on 
Comprehension 
Forward 
engineering 
(e.g., 
genera>on)
10 
Importance 
of 
ontological 
seman@cs 
(4) 
Two 
product 
configurators 
generated 
from 
two 
FMs 
with 
the 
same 
configura@on 
seman@cs 
but 
different 
ontological 
seman@cs. 
Good 
FM 
Good 
configura@on 
interface 
Bad 
FM 
Bad 
configura@on 
interface
Most 
of 
the 
exis@ng 
approaches 
neglect 
either 
configura@on 
or 
ontological 
seman@cs. 
We 
want 
both! 
11 
φ
Fundamental 
Problem 
Selec@ng 
a 
Spanning 
Tree 
of 
the 
Binary 
Implica@on 
Graph 
(BIG) 
12
13 
Fundamental 
Problem 
Selec@ng 
a 
Spanning 
Tree 
of 
the 
Binary 
Implica@on 
Graph 
(BIG) 
#0 
Op@mum 
branching 
(Tarjan) 
weigh@ng 
edges
14 
Fundamental 
Problem 
Selec@ng 
a 
Spanning 
Tree 
of 
the 
Binary 
Implica@on 
Graph 
(BIG) 
#1 
Ranking 
lists 
best 
parent 
candidates 
for 
each 
feature
15 
Fundamental 
Problem 
Selec@ng 
a 
Spanning 
Tree 
of 
the 
Binary 
Implica@on 
Graph 
(BIG) 
#2 
Clusters 
~possible 
siblings
16 
Fundamental 
Problem 
Selec@ng 
a 
Spanning 
Tree 
of 
the 
Binary 
Implica@on 
Graph 
(BIG) 
#3 
Cliques 
~bi-­‐implica@ons
17 
Fundamental 
Problem 
Selec@ng 
a 
Spanning 
Tree 
of 
the 
Binary 
Implica@on 
Graph 
(BIG) 
#4 
small 
BIG
18 
Fundamental 
Problem 
Selec@ng 
a 
Spanning 
Tree 
of 
the 
Binary 
Implica@on 
Graph 
(BIG) 
#4 
reduced 
BIG 
incomplete 
but 
drama@cally 
reduce 
the 
problem
Ontological 
Heuris@cs 
• For 
op>mum 
branching, 
compu>ng 
ranking 
lists 
and 
clusters 
– ~ 
« 
closedness 
» 
of 
features 
based 
on 
their 
names 
• Syntac>cal 
heuris>cs 
– Smith-­‐Waterman 
(SW) 
and 
Levenshtein 
(L) 
• Wordnet 
– PathLength 
(PL) 
and 
Wu&Palmer 
(WP) 
• Wikipedia 
Miner 
offers 
an 
API 
to 
browse 
Wikipedia's 
ar>cles 
and 
compute 
their 
relatedness 
– Wik>onary 
(Wikt) 
19 
40 
GB! 
Milne, 
D.N., 
Wigen, 
I.H.: 
An 
open-­‐source 
toolkit 
for 
mining 
wikipedia. 
Ar@f. 
Intell. 
194, 
222{239 
(2013)
WebFML 
20
• Dataset 
– 120+ 
feature 
models 
of 
SPLOT 
– 30+ 
product 
comparison 
matrices 
from 
Wikipedia 
(see 
Becan 
et 
al. 
ASE’14 
and 
ASE’13) 
– Ground 
truths 
are 
known 
• Effec>veness 
of 
techniques 
(reduced 
BIG 
+ 
ontological 
heuris>cs) 
– One 
shot 
synthesis 
– Quality 
of 
the 
ranking 
lists 
(top 
2), 
clusters 
– Comparison 
with 
randomized 
and 
exis>ng 
techniques 
21 
Support 
and 
Empirical 
Study 
(1) 
Goal: 
evidence 
and 
empirical 
insights 
of 
what 
heuris@cs 
are 
effec@ve 
and 
what 
support 
is 
needed 
in 
WebFML
• Dataset 
– 120+ 
feature 
models 
of 
SPLOT 
– 30+ 
product 
comparison 
matrices 
from 
Wikipedia 
(see 
Becan 
et 
al. 
ASE’14 
and 
ASE’13) 
– Ground 
truths 
are 
known 
• Effec>veness 
of 
techniques 
(reduced 
BIG 
+ 
ontological 
heuris>cs) 
– One 
shot 
synthesis 
– Quality 
of 
the 
ranking 
lists 
(top 
2), 
clusters 
– Comparison 
with 
randomized 
and 
exis>ng 
techniques 
22 
Support 
and 
Empirical 
Study 
(2) 
Default 
heuris@cs/support 
has 
been 
determined 
through 
an 
empirical 
study
• One-­‐step 
synthesis 
is 
far 
from 
the 
ground 
truth 
– despite 
state-­‐of-­‐the-­‐art 
techniques 
we 
have 
developed 
– interac>ve 
support 
is 
thus 
crucial 
• State-­‐of-­‐the-­‐art 
heuris>cs 
for 
ranking 
lists 
and 
clusters 
• Empirical 
insights 
on 
« 
cliques 
» 
and 
BIG 
reduc>on 
– e.g., 
support 
for 
unfolding 
of 
cliques 
23 
Support 
and 
Empirical 
Study 
(3) 
Default 
heuris@cs/support 
has 
been 
determined 
through 
an 
empirical 
study
Support 
and 
Empirical 
Study 
(3) 
hgp://@nyurl.com/OntoFMExperiments 
24 
hgp://hal.inria.fr/hal-­‐00874867
WebFML 
25
WebFML 
26
WebFML 
27
WebFML 
28
WebFML 
29
WebFML 
30
h:p://>nyurl.com/WebFMLDemo 
31
• WebFML 
for 
synthesizing 
feature 
models: 
– from 
various 
kinds 
of 
artefacts 
– sound 
and 
meaningful 
– interac>ve 
support 
– full 
automa>on 
is 
neither 
feasible 
nor 
desirable 
• Tooling 
support 
is 
based 
on 
empirical 
studies 
• WebFML 
opens 
avenues 
for 
– reverse 
engineering 
variability-­‐intensive 
data/systems 
– refactoring/merging/slicing 
feature 
models 
32 
Conclusion
Need 
a 
DEMO! 
FraSCAti 
SCAParser 
Java Compiler 
JDK6 JDT 
Optional 
Mandatory 
Alternative- 
Group 
Or-Group 
Assembly Factory 
Binding 
http rest 
MMFrascati 
Component Factory 
Metamodel 
MMTuscany 
constraints 
rest requires MMFrascati 
http requires MMTuscany 
FM1 
Feature 
Model 
Ontologies 
Knowledge 
User 
Heuris@cs 
WebFML: 
Synthesizing 
Feature 
Models 
33 
φ 
h:p://>nyurl.com/WebFMLDemo

More Related Content

Viewers also liked

From Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.orgFrom Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.org
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Comparing or Configuring Products: Are We Getting the Right Ones? (VaMoS 2014)
Comparing or Configuring Products: Are We Getting the Right Ones? (VaMoS 2014)Comparing or Configuring Products: Are We Getting the Right Ones? (VaMoS 2014)
Comparing or Configuring Products: Are We Getting the Right Ones? (VaMoS 2014)
Guillaume Bécan
 
Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...
Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...
Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Automating the Formalization of Product Comparison Matrices
Automating the Formalization of Product Comparison MatricesAutomating the Formalization of Product Comparison Matrices
Automating the Formalization of Product Comparison Matrices
Guillaume Bécan
 
Composing Feature Models
Composing Feature ModelsComposing Feature Models
Synthesis of Attributed Feature Models From Product Descriptions
Synthesis of Attributed Feature Models From Product DescriptionsSynthesis of Attributed Feature Models From Product Descriptions
Synthesis of Attributed Feature Models From Product Descriptions
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Ec2013 tutorial-mb variability-final
Ec2013 tutorial-mb variability-finalEc2013 tutorial-mb variability-final
Ec2013 tutorial-mb variability-final
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Metamorphic Domain-Specific Languages
Metamorphic Domain-Specific LanguagesMetamorphic Domain-Specific Languages
Metamorphic Domain-Specific Languages
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
ASE tool demonstration
ASE tool demonstrationASE tool demonstration
A survey on teaching of software product lines
A survey on teaching of software product linesA survey on teaching of software product lines
A survey on teaching of software product lines
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Reverse Engineering Architectural Feature Models
Reverse Engineering Architectural Feature ModelsReverse Engineering Architectural Feature Models
Reverse Engineering Architectural Feature Models
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Product Comparison Matrix (PCM), Variability Modeling: The Wikipedia Case Study
Product Comparison Matrix (PCM), Variability Modeling: The Wikipedia Case StudyProduct Comparison Matrix (PCM), Variability Modeling: The Wikipedia Case Study
Product Comparison Matrix (PCM), Variability Modeling: The Wikipedia Case Study
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
User Experience Design & Paper Prototyping
User Experience Design & Paper PrototypingUser Experience Design & Paper Prototyping
User Experience Design & Paper Prototyping
Ilona Posner
 

Viewers also liked (13)

From Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.orgFrom Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.org
 
Comparing or Configuring Products: Are We Getting the Right Ones? (VaMoS 2014)
Comparing or Configuring Products: Are We Getting the Right Ones? (VaMoS 2014)Comparing or Configuring Products: Are We Getting the Right Ones? (VaMoS 2014)
Comparing or Configuring Products: Are We Getting the Right Ones? (VaMoS 2014)
 
Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...
Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...
Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...
 
Automating the Formalization of Product Comparison Matrices
Automating the Formalization of Product Comparison MatricesAutomating the Formalization of Product Comparison Matrices
Automating the Formalization of Product Comparison Matrices
 
Composing Feature Models
Composing Feature ModelsComposing Feature Models
Composing Feature Models
 
Synthesis of Attributed Feature Models From Product Descriptions
Synthesis of Attributed Feature Models From Product DescriptionsSynthesis of Attributed Feature Models From Product Descriptions
Synthesis of Attributed Feature Models From Product Descriptions
 
Ec2013 tutorial-mb variability-final
Ec2013 tutorial-mb variability-finalEc2013 tutorial-mb variability-final
Ec2013 tutorial-mb variability-final
 
Metamorphic Domain-Specific Languages
Metamorphic Domain-Specific LanguagesMetamorphic Domain-Specific Languages
Metamorphic Domain-Specific Languages
 
ASE tool demonstration
ASE tool demonstrationASE tool demonstration
ASE tool demonstration
 
A survey on teaching of software product lines
A survey on teaching of software product linesA survey on teaching of software product lines
A survey on teaching of software product lines
 
Reverse Engineering Architectural Feature Models
Reverse Engineering Architectural Feature ModelsReverse Engineering Architectural Feature Models
Reverse Engineering Architectural Feature Models
 
Product Comparison Matrix (PCM), Variability Modeling: The Wikipedia Case Study
Product Comparison Matrix (PCM), Variability Modeling: The Wikipedia Case StudyProduct Comparison Matrix (PCM), Variability Modeling: The Wikipedia Case Study
Product Comparison Matrix (PCM), Variability Modeling: The Wikipedia Case Study
 
User Experience Design & Paper Prototyping
User Experience Design & Paper PrototypingUser Experience Design & Paper Prototyping
User Experience Design & Paper Prototyping
 

Similar to WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

SERENE 2014 School: Incremental Model Queries over the Cloud
SERENE 2014 School: Incremental Model Queries over the CloudSERENE 2014 School: Incremental Model Queries over the Cloud
SERENE 2014 School: Incremental Model Queries over the Cloud
SERENEWorkshop
 
SERENE 2014 School: Daniel varro serene2014_school
SERENE 2014 School: Daniel varro serene2014_schoolSERENE 2014 School: Daniel varro serene2014_school
SERENE 2014 School: Daniel varro serene2014_school
Henry Muccini
 
Metadata and Provenance for ML Pipelines with Hopsworks
Metadata and Provenance for ML Pipelines with Hopsworks Metadata and Provenance for ML Pipelines with Hopsworks
Metadata and Provenance for ML Pipelines with Hopsworks
Jim Dowling
 
Apache Calcite: A Foundational Framework for Optimized Query Processing Over ...
Apache Calcite: A Foundational Framework for Optimized Query Processing Over ...Apache Calcite: A Foundational Framework for Optimized Query Processing Over ...
Apache Calcite: A Foundational Framework for Optimized Query Processing Over ...
Julian Hyde
 
The Other HPC: High Productivity Computing in Polystore Environments
The Other HPC: High Productivity Computing in Polystore EnvironmentsThe Other HPC: High Productivity Computing in Polystore Environments
The Other HPC: High Productivity Computing in Polystore Environments
University of Washington
 
Reference Representation in Large Metamodel-based Datasets
Reference Representation in Large Metamodel-based DatasetsReference Representation in Large Metamodel-based Datasets
Reference Representation in Large Metamodel-based Datasets
Markus Scheidgen
 
Modeling and Simulation of Electrical Power Systems using OpenIPSL.org and Gr...
Modeling and Simulation of Electrical Power Systems using OpenIPSL.org and Gr...Modeling and Simulation of Electrical Power Systems using OpenIPSL.org and Gr...
Modeling and Simulation of Electrical Power Systems using OpenIPSL.org and Gr...
Luigi Vanfretti
 
MMDS 2014: Myria (and Scalable Graph Clustering with RelaxMap)
MMDS 2014: Myria (and Scalable Graph Clustering with RelaxMap)MMDS 2014: Myria (and Scalable Graph Clustering with RelaxMap)
MMDS 2014: Myria (and Scalable Graph Clustering with RelaxMap)
University of Washington
 
IncQuery-D: Distributed Incremental Model Queries over the Cloud: Engineerin...
IncQuery-D: Distributed Incremental Model Queries over the Cloud: Engineerin...IncQuery-D: Distributed Incremental Model Queries over the Cloud: Engineerin...
IncQuery-D: Distributed Incremental Model Queries over the Cloud: Engineerin...
Daniel Varro
 
Processing large-scale graphs with Google Pregel
Processing large-scale graphs with Google PregelProcessing large-scale graphs with Google Pregel
Processing large-scale graphs with Google Pregel
Max Neunhöffer
 
Strata Conference + Hadoop World NY 2016: Lessons learned building a scalable...
Strata Conference + Hadoop World NY 2016: Lessons learned building a scalable...Strata Conference + Hadoop World NY 2016: Lessons learned building a scalable...
Strata Conference + Hadoop World NY 2016: Lessons learned building a scalable...
Sumeet Singh
 
F14 lec12graphs
F14 lec12graphsF14 lec12graphs
F14 lec12graphs
ankush karwa
 
Streaming Model Transformations by Complex Event Processing
Streaming Model Transformations by Complex Event ProcessingStreaming Model Transformations by Complex Event Processing
Streaming Model Transformations by Complex Event Processing
István Dávid
 
ExtremeEarth: Hopsworks, a data-intensive AI platform for Deep Learning with ...
ExtremeEarth: Hopsworks, a data-intensive AI platform for Deep Learning with ...ExtremeEarth: Hopsworks, a data-intensive AI platform for Deep Learning with ...
ExtremeEarth: Hopsworks, a data-intensive AI platform for Deep Learning with ...
Big Data Value Association
 
DuraMat CO1 Central Data Resource: How it started, how it’s going …
DuraMat CO1 Central Data Resource: How it started, how it’s going …DuraMat CO1 Central Data Resource: How it started, how it’s going …
DuraMat CO1 Central Data Resource: How it started, how it’s going …
Anubhav Jain
 
Model-Based Systems Engineering Demystified
Model-Based Systems Engineering DemystifiedModel-Based Systems Engineering Demystified
Model-Based Systems Engineering Demystified
Elizabeth Steiner
 
Integrated Model Discovery and Self-Adaptation of Robots
Integrated Model Discovery and Self-Adaptation of RobotsIntegrated Model Discovery and Self-Adaptation of Robots
Integrated Model Discovery and Self-Adaptation of Robots
Pooyan Jamshidi
 
Software variability management - 2019
Software variability management - 2019Software variability management - 2019
Software variability management - 2019
XavierDevroey
 
RAMSES: Robust Analytic Models for Science at Extreme Scales
RAMSES: Robust Analytic Models for Science at Extreme ScalesRAMSES: Robust Analytic Models for Science at Extreme Scales
RAMSES: Robust Analytic Models for Science at Extreme Scales
Ian Foster
 
Evaluating Machine Learning Algorithms for Materials Science using the Matben...
Evaluating Machine Learning Algorithms for Materials Science using the Matben...Evaluating Machine Learning Algorithms for Materials Science using the Matben...
Evaluating Machine Learning Algorithms for Materials Science using the Matben...
Anubhav Jain
 

Similar to WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014) (20)

SERENE 2014 School: Incremental Model Queries over the Cloud
SERENE 2014 School: Incremental Model Queries over the CloudSERENE 2014 School: Incremental Model Queries over the Cloud
SERENE 2014 School: Incremental Model Queries over the Cloud
 
SERENE 2014 School: Daniel varro serene2014_school
SERENE 2014 School: Daniel varro serene2014_schoolSERENE 2014 School: Daniel varro serene2014_school
SERENE 2014 School: Daniel varro serene2014_school
 
Metadata and Provenance for ML Pipelines with Hopsworks
Metadata and Provenance for ML Pipelines with Hopsworks Metadata and Provenance for ML Pipelines with Hopsworks
Metadata and Provenance for ML Pipelines with Hopsworks
 
Apache Calcite: A Foundational Framework for Optimized Query Processing Over ...
Apache Calcite: A Foundational Framework for Optimized Query Processing Over ...Apache Calcite: A Foundational Framework for Optimized Query Processing Over ...
Apache Calcite: A Foundational Framework for Optimized Query Processing Over ...
 
The Other HPC: High Productivity Computing in Polystore Environments
The Other HPC: High Productivity Computing in Polystore EnvironmentsThe Other HPC: High Productivity Computing in Polystore Environments
The Other HPC: High Productivity Computing in Polystore Environments
 
Reference Representation in Large Metamodel-based Datasets
Reference Representation in Large Metamodel-based DatasetsReference Representation in Large Metamodel-based Datasets
Reference Representation in Large Metamodel-based Datasets
 
Modeling and Simulation of Electrical Power Systems using OpenIPSL.org and Gr...
Modeling and Simulation of Electrical Power Systems using OpenIPSL.org and Gr...Modeling and Simulation of Electrical Power Systems using OpenIPSL.org and Gr...
Modeling and Simulation of Electrical Power Systems using OpenIPSL.org and Gr...
 
MMDS 2014: Myria (and Scalable Graph Clustering with RelaxMap)
MMDS 2014: Myria (and Scalable Graph Clustering with RelaxMap)MMDS 2014: Myria (and Scalable Graph Clustering with RelaxMap)
MMDS 2014: Myria (and Scalable Graph Clustering with RelaxMap)
 
IncQuery-D: Distributed Incremental Model Queries over the Cloud: Engineerin...
IncQuery-D: Distributed Incremental Model Queries over the Cloud: Engineerin...IncQuery-D: Distributed Incremental Model Queries over the Cloud: Engineerin...
IncQuery-D: Distributed Incremental Model Queries over the Cloud: Engineerin...
 
Processing large-scale graphs with Google Pregel
Processing large-scale graphs with Google PregelProcessing large-scale graphs with Google Pregel
Processing large-scale graphs with Google Pregel
 
Strata Conference + Hadoop World NY 2016: Lessons learned building a scalable...
Strata Conference + Hadoop World NY 2016: Lessons learned building a scalable...Strata Conference + Hadoop World NY 2016: Lessons learned building a scalable...
Strata Conference + Hadoop World NY 2016: Lessons learned building a scalable...
 
F14 lec12graphs
F14 lec12graphsF14 lec12graphs
F14 lec12graphs
 
Streaming Model Transformations by Complex Event Processing
Streaming Model Transformations by Complex Event ProcessingStreaming Model Transformations by Complex Event Processing
Streaming Model Transformations by Complex Event Processing
 
ExtremeEarth: Hopsworks, a data-intensive AI platform for Deep Learning with ...
ExtremeEarth: Hopsworks, a data-intensive AI platform for Deep Learning with ...ExtremeEarth: Hopsworks, a data-intensive AI platform for Deep Learning with ...
ExtremeEarth: Hopsworks, a data-intensive AI platform for Deep Learning with ...
 
DuraMat CO1 Central Data Resource: How it started, how it’s going …
DuraMat CO1 Central Data Resource: How it started, how it’s going …DuraMat CO1 Central Data Resource: How it started, how it’s going …
DuraMat CO1 Central Data Resource: How it started, how it’s going …
 
Model-Based Systems Engineering Demystified
Model-Based Systems Engineering DemystifiedModel-Based Systems Engineering Demystified
Model-Based Systems Engineering Demystified
 
Integrated Model Discovery and Self-Adaptation of Robots
Integrated Model Discovery and Self-Adaptation of RobotsIntegrated Model Discovery and Self-Adaptation of Robots
Integrated Model Discovery and Self-Adaptation of Robots
 
Software variability management - 2019
Software variability management - 2019Software variability management - 2019
Software variability management - 2019
 
RAMSES: Robust Analytic Models for Science at Extreme Scales
RAMSES: Robust Analytic Models for Science at Extreme ScalesRAMSES: Robust Analytic Models for Science at Extreme Scales
RAMSES: Robust Analytic Models for Science at Extreme Scales
 
Evaluating Machine Learning Algorithms for Materials Science using the Matben...
Evaluating Machine Learning Algorithms for Materials Science using the Matben...Evaluating Machine Learning Algorithms for Materials Science using the Matben...
Evaluating Machine Learning Algorithms for Materials Science using the Matben...
 

More from University of Rennes, INSA Rennes, Inria/IRISA, CNRS

Deep Software Variability and Frictionless Reproducibility
Deep Software Variability and Frictionless ReproducibilityDeep Software Variability and Frictionless Reproducibility
Deep Software Variability and Frictionless Reproducibility
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
A Demonstration of End-User Code Customization Using Generative AI
A Demonstration of End-User Code Customization Using Generative AIA Demonstration of End-User Code Customization Using Generative AI
A Demonstration of End-User Code Customization Using Generative AI
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
On Programming Variability with Large Language Model-based Assistant
On Programming Variability with Large Language Model-based AssistantOn Programming Variability with Large Language Model-based Assistant
On Programming Variability with Large Language Model-based Assistant
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Generative AI for Reengineering Variants into Software Product Lines: An Expe...
Generative AI for Reengineering Variants into Software Product Lines: An Expe...Generative AI for Reengineering Variants into Software Product Lines: An Expe...
Generative AI for Reengineering Variants into Software Product Lines: An Expe...
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Tackling Deep Software Variability Together
Tackling Deep Software Variability TogetherTackling Deep Software Variability Together
Tackling Deep Software Variability Together
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
On anti-cheating in chess, science, reproducibility, and variability
On anti-cheating in chess, science, reproducibility, and variabilityOn anti-cheating in chess, science, reproducibility, and variability
On anti-cheating in chess, science, reproducibility, and variability
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Feature Subset Selection for Learning Huge Configuration Spaces: The case of ...
Feature Subset Selection for Learning Huge Configuration Spaces: The case of ...Feature Subset Selection for Learning Huge Configuration Spaces: The case of ...
Feature Subset Selection for Learning Huge Configuration Spaces: The case of ...
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Machine Learning and Deep Software Variability
Machine Learning and Deep Software VariabilityMachine Learning and Deep Software Variability
Machine Learning and Deep Software Variability
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Mastering Software Variability for Innovation and Science
Mastering Software Variability for Innovation and ScienceMastering Software Variability for Innovation and Science
Mastering Software Variability for Innovation and Science
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Transfer Learning Across Variants and Versions: The Case of Linux Kernel Size
Transfer Learning Across Variants and Versions: The Case of Linux Kernel SizeTransfer Learning Across Variants and Versions: The Case of Linux Kernel Size
Transfer Learning Across Variants and Versions: The Case of Linux Kernel Size
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Reproducible Science and Deep Software Variability
Reproducible Science and Deep Software VariabilityReproducible Science and Deep Software Variability
Reproducible Science and Deep Software Variability
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Software Variability and Artificial Intelligence
Software Variability and Artificial IntelligenceSoftware Variability and Artificial Intelligence
Software Variability and Artificial Intelligence
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Teaching Software Product Lines: A Snapshot of Current Practices and Challenges
Teaching Software Product Lines: A Snapshot of Current Practices and ChallengesTeaching Software Product Lines: A Snapshot of Current Practices and Challenges
Teaching Software Product Lines: A Snapshot of Current Practices and Challenges
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Pandoc: a universal document converter
Pandoc: a universal document converterPandoc: a universal document converter
Pandoc: a universal document converter
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 

More from University of Rennes, INSA Rennes, Inria/IRISA, CNRS (15)

Deep Software Variability and Frictionless Reproducibility
Deep Software Variability and Frictionless ReproducibilityDeep Software Variability and Frictionless Reproducibility
Deep Software Variability and Frictionless Reproducibility
 
A Demonstration of End-User Code Customization Using Generative AI
A Demonstration of End-User Code Customization Using Generative AIA Demonstration of End-User Code Customization Using Generative AI
A Demonstration of End-User Code Customization Using Generative AI
 
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
 
On Programming Variability with Large Language Model-based Assistant
On Programming Variability with Large Language Model-based AssistantOn Programming Variability with Large Language Model-based Assistant
On Programming Variability with Large Language Model-based Assistant
 
Generative AI for Reengineering Variants into Software Product Lines: An Expe...
Generative AI for Reengineering Variants into Software Product Lines: An Expe...Generative AI for Reengineering Variants into Software Product Lines: An Expe...
Generative AI for Reengineering Variants into Software Product Lines: An Expe...
 
Tackling Deep Software Variability Together
Tackling Deep Software Variability TogetherTackling Deep Software Variability Together
Tackling Deep Software Variability Together
 
On anti-cheating in chess, science, reproducibility, and variability
On anti-cheating in chess, science, reproducibility, and variabilityOn anti-cheating in chess, science, reproducibility, and variability
On anti-cheating in chess, science, reproducibility, and variability
 
Feature Subset Selection for Learning Huge Configuration Spaces: The case of ...
Feature Subset Selection for Learning Huge Configuration Spaces: The case of ...Feature Subset Selection for Learning Huge Configuration Spaces: The case of ...
Feature Subset Selection for Learning Huge Configuration Spaces: The case of ...
 
Machine Learning and Deep Software Variability
Machine Learning and Deep Software VariabilityMachine Learning and Deep Software Variability
Machine Learning and Deep Software Variability
 
Mastering Software Variability for Innovation and Science
Mastering Software Variability for Innovation and ScienceMastering Software Variability for Innovation and Science
Mastering Software Variability for Innovation and Science
 
Transfer Learning Across Variants and Versions: The Case of Linux Kernel Size
Transfer Learning Across Variants and Versions: The Case of Linux Kernel SizeTransfer Learning Across Variants and Versions: The Case of Linux Kernel Size
Transfer Learning Across Variants and Versions: The Case of Linux Kernel Size
 
Reproducible Science and Deep Software Variability
Reproducible Science and Deep Software VariabilityReproducible Science and Deep Software Variability
Reproducible Science and Deep Software Variability
 
Software Variability and Artificial Intelligence
Software Variability and Artificial IntelligenceSoftware Variability and Artificial Intelligence
Software Variability and Artificial Intelligence
 
Teaching Software Product Lines: A Snapshot of Current Practices and Challenges
Teaching Software Product Lines: A Snapshot of Current Practices and ChallengesTeaching Software Product Lines: A Snapshot of Current Practices and Challenges
Teaching Software Product Lines: A Snapshot of Current Practices and Challenges
 
Pandoc: a universal document converter
Pandoc: a universal document converterPandoc: a universal document converter
Pandoc: a universal document converter
 

Recently uploaded

digital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdfdigital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdf
drwaing
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
IJECEIAES
 
ML Based Model for NIDS MSc Updated Presentation.v2.pptx
ML Based Model for NIDS MSc Updated Presentation.v2.pptxML Based Model for NIDS MSc Updated Presentation.v2.pptx
ML Based Model for NIDS MSc Updated Presentation.v2.pptx
JamalHussainArman
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
gerogepatton
 
Heat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation pptHeat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation ppt
mamunhossenbd75
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
KrishnaveniKrishnara1
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
MDSABBIROJJAMANPAYEL
 
New techniques for characterising damage in rock slopes.pdf
New techniques for characterising damage in rock slopes.pdfNew techniques for characterising damage in rock slopes.pdf
New techniques for characterising damage in rock slopes.pdf
wisnuprabawa3
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
kandramariana6
 
sieving analysis and results interpretation
sieving analysis and results interpretationsieving analysis and results interpretation
sieving analysis and results interpretation
ssuser36d3051
 
14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application
SyedAbiiAzazi1
 
bank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdfbank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdf
Divyam548318
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
SUTEJAS
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
thanhdowork
 
Modelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdfModelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdf
camseq
 
2. Operations Strategy in a Global Environment.ppt
2. Operations Strategy in a Global Environment.ppt2. Operations Strategy in a Global Environment.ppt
2. Operations Strategy in a Global Environment.ppt
PuktoonEngr
 
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMSA SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
IJNSA Journal
 
Series of visio cisco devices Cisco_Icons.ppt
Series of visio cisco devices Cisco_Icons.pptSeries of visio cisco devices Cisco_Icons.ppt
Series of visio cisco devices Cisco_Icons.ppt
PauloRodrigues104553
 
basic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdfbasic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdf
NidhalKahouli2
 
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
Mukeshwaran Balu
 

Recently uploaded (20)

digital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdfdigital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdf
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
 
ML Based Model for NIDS MSc Updated Presentation.v2.pptx
ML Based Model for NIDS MSc Updated Presentation.v2.pptxML Based Model for NIDS MSc Updated Presentation.v2.pptx
ML Based Model for NIDS MSc Updated Presentation.v2.pptx
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
 
Heat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation pptHeat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation ppt
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
 
New techniques for characterising damage in rock slopes.pdf
New techniques for characterising damage in rock slopes.pdfNew techniques for characterising damage in rock slopes.pdf
New techniques for characterising damage in rock slopes.pdf
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
 
sieving analysis and results interpretation
sieving analysis and results interpretationsieving analysis and results interpretation
sieving analysis and results interpretation
 
14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application
 
bank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdfbank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdf
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
 
Modelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdfModelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdf
 
2. Operations Strategy in a Global Environment.ppt
2. Operations Strategy in a Global Environment.ppt2. Operations Strategy in a Global Environment.ppt
2. Operations Strategy in a Global Environment.ppt
 
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMSA SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
 
Series of visio cisco devices Cisco_Icons.ppt
Series of visio cisco devices Cisco_Icons.pptSeries of visio cisco devices Cisco_Icons.ppt
Series of visio cisco devices Cisco_Icons.ppt
 
basic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdfbasic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdf
 
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
 

WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

  • 1. WebFML Synthesizing Feature Models Everywhere Guillaume Bécan, Sana Ben Nasr, Mathieu Acher and Benoit Baudry 1 h:p://>nyurl.com/WebFMLDemo
  • 2. There are numerous artefacts that exhibit features and their dependencies. Product Line Modeling variability 2 φ
  • 3. Feature Models defacto standard for modeling variability 3 Feature Model = Feature Diagram + Proposi>onal Formula φ . Configura@on Seman@cs Set of valid configura@ons (set of selected features) of an FM. Ontological Seman@cs Hierarchy and feature groups of an FM. Define the seman@cs of the features’ rela@onships. Features parent feature 2 child features root
  • 4. 4 Feature Models defacto standard for modeling variability Valid configura@on: {Wiki, Storage, License, Hos@ng, P.SQL, P.License, H.Service , Ontological Seman@cs Hierarchy and feature groups of an FM. Define the seman@cs of the features’ rela@onships. Domain} Hierarchy + Variability = set of valid configura@ons
  • 5. For a given configura@on set, many (maximal) feature diagrams with different ontological seman@cs [She et al. ICSE’11, Andersen et al. SPLC’12, Acher et al. VaMoS’13] 5
  • 6. For a given configura@on set, many (maximal) feature diagrams with different ontological seman@cs [She et al. ICSE’11, Andersen et al. SPLC’12, Acher et al. VaMoS’13] 6
  • 7. Importance of ontological seman@cs (1) 7
  • 8. Importance of ontological seman@cs (2) 8
  • 9. Importance of ontological seman@cs (3) 9 Communica>on Comprehension Forward engineering (e.g., genera>on)
  • 10. 10 Importance of ontological seman@cs (4) Two product configurators generated from two FMs with the same configura@on seman@cs but different ontological seman@cs. Good FM Good configura@on interface Bad FM Bad configura@on interface
  • 11. Most of the exis@ng approaches neglect either configura@on or ontological seman@cs. We want both! 11 φ
  • 12. Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG) 12
  • 13. 13 Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG) #0 Op@mum branching (Tarjan) weigh@ng edges
  • 14. 14 Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG) #1 Ranking lists best parent candidates for each feature
  • 15. 15 Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG) #2 Clusters ~possible siblings
  • 16. 16 Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG) #3 Cliques ~bi-­‐implica@ons
  • 17. 17 Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG) #4 small BIG
  • 18. 18 Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG) #4 reduced BIG incomplete but drama@cally reduce the problem
  • 19. Ontological Heuris@cs • For op>mum branching, compu>ng ranking lists and clusters – ~ « closedness » of features based on their names • Syntac>cal heuris>cs – Smith-­‐Waterman (SW) and Levenshtein (L) • Wordnet – PathLength (PL) and Wu&Palmer (WP) • Wikipedia Miner offers an API to browse Wikipedia's ar>cles and compute their relatedness – Wik>onary (Wikt) 19 40 GB! Milne, D.N., Wigen, I.H.: An open-­‐source toolkit for mining wikipedia. Ar@f. Intell. 194, 222{239 (2013)
  • 21. • Dataset – 120+ feature models of SPLOT – 30+ product comparison matrices from Wikipedia (see Becan et al. ASE’14 and ASE’13) – Ground truths are known • Effec>veness of techniques (reduced BIG + ontological heuris>cs) – One shot synthesis – Quality of the ranking lists (top 2), clusters – Comparison with randomized and exis>ng techniques 21 Support and Empirical Study (1) Goal: evidence and empirical insights of what heuris@cs are effec@ve and what support is needed in WebFML
  • 22. • Dataset – 120+ feature models of SPLOT – 30+ product comparison matrices from Wikipedia (see Becan et al. ASE’14 and ASE’13) – Ground truths are known • Effec>veness of techniques (reduced BIG + ontological heuris>cs) – One shot synthesis – Quality of the ranking lists (top 2), clusters – Comparison with randomized and exis>ng techniques 22 Support and Empirical Study (2) Default heuris@cs/support has been determined through an empirical study
  • 23. • One-­‐step synthesis is far from the ground truth – despite state-­‐of-­‐the-­‐art techniques we have developed – interac>ve support is thus crucial • State-­‐of-­‐the-­‐art heuris>cs for ranking lists and clusters • Empirical insights on « cliques » and BIG reduc>on – e.g., support for unfolding of cliques 23 Support and Empirical Study (3) Default heuris@cs/support has been determined through an empirical study
  • 24. Support and Empirical Study (3) hgp://@nyurl.com/OntoFMExperiments 24 hgp://hal.inria.fr/hal-­‐00874867
  • 32. • WebFML for synthesizing feature models: – from various kinds of artefacts – sound and meaningful – interac>ve support – full automa>on is neither feasible nor desirable • Tooling support is based on empirical studies • WebFML opens avenues for – reverse engineering variability-­‐intensive data/systems – refactoring/merging/slicing feature models 32 Conclusion
  • 33. Need a DEMO! FraSCAti SCAParser Java Compiler JDK6 JDT Optional Mandatory Alternative- Group Or-Group Assembly Factory Binding http rest MMFrascati Component Factory Metamodel MMTuscany constraints rest requires MMFrascati http requires MMTuscany FM1 Feature Model Ontologies Knowledge User Heuris@cs WebFML: Synthesizing Feature Models 33 φ h:p://>nyurl.com/WebFMLDemo