SlideShare une entreprise Scribd logo
1  sur  44
Télécharger pour lire hors ligne
Comparing Approaches to Implement
   Feature Model Composition

Mathieu Acher1, Philippe Collet1, Philippe Lahire1, Robert France2

               1 University
                          of Nice Sophia Antipolis (France),
                   Modalis Team (CNRS, I3S Laboratory)

                     2 Computer Science Department,
                         Colorado State University
Context: Managing Variability
• Constructing a Repository of Medical Imaging Algorithms
   – deployable on Grid infrastructures
   – services embed the business code and are invoked remotely
     through standardized protocol


• Highly Parameterized Services
   – efficiently extend, change, customize, or configure services for
     use in a particular context
   – reusability and composability
   – service as software product line (SPL)
      •   (SOAPL’08, MICCAI-Grid’08)



                                       Comparing Approaches to Implement
                                                                           2
                                          Feature Model Composition
Context: Managing Variability
• Constructing a Repository of Medical Imaging Services
   – Deployable on Grid infrastructures
   – Services embed the business code (e.g., algorithms) and are invoked
     remotely through standardized protocol

• Highly Parameterized Services
                             Medical Image




            Modality Acquisition               Format          Anonymized



            MRI   CT SPEC      PET       DICOM     Nifti   Analyze

                                     And-Group      Xor-Group
            T1    T2               Optional         Or-Group
                                   Mandatory


                               Comparing Approaches to Implement
                                                                            3
                                  Feature Model Composition
Context: Managing Variability
• Constructing a Repository of Medical Imaging Services
   – Deployable on Grid infrastructures
   – Services embed the business code (e.g., algorithms) and are invoked
     remotely through standardized protocol

• Highly Parameterized Services
                     Medical Image
                                                                                       Registration

    Modality Acquisition               Format          Anonymized



    MRI   CT SPEC      PET       DICOM     Nifti   Analyze

                             And-Group      Xor-Group
    T1    T2               Optional         Or-Group
                                                                    Transformation                    Method      Interactive
                           Mandatory




                                                                    Linear       Non Grid       Spatial    Frequency

                                                                                                               And-Group        Xor-Group
                                                                                                               Optional         Or-Group
                                                            Rotation         Scaling   Affine                  Mandatory


                                                                       Comparing Approaches to Implement
                                                                                                                                            4
                                                                          Feature Model Composition
Context: Managing Variability
• Constructing a Repository of Medical Imaging Services
             – Deployable on Grid infrastructures
             – Services embed the business code (e.g., algorithms) and are invoked
               remotely through standardized protocol

• Highly Parameterized Services
                                       Medical Image
                                                                                                        GridComputingNode

                 Modality Acquisition                    Format              Anonymized



                MRI     CT SPEC           PET       DICOM        Nifti      Analyze

                                                And-Group        Xor-Group
                T1     T2                   Optional
                                            Mandatory
                                                                 Or-Group                   Operating System                 Processor     FileSizeLimit

                       Registration


                                                                                          Windows         Linux          x32             x64
    Transformation                    Method           Interactive

                                                                                                                  And-Group        Xor-Group
    Linear       Non Grid       Spatial     Frequency
                                                                                                                  Optional         Or-Group
                                                     And-Group           Xor-Group
                                                    Optional             Or-Group                                 Mandatory
Rotation     Scaling   Affine                       Mandatory




                                                                                             Comparing Approaches to Implement
                                                                                                                                                           5
                                                                                                Feature Model Composition
Context: Managing Variability
• Constructing a Repository of Medical Imaging Services
             – Deployable on Grid infrastructures
             – Services embed the business code (e.g., algorithms) and are invoked
               remotely through standardized protocol

• Highly Parameterized Services
                                       Medical Image                                                                      GridComputingNode




                 Modality Acquisition                    Format              Anonymized
                                                                                                     Operating System                              Processor     FileSizeLimit

                MRI     CT SPEC           PET       DICOM        Nifti      Analyze
                                                                                                 Windows                    Linux              x32             x64
                                                And-Group        Xor-Group
                T1     T2                   Optional             Or-Group                                                               And-Group        Xor-Group
                                            Mandatory
                                                                                                                                        Optional         Or-Group                       QoS
                                                                                                                                        Mandatory

                       Registration
                                                                                                      NetworkProtocol
                                                                                                                                                                          Measurement              Dimension          Dynamic


    Transformation                    Method           Interactive                        HeaderEncoding               Format      Cryptographic                                          Reliability          Time

                                                                                                                                                                                        And-Group        Xor-Group
    Linear       Non Grid       Spatial     Frequency                                                             XML           HTTP                                                    Optional         Or-Group
                                                                                                                                                                                        Mandatory
                                                     And-Group           Xor-Group                          And-Group       Xor-Group
                                                    Optional                                               Optional         Or-Group
                                                                         Or-Group
                                                    Mandatory                                              Mandatory
Rotation     Scaling   Affine




                                                                                                   Comparing Approaches to Implement
                                                                                                                                                                                                                                6
                                                                                                      Feature Model Composition
Issues in Variability Modeling
  • Current variability modeling techniques often do not scale up
    to SPLs with a large number of features.




Scalability issues in terms of
   - construction
   - evolution
   - reasoning
                        Comparing Approaches to Implement
                                                                    7
                           Feature Model Composition
