SlideShare une entreprise Scribd logo
Decomposing Feature Models
               Language, Environment, and Applications


  Mathieu Acher1, Philippe Collet1 , Philippe Lahire1 and Robert France2
1 University                                                                                                                                                                                                                                         2 Colorado
                                                                                                                                                                                                                                                              State University, USA
            of Nice Sophia Antipolis, CNRS, France
          {acher,collet,lahire}@i3s.unice.fr                                                                                                                                                                                                         Computer Science Department
                                                                                                                                                                                                                                                       france@cs.colostate.edu
                                                                                           Slicing Feature Models
                                                                              Semantics, Algorithm, Support, and Applications
                                                                                 Mathieu Acher1, Philippe Collet1 , Philippe Lahire1 and Robert France2
                                                                              1 University                                                                       2 Colorado State University, USA
                                                                                             of Nice Sophia Antipolis, CNRS, France
                                                                                           {acher,collet,lahire}@i3s.unice.fr                                      Computer Science Department
                                                                                                                                                                     france@cs.colostate.edu



                                                                                                                 ASE'11 short paper
                                                       Semantics                                                                                                                                Algorithm

                                               Hierarchy                         Set of                                                                            Support for                                        Semantics-aware
                                                                              configurations                                                                        Constraints                                          Technique
                                                                                                                                                                                            Root Support




                                          Or                  Mandatory
                                                                                                                      Slicing
                                           Xor                 Optional

                                                                                                                                                                                                                     Technique

                                        Future Work                                                                                     Motivation
                                                                                                                                                                                                Reasoning
                                                                                                                                                                                              about two kinds
                                                                                                                                                                                                of variability     Reconciling     Updating and
                                                            Paper                                                                                                                                                Feature Models   Extracting Views

                                                                                                                            Large and                Multiple, Inter-
                                                                                                      Support              Complex FMs                related FMs                               Algorithm



                                                                                                                                                                                                                                  Propositional
                                      Demonstration         Long      Short
                                                                                                                                                                                                                                     Logics
                                                                                                                                             Support for
                                                                                                                                             Constraints                Corrective
                                                                                                                                                                        Capabilities                                      Semantics-aware
                                                                              Automation           Language
                                                                                                                                                                                                            Syntactical     Technique
                                                                                                                      Environment                                                      Root Support         Technique
                                               Case Study




                                                                           BDD          SAT                   Standalone     Eclipse           Editors
                                                                                                                                                                                                  Semantics

                                  Video Surveillance
                                  Processing Chains     Medical Imaging    Reverse Engineering                                         Graphical                Textual
                                                          Workflows         Software Architecture                                        Editor                   Editor
                                                                                                                                                                                              Hierarchy             Set of
                                                                                                                                                                                                                 configurations

                                       (Algorithm <-> Semantics) ^ (Algorithm <-> CorrectiveCapabilities) ^ (Algorithm <-> RootSupport)
                                       ^ (CorrectiveCapabilities -> SupportForConstraints) ^ (CorrectiveCapabilities -> SemanticsAware)
                                       ^ (SetOfConfigurations <-> SemanticsAware) ^ (SemanticsAware -> Automation) ^ (Language -> TextualEditor)
                                       ^ (TextualEditor -> Eclipse) ^ Language




                                                                                                                    ASE'11
                                                                                                                 demonstration                                                    Applications
                                                                    Support
                                                                                                                                                                                                                          Technique
                                                                                                                                                             Case Study

                                                              Language                                                                                                                        Reasoning
                                      Automation                                   Environment                                                                                              about two kinds
                                                                                                                                                                                                                     Reconciling       Updating
                                                                                                                                                                                              of variability
                                                                                                                                          Video                                                                       Feature             and
                                                                                                                                       Surveillance                                                                   Models           Extracting
                                                                                                                                       Processing                                                                                       Views
                                                                                                              Textual                    Chains                  Medical
                                                                          Standalone       Eclipse                                                                                     Reverse Engineering
                                    BDD           SAT                                                          Editor                                            Imaging
                                                                                                                                                                                       Software Architecture
                                                                                                                                                                Workflows
