SlideShare une entreprise Scribd logo
1  sur  9
Télécharger pour lire hors ligne
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

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
 
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
 
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
 
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
 
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
 

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

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
 
Product Comparison Matrix (PCM), Variability Modeling: The Wikipedia Case Study
Product Comparison Matrix (PCM), Variability Modeling: The Wikipedia Case StudyProduct Comparison Matrix (PCM), Variability Modeling: The Wikipedia Case Study
Product Comparison Matrix (PCM), Variability Modeling: The Wikipedia Case Study
 
Ec2013 tutorial-mb variability-final
Ec2013 tutorial-mb variability-finalEc2013 tutorial-mb variability-final
Ec2013 tutorial-mb variability-final
 

Dernier

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

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