Separation of Concerns in SPLs
• Large and monolithic variability model
  – Use smaller models representing the variability of
    well-identified concerns.
  – When variability models are separated…
     composition operators are needed.
• In earlier work, we proposed a set of composition
  operators for feature models (SLE’09)
• In this work, we focus on the merge operator

                  Comparing Approaches to Implement
                                                         8
                     Feature Model Composition
Purpose and Intended Audience
• An efficient, accurate implementation to
  automatically merge feature models
• Our interest here:
  – determine how (MBE/AOM/specific) techniques
    perform with feature model merging implementation
  – and which techniques are the most suitable.
• Intended audience:
  – (1) SPL researchers working on feature modeling
    techniques or developers of feature modeling tools ;
  – (2) researchers/practitioners involved in the
    MBE/AOM community

                   Comparing Approaches to Implement
                                                           9
                      Feature Model Composition
Agenda
• Background and Motivation
  – Feature models and Merge operators
• Requirements for Merge Operators
  – Criteria
• Comparison of Different Approaches
  – Results
• Conclusion

                 Comparing Approaches to Implement
                                                     10
                    Feature Model Composition
Background: Feature Models
• Hierarchy + Variability
  – Mandatory features, Optional features
  – Alternatives and Constraints
                       Medical Image




      Modality Acquisition                Format           Anonymized



     MRI   CT SPEC       PET        DICOM        Nifti    Analyze

                               And-Group         Xor-Group
     T1    T2                 Optional            Or-Group
                             Comparing Approaches to Implement
                               Mandatory
                                                                        11
                                Feature Model Composition
Background: Feature Models
• Hierarchy + Variability
  – Mandatory features, Optional features
  – Alternatives and Constraints
                       Medical Image




      Modality Acquisition                Format           Anonymized



     MRI   CT SPEC       PET        DICOM        Nifti    Analyze

                               And-Group         Xor-Group
     T1    T2                 Optional            Or-Group
                               Mandatory
                             Comparing Approaches to Implement
                                                                        12
                                Feature Model Composition
Merge Operator: Principles
        MRI                                                 MRI

   T1     T2
                                                       T1     T2

When two feature models (FMs) share several features,
there is a need to merge the overlapping parts.




                   Comparing Approaches to Implement
                                                                   13
                      Feature Model Composition
Merge Operator: Principles
      MRI                                                    MRI
 T1     T2
             FM1                         FM2
                                                        T1     T2



Semantics       ?           MRI
properties to
preserve              T1           T2

                    Comparing Approaches to Implement
                                                                    14
                       Feature Model Composition
Merge Operator: Union
          MRI                                                    MRI
                    FM1                      FM2
     T1       T2
                                                            T1     T2
{
{MRI, T1},                                                   {
{MRI, T2}                                                    {MRI, T1},
}                                                            {MRI, T1, T2}
                                                             }
                              MRI
          {{MRI, T1},
          {MRI, T1, T2}, T1            T2
          {MRI, T2}}
                        Comparing Approaches to Implement
                                                                             15
                           Feature Model Composition
Merge Operator: Intersection
        MRI                                                       MRI
                  FM1                         FM2
   T1        T2
                                                             T1     T2

{                                                             {
{MRI, T1},                                                    {MRI, T1},
{MRI, T2}                                                     {MRI, T1, T2}
}                              MRI                            }
             {
             {MRI, T1}
             }                  T1
                         Comparing Approaches to Implement
                                                                              16
                            Feature Model Composition
Merge Operator: Requirements (1)




                                               OK


                                               no!


           Comparing Approaches to Implement
                                               17
              Feature Model Composition
Merge Operator: Requirements (1)




                                                 Not optimal
 OK


 OK                                            Nifti is a “dead”
           Comparing Approaches to Implement
              Feature Model Composition        feature       18
Merge Operator: Requirements (1)




Everything is
    OK          Comparing Approaches to Implement
                                                    19
                   Feature Model Composition
Merge Operator: Requirements (2)
        “Managing Variability in Workflow with Feature Model Composition Operators“
        Software Composition (SC) conference 2010




                 Comparing Approaches to Implement
                                                                                  20
                    Feature Model Composition
Merge Operator: Requirements (3)




The ability of the merge operator to deal with several kinds of input FMs


                         Comparing Approaches to Implement
                                                                      21
                            Feature Model Composition
Merge Operator: Requirements (4)
Aspects of the Implementation




                Comparing Approaches to Implement
                                                    22
                   Feature Model Composition
Now the competition can start!
•   Separate FMs
•   AGG
•   Kompose
•   Kermeta
•   Boolean Logic
    – Large spectrum: From modeling/composition
      techniques to FM specific solutions
    – Some approaches have been proposed by other
      researchers
                    Comparing Approaches to Implement
                                                        24
                       Feature Model Composition
Separate FMs and Intersection

                           Base                    Aspect

Schobbens’ et al. 2007
1.    Prime features
2.    pp’
3.    Root R with And-group

     {{R, A, A’, B, B’}}



                              Comparing Approaches to Implement
                                                                  25
                                 Feature Model Composition
Separate FMs and Intersection

                      Base                     Aspect

{{R, A, A’, B, B’}}                                           --
                      +                                       --

                        --
                          Comparing Approaches to Implement
                                                                   26
                             Feature Model Composition