Feature Models
                                        defacto standard for modeling variability
                                            more than 1000 citations of Kang et al. 1990 per year



                                                                              Slicing


                                                                                                                                                              Technique
             Case Study

                                                                                                                                         Reasoning
                                                                                                                                       about two kinds
                                                                                           Support                                       of variability                     Updating and
                                                                                                                                                            Reconciling
                                                                                                                                                          Feature Models   Extracting Views

Video Surveillance
Processing Chains    Medical Imaging   Reverse Engineering
                       Workflows        Software Architecture

                                                                 Automation
                                                                                        Language
                                                                                                                                                            Or                Mandatory
                                                                                                           Environment
  CaseStudy -> Automation ^ Language) ^
                                                                                                                                                             Xor               Optional
  (Language -> TextualEditor) ^
  (TextualEditor -> Eclipse)
                                                               BDD        SAT
                                                                                                   Standalone   Eclipse           Editors




                                                                                                                          Graphical           Textual
                                                                                                                           Editor              Editor
Feature Models
          semantics: control legal combination of features (aka configurations)
                                                         Batory et al. 2005, Czarnecki et al. 2007, Schobbens et al. 2007




                                                                                Slicing


                                                                                                                                                                Technique
             Case Study

                                                                                                                                           Reasoning
                                                                                                                                         about two kinds
                                                                                             Support                                       of variability                     Updating and
                                                                                                                                                              Reconciling
                                                                                                                                                            Feature Models   Extracting Views

Video Surveillance
Processing Chains    Medical Imaging   Reverse Engineering
                       Workflows        Software Architecture

                                                                   Automation
                                                                                          Language
                                                                                                                                                              Or                Mandatory
                                                                                                             Environment
  CaseStudy -> Automation ^ Language) ^
                                                                                                                                                               Xor               Optional
  (Language -> TextualEditor) ^
  (TextualEditor -> Eclipse)
                                                                 BDD        SAT
                                                                                                     Standalone   Eclipse           Editors




                                                                                                                            Graphical           Textual
                                                                                                                             Editor              Editor
Feature Models
         support: automated reasoning (e.g., configurators) Benavides et al. 2010
                  languages and tools e.g., FeatureIDE, SPLOT, TVL and FAMILIAR


                                                                              Slicing


                                                                                                                                                              Technique
             Case Study

                                                                                                                                         Reasoning
                                                                                                                                       about two kinds
                                                                                           Support                                       of variability                     Updating and
                                                                                                                                                            Reconciling
                                                                                                                                                          Feature Models   Extracting Views

Video Surveillance
Processing Chains    Medical Imaging   Reverse Engineering
                       Workflows        Software Architecture

                                                                 Automation
                                                                                        Language
                                                                                                                                                            Or                Mandatory
                                                                                                           Environment
  CaseStudy -> Automation ^ Language) ^
                                                                                                                                                             Xor               Optional
  (Language -> TextualEditor) ^
  (TextualEditor -> Eclipse)
                                                               BDD        SAT
                                                                                                   Standalone   Eclipse           Editors




                                                                                                                          Graphical           Textual
                                                                                                                           Editor              Editor
Feature Models
                           large, complex and multiple
     Feature Model of Linux: more than 5000 features Berger et al. ASE’10, She et al. ICSE’11
Feature models are governed by many complex constraints Hubaux et al. 2010, Benavides et al. 2010
 Feature models are multiple (e.g., systems-of-systems, suppliers) Acher et al. 2011 (PhD thesis)

                                                                              Slicing


                                                                                                                                                              Technique
             Case Study

                                                                                                                                         Reasoning
                                                                                                                                       about two kinds
                                                                                           Support                                       of variability                     Updating and
                                                                                                                                                            Reconciling
                                                                                                                                                          Feature Models   Extracting Views

