SlideShare una empresa de Scribd logo
1 de 39
Descargar para leer sin conexión
Mathieu	
  Acher,	
  Benoit	
  Combemale,	
  Philippe	
  Collet,	
  
Olivier	
  Barais,	
  Philippe	
  Lahire	
  and	
  Robert	
  B.	
  France	
  
Composing	
  your	
  Composi2ons	
  
of	
  Variability	
  Models	
  
2	
  2	
  
Extensible	
  architectures	
  
(eg	
  plugins-­‐based)	
  
Configura2on	
  
files	
  
System	
  
Preferences	
  
Configurators	
  
Source	
  code	
  
Build	
  
systems	
  
Comparison	
  of	
  *	
  
Structural	
  or	
  behavorial	
  	
  
models	
  
External	
  Variability	
  
Internal	
  Variability	
  
Variability	
  @	
  run.2me	
  
3	
  3	
  
*systems,	
  viewpoints,	
  
concerns,	
  stakeholders	
  
MULTI-­‐*	
  VARIABILITIES	
  
4	
  4	
  
Variability	
  Modeling	
  with	
  Feature	
  Models	
  
5	
  5	
  
	
  	
  
	
  	
  
	
  	
   	
  	
  
	
  	
  
	
  	
  
	
  	
  
	
  	
   	
  	
  
	
  	
  
	
  	
  
	
  	
  
	
  	
   	
  	
  
	
  	
  
	
  	
  
	
  	
  
	
  	
   	
  	
  
	
  	
  
Composing	
  Large,	
  Complex	
  &	
  Mul2ple	
  Feature	
  Models	
  
Scenario	
  1:	
  Building	
  Feature	
  Models	
  
from	
  product	
  descrip2ons	
  
6	
  
Haslinger,	
  et.	
  Al.	
  On	
  extrac*ng	
  feature	
  models	
  from	
  sets	
  of	
  valid	
  feature	
  combina*ons.	
  In	
  FASE’13.	
  
Acher	
  et.	
  Al.	
  On	
  extrac*ng	
  feature	
  models	
  from	
  product	
  descrip*ons.	
  In:	
  VaMoS’12	
  
•  Choosing	
  a	
  product	
  among	
  a	
  
set	
  of	
  products	
  
user	
  
Scenario	
  1:	
  Building	
  Feature	
  Models	
  
from	
  product	
  descrip2ons	
  
7	
  
Haslinger,	
  et.	
  Al.	
  On	
  extrac*ng	
  feature	
  models	
  from	
  sets	
  of	
  valid	
  feature	
  combina*ons.	
  In	
  FASE’13.	
  
Acher	
  et.	
  Al.	
  On	
  extrac*ng	
  feature	
  models	
  from	
  product	
  descrip*ons.	
  In:	
  VaMoS’12	
  
•  CreaNng	
  a	
  new	
  product	
  
domain	
  
analyst	
  
Scenario	
  1:	
  Building	
  Feature	
  Models	
  
from	
  product	
  descrip2ons	
  
8	
  
Haslinger,	
  et.	
  Al.	
  On	
  extrac*ng	
  feature	
  models	
  from	
  sets	
  of	
  valid	
  feature	
  combina*ons.	
  In	
  FASE’13.	
  
Acher	
  et.	
  Al.	
  On	
  extrac*ng	
  feature	
  models	
  from	
  product	
  descrip*ons.	
  In:	
  VaMoS’12	
  
•  Switching	
  to	
  a	
  SoQware	
  Product	
  Line	
  
approach	
  from	
  a	
  set	
  of	
  products	
  
product	
  
manager	
  
Scenario	
  1:	
  Building	
  Feature	
  Models	
  
from	
  product	
  descrip2ons	
  
9	
  
Haslinger,	
  et.	
  Al.	
  On	
  extrac*ng	
  feature	
  models	
  from	
  sets	
  of	
  valid	
  feature	
  combina*ons.	
  In	
  FASE’13.	
  
Acher	
  et.	
  Al.	
  On	
  extrac*ng	
  feature	
  models	
  from	
  product	
  descrip*ons.	
  In:	
  VaMoS’12	
  
fm1	
  
fm2	
  
fm8	
  
……….	
  
Scenario	
  2:	
  Managing	
  complexity	
  in	
  
large	
  scale	
  organiza2ons	
  
10	
  10	
  
	
  	
  
	
  	
  
	
  	
  
	
  	
  
	
  	
  
	
  	
  
	
  	
  
Integrated	
  
view	
  
Departments	
  
Scenario	
  2:	
  Managing	
  complexity	
  in	
  
large	
  scale	
  organiza2ons	
  
11	
  Reiser,	
  M.O.,	
  Weber,	
  M.:	
  MulN-­‐level	
  feature	
  trees:	
  A	
  pragmaNc	
  approach	
  to	
  managing	
  highly	
  complex	
  
product	
  families.	
  Requir.	
  Eng.	
  12(2)	
  (2007)	
  
Views	
  &	
  
references	
  
between	
  
feature	
  models	
  
Figure	
  from	
  [Reiser2007]	
  
When	
  Feature	
  Models	
  have	
  to	
  be	
  composed	
  	
  
	
  
12	
  
13	
  
Solu2on	
  
•  Iden2fica2on	
  and	
  implementa2on	
  of	
  4	
  
solu2ons	
  for	
  composing	
  feature	
  models	
  
•  A	
  reading	
  grid	
  to	
  compose	
  (i.e.	
  choose)	
  
your	
  composi2ons	
  
Feature	
  Models	
  
Hierarchy:	
  rooted	
  tree	
  	
  
Variability:	
  	
  
•  mandatory,	
  	
  
•  opNonal,	
  	
  
•  Groups:	
  exclusive	
  or	
  inclusive	
  features	
  
•  Cross-­‐tree	
  constraints	
  
F6
F2
S
F4F1
F5
Optional
Mandatory
Xor-Group
Or-Group
fm1	
  
Feature	
  Models	
  
15	
  
F6
F2
S
F4F1
F5
fm1	
  
set	
  of	
  valid	
  
configura2ons	
  
configura2on	
  	
  
seman2cs	
  
Feature	
  Models	
  
16	
  
fm1	
  
(proposi2onal)	
  
φ
Reasoning	
  