Separate FMs and Intersection

       Base                    Aspect




  +


   -      Comparing Approaches to Implement
             Feature Model Composition
                                              27
Separate FMs and Intersection

       Base                    Aspect


++
++

 ++       Comparing Approaches to Implement
                                              28
             Feature Model Composition
Separate FMs and Intersection

       Base                    Aspect


++

 ++

 ++       Comparing Approaches to Implement
             Feature Model Composition
                                              29
AGG
• Attributed Grammar Graph
• Graph Transformation
  – Left- Hand Side (LHS): source graph
  – Right-Hand Side (RHS): target graph
• Catalogue of merge rules (Segura et al. 2007)
  – Only for Union mode



                  Comparing Approaches to Implement
                                                      30
                     Feature Model Composition
AGG and a non-trivial example

                                             (Intersection mode)




         Comparing Approaches to Implement
                                                                   31
            Feature Model Composition
On the Difficulties of AGG
• The semantics properties currently implemented are limited
  to the merge in union mode
   – The intersection mode remains particularly challenging to be
     implemented.
• Strategy based on patterns is difficult to realize
   – AGG expressiveness: non recursive patterns
• Negative application conditions can precisely locate the
  source of errors.
                                                                +
                                                                    --
                  -
                        -
                            -
                            Comparing Approaches to Implement
                                                                         32
                               Feature Model Composition
Kompose
• Generic composition tool (Fleurey, R. France et al.)
• Two major phases:
   – (1) Matching phase identifies model elements that describe the same
     concepts in the input models to be composed;
   – (2) In the Merging phase, matched model elements are merged to
     create new elements in the resulting model.
• Each element type has a signature                          Feature and Operator
   – two elements with equivalent signatures are merged.

                             (Union mode)




                         Comparing Approaches to Implement
                                                                                    33
                            Feature Model Composition
Kompose and a non trivial example
• Two major phases:
  – (1) Matching phase identifies model elements that describe the same
    concepts in the input models to be composed;
  – (2) In the Merging phase, matched model elements are merged to
    create new elements in the resulting model.

                                                            (Intersection mode)




                        Comparing Approaches to Implement
                                                                                  34
                           Feature Model Composition
On the Difficulties of Kompose
•   Compositional approach structured in two-stages (matching and merging)
    is too restrictive for implementing an FM-specific merge operator.
•   Recursive detection of matching elements is not sufficient since we need a
    more global vision to decide whether elements should be merged or not
      – Post-conditions: Hard to implement
      – As Kompose implies local reasonning, handling constraints is not
         conceivable as well



                                                                (Intersection mode)




                                       -                                   -
          --
                            Comparing Approaches to Implement
                                                                               35
                               Feature Model Composition
Experience with Kermeta
• Executable, imperative and object-oriented (meta-)modeling
  language
   – Kompose is built on top of Kermeta
   – we apply the same strategy as with Kompose but without
     strictly following the compositional approach
• We gain some benefits, notably a better cover of semantics
  properties. Now that global and more complex reasoning is
  possible, some features are not necessary added and less
  FM errors are generated.
• There is still an issue when dealing with different
  hierarchies.
• Finally, the handling of constraints appears to be
  unpractical.
                             -
                      Comparing Approaches to Implement
                                                               36
                         Feature Model Composition
Boolean Logic
• The set of configurations represented by a FM can be
  described by a propositional formula defined over a
  set of Boolean variables
                                                        {{A, B}, {A, B, C}}
   – A & (A<=>B) & (C=>A)
• We can define the Intersection mode




                    Comparing Approaches to Implement
                                                                              37
                       Feature Model Composition
Boolean Logic
• We have only a Boolean formula: where is the
  hierarchy? the variability information?
• Czarnecki et al. precisely propose an algorithm to
  construct a FM from Boolean formula (SPLC’07)
  – The algorithm constructs a tree with additional nodes for
    feature groups that can be translated into a basic FM.
  – We preliminary simplify the formula
     • If φ ∧ f is unsatisfiable, the feature F is dead and can be
       removed.
     • The feature F can be identified as a full mandatory feature if
       φ ∧ ¬f is unsatisfiable.

                      Comparing Approaches to Implement
                                                                   38
                         Feature Model Composition
Boolean Logic: Strengths and Current
                   Limits
•   Experiment on a set of input FMs sharing a same set of features and a
    same hierarchy.
     – The algorithm indicates all parent-child relationships (mandatory features) and
       all possible optional subfeatures such that the hierarchy of the merged FM
       corresponds to hierarchies of input FMs.
     – And-group, Or-group and X or-group can be efficiently restored in the resulting
       FM when it was necessary.
•   Strengths
     – The semantics properties are by construction respected.
     – The technique does not introduce FM errors or does not increase unnecessary
       the number of features.
     – Constraints in FMs can be expressed using the full expressiveness of Boolean
       logic and different sets of features can be manipulated.
     – Apriori detection of error: formula is unsatisfiable
•   Current Limits
     – Hierarchy Mismatch
     – Explanation

                              Comparing Approaches to Implement
                                                                                    39
                                 Feature Model Composition
Results




Comparing Approaches to Implement
                                    40
   Feature Model Composition
Model-based composition techniques
• Difficulties. Why?
• The merge of FM is not purely structural
  – You cannot focus on syntactical properties
  – Semantical transformation or Semantics Preserving
    Model Composition are needed