Video Surveillance
Processing Chains    Medical Imaging   Reverse Engineering
                       Workflows        Software Architecture

                                                                 Automation
                                                                                        Language
                                                                                                                                                            Or                Mandatory
                                                                                                           Environment
  CaseStudy -> Automation ^ Language) ^
                                                                                                                                                             Xor               Optional
  (Language -> TextualEditor) ^
  (TextualEditor -> Eclipse)
                                                               BDD        SAT
                                                                                                   Standalone   Eclipse           Editors




                                                                                                                          Graphical           Textual
                                                                                                                           Editor              Editor
Feature Models
                           large, complex and multiple
We need support for Separation of Concerns and Automated Reasoning
 (1) ability to compose feature models (inserting, merging, aggregating) Acher et al. 2009
                 (II) ability to decompose feature models Acher et al. ASE’11
           (III) ability to reason about the composition and decomposition
                                                                              Slicing


                                                                                                                                                              Technique
             Case Study

                                                                                                                                         Reasoning
                                                                                                                                       about two kinds
                                                                                           Support                                       of variability                     Updating and
                                                                                                                                                            Reconciling
                                                                                                                                                          Feature Models   Extracting Views

Video Surveillance
Processing Chains    Medical Imaging   Reverse Engineering
                       Workflows        Software Architecture

                                                                 Automation
                                                                                        Language
                                                                                                                                                            Or                Mandatory
                                                                                                           Environment
  CaseStudy -> Automation ^ Language) ^
                                                                                                                                                             Xor               Optional
  (Language -> TextualEditor) ^
  (TextualEditor -> Eclipse)
                                                               BDD        SAT
                                                                                                   Standalone   Eclipse           Editors




                                                                                                                          Graphical           Textual
                                                                                                                           Editor              Editor
Feature Models
                                  We need support for Managing Feature Models

        new capabilities arise when you combine decomposition mechanism with
               composition, reasoning, comparison and editing mechanisms


                                                                              Slicing


                                                                                                                                                              Technique
             Case Study

                                                                                                                                         Reasoning
                                                                                                                                       about two kinds
                                                                                           Support                                       of variability                     Updating and
                                                                                                                                                            Reconciling
                                                                                                                                                          Feature Models   Extracting Views

Video Surveillance
Processing Chains    Medical Imaging   Reverse Engineering
                       Workflows        Software Architecture

                                                                 Automation
                                                                                        Language
                                                                                                                                                            Or                Mandatory
                                                                                                           Environment
  CaseStudy -> Automation ^ Language) ^
                                                                                                                                                             Xor               Optional
  (Language -> TextualEditor) ^
  (TextualEditor -> Eclipse)
                                                               BDD        SAT
                                                                                                   Standalone   Eclipse           Editors




                                                                                                                          Graphical           Textual
                                                                                                                           Editor              Editor
Decomposing Feature Models
   Language, Environment, and Applications
                                                                                        Slicing


                                                                                                                                                                         Technique
               Case Study

                                                                                                                                                    Reasoning
                                                                                                                                                  about two kinds
                                                                                                     Support                                        of variability                     Updating and
                                                                                                                                                                       Reconciling
                                                                                                                                                                     Feature Models   Extracting Views

  Video Surveillance
  Processing Chains    Medical Imaging   Reverse Engineering
                         Workflows        Software Architecture

                                                                           Automation
                                                                                                  Language
                                                                                                                                                                       Or                 Mandatory
                                                                                                                     Environment
    CaseStudy -> Automation ^ Language) ^
                                                                                                                                                                        Xor               Optional
    (Language -> TextualEditor) ^
    (TextualEditor -> Eclipse)
                                                                       BDD          SAT
                                                                                                             Standalone    Eclipse           Editors




                                                                                                                                     Graphical           Textual
                                                                                                                                      Editor              Editor




                                                                                     ASE'11
                                                                                  demonstration                                          Applications
                                     Support
                                                                                                                                                                               Technique
                                                                                                                      Case Study

                               Language                                                                                                            Reasoning
          Automation                                 Environment                                                                                 about two kinds
                                                                                                                                                                            Reconciling      Updating
                                                                                                                                                   of variability
                                                                                                       Video                                                                 Feature            and
                                                                                                    Surveillance                                                             Models          Extracting
                                                                                                    Processing                                                                                Views
                                                                               Textual                Chains               Medical
                                          Standalone             Eclipse                                                                     Reverse Engineering
        BDD            SAT                                                      Editor                                     Imaging
                                                                                                                                             Software Architecture
                                                                                                                          Workflows