F6
F2
S
F4F1
F5
Around	
  30	
  reasoning	
  opera*ons	
  available	
  
FM	
  =	
  	
  
	
  	
  Feature	
  diagram	
  +	
  	
  
	
  	
  Proposi2onal	
  formula	
  Ψ	
  
[She	
  et.	
  Al,	
  ICSE	
  2011]	
  
Illustra2on:	
  merging	
  suppliers	
  
17	
  
F6
F2
S
F3F1
F5 F6
F2
S
F4F1
F5<<implies>>
F6
F2
S
F4F1
F5
?	
  
fm1	
   fm2	
   fm3	
  
Inten2on:	
  union	
  
Matching	
  :	
  ?	
  
Merging	
  :	
  ?	
  
configura2on	
  	
  
seman2cs	
  
F6
F2
S
F3F1
F5
F4
F3 <<implies>> F1
Ѱ = (F1 v F3 v ~F4 v ~F5 v ~F6)
^ (F1 v F3 v F4 v ~F5 v ~F6)
Logic	
  based	
  solu2on	
  
18	
  
F6
F2
S
F3F1
F5 F6
F2
S
F4F1
F5<<implies>>
F6
F2
S
F4F1
F5
φ1
φ2
φ3
O’	
   φc
=	
  ………	
   ………	
  
Synthesis	
  
M.	
  Acher	
  et.	
  Al	
  .	
  Comparing	
  Approaches	
  for	
  ImplemenNng	
  Feature	
  Model	
  ComposiNon	
  »	
  ECMFA’10	
  
[Andersen	
  et.	
  Al.	
  Efficient	
  
Synthesis	
  of	
  Feature	
  Models	
  
SPLC’12]	
  
Matching	
  by	
  name	
  
Merging	
  by	
  configura2on	
  	
  
Reference	
  based	
  solu2on	
  
19	
  
F6
F2
S
F3F1
F5 F6
F2
S
F4F1
F5<<implies>>
F6
F2
S
F4F1
F5
aka	
  operaNonal	
  
F6
F2
S
F4F1
F5 F6
F2
S
F3F1
F5 F6
F2
S
F4F1
F5
<<implies>>
F6
F2
S
F3F1
F5
F4
R
InputFMs
fm1
FMr union
fm2 fm3
(F1 ⬄ (fm1.F1 v fm2.F1 v fm3.F1)) ^
atmost1 (fm1.F1, fm2.F1, fm3.F1) ^
(F6 ⬄ (fm1.F6 v fm2.F6 v fm3.F6)) ^
atmost1(fm1.F6, fm2.F6, fm3.F6) ^
(F4 ⬄ (fm1.F4 v fm3.F4)) ^
atmost1(fm1.F4, fm3.F4) ^
(S ⬄ (fm1.S v fm2.S v fm3.S)) ^
atmost1(fm1.S, fm2.S, fm3.S) ^
(F2 ⬄ (fm1.F2 v fm2.F2 v fm3.F2)) ^
atmost1(fm1.F2, fm2.F2, fm3.F2) ^
(F5 ⬄ (fm1.F5 v fm2.F5 v fm3.F5))
^
atmost1(fm1.F5, fm2.F5, fm3.F5) ^ (F3 ⬄ fm2.F3)
Ѱr union =
Matching	
  by	
  name	
  
Merging	
  by	
  reference	
   View	
  of	
  interest	
  
Rela2ons	
  through	
  constraints	
  
Current	
  Approaches	
  
fm1 fm2
φc
o =
fmr
fmc
fm1 fm2o =
fmr
fmc
(reference based)
(with local synthesis) (with slicing)
fm1 fm2
φ1 φ2 φc
fmco
o' =
=
(logic based)
fm1 fm2
φc
o =
fmr
fmc
φc'
20	
  
RIGID	
   TOO	
  OPEN	
  
Other	
  candidates?	
  
21	
  
Building	
  New	
  Approaches	
  
fm1 fm2
φc
o =
fmr
fmc
fm1 fm2o =
fmr
fmc
(reference based)
(with local synthesis) (with slicing)
fm1 fm2
φ1 φ2 φc
fmco
o' =
=
(logic based)
fm1 fm2
φc
o =
fmr
fmc
φc'
22	
  
Local	
  synthesis	
  solu2on	
  
23	
  
F6
F2
S
F4F1
F5 F6
F2
S
F3F1
F5 F6
F2
S
F4F1
F5
<<implies>>
F6
F2
S
F3F1
F5
F4
R
InputFMs
fm1
FMr union
fm2 fm3
(F1 ⬄ (fm1.F1 v fm2.F1 v fm3.F1)) ^
atmost1 (fm1.F1, fm2.F1, fm3.F1) ^
(F6 ⬄ (fm1.F6 v fm2.F6 v fm3.F6)) ^
atmost1(fm1.F6, fm2.F6, fm3.F6) ^
(F4 ⬄ (fm1.F4 v fm3.F4)) ^
atmost1(fm1.F4, fm3.F4) ^
(S ⬄ (fm1.S v fm2.S v fm3.S)) ^
atmost1(fm1.S, fm2.S, fm3.S) ^
(F2 ⬄ (fm1.F2 v fm2.F2 v fm3.F2)) ^
atmost1(fm1.F2, fm2.F2, fm3.F2) ^
(F5 ⬄ (fm1.F5 v fm2.F5 v fm3.F5))
^
atmost1(fm1.F5, fm2.F5, fm3.F5) ^ (F3 ⬄ fm2.F3)
Ѱr union =
Merging	
  by	
  reference	
  +	
  local	
  synthesis	
  over	
  {S,	
  F1	
  to	
  F6}	
  
Over	
  Approxima2on	
  
(generaliza2on)	
  
with	
  2	
  «	
  new	
  »configura2ons	
  
F6
F2
S
F3F1
F5
F4
F3 <<implies>> F1
Ѱ = (F1 v F3 v ~F4 v ~F5 v ~F6)
^ (F1 v F3 v F4 v ~F5 v ~F6)Larger	
  Ψ	
  
Slicing	
  solu2on	
  
24	
  