• A new challenge for modeling tools?
  – Of course, modeling solutions can be revisited
     • Other modeling approaches and technologies can be
       considered and may emerge to outperform the solutions
       considered in this paper.
     • e.g., Using another Graph Transformation language
                     Comparing Approaches to Implement
                                                               41
                        Feature Model Composition
Conclusion
• The implementation of a merge operator for FMs
  is an interesting challenge:
  – We defined a set of criteria to systematically evaluate
    an implementation
  – We compared MBE/AOM/state-of-the-art techniques
  – We proposed a solution based on Boolean logic that
    fulfills most of the criteria
     • and raises some limitations of our earlier work
• Future Work
  – Open Issues
  – diff and refactoring operations for FMs.
  – Practical use of merge operators in different domains

                      Comparing Approaches to Implement
                                                              42
                         Feature Model Composition
?
Related Work
•   Schobbens, P.Y., Heymans, P., Trigaux, J.C., Bontemps, Y.: Generic semantics of
    feature diagrams. Comput. Netw. 51(2) (2007) 456–479
•   Segura, S., Benavides, D., Ruiz-Cortés, A., Trinidad, P.: Automated merging of
    feature models using graph transformations. Post-proceedings of the Second Sum-
    mer School on GTTSE 5235 (2008) 489–505
•   Fleurey, F., Baudry, B., France, R.B., Ghosh, S.: A generic approach for automatic
    model composition. In Giese, H., ed.: MoDELS Workshops, Springer (2007) 7–15
•   Reddy, Y.R., Ghosh, S., France, R.B., Straw, G., Bieman, J.M., McEachen, N., Song, E.,
    Georg, G.: Directives for composing aspect-oriented design class models.
    Transactions on Aspect-Oriented Software Development 3880 (2006) 75–105
•   Czarnecki, K., Wasowski, A.: Feature diagrams and logics: There and back again. In:
    SPLC 2007. (2007) 23–34
•   Acher, M., Collet, P., Lahire, P., France, R.: Composing Feature Models. In: 2nd Int’l
    Conference on Software Language Engineering (SLE’09). LNCS (2009) 20




                                Comparing Approaches to Implement
                                                                                        44
                                   Feature Model Composition
A non-trivial example




     Comparing Approaches to Implement
                                         45
        Feature Model Composition

Contenu connexe

Similaire à Comparing Approaches to Implement Feature Model Composition

Open Group Conference 2011 - The Canonical Data Zone
Open Group Conference 2011 - The Canonical Data ZoneOpen Group Conference 2011 - The Canonical Data Zone
Open Group Conference 2011 - The Canonical Data ZoneGary Farrow
 
FedRAMP CSP SSP Training
FedRAMP CSP SSP TrainingFedRAMP CSP SSP Training
FedRAMP CSP SSP Training1ECG
 
Cognitive Radio, Introduction and Main Issues
Cognitive Radio, Introduction and Main IssuesCognitive Radio, Introduction and Main Issues
Cognitive Radio, Introduction and Main IssuesKuncoro Wastuwibowo
 
Persistent Analytical Instrumentation Expertise
Persistent Analytical Instrumentation ExpertisePersistent Analytical Instrumentation Expertise
Persistent Analytical Instrumentation ExpertiseSebastien RATTIER
 
Mit Enterprise Forum 0309 Final
Mit Enterprise Forum 0309 FinalMit Enterprise Forum 0309 Final
Mit Enterprise Forum 0309 FinalAnush Kumar
 
Real Time Object Dectection using machine learning
Real Time Object Dectection using machine learningReal Time Object Dectection using machine learning
Real Time Object Dectection using machine learningpratik pratyay
 
Lemke, Heinz - The Digital Operating Room-Revolution or Evolution
Lemke, Heinz - The Digital Operating Room-Revolution or EvolutionLemke, Heinz - The Digital Operating Room-Revolution or Evolution
Lemke, Heinz - The Digital Operating Room-Revolution or Evolutionponencias_mihealth2012
 
Thomas.mc vittie
Thomas.mc vittieThomas.mc vittie
Thomas.mc vittieNASAPMC
 
Track and Trace Solution Details
Track and Trace Solution DetailsTrack and Trace Solution Details
Track and Trace Solution DetailsPropix Technologies
 
Test Wise.V11
Test Wise.V11Test Wise.V11
Test Wise.V11henharas
 
PhD Defense -- Ashish Mangalampalli
PhD Defense -- Ashish MangalampalliPhD Defense -- Ashish Mangalampalli
PhD Defense -- Ashish MangalampalliAshish Mangalampalli
 
A Hybrid Auto Surveillance Model Using Scale Invariant Feature Transformation...
A Hybrid Auto Surveillance Model Using Scale Invariant Feature Transformation...A Hybrid Auto Surveillance Model Using Scale Invariant Feature Transformation...
A Hybrid Auto Surveillance Model Using Scale Invariant Feature Transformation...IRJET Journal
 
Cisco CDR - Variphy
Cisco CDR - VariphyCisco CDR - Variphy
Cisco CDR - VariphyVariphy
 
Tajo: A Distributed Data Warehouse System for Hadoop
Tajo: A Distributed Data Warehouse System for HadoopTajo: A Distributed Data Warehouse System for Hadoop
Tajo: A Distributed Data Warehouse System for HadoopHyunsik Choi
 