See you!
                                                         Slicing Feature Models
                                            Semantics, Algorithm, Support, and Applications
                                               Mathieu Acher1, Philippe Collet1 , Philippe Lahire1 and Robert France2
                                            1 University                                                                       2 Colorado
                                                           of Nice Sophia Antipolis, CNRS, France                                         State University, USA
                                                         {acher,collet,lahire}@i3s.unice.fr                                      Computer Science Department
                                                                                                                                   france@cs.colostate.edu



                                                                               ASE'11 short paper
                     Semantics                                                                                                                                Algorithm

             Hierarchy                         Set of                                                                            Support for                                        Semantics-aware
                                            configurations                                                                        Constraints                                          Technique
                                                                                                                                                          Root Support




        Or                  Mandatory
                                                                                    Slicing
         Xor                 Optional

                                                                                                                                                                                   Technique

      Future Work                                                                                     Motivation
                                                                                                                                                              Reasoning
                                                                                                                                                            about two kinds
                                                                                                                                                              of variability     Reconciling     Updating and
                          Paper                                                                                                                                                Feature Models   Extracting Views

                                                                                          Large and                Multiple, Inter-
                                                                    Support              Complex FMs                related FMs                               Algorithm



                                                                                                                                                                                                Propositional
    Demonstration         Long      Short
                                                                                                                                                                                                   Logics
                                                                                                           Support for
                                                                                                           Constraints                Corrective
                                                                                                                                      Capabilities                                      Semantics-aware
                                            Automation           Language
                                                                                                                                                                          Syntactical     Technique
                                                                                    Environment                                                      Root Support         Technique
             Case Study




                                         BDD          SAT                   Standalone     Eclipse           Editors
                                                                                                                                                                Semantics

Video Surveillance
Processing Chains     Medical Imaging    Reverse Engineering                                         Graphical                Textual
                        Workflows         Software Architecture                                        Editor                   Editor
                                                                                                                                                            Hierarchy             Set of
                                                                                                                                                                               configurations

     (Algorithm <-> Semantics) ^ (Algorithm <-> CorrectiveCapabilities) ^ (Algorithm <-> RootSupport)
     ^ (CorrectiveCapabilities -> SupportForConstraints) ^ (CorrectiveCapabilities -> SemanticsAware)
     ^ (SetOfConfigurations <-> SemanticsAware) ^ (SemanticsAware -> Automation) ^ (Language -> TextualEditor)
     ^ (TextualEditor -> Eclipse) ^ Language




                                                                                  ASE'11
                                                                               demonstration                                                    Applications
                                  Support
                                                                                                                                                                                        Technique
                                                                                                                           Case Study

                            Language                                                                                                                        Reasoning
    Automation                                   Environment                                                                                              about two kinds
                                                                                                                                                                                   Reconciling       Updating
                                                                                                                                                            of variability
                                                                                                        Video                                                                       Feature             and
                                                                                                     Surveillance                                                                   Models           Extracting
                                                                                                     Processing                                                                                       Views
                                                                            Textual                    Chains                  Medical
                                        Standalone       Eclipse                                                                                     Reverse Engineering
  BDD           SAT                                                          Editor                                            Imaging
                                                                                                                                                     Software Architecture
                                                                                                                              Workflows

Contenu connexe

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