F6
F2
S
F4F1
F5 F6
F2
S
F3F1
F5 F6
F2
S
F4F1
F5
<<implies>>
F6
F2
S
F3F1
F5
F4
R
InputFMs
fm1
FMr union
fm2 fm3
(F1 ⬄ (fm1.F1 v fm2.F1 v fm3.F1)) ^
atmost1 (fm1.F1, fm2.F1, fm3.F1) ^
(F6 ⬄ (fm1.F6 v fm2.F6 v fm3.F6)) ^
atmost1(fm1.F6, fm2.F6, fm3.F6) ^
(F4 ⬄ (fm1.F4 v fm3.F4)) ^
atmost1(fm1.F4, fm3.F4) ^
(S ⬄ (fm1.S v fm2.S v fm3.S)) ^
atmost1(fm1.S, fm2.S, fm3.S) ^
(F2 ⬄ (fm1.F2 v fm2.F2 v fm3.F2)) ^
atmost1(fm1.F2, fm2.F2, fm3.F2) ^
(F5 ⬄ (fm1.F5 v fm2.F5 v fm3.F5))
^
atmost1(fm1.F5, fm2.F5, fm3.F5) ^ (F3 ⬄ fm2.F3)
Ѱr union =
Merging	
  by	
  reference	
  +	
  slicing	
  with	
  {S,	
  F1	
  to	
  F6}	
  
M.	
  Acher	
  et.	
  Al	
  .	
  SeparaNon	
  of	
  concerns	
  in	
  feature	
  modeling:	
  support	
  and	
  applicaNons	
  AOSD’12	
  
Slice	
  result	
  =	
  projected	
  set	
  of	
  
configura2ons	
  onto	
  the	
  criterion	
  
Same	
  FM	
  as	
  the	
  
denota2onal	
  version	
  
F6
F2
S
F3F1
F5
F4
F3 <<implies>> F1
Ѱ = (F1 v F3 v ~F4 v ~F5 v ~F6)
^ (F1 v F3 v F4 v ~F5 v ~F6)
How	
  to	
  
use	
  it?	
  
25	
  
hgp://familiar-­‐project.github.com/	
  
How	
  to	
  use	
  it?	
  
26	
  
Composition of Feature Models
Predefined
unionintersection
reduced
product diff
Other
Implementation
- accuracy
- reasoning
- customizability
- composability
Denotational Operational
extract slicing local synthesis
Semantics
Boolean Logics
Hybrid
1..4
1.	
  Choose	
  a	
  seman2cs	
   2.	
  Choose	
  an	
  implementa2on	
  
27	
  
Feature	
  Diagram	
  Quality	
  ?	
  
28	
  
Denota2onal	
   Opera2onal	
   Local	
  synthesis	
   Slicing	
  
Diagram	
  Quality	
  
Reasoning	
  
Customizability	
  
Traceability	
  
Composability	
  
•  Maximality	
  
•  Soundness	
  
•  Completeness	
  
Reasoning	
  over	
  resul2ng	
  
configura2ons	
  ?	
  
29	
  
Denota2onal	
   Opera2onal	
   Local	
  synthesis	
   Slicing	
  
Diagram	
  Quality	
  
Reasoning	
  
Customizability	
  
Traceability	
  
Composability	
  
•  Performing	
  assisted	
  configuraNon	
  
•  AutomaNng	
  analysis	
  over	
  FMs	
  
Customizability?	
  
30	
  
Denota2onal	
   Opera2onal	
   Local	
  synthesis	
   Slicing	
  
Diagram	
  Quality	
  
Reasoning	
  
Customizability	
  
Traceability	
  
Composability	
  
	
  
•  Specifying	
  the	
  meaning	
  of	
  the	
  composiNon	
  
Traceability?	
  
31	
  
Denota2onal	
   Opera2onal	
   Local	
  synthesis	
   Slicing	
  
Diagram	
  Quality	
  
Reasoning	
  
Customizability	
  
Traceability	
  
Composability	
  
•  Mapping	
  to	
  the	
  input	
  FMs	
  
Composability?	
  
(union	
  example)	
  
32	
  
Denota2onal	
   Opera2onal	
   Local	
  synthesis	
   Slicing	
  
Diagram	
  Quality	
  
Reasoning	
  
Customizability	
  
Traceability	
  
Composability	
  
•  AssociaNve,	
  commutaNve	
  	
  
A	
  reading	
  Grid	
  
33	
  
Denota2onal	
   Opera2onal	
   Local	
  synthesis	
   Slicing	
  
Diagram	
  Quality	
  
Reasoning	
  
Customizability	
  
Traceability	
  
Composability	
  
performance	
  
Scenario	
  1:	
  Building	
  Feature	
  Models	
  
from	
  product	
  descrip2ons	
  
fm1	
  
fm2	
  
fm8	
  
……….	
  
•  Reasoning	
  
•  High-­‐quality	
  Feature	
  Diagram	
  
(for	
  transformaNon)	
  
denota2onal	
  
Scenario	
  2:	
  Managing	
  complexity	
  in	
  
large	
  scale	
  organiza2ons	
  
35	
  35	
  
	
  	
  
	
  	
  
	
  	
  
	
  	
  
	
  	
  
	
  	
  
	
  	
  
Integrated	
  
view	
  
Departments	
  
•  Traceability	
  
•  Complex	
  Mappings	
  
opera2onal	
  
Local	
  synthesis	
  
Slicing	
  
Any	
  view	
  
Ongoing	
  and	
  Future	
  Work	
  
•  User	
  assistance	
  in	
  the	
  merging	
  process	
  
– integraNon	
  of	
  ontological	
  knowledge	
  
•  Usage	
  of	
  composiNons	
  in	
  different	
  contexts	
  
– and	
  performance	
  studies	
  
•  Explore	
  the	
  relaNons	
  from	
  features	
  to	
  assets	
  
– mirorring	
  composiNon	
  both	
  in	
  the	
  bindings	
  and	
  
assets	
  
37	
  
Composing	
  your	
  Composi2ons	
  of	
  
Variability	
  Models	
  
hhp://familiar-­‐project.github.com/	
  
Composition of Feature Models
Predefined
unionintersection
reduced
product diff
Other
Implementation
- accuracy
- reasoning
- customizability
- composability
Denotational Operational
extract slicing local synthesis
Semantics
Boolean Logics
Hybrid
1..4
Seman2cs	
  
Matching	
  
Merging	
  
blatant	
  adver2sing	
  
38	
  