IBM: Servery a datová úložiště vhodná pro virtualizaci a budování privátních ...
IBM: Servery a datová úložiště vhodná pro virtualizaci a budování privátních ...IBM: Servery a datová úložiště vhodná pro virtualizaci a budování privátních ...
IBM: Servery a datová úložiště vhodná pro virtualizaci a budování privátních ...Jaroslav Prodelal
 
Road to superior investment protection for mission critical
Road to superior investment protection for mission criticalRoad to superior investment protection for mission critical
Road to superior investment protection for mission criticalHP ESSN Philippines
 

Similaire à Comparing Approaches to Implement Feature Model Composition (20)

Acher PhD thesis defense
Acher PhD thesis defense Acher PhD thesis defense
Acher PhD thesis defense
 
Open Group Conference 2011 - The Canonical Data Zone
Open Group Conference 2011 - The Canonical Data ZoneOpen Group Conference 2011 - The Canonical Data Zone
Open Group Conference 2011 - The Canonical Data Zone
 
FedRAMP CSP SSP Training
FedRAMP CSP SSP TrainingFedRAMP CSP SSP Training
FedRAMP CSP SSP Training
 
Cognitive Radio, Introduction and Main Issues
Cognitive Radio, Introduction and Main IssuesCognitive Radio, Introduction and Main Issues
Cognitive Radio, Introduction and Main Issues
 
Persistent Analytical Instrumentation Expertise
Persistent Analytical Instrumentation ExpertisePersistent Analytical Instrumentation Expertise
Persistent Analytical Instrumentation Expertise
 
Mit Enterprise Forum 0309 Final
Mit Enterprise Forum 0309 FinalMit Enterprise Forum 0309 Final
Mit Enterprise Forum 0309 Final
 
Real Time Object Dectection using machine learning
Real Time Object Dectection using machine learningReal Time Object Dectection using machine learning
Real Time Object Dectection using machine learning
 
Lemke, Heinz - The Digital Operating Room-Revolution or Evolution
Lemke, Heinz - The Digital Operating Room-Revolution or EvolutionLemke, Heinz - The Digital Operating Room-Revolution or Evolution
Lemke, Heinz - The Digital Operating Room-Revolution or Evolution
 
slide-171212080528.pptx
slide-171212080528.pptxslide-171212080528.pptx
slide-171212080528.pptx
 
Thomas.mc vittie
Thomas.mc vittieThomas.mc vittie
Thomas.mc vittie
 
Ieee metadata-conf-1999-keynote-amit sheth
Ieee metadata-conf-1999-keynote-amit shethIeee metadata-conf-1999-keynote-amit sheth
Ieee metadata-conf-1999-keynote-amit sheth
 
Track and Trace Solution Details
Track and Trace Solution DetailsTrack and Trace Solution Details
Track and Trace Solution Details
 
Test Wise.V11
Test Wise.V11Test Wise.V11
Test Wise.V11
 
PhD Defense -- Ashish Mangalampalli
PhD Defense -- Ashish MangalampalliPhD Defense -- Ashish Mangalampalli
PhD Defense -- Ashish Mangalampalli
 
A Hybrid Auto Surveillance Model Using Scale Invariant Feature Transformation...
A Hybrid Auto Surveillance Model Using Scale Invariant Feature Transformation...A Hybrid Auto Surveillance Model Using Scale Invariant Feature Transformation...
A Hybrid Auto Surveillance Model Using Scale Invariant Feature Transformation...
 
Cisco CDR - Variphy
Cisco CDR - VariphyCisco CDR - Variphy
Cisco CDR - Variphy
 
Tajo: A Distributed Data Warehouse System for Hadoop
Tajo: A Distributed Data Warehouse System for HadoopTajo: A Distributed Data Warehouse System for Hadoop
Tajo: A Distributed Data Warehouse System for Hadoop
 
IBM: Servery a datová úložiště vhodná pro virtualizaci a budování privátních ...
IBM: Servery a datová úložiště vhodná pro virtualizaci a budování privátních ...IBM: Servery a datová úložiště vhodná pro virtualizaci a budování privátních ...
IBM: Servery a datová úložiště vhodná pro virtualizaci a budování privátních ...
 
Road to superior investment protection for mission critical
Road to superior investment protection for mission criticalRoad to superior investment protection for mission critical
Road to superior investment protection for mission critical
 
Chapter8 6up
Chapter8 6upChapter8 6up
Chapter8 6up
 

Plus de University of Rennes, INSA Rennes, Inria/IRISA, CNRS

Plus de University of Rennes, INSA Rennes, Inria/IRISA, CNRS (20)

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
 
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...
 
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
 
Pandoc: a universal document converter
Pandoc: a universal document converterPandoc: a universal document converter
Pandoc: a universal document converter
 
Metamorphic Domain-Specific Languages
Metamorphic Domain-Specific LanguagesMetamorphic Domain-Specific Languages
Metamorphic Domain-Specific Languages
 
3D Printing, Customization, and Product Lines
3D Printing, Customization, and Product Lines3D Printing, Customization, and Product Lines
3D Printing, Customization, and Product Lines
 
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)
 
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
 