A Demonstration of End-User Code Customization Using Generative AI
A Demonstration of End-User Code Customization Using Generative AIA Demonstration of End-User Code Customization Using Generative AI
A Demonstration of End-User Code Customization Using Generative AI
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
On Programming Variability with Large Language Model-based Assistant
On Programming Variability with Large Language Model-based AssistantOn Programming Variability with Large Language Model-based Assistant
On Programming Variability with Large Language Model-based Assistant
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Generative AI for Reengineering Variants into Software Product Lines: An Expe...
Generative AI for Reengineering Variants into Software Product Lines: An Expe...Generative AI for Reengineering Variants into Software Product Lines: An Expe...
Generative AI for Reengineering Variants into Software Product Lines: An Expe...
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Tackling Deep Software Variability Together
Tackling Deep Software Variability TogetherTackling Deep Software Variability Together
Tackling Deep Software Variability Together
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
On anti-cheating in chess, science, reproducibility, and variability
On anti-cheating in chess, science, reproducibility, and variabilityOn anti-cheating in chess, science, reproducibility, and variability
On anti-cheating in chess, science, reproducibility, and variability
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Feature Subset Selection for Learning Huge Configuration Spaces: The case of ...
Feature Subset Selection for Learning Huge Configuration Spaces: The case of ...Feature Subset Selection for Learning Huge Configuration Spaces: The case of ...
Feature Subset Selection for Learning Huge Configuration Spaces: The case of ...
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Machine Learning and Deep Software Variability
Machine Learning and Deep Software VariabilityMachine Learning and Deep Software Variability
Machine Learning and Deep Software Variability
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Mastering Software Variability for Innovation and Science
Mastering Software Variability for Innovation and ScienceMastering Software Variability for Innovation and Science
Mastering Software Variability for Innovation and Science
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Transfer Learning Across Variants and Versions: The Case of Linux Kernel Size
Transfer Learning Across Variants and Versions: The Case of Linux Kernel SizeTransfer Learning Across Variants and Versions: The Case of Linux Kernel Size
Transfer Learning Across Variants and Versions: The Case of Linux Kernel Size
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Reproducible Science and Deep Software Variability
Reproducible Science and Deep Software VariabilityReproducible Science and Deep Software Variability
Reproducible Science and Deep Software Variability
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Software Variability and Artificial Intelligence
Software Variability and Artificial IntelligenceSoftware Variability and Artificial Intelligence
Software Variability and Artificial Intelligence
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Teaching Software Product Lines: A Snapshot of Current Practices and Challenges
Teaching Software Product Lines: A Snapshot of Current Practices and ChallengesTeaching Software Product Lines: A Snapshot of Current Practices and Challenges
Teaching Software Product Lines: A Snapshot of Current Practices and Challenges
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...
Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...
Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
From Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.orgFrom Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.org
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Pandoc: a universal document converter
Pandoc: a universal document converterPandoc: a universal document converter
Pandoc: a universal document converter
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Metamorphic Domain-Specific Languages
Metamorphic Domain-Specific LanguagesMetamorphic Domain-Specific Languages
Metamorphic Domain-Specific Languages
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
3D Printing, Customization, and Product Lines
3D Printing, Customization, and Product Lines3D Printing, Customization, and Product Lines
3D Printing, Customization, and Product Lines
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
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)
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
A survey on teaching of software product lines
A survey on teaching of software product linesA survey on teaching of software product lines
A survey on teaching of software product lines
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 

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

What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
DianaGray10
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
christinelarrosa
 
High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024
Vadym Kazulkin
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
Ajin Abraham
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Pitangent Analytics & Technology Solutions Pvt. Ltd
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
UiPathCommunity
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
Fwdays
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
A Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's ArchitectureA Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's Architecture
ScyllaDB
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
saastr
 

Dernier (20)

What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
 
High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
A Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's ArchitectureA Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's Architecture
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
 