22-­‐24	
  january	
  2014	
  
Nice,	
  France	
  
	
  
hgp://vamos2014.unice.fr	
  
39	
  
Composing	
  your	
  Composi2ons	
  of	
  
Variability	
  Models	
  
hhp://familiar-­‐project.github.com/	
  
Composition of Feature Models
Predefined
unionintersection
reduced
product diff
Other
Implementation
- accuracy
- reasoning
- customizability
- composability
Denotational Operational
extract slicing local synthesis
Semantics
Boolean Logics
Hybrid
1..4
?	
  Seman2cs	
  
Matching	
  
Merging	
  

Más contenido relacionado

La actualidad más candente

Les02[1]Restricting and Sorting Data
Les02[1]Restricting and Sorting DataLes02[1]Restricting and Sorting Data
Les02[1]Restricting and Sorting Datasiavosh kaviani
 
MERGE SQL Statement: Lesser Known Facets
MERGE SQL Statement: Lesser Known FacetsMERGE SQL Statement: Lesser Known Facets
MERGE SQL Statement: Lesser Known FacetsAndrej Pashchenko
 
Top MNC'S Interview questions and answers
Top MNC'S Interview questions and answersTop MNC'S Interview questions and answers
Top MNC'S Interview questions and answersMadhu Dhare
 
Les05[1]Aggregating Data Using Group Functions
Les05[1]Aggregating Data  Using Group FunctionsLes05[1]Aggregating Data  Using Group Functions
Les05[1]Aggregating Data Using Group Functionssiavosh kaviani
 
Les07[1]Multiple-Column Subqueries
Les07[1]Multiple-Column SubqueriesLes07[1]Multiple-Column Subqueries
Les07[1]Multiple-Column Subqueriessiavosh kaviani
 
Database Management System
Database Management SystemDatabase Management System
Database Management SystemHitesh Mohapatra
 
Les08[1] Producing Readable Output with SQL*Plus
Les08[1] Producing Readable Output with SQL*PlusLes08[1] Producing Readable Output with SQL*Plus
Les08[1] Producing Readable Output with SQL*Plussiavosh kaviani
 
Les03[1] Single-Row Functions
Les03[1] Single-Row FunctionsLes03[1] Single-Row Functions
Les03[1] Single-Row Functionssiavosh kaviani
 
Les18[1]Interacting with the Oracle Server
Les18[1]Interacting with  the Oracle ServerLes18[1]Interacting with  the Oracle Server
Les18[1]Interacting with the Oracle Serversiavosh kaviani
 
SQL WORKSHOP::Lecture 12
SQL WORKSHOP::Lecture 12SQL WORKSHOP::Lecture 12
SQL WORKSHOP::Lecture 12Umair Amjad
 
Les10[1]Creating and Managing Tables
Les10[1]Creating and Managing TablesLes10[1]Creating and Managing Tables
Les10[1]Creating and Managing Tablessiavosh kaviani
 

La actualidad más candente (20)

Les02[1]Restricting and Sorting Data
Les02[1]Restricting and Sorting DataLes02[1]Restricting and Sorting Data
Les02[1]Restricting and Sorting Data
 
Les12 creating views
Les12 creating viewsLes12 creating views
Les12 creating views
 
MERGE SQL Statement: Lesser Known Facets
MERGE SQL Statement: Lesser Known FacetsMERGE SQL Statement: Lesser Known Facets
MERGE SQL Statement: Lesser Known Facets
 
Les05 Aggregating Data Using Group Function
Les05 Aggregating Data Using Group FunctionLes05 Aggregating Data Using Group Function
Les05 Aggregating Data Using Group Function
 
Les02 Restricting And Sorting Data
Les02 Restricting And Sorting DataLes02 Restricting And Sorting Data
Les02 Restricting And Sorting Data
 
Top MNC'S Interview questions and answers
Top MNC'S Interview questions and answersTop MNC'S Interview questions and answers
Top MNC'S Interview questions and answers
 
Les06 Subqueries
Les06 SubqueriesLes06 Subqueries
Les06 Subqueries
 
ORACLE NOTES
ORACLE NOTESORACLE NOTES
ORACLE NOTES
 
Les05[1]Aggregating Data Using Group Functions
Les05[1]Aggregating Data  Using Group FunctionsLes05[1]Aggregating Data  Using Group Functions
Les05[1]Aggregating Data Using Group Functions
 
Sql
SqlSql
Sql
 
Les07[1]Multiple-Column Subqueries
Les07[1]Multiple-Column SubqueriesLes07[1]Multiple-Column Subqueries
Les07[1]Multiple-Column Subqueries
 
Database Management System
Database Management SystemDatabase Management System
Database Management System
 
Les12[1]Creating Views
Les12[1]Creating ViewsLes12[1]Creating Views
Les12[1]Creating Views
 
Les03
Les03Les03
Les03
 
Les08[1] Producing Readable Output with SQL*Plus
Les08[1] Producing Readable Output with SQL*PlusLes08[1] Producing Readable Output with SQL*Plus
Les08[1] Producing Readable Output with SQL*Plus
 
Les03[1] Single-Row Functions
Les03[1] Single-Row FunctionsLes03[1] Single-Row Functions
Les03[1] Single-Row Functions
 
Les18[1]Interacting with the Oracle Server
Les18[1]Interacting with  the Oracle ServerLes18[1]Interacting with  the Oracle Server
Les18[1]Interacting with the Oracle Server
 
SQL WORKSHOP::Lecture 12
SQL WORKSHOP::Lecture 12SQL WORKSHOP::Lecture 12
SQL WORKSHOP::Lecture 12
 
Les10[1]Creating and Managing Tables
Les10[1]Creating and Managing TablesLes10[1]Creating and Managing Tables
Les10[1]Creating and Managing Tables
 
Les01
Les01Les01
Les01
 

Destacado

Concept lattices: a representation space to structure software variability
Concept lattices: a representation space to structure software variabilityConcept lattices: a representation space to structure software variability
Concept lattices: a representation space to structure software variabilityRa'Fat Al-Msie'deen
 
Model-Driven Development in the context of Software Product Lines
Model-Driven Development in the context of Software Product LinesModel-Driven Development in the context of Software Product Lines
Model-Driven Development in the context of Software Product LinesMarkus Voelter
 