Dernier

Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Dynamical Context introduction word sensibility orientation
Dynamical Context introduction word sensibility orientationDynamical Context introduction word sensibility orientation
Dynamical Context introduction word sensibility orientationBuild Intuit
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Deliver Latency Free Customer Experience
Deliver Latency Free Customer ExperienceDeliver Latency Free Customer Experience
Deliver Latency Free Customer ExperienceOpsTree solutions
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialJoão Esperancinha
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...Karmanjay Verma
 

Dernier (20)

Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Dynamical Context introduction word sensibility orientation
Dynamical Context introduction word sensibility orientationDynamical Context introduction word sensibility orientation
Dynamical Context introduction word sensibility orientation
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Deliver Latency Free Customer Experience
Deliver Latency Free Customer ExperienceDeliver Latency Free Customer Experience
Deliver Latency Free Customer Experience
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorial
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
 

Comparing Approaches to Implement Feature Model Composition

  • 1. Comparing Approaches to Implement Feature Model Composition Mathieu Acher1, Philippe Collet1, Philippe Lahire1, Robert France2 1 University of Nice Sophia Antipolis (France), Modalis Team (CNRS, I3S Laboratory) 2 Computer Science Department, Colorado State University
  • 2. Context: Managing Variability • Constructing a Repository of Medical Imaging Algorithms – deployable on Grid infrastructures – services embed the business code and are invoked remotely through standardized protocol • Highly Parameterized Services – efficiently extend, change, customize, or configure services for use in a particular context – reusability and composability – service as software product line (SPL) • (SOAPL’08, MICCAI-Grid’08) Comparing Approaches to Implement 2 Feature Model Composition
  • 3. Context: Managing Variability • Constructing a Repository of Medical Imaging Services – Deployable on Grid infrastructures – Services embed the business code (e.g., algorithms) and are invoked remotely through standardized protocol • Highly Parameterized Services Medical Image Modality Acquisition Format Anonymized MRI CT SPEC PET DICOM Nifti Analyze And-Group Xor-Group T1 T2 Optional Or-Group Mandatory Comparing Approaches to Implement 3 Feature Model Composition
  • 4. Context: Managing Variability • Constructing a Repository of Medical Imaging Services – Deployable on Grid infrastructures – Services embed the business code (e.g., algorithms) and are invoked remotely through standardized protocol • Highly Parameterized Services Medical Image Registration Modality Acquisition Format Anonymized MRI CT SPEC PET DICOM Nifti Analyze And-Group Xor-Group T1 T2 Optional Or-Group Transformation Method Interactive Mandatory Linear Non Grid Spatial Frequency And-Group Xor-Group Optional Or-Group Rotation Scaling Affine Mandatory Comparing Approaches to Implement 4 Feature Model Composition
  • 5. Context: Managing Variability • Constructing a Repository of Medical Imaging Services – Deployable on Grid infrastructures – Services embed the business code (e.g., algorithms) and are invoked remotely through standardized protocol • Highly Parameterized Services Medical Image GridComputingNode Modality Acquisition Format Anonymized MRI CT SPEC PET DICOM Nifti Analyze And-Group Xor-Group T1 T2 Optional Mandatory Or-Group Operating System Processor FileSizeLimit Registration Windows Linux x32 x64 Transformation Method Interactive And-Group Xor-Group Linear Non Grid Spatial Frequency Optional Or-Group And-Group Xor-Group Optional Or-Group Mandatory Rotation Scaling Affine Mandatory Comparing Approaches to Implement 5 Feature Model Composition
  • 6. Context: Managing Variability • Constructing a Repository of Medical Imaging Services – Deployable on Grid infrastructures – Services embed the business code (e.g., algorithms) and are invoked remotely through standardized protocol • Highly Parameterized Services Medical Image GridComputingNode Modality Acquisition Format Anonymized Operating System Processor FileSizeLimit MRI CT SPEC PET DICOM Nifti Analyze Windows Linux x32 x64 And-Group Xor-Group T1 T2 Optional Or-Group And-Group Xor-Group Mandatory Optional Or-Group QoS Mandatory Registration NetworkProtocol Measurement Dimension Dynamic Transformation Method Interactive HeaderEncoding Format Cryptographic Reliability Time And-Group Xor-Group Linear Non Grid Spatial Frequency XML HTTP Optional Or-Group Mandatory And-Group Xor-Group And-Group Xor-Group Optional Optional Or-Group Or-Group Mandatory Mandatory Rotation Scaling Affine Comparing Approaches to Implement 6 Feature Model Composition
  • 7. Issues in Variability Modeling • Current variability modeling techniques often do not scale up to SPLs with a large number of features. Scalability issues in terms of - construction - evolution - reasoning Comparing Approaches to Implement 7 Feature Model Composition
  • 8. Separation of Concerns in SPLs • Large and monolithic variability model – Use smaller models representing the variability of well-identified concerns. – When variability models are separated… composition operators are needed. • In earlier work, we proposed a set of composition operators for feature models (SLE’09) • In this work, we focus on the merge operator Comparing Approaches to Implement 8 Feature Model Composition
  • 9. Purpose and Intended Audience • An efficient, accurate implementation to automatically merge feature models • Our interest here: – determine how (MBE/AOM/specific) techniques perform with feature model merging implementation – and which techniques are the most suitable. • Intended audience: – (1) SPL researchers working on feature modeling techniques or developers of feature modeling tools ; – (2) researchers/practitioners involved in the MBE/AOM community Comparing Approaches to Implement 9 Feature Model Composition
  • 10. Agenda • Background and Motivation – Feature models and Merge operators • Requirements for Merge Operators – Criteria • Comparison of Different Approaches – Results • Conclusion Comparing Approaches to Implement 10 Feature Model Composition
  • 11. Background: Feature Models • Hierarchy + Variability – Mandatory features, Optional features – Alternatives and Constraints Medical Image Modality Acquisition Format Anonymized MRI CT SPEC PET DICOM Nifti Analyze And-Group Xor-Group T1 T2 Optional Or-Group Comparing Approaches to Implement Mandatory 11 Feature Model Composition
  • 12. Background: Feature Models • Hierarchy + Variability – Mandatory features, Optional features – Alternatives and Constraints Medical Image Modality Acquisition Format Anonymized MRI CT SPEC PET DICOM Nifti Analyze And-Group Xor-Group T1 T2 Optional Or-Group Mandatory Comparing Approaches to Implement 12 Feature Model Composition
  • 13. Merge Operator: Principles MRI MRI T1 T2 T1 T2 When two feature models (FMs) share several features, there is a need to merge the overlapping parts. Comparing Approaches to Implement 13 Feature Model Composition
  • 14. Merge Operator: Principles MRI MRI T1 T2 FM1 FM2 T1 T2 Semantics ? MRI properties to preserve T1 T2 Comparing Approaches to Implement 14 Feature Model Composition
  • 15. Merge Operator: Union MRI MRI FM1 FM2 T1 T2 T1 T2 { {MRI, T1}, { {MRI, T2} {MRI, T1}, } {MRI, T1, T2} } MRI {{MRI, T1}, {MRI, T1, T2}, T1 T2 {MRI, T2}} Comparing Approaches to Implement 15 Feature Model Composition
  • 16. Merge Operator: Intersection MRI MRI FM1 FM2 T1 T2 T1 T2 { { {MRI, T1}, {MRI, T1}, {MRI, T2} {MRI, T1, T2} } MRI } { {MRI, T1} } T1 Comparing Approaches to Implement 16 Feature Model Composition
  • 17. Merge Operator: Requirements (1) OK no! Comparing Approaches to Implement 17 Feature Model Composition
  • 18. Merge Operator: Requirements (1) Not optimal OK OK Nifti is a “dead” Comparing Approaches to Implement Feature Model Composition feature 18
  • 19. Merge Operator: Requirements (1) Everything is OK Comparing Approaches to Implement 19 Feature Model Composition
  • 20. Merge Operator: Requirements (2) “Managing Variability in Workflow with Feature Model Composition Operators“ Software Composition (SC) conference 2010 Comparing Approaches to Implement 20 Feature Model Composition
  • 21. Merge Operator: Requirements (3) The ability of the merge operator to deal with several kinds of input FMs Comparing Approaches to Implement 21 Feature Model Composition
  • 22. Merge Operator: Requirements (4) Aspects of the Implementation Comparing Approaches to Implement 22 Feature Model Composition
  • 23. Now the competition can start! • Separate FMs • AGG • Kompose • Kermeta • Boolean Logic – Large spectrum: From modeling/composition techniques to FM specific solutions – Some approaches have been proposed by other researchers Comparing Approaches to Implement 24 Feature Model Composition
  • 24. Separate FMs and Intersection Base Aspect Schobbens’ et al. 2007 1. Prime features 2. pp’ 3. Root R with And-group {{R, A, A’, B, B’}} Comparing Approaches to Implement 25 Feature Model Composition
  • 25. Separate FMs and Intersection Base Aspect {{R, A, A’, B, B’}} -- + -- -- Comparing Approaches to Implement 26 Feature Model Composition
  • 26. Separate FMs and Intersection Base Aspect + - Comparing Approaches to Implement Feature Model Composition 27
  • 27. Separate FMs and Intersection Base Aspect ++ ++ ++ Comparing Approaches to Implement 28 Feature Model Composition
  • 28. Separate FMs and Intersection Base Aspect ++ ++ ++ Comparing Approaches to Implement Feature Model Composition 29
  • 29. AGG • Attributed Grammar Graph • Graph Transformation – Left- Hand Side (LHS): source graph – Right-Hand Side (RHS): target graph • Catalogue of merge rules (Segura et al. 2007) – Only for Union mode Comparing Approaches to Implement 30 Feature Model Composition
  • 30. AGG and a non-trivial example (Intersection mode) Comparing Approaches to Implement 31 Feature Model Composition
  • 31. On the Difficulties of AGG • The semantics properties currently implemented are limited to the merge in union mode – The intersection mode remains particularly challenging to be implemented. • Strategy based on patterns is difficult to realize – AGG expressiveness: non recursive patterns • Negative application conditions can precisely locate the source of errors. + -- - - - Comparing Approaches to Implement 32 Feature Model Composition
  • 32. Kompose • Generic composition tool (Fleurey, R. France et al.) • Two major phases: – (1) Matching phase identifies model elements that describe the same concepts in the input models to be composed; – (2) In the Merging phase, matched model elements are merged to create new elements in the resulting model. • Each element type has a signature Feature and Operator – two elements with equivalent signatures are merged. (Union mode) Comparing Approaches to Implement 33 Feature Model Composition
  • 33. Kompose and a non trivial example • Two major phases: – (1) Matching phase identifies model elements that describe the same concepts in the input models to be composed; – (2) In the Merging phase, matched model elements are merged to create new elements in the resulting model. (Intersection mode) Comparing Approaches to Implement 34 Feature Model Composition
  • 34. On the Difficulties of Kompose • Compositional approach structured in two-stages (matching and merging) is too restrictive for implementing an FM-specific merge operator. • Recursive detection of matching elements is not sufficient since we need a more global vision to decide whether elements should be merged or not – Post-conditions: Hard to implement – As Kompose implies local reasonning, handling constraints is not conceivable as well (Intersection mode) - - -- Comparing Approaches to Implement 35 Feature Model Composition
  • 35. Experience with Kermeta • Executable, imperative and object-oriented (meta-)modeling language – Kompose is built on top of Kermeta – we apply the same strategy as with Kompose but without strictly following the compositional approach • We gain some benefits, notably a better cover of semantics properties. Now that global and more complex reasoning is possible, some features are not necessary added and less FM errors are generated. • There is still an issue when dealing with different hierarchies. • Finally, the handling of constraints appears to be unpractical. - Comparing Approaches to Implement 36 Feature Model Composition
  • 36. Boolean Logic • The set of configurations represented by a FM can be described by a propositional formula defined over a set of Boolean variables {{A, B}, {A, B, C}} – A & (A<=>B) & (C=>A) • We can define the Intersection mode Comparing Approaches to Implement 37 Feature Model Composition
  • 37. Boolean Logic • We have only a Boolean formula: where is the hierarchy? the variability information? • Czarnecki et al. precisely propose an algorithm to construct a FM from Boolean formula (SPLC’07) – The algorithm constructs a tree with additional nodes for feature groups that can be translated into a basic FM. – We preliminary simplify the formula • If φ ∧ f is unsatisfiable, the feature F is dead and can be removed. • The feature F can be identified as a full mandatory feature if φ ∧ ¬f is unsatisfiable. Comparing Approaches to Implement 38 Feature Model Composition
  • 38. Boolean Logic: Strengths and Current Limits • Experiment on a set of input FMs sharing a same set of features and a same hierarchy. – The algorithm indicates all parent-child relationships (mandatory features) and all possible optional subfeatures such that the hierarchy of the merged FM corresponds to hierarchies of input FMs. – And-group, Or-group and X or-group can be efficiently restored in the resulting FM when it was necessary. • Strengths – The semantics properties are by construction respected. – The technique does not introduce FM errors or does not increase unnecessary the number of features. – Constraints in FMs can be expressed using the full expressiveness of Boolean logic and different sets of features can be manipulated. – Apriori detection of error: formula is unsatisfiable • Current Limits – Hierarchy Mismatch – Explanation Comparing Approaches to Implement 39 Feature Model Composition
  • 39. Results Comparing Approaches to Implement 40 Feature Model Composition
  • 40. Model-based composition techniques • Difficulties. Why? • The merge of FM is not purely structural – You cannot focus on syntactical properties – Semantical transformation or Semantics Preserving Model Composition are needed • A new challenge for modeling tools? – Of course, modeling solutions can be revisited • Other modeling approaches and technologies can be considered and may emerge to outperform the solutions considered in this paper. • e.g., Using another Graph Transformation language Comparing Approaches to Implement 41 Feature Model Composition
  • 41. Conclusion • The implementation of a merge operator for FMs is an interesting challenge: – We defined a set of criteria to systematically evaluate an implementation – We compared MBE/AOM/state-of-the-art techniques – We proposed a solution based on Boolean logic that fulfills most of the criteria • and raises some limitations of our earlier work • Future Work – Open Issues – diff and refactoring operations for FMs. – Practical use of merge operators in different domains Comparing Approaches to Implement 42 Feature Model Composition
  • 42. ?
  • 43. Related Work • Schobbens, P.Y., Heymans, P., Trigaux, J.C., Bontemps, Y.: Generic semantics of feature diagrams. Comput. Netw. 51(2) (2007) 456–479 • Segura, S., Benavides, D., Ruiz-Cortés, A., Trinidad, P.: Automated merging of feature models using graph transformations. Post-proceedings of the Second Sum- mer School on GTTSE 5235 (2008) 489–505 • Fleurey, F., Baudry, B., France, R.B., Ghosh, S.: A generic approach for automatic model composition. In Giese, H., ed.: MoDELS Workshops, Springer (2007) 7–15 • Reddy, Y.R., Ghosh, S., France, R.B., Straw, G., Bieman, J.M., McEachen, N., Song, E., Georg, G.: Directives for composing aspect-oriented design class models. Transactions on Aspect-Oriented Software Development 3880 (2006) 75–105 • Czarnecki, K., Wasowski, A.: Feature diagrams and logics: There and back again. In: SPLC 2007. (2007) 23–34 • Acher, M., Collet, P., Lahire, P., France, R.: Composing Feature Models. In: 2nd Int’l Conference on Software Language Engineering (SLE’09). LNCS (2009) 20 Comparing Approaches to Implement 44 Feature Model Composition
  • 44. A non-trivial example Comparing Approaches to Implement 45 Feature Model Composition