ASE tool demonstration

  • 1. Decomposing Feature Models Language, Environment, and Applications Mathieu Acher1, Philippe Collet1 , Philippe Lahire1 and Robert France2 1 University 2 Colorado State University, USA of Nice Sophia Antipolis, CNRS, France {acher,collet,lahire}@i3s.unice.fr Computer Science Department france@cs.colostate.edu Slicing Feature Models Semantics, Algorithm, Support, and Applications Mathieu Acher1, Philippe Collet1 , Philippe Lahire1 and Robert France2 1 University 2 Colorado State University, USA of Nice Sophia Antipolis, CNRS, France {acher,collet,lahire}@i3s.unice.fr Computer Science Department france@cs.colostate.edu ASE'11 short paper Semantics Algorithm Hierarchy Set of Support for Semantics-aware configurations Constraints Technique Root Support Or Mandatory Slicing Xor Optional Technique Future Work Motivation Reasoning about two kinds of variability Reconciling Updating and Paper Feature Models Extracting Views Large and Multiple, Inter- Support Complex FMs related FMs Algorithm Propositional Demonstration Long Short Logics Support for Constraints Corrective Capabilities Semantics-aware Automation Language Syntactical Technique Environment Root Support Technique Case Study BDD SAT Standalone Eclipse Editors Semantics Video Surveillance Processing Chains Medical Imaging Reverse Engineering Graphical Textual Workflows Software Architecture Editor Editor Hierarchy Set of configurations (Algorithm <-> Semantics) ^ (Algorithm <-> CorrectiveCapabilities) ^ (Algorithm <-> RootSupport) ^ (CorrectiveCapabilities -> SupportForConstraints) ^ (CorrectiveCapabilities -> SemanticsAware) ^ (SetOfConfigurations <-> SemanticsAware) ^ (SemanticsAware -> Automation) ^ (Language -> TextualEditor) ^ (TextualEditor -> Eclipse) ^ Language ASE'11 demonstration Applications Support Technique Case Study Language Reasoning Automation Environment about two kinds Reconciling Updating of variability Video Feature and Surveillance Models Extracting Processing Views Textual Chains Medical Standalone Eclipse Reverse Engineering BDD SAT Editor Imaging Software Architecture Workflows
  • 2. Feature Models defacto standard for modeling variability more than 1000 citations of Kang et al. 1990 per year Slicing Technique Case Study Reasoning about two kinds Support of variability Updating and Reconciling Feature Models Extracting Views Video Surveillance Processing Chains Medical Imaging Reverse Engineering Workflows Software Architecture Automation Language Or Mandatory Environment CaseStudy -> Automation ^ Language) ^ Xor Optional (Language -> TextualEditor) ^ (TextualEditor -> Eclipse) BDD SAT Standalone Eclipse Editors Graphical Textual Editor Editor
  • 3. Feature Models semantics: control legal combination of features (aka configurations) Batory et al. 2005, Czarnecki et al. 2007, Schobbens et al. 2007 Slicing Technique Case Study Reasoning about two kinds Support of variability Updating and Reconciling Feature Models Extracting Views Video Surveillance Processing Chains Medical Imaging Reverse Engineering Workflows Software Architecture Automation Language Or Mandatory Environment CaseStudy -> Automation ^ Language) ^ Xor Optional (Language -> TextualEditor) ^ (TextualEditor -> Eclipse) BDD SAT Standalone Eclipse Editors Graphical Textual Editor Editor
  • 4. Feature Models support: automated reasoning (e.g., configurators) Benavides et al. 2010 languages and tools e.g., FeatureIDE, SPLOT, TVL and FAMILIAR Slicing Technique Case Study Reasoning about two kinds Support of variability Updating and Reconciling Feature Models Extracting Views Video Surveillance Processing Chains Medical Imaging Reverse Engineering Workflows Software Architecture Automation Language Or Mandatory Environment CaseStudy -> Automation ^ Language) ^ Xor Optional (Language -> TextualEditor) ^ (TextualEditor -> Eclipse) BDD SAT Standalone Eclipse Editors Graphical Textual Editor Editor
  • 5. Feature Models large, complex and multiple Feature Model of Linux: more than 5000 features Berger et al. ASE’10, She et al. ICSE’11 Feature models are governed by many complex constraints Hubaux et al. 2010, Benavides et al. 2010 Feature models are multiple (e.g., systems-of-systems, suppliers) Acher et al. 2011 (PhD thesis) Slicing Technique Case Study Reasoning about two kinds Support of variability Updating and Reconciling Feature Models Extracting Views Video Surveillance Processing Chains Medical Imaging Reverse Engineering Workflows Software Architecture Automation Language Or Mandatory Environment CaseStudy -> Automation ^ Language) ^ Xor Optional (Language -> TextualEditor) ^ (TextualEditor -> Eclipse) BDD SAT Standalone Eclipse Editors Graphical Textual Editor Editor
  • 6. Feature Models large, complex and multiple We need support for Separation of Concerns and Automated Reasoning (1) ability to compose feature models (inserting, merging, aggregating) Acher et al. 2009 (II) ability to decompose feature models Acher et al. ASE’11 (III) ability to reason about the composition and decomposition Slicing Technique Case Study Reasoning about two kinds Support of variability Updating and Reconciling Feature Models Extracting Views Video Surveillance Processing Chains Medical Imaging Reverse Engineering Workflows Software Architecture Automation Language Or Mandatory Environment CaseStudy -> Automation ^ Language) ^ Xor Optional (Language -> TextualEditor) ^ (TextualEditor -> Eclipse) BDD SAT Standalone Eclipse Editors Graphical Textual Editor Editor
  • 7. Feature Models We need support for Managing Feature Models new capabilities arise when you combine decomposition mechanism with composition, reasoning, comparison and editing mechanisms Slicing Technique Case Study Reasoning about two kinds Support of variability Updating and Reconciling Feature Models Extracting Views Video Surveillance Processing Chains Medical Imaging Reverse Engineering Workflows Software Architecture Automation Language Or Mandatory Environment CaseStudy -> Automation ^ Language) ^ Xor Optional (Language -> TextualEditor) ^ (TextualEditor -> Eclipse) BDD SAT Standalone Eclipse Editors Graphical Textual Editor Editor
  • 8. Decomposing Feature Models Language, Environment, and Applications Slicing Technique Case Study Reasoning about two kinds Support of variability Updating and Reconciling Feature Models Extracting Views Video Surveillance Processing Chains Medical Imaging Reverse Engineering Workflows Software Architecture Automation Language Or Mandatory Environment CaseStudy -> Automation ^ Language) ^ Xor Optional (Language -> TextualEditor) ^ (TextualEditor -> Eclipse) BDD SAT Standalone Eclipse Editors Graphical Textual Editor Editor ASE'11 demonstration Applications Support Technique Case Study Language Reasoning Automation Environment about two kinds Reconciling Updating of variability Video Feature and Surveillance Models Extracting Processing Views Textual Chains Medical Standalone Eclipse Reverse Engineering BDD SAT Editor Imaging Software Architecture Workflows
  • 9. See you! Slicing Feature Models Semantics, Algorithm, Support, and Applications Mathieu Acher1, Philippe Collet1 , Philippe Lahire1 and Robert France2 1 University 2 Colorado of Nice Sophia Antipolis, CNRS, France State University, USA {acher,collet,lahire}@i3s.unice.fr Computer Science Department france@cs.colostate.edu ASE'11 short paper Semantics Algorithm Hierarchy Set of Support for Semantics-aware configurations Constraints Technique Root Support Or Mandatory Slicing Xor Optional Technique Future Work Motivation Reasoning about two kinds of variability Reconciling Updating and Paper Feature Models Extracting Views Large and Multiple, Inter- Support Complex FMs related FMs Algorithm Propositional Demonstration Long Short Logics Support for Constraints Corrective Capabilities Semantics-aware Automation Language Syntactical Technique Environment Root Support Technique Case Study BDD SAT Standalone Eclipse Editors Semantics Video Surveillance Processing Chains Medical Imaging Reverse Engineering Graphical Textual Workflows Software Architecture Editor Editor Hierarchy Set of configurations (Algorithm <-> Semantics) ^ (Algorithm <-> CorrectiveCapabilities) ^ (Algorithm <-> RootSupport) ^ (CorrectiveCapabilities -> SupportForConstraints) ^ (CorrectiveCapabilities -> SemanticsAware) ^ (SetOfConfigurations <-> SemanticsAware) ^ (SemanticsAware -> Automation) ^ (Language -> TextualEditor) ^ (TextualEditor -> Eclipse) ^ Language ASE'11 demonstration Applications Support Technique Case Study Language Reasoning Automation Environment about two kinds Reconciling Updating of variability Video Feature and Surveillance Models Extracting Processing Views Textual Chains Medical Standalone Eclipse Reverse Engineering BDD SAT Editor Imaging Software Architecture Workflows