A comparison of component-based software engineering and model-driven develop...
A comparison of component-based software engineering and model-driven develop...A comparison of component-based software engineering and model-driven develop...
A comparison of component-based software engineering and model-driven develop...Nikolay Grozev
 
Using Model Driven Development to Easily Manage Variations in Software Define...
Using Model Driven Development to Easily Manage Variations in Software Define...Using Model Driven Development to Easily Manage Variations in Software Define...
Using Model Driven Development to Easily Manage Variations in Software Define...ADLINK Technology IoT
 
Capability-as-a-Service: Investigating the Innovation Potential from a Busine...
Capability-as-a-Service: Investigating the Innovation Potential from a Busine...Capability-as-a-Service: Investigating the Innovation Potential from a Busine...
Capability-as-a-Service: Investigating the Innovation Potential from a Busine...CaaS EU FP7 Project
 
2014 Asdenca - On the applicability of concepts from variability modelling in...
2014 Asdenca - On the applicability of concepts from variability modelling in...2014 Asdenca - On the applicability of concepts from variability modelling in...
2014 Asdenca - On the applicability of concepts from variability modelling in...CaaS EU FP7 Project
 

Destacado (7)

BENEVOL'11 - Reverse Engineering Architectural Feature Models
BENEVOL'11 - Reverse Engineering Architectural Feature ModelsBENEVOL'11 - Reverse Engineering Architectural Feature Models
BENEVOL'11 - Reverse Engineering Architectural Feature Models
 
Concept lattices: a representation space to structure software variability
Concept lattices: a representation space to structure software variabilityConcept lattices: a representation space to structure software variability
Concept lattices: a representation space to structure software variability
 
Model-Driven Development in the context of Software Product Lines
Model-Driven Development in the context of Software Product LinesModel-Driven Development in the context of Software Product Lines
Model-Driven Development in the context of Software Product Lines
 
A comparison of component-based software engineering and model-driven develop...
A comparison of component-based software engineering and model-driven develop...A comparison of component-based software engineering and model-driven develop...
A comparison of component-based software engineering and model-driven develop...
 
Using Model Driven Development to Easily Manage Variations in Software Define...
Using Model Driven Development to Easily Manage Variations in Software Define...Using Model Driven Development to Easily Manage Variations in Software Define...
Using Model Driven Development to Easily Manage Variations in Software Define...
 
Capability-as-a-Service: Investigating the Innovation Potential from a Busine...
Capability-as-a-Service: Investigating the Innovation Potential from a Busine...Capability-as-a-Service: Investigating the Innovation Potential from a Busine...
Capability-as-a-Service: Investigating the Innovation Potential from a Busine...
 
2014 Asdenca - On the applicability of concepts from variability modelling in...
2014 Asdenca - On the applicability of concepts from variability modelling in...2014 Asdenca - On the applicability of concepts from variability modelling in...
2014 Asdenca - On the applicability of concepts from variability modelling in...
 

Similar a Composing your Compositions of Variability Models (Models 2013 presentation)

Reverse Engineering Feature Models From Software Variants to Build Software P...
Reverse Engineering Feature Models From Software Variants to Build Software P...Reverse Engineering Feature Models From Software Variants to Build Software P...
Reverse Engineering Feature Models From Software Variants to Build Software P...Ra'Fat Al-Msie'deen
 
Introducing Performance Awareness in an Integrated Specification Environment
Introducing Performance Awareness in an Integrated Specification EnvironmentIntroducing Performance Awareness in an Integrated Specification Environment
Introducing Performance Awareness in an Integrated Specification EnvironmentFabian Keller
 
CodeFest 2014. Axel Rauschmayer — JavaScript’s variables: scopes, environment...
CodeFest 2014. Axel Rauschmayer — JavaScript’s variables: scopes, environment...CodeFest 2014. Axel Rauschmayer — JavaScript’s variables: scopes, environment...
CodeFest 2014. Axel Rauschmayer — JavaScript’s variables: scopes, environment...CodeFest
 
CPREDICTION OF INVERSE KINEMATICS SOLUTION OF A REDUNDANT MANIPULATOR USING A...
CPREDICTION OF INVERSE KINEMATICS SOLUTION OF A REDUNDANT MANIPULATOR USING A...CPREDICTION OF INVERSE KINEMATICS SOLUTION OF A REDUNDANT MANIPULATOR USING A...
CPREDICTION OF INVERSE KINEMATICS SOLUTION OF A REDUNDANT MANIPULATOR USING A...Ijripublishers Ijri
 
Bio inspired use case variability modelling, ijsea
Bio inspired use case variability modelling, ijseaBio inspired use case variability modelling, ijsea
Bio inspired use case variability modelling, ijseaijseajournal
 
PeNeLoop: Parallelizing Federated SPARQL queries in presence of replicated fr...
PeNeLoop: Parallelizing Federated SPARQL queries in presence of replicated fr...PeNeLoop: Parallelizing Federated SPARQL queries in presence of replicated fr...
PeNeLoop: Parallelizing Federated SPARQL queries in presence of replicated fr...Thomas Minier
 
TAROT2013 Testing School - Gilles Perrouin presentation
TAROT2013 Testing School -  Gilles Perrouin presentationTAROT2013 Testing School -  Gilles Perrouin presentation
TAROT2013 Testing School - Gilles Perrouin presentationHenry Muccini
 
zOSMF SDSF_ShareLab_V2R5.pdf
zOSMF SDSF_ShareLab_V2R5.pdfzOSMF SDSF_ShareLab_V2R5.pdf
zOSMF SDSF_ShareLab_V2R5.pdfMarna Walle
 
Advanced FEM and Meshfree Class Workshop.pdf
Advanced FEM and Meshfree Class Workshop.pdfAdvanced FEM and Meshfree Class Workshop.pdf
Advanced FEM and Meshfree Class Workshop.pdfkeansheng
 
C++ 2
C++ 2C++ 2
C++ 2jani
 
Advanced Bash Scripting Guide 2002
Advanced Bash Scripting Guide 2002Advanced Bash Scripting Guide 2002
Advanced Bash Scripting Guide 2002duquoi
 
Changes and Bugs: Mining and Predicting Development Activities
Changes and Bugs: Mining and Predicting Development ActivitiesChanges and Bugs: Mining and Predicting Development Activities
Changes and Bugs: Mining and Predicting Development ActivitiesThomas Zimmermann
 

Similar a Composing your Compositions of Variability Models (Models 2013 presentation) (20)

Reverse Engineering Feature Models From Software Variants to Build Software P...
Reverse Engineering Feature Models From Software Variants to Build Software P...Reverse Engineering Feature Models From Software Variants to Build Software P...
Reverse Engineering Feature Models From Software Variants to Build Software P...
 
Introducing Performance Awareness in an Integrated Specification Environment
Introducing Performance Awareness in an Integrated Specification EnvironmentIntroducing Performance Awareness in an Integrated Specification Environment
Introducing Performance Awareness in an Integrated Specification Environment
 
CodeFest 2014. Axel Rauschmayer — JavaScript’s variables: scopes, environment...
CodeFest 2014. Axel Rauschmayer — JavaScript’s variables: scopes, environment...CodeFest 2014. Axel Rauschmayer — JavaScript’s variables: scopes, environment...
CodeFest 2014. Axel Rauschmayer — JavaScript’s variables: scopes, environment...
 
CPREDICTION OF INVERSE KINEMATICS SOLUTION OF A REDUNDANT MANIPULATOR USING A...
CPREDICTION OF INVERSE KINEMATICS SOLUTION OF A REDUNDANT MANIPULATOR USING A...CPREDICTION OF INVERSE KINEMATICS SOLUTION OF A REDUNDANT MANIPULATOR USING A...
CPREDICTION OF INVERSE KINEMATICS SOLUTION OF A REDUNDANT MANIPULATOR USING A...
 
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
 
Bio inspired use case variability modelling, ijsea
Bio inspired use case variability modelling, ijseaBio inspired use case variability modelling, ijsea
Bio inspired use case variability modelling, ijsea
 
lecture 2 parametric yield.pdf
lecture 2 parametric yield.pdflecture 2 parametric yield.pdf
lecture 2 parametric yield.pdf
 
Calfem34
Calfem34Calfem34
Calfem34
 
An introduction to automated analysis of feature models through propositional...
An introduction to automated analysis of feature models through propositional...An introduction to automated analysis of feature models through propositional...
An introduction to automated analysis of feature models through propositional...
 
PeNeLoop: Parallelizing Federated SPARQL queries in presence of replicated fr...
PeNeLoop: Parallelizing Federated SPARQL queries in presence of replicated fr...PeNeLoop: Parallelizing Federated SPARQL queries in presence of replicated fr...
PeNeLoop: Parallelizing Federated SPARQL queries in presence of replicated fr...
 
TAROT2013 Testing School - Gilles Perrouin presentation
TAROT2013 Testing School -  Gilles Perrouin presentationTAROT2013 Testing School -  Gilles Perrouin presentation
TAROT2013 Testing School - Gilles Perrouin presentation
 
zOSMF SDSF_ShareLab_V2R5.pdf
zOSMF SDSF_ShareLab_V2R5.pdfzOSMF SDSF_ShareLab_V2R5.pdf
zOSMF SDSF_ShareLab_V2R5.pdf
 
Advanced FEM and Meshfree Class Workshop.pdf
Advanced FEM and Meshfree Class Workshop.pdfAdvanced FEM and Meshfree Class Workshop.pdf
Advanced FEM and Meshfree Class Workshop.pdf
 
C++ 2
C++ 2C++ 2
C++ 2
 
Example guide
Example guideExample guide
Example guide
 
WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)
WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)
WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)
 
Advanced Bash Scripting Guide 2002
Advanced Bash Scripting Guide 2002Advanced Bash Scripting Guide 2002
Advanced Bash Scripting Guide 2002
 
Evolution in the large
Evolution in the largeEvolution in the large
Evolution in the large
 
Db36619623
Db36619623Db36619623
Db36619623
 
Changes and Bugs: Mining and Predicting Development Activities
Changes and Bugs: Mining and Predicting Development ActivitiesChanges and Bugs: Mining and Predicting Development Activities
Changes and Bugs: Mining and Predicting Development Activities
 

Último

Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jisc
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxmarlenawright1
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...pradhanghanshyam7136
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.MaryamAhmad92
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxEsquimalt MFRC
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxDr. Ravikiran H M Gowda
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxCeline George
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024Elizabeth Walsh
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...Poonam Aher Patil
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Jisc
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfDr Vijay Vishwakarma
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfPoh-Sun Goh
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxAmanpreet Kaur
 

Último (20)

Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 

Composing your Compositions of Variability Models (Models 2013 presentation)

  • 1. Mathieu  Acher,  Benoit  Combemale,  Philippe  Collet,   Olivier  Barais,  Philippe  Lahire  and  Robert  B.  France   Composing  your  Composi2ons   of  Variability  Models  
  • 2. 2  2   Extensible  architectures   (eg  plugins-­‐based)   Configura2on   files   System   Preferences   Configurators   Source  code   Build   systems   Comparison  of  *   Structural  or  behavorial     models   External  Variability   Internal  Variability   Variability  @  run.2me  
  • 3. 3  3   *systems,  viewpoints,   concerns,  stakeholders   MULTI-­‐*  VARIABILITIES  
  • 4. 4  4   Variability  Modeling  with  Feature  Models  
  • 5. 5  5                                                                                   Composing  Large,  Complex  &  Mul2ple  Feature  Models  
  • 6. Scenario  1:  Building  Feature  Models   from  product  descrip2ons   6   Haslinger,  et.  Al.  On  extrac*ng  feature  models  from  sets  of  valid  feature  combina*ons.  In  FASE’13.   Acher  et.  Al.  On  extrac*ng  feature  models  from  product  descrip*ons.  In:  VaMoS’12   •  Choosing  a  product  among  a   set  of  products   user  
  • 7. Scenario  1:  Building  Feature  Models   from  product  descrip2ons   7   Haslinger,  et.  Al.  On  extrac*ng  feature  models  from  sets  of  valid  feature  combina*ons.  In  FASE’13.   Acher  et.  Al.  On  extrac*ng  feature  models  from  product  descrip*ons.  In:  VaMoS’12   •  CreaNng  a  new  product   domain   analyst  
  • 8. Scenario  1:  Building  Feature  Models   from  product  descrip2ons   8   Haslinger,  et.  Al.  On  extrac*ng  feature  models  from  sets  of  valid  feature  combina*ons.  In  FASE’13.   Acher  et.  Al.  On  extrac*ng  feature  models  from  product  descrip*ons.  In:  VaMoS’12   •  Switching  to  a  SoQware  Product  Line   approach  from  a  set  of  products   product   manager  
  • 9. Scenario  1:  Building  Feature  Models   from  product  descrip2ons   9   Haslinger,  et.  Al.  On  extrac*ng  feature  models  from  sets  of  valid  feature  combina*ons.  In  FASE’13.   Acher  et.  Al.  On  extrac*ng  feature  models  from  product  descrip*ons.  In:  VaMoS’12   fm1   fm2   fm8   ……….  
  • 10. Scenario  2:  Managing  complexity  in   large  scale  organiza2ons   10  10                               Integrated   view   Departments  
  • 11. Scenario  2:  Managing  complexity  in   large  scale  organiza2ons   11  Reiser,  M.O.,  Weber,  M.:  MulN-­‐level  feature  trees:  A  pragmaNc  approach  to  managing  highly  complex   product  families.  Requir.  Eng.  12(2)  (2007)   Views  &   references   between   feature  models   Figure  from  [Reiser2007]  
  • 12. When  Feature  Models  have  to  be  composed       12  
  • 13. 13   Solu2on   •  Iden2fica2on  and  implementa2on  of  4   solu2ons  for  composing  feature  models   •  A  reading  grid  to  compose  (i.e.  choose)   your  composi2ons  
  • 14. Feature  Models   Hierarchy:  rooted  tree     Variability:     •  mandatory,     •  opNonal,     •  Groups:  exclusive  or  inclusive  features   •  Cross-­‐tree  constraints   F6 F2 S F4F1 F5 Optional Mandatory Xor-Group Or-Group fm1  
  • 15. Feature  Models   15   F6 F2 S F4F1 F5 fm1   set  of  valid   configura2ons   configura2on     seman2cs  
  • 16. Feature  Models   16   fm1   (proposi2onal)   φ Reasoning   F6 F2 S F4F1 F5 Around  30  reasoning  opera*ons  available   FM  =        Feature  diagram  +        Proposi2onal  formula  Ψ   [She  et.  Al,  ICSE  2011]  
  • 17. Illustra2on:  merging  suppliers   17   F6 F2 S F3F1 F5 F6 F2 S F4F1 F5<<implies>> F6 F2 S F4F1 F5 ?   fm1   fm2   fm3   Inten2on:  union   Matching  :  ?   Merging  :  ?   configura2on     seman2cs  
  • 18. F6 F2 S F3F1 F5 F4 F3 <<implies>> F1 Ѱ = (F1 v F3 v ~F4 v ~F5 v ~F6) ^ (F1 v F3 v F4 v ~F5 v ~F6) Logic  based  solu2on   18   F6 F2 S F3F1 F5 F6 F2 S F4F1 F5<<implies>> F6 F2 S F4F1 F5 φ1 φ2 φ3 O’   φc =  ………   ………   Synthesis   M.  Acher  et.  Al  .  Comparing  Approaches  for  ImplemenNng  Feature  Model  ComposiNon  »  ECMFA’10   [Andersen  et.  Al.  Efficient   Synthesis  of  Feature  Models   SPLC’12]   Matching  by  name   Merging  by  configura2on    
  • 19. Reference  based  solu2on   19   F6 F2 S F3F1 F5 F6 F2 S F4F1 F5<<implies>> F6 F2 S F4F1 F5 aka  operaNonal   F6 F2 S F4F1 F5 F6 F2 S F3F1 F5 F6 F2 S F4F1 F5 <<implies>> F6 F2 S F3F1 F5 F4 R InputFMs fm1 FMr union fm2 fm3 (F1 ⬄ (fm1.F1 v fm2.F1 v fm3.F1)) ^ atmost1 (fm1.F1, fm2.F1, fm3.F1) ^ (F6 ⬄ (fm1.F6 v fm2.F6 v fm3.F6)) ^ atmost1(fm1.F6, fm2.F6, fm3.F6) ^ (F4 ⬄ (fm1.F4 v fm3.F4)) ^ atmost1(fm1.F4, fm3.F4) ^ (S ⬄ (fm1.S v fm2.S v fm3.S)) ^ atmost1(fm1.S, fm2.S, fm3.S) ^ (F2 ⬄ (fm1.F2 v fm2.F2 v fm3.F2)) ^ atmost1(fm1.F2, fm2.F2, fm3.F2) ^ (F5 ⬄ (fm1.F5 v fm2.F5 v fm3.F5)) ^ atmost1(fm1.F5, fm2.F5, fm3.F5) ^ (F3 ⬄ fm2.F3) Ѱr union = Matching  by  name   Merging  by  reference   View  of  interest   Rela2ons  through  constraints  
  • 20. Current  Approaches   fm1 fm2 φc o = fmr fmc fm1 fm2o = fmr fmc (reference based) (with local synthesis) (with slicing) fm1 fm2 φ1 φ2 φc fmco o' = = (logic based) fm1 fm2 φc o = fmr fmc φc' 20   RIGID   TOO  OPEN  
  • 22. Building  New  Approaches   fm1 fm2 φc o = fmr fmc fm1 fm2o = fmr fmc (reference based) (with local synthesis) (with slicing) fm1 fm2 φ1 φ2 φc fmco o' = = (logic based) fm1 fm2 φc o = fmr fmc φc' 22  
  • 23. Local  synthesis  solu2on   23   F6 F2 S F4F1 F5 F6 F2 S F3F1 F5 F6 F2 S F4F1 F5 <<implies>> F6 F2 S F3F1 F5 F4 R InputFMs fm1 FMr union fm2 fm3 (F1 ⬄ (fm1.F1 v fm2.F1 v fm3.F1)) ^ atmost1 (fm1.F1, fm2.F1, fm3.F1) ^ (F6 ⬄ (fm1.F6 v fm2.F6 v fm3.F6)) ^ atmost1(fm1.F6, fm2.F6, fm3.F6) ^ (F4 ⬄ (fm1.F4 v fm3.F4)) ^ atmost1(fm1.F4, fm3.F4) ^ (S ⬄ (fm1.S v fm2.S v fm3.S)) ^ atmost1(fm1.S, fm2.S, fm3.S) ^ (F2 ⬄ (fm1.F2 v fm2.F2 v fm3.F2)) ^ atmost1(fm1.F2, fm2.F2, fm3.F2) ^ (F5 ⬄ (fm1.F5 v fm2.F5 v fm3.F5)) ^ atmost1(fm1.F5, fm2.F5, fm3.F5) ^ (F3 ⬄ fm2.F3) Ѱr union = Merging  by  reference  +  local  synthesis  over  {S,  F1  to  F6}   Over  Approxima2on   (generaliza2on)   with  2  «  new  »configura2ons   F6 F2 S F3F1 F5 F4 F3 <<implies>> F1 Ѱ = (F1 v F3 v ~F4 v ~F5 v ~F6) ^ (F1 v F3 v F4 v ~F5 v ~F6)Larger  Ψ  
  • 24. Slicing  solu2on   24   F6 F2 S F4F1 F5 F6 F2 S F3F1 F5 F6 F2 S F4F1 F5 <<implies>> F6 F2 S F3F1 F5 F4 R InputFMs fm1 FMr union fm2 fm3 (F1 ⬄ (fm1.F1 v fm2.F1 v fm3.F1)) ^ atmost1 (fm1.F1, fm2.F1, fm3.F1) ^ (F6 ⬄ (fm1.F6 v fm2.F6 v fm3.F6)) ^ atmost1(fm1.F6, fm2.F6, fm3.F6) ^ (F4 ⬄ (fm1.F4 v fm3.F4)) ^ atmost1(fm1.F4, fm3.F4) ^ (S ⬄ (fm1.S v fm2.S v fm3.S)) ^ atmost1(fm1.S, fm2.S, fm3.S) ^ (F2 ⬄ (fm1.F2 v fm2.F2 v fm3.F2)) ^ atmost1(fm1.F2, fm2.F2, fm3.F2) ^ (F5 ⬄ (fm1.F5 v fm2.F5 v fm3.F5)) ^ atmost1(fm1.F5, fm2.F5, fm3.F5) ^ (F3 ⬄ fm2.F3) Ѱr union = Merging  by  reference  +  slicing  with  {S,  F1  to  F6}   M.  Acher  et.  Al  .  SeparaNon  of  concerns  in  feature  modeling:  support  and  applicaNons  AOSD’12   Slice  result  =  projected  set  of   configura2ons  onto  the  criterion   Same  FM  as  the   denota2onal  version   F6 F2 S F3F1 F5 F4 F3 <<implies>> F1 Ѱ = (F1 v F3 v ~F4 v ~F5 v ~F6) ^ (F1 v F3 v F4 v ~F5 v ~F6)
  • 25. How  to   use  it?   25   hgp://familiar-­‐project.github.com/  
  • 26. How  to  use  it?   26   Composition of Feature Models Predefined unionintersection reduced product diff Other Implementation - accuracy - reasoning - customizability - composability Denotational Operational extract slicing local synthesis Semantics Boolean Logics Hybrid 1..4 1.  Choose  a  seman2cs   2.  Choose  an  implementa2on  
  • 27. 27  
  • 28. Feature  Diagram  Quality  ?   28   Denota2onal   Opera2onal   Local  synthesis   Slicing   Diagram  Quality   Reasoning   Customizability   Traceability   Composability   •  Maximality   •  Soundness   •  Completeness  
  • 29. Reasoning  over  resul2ng   configura2ons  ?   29   Denota2onal   Opera2onal   Local  synthesis   Slicing   Diagram  Quality   Reasoning   Customizability   Traceability   Composability   •  Performing  assisted  configuraNon   •  AutomaNng  analysis  over  FMs  
  • 30. Customizability?   30   Denota2onal   Opera2onal   Local  synthesis   Slicing   Diagram  Quality   Reasoning   Customizability   Traceability   Composability     •  Specifying  the  meaning  of  the  composiNon  
  • 31. Traceability?   31   Denota2onal   Opera2onal   Local  synthesis   Slicing   Diagram  Quality   Reasoning   Customizability   Traceability   Composability   •  Mapping  to  the  input  FMs  
  • 32. Composability?   (union  example)   32   Denota2onal   Opera2onal   Local  synthesis   Slicing   Diagram  Quality   Reasoning   Customizability   Traceability   Composability   •  AssociaNve,  commutaNve    
  • 33. A  reading  Grid   33   Denota2onal   Opera2onal   Local  synthesis   Slicing   Diagram  Quality   Reasoning   Customizability   Traceability   Composability   performance  
  • 34. Scenario  1:  Building  Feature  Models   from  product  descrip2ons   fm1   fm2   fm8   ……….   •  Reasoning   •  High-­‐quality  Feature  Diagram   (for  transformaNon)   denota2onal  
  • 35. Scenario  2:  Managing  complexity  in   large  scale  organiza2ons   35  35                               Integrated   view   Departments   •  Traceability   •  Complex  Mappings   opera2onal   Local  synthesis   Slicing   Any  view  
  • 36. Ongoing  and  Future  Work   •  User  assistance  in  the  merging  process   – integraNon  of  ontological  knowledge   •  Usage  of  composiNons  in  different  contexts   – and  performance  studies   •  Explore  the  relaNons  from  features  to  assets   – mirorring  composiNon  both  in  the  bindings  and   assets  
  • 37. 37   Composing  your  Composi2ons  of   Variability  Models   hhp://familiar-­‐project.github.com/   Composition of Feature Models Predefined unionintersection reduced product diff Other Implementation - accuracy - reasoning - customizability - composability Denotational Operational extract slicing local synthesis Semantics Boolean Logics Hybrid 1..4 Seman2cs   Matching   Merging  
  • 38. blatant  adver2sing   38   22-­‐24  january  2014   Nice,  France     hgp://vamos2014.unice.fr  
  • 39. 39   Composing  your  Composi2ons  of   Variability  Models   hhp://familiar-­‐project.github.com/   Composition of Feature Models Predefined unionintersection reduced product diff Other Implementation - accuracy - reasoning - customizability - composability Denotational Operational extract slicing local synthesis Semantics Boolean Logics Hybrid 1..4 ?  Seman2cs   Matching   Merging