ase tool demonstration
DESCRIPTION
TRANSCRIPT
Mathieu Acher1, Philippe Collet1 , Philippe Lahire1 and Robert France2 1 University of Nice Sophia Antipolis, CNRS, France
{acher,collet,lahire}@i3s.unice.fr2 Colorado State University, USAComputer Science Department
Decomposing Feature ModelsLanguage, Environment, and Applications
Slicing Feature ModelsSemantics, Algorithm, Support, and Applications
Mathieu Acher1, Philippe Collet1 , Philippe Lahire1 and Robert France2 1 University of Nice Sophia Antipolis, CNRS, France
{acher,collet,lahire}@i3s.unice.fr2 Colorado State University, USAComputer Science Department
Applications
AlgorithmSemantics
Case Study
Reasoning about two kinds
of variability Reconciling Feature Models
Technique
Updating and
Extracting Views
Video Surveillance Processing
Chains Medical Imaging
Workflows
Reverse Engineering Software Architecture
Set of configurations
Hierarchy Support for Constraints
Root Support
Semantics-aware Technique
Support
Automation EnvironmentLanguage
Standalone EclipseBDD SATTextual Editor
Propositional Logics
Algorithm
Support for Constraints
Root Support
Semantics-aware TechniqueSyntactical
Technique
Slicing
Paper
ShortLongDemonstration
Automation
Environment
Language
Standalone EclipseBDD SAT
Textual Editor
Graphical Editor
Editors
Future Work
Support
Case Study
Medical Imaging Workflows
Reverse Engineering Software Architecture
Video Surveillance Processing Chains
Motivation
Multiple, Inter-related FMs
Large and Complex FMs
Corrective Capabilities
Reasoning about two kinds
of variability Reconciling Feature Models
Technique
Updating and Extracting Views
Set of configurations
Hierarchy
Semantics
ASE'11 short paper
ASE'11 demonstration
Or
Xor
Mandatory
Optional
(Algorithm <-> Semantics) ^ (Algorithm <-> CorrectiveCapabilities) ^ (Algorithm <-> RootSupport) ^ (CorrectiveCapabilities -> SupportForConstraints) ^ (CorrectiveCapabilities -> SemanticsAware) ^ (SetOfConfigurations <-> SemanticsAware) ^ (SemanticsAware -> Automation) ^ (Language -> TextualEditor) ^ (TextualEditor -> Eclipse) ^ Language
Feature Models
defacto standard for modeling variability more than 1000 citations of Kang et al. 1990 per year
Slicing
Automation
Environment
Language
Standalone EclipseBDD SAT
Textual Editor
Graphical Editor
Editors
Support
Case Study
Medical Imaging Workflows
Reverse Engineering Software Architecture
Video Surveillance Processing Chains
Reasoning about two kinds
of variability Reconciling Feature Models
Technique
Updating and Extracting Views
Or
Xor
Mandatory
OptionalCaseStudy -> Automation ^ Language) ^ (Language -> TextualEditor) ^ (TextualEditor -> Eclipse)
Feature Models
semantics: control legal combination of features (aka configurations)
Batory et al. 2005, Czarnecki et al. 2007, Schobbens et al. 2007
Slicing
Automation
Environment
Language
Standalone EclipseBDD SAT
Textual Editor
Graphical Editor
Editors
Support
Case Study
Medical Imaging Workflows
Reverse Engineering Software Architecture
Video Surveillance Processing Chains
Reasoning about two kinds
of variability Reconciling Feature Models
Technique
Updating and Extracting Views
Or
Xor
Mandatory
OptionalCaseStudy -> Automation ^ Language) ^ (Language -> TextualEditor) ^ (TextualEditor -> Eclipse)
Feature Modelssupport: automated reasoning (e.g., configurators) Benavides et al. 2010
languages and tools e.g., FeatureIDE, SPLOT, TVL and FAMILIAR
Slicing
Automation
Environment
Language
Standalone EclipseBDD SAT
Textual Editor
Graphical Editor
Editors
Support
Case Study
Medical Imaging Workflows
Reverse Engineering Software Architecture
Video Surveillance Processing Chains
Reasoning about two kinds
of variability Reconciling Feature Models
Technique
Updating and Extracting Views
Or
Xor
Mandatory
OptionalCaseStudy -> Automation ^ Language) ^ (Language -> TextualEditor) ^ (TextualEditor -> Eclipse)
Feature Models
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
Automation
Environment
Language
Standalone EclipseBDD SAT
Textual Editor
Graphical Editor
Editors
Support
Case Study
Medical Imaging Workflows
Reverse Engineering Software Architecture
Video Surveillance Processing Chains
Reasoning about two kinds
of variability Reconciling Feature Models
Technique
Updating and Extracting Views
Or
Xor
Mandatory
OptionalCaseStudy -> Automation ^ Language) ^ (Language -> TextualEditor) ^ (TextualEditor -> Eclipse)
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
Automation
Environment
Language
Standalone EclipseBDD SAT
Textual Editor
Graphical Editor
Editors
Support
Case Study
Medical Imaging Workflows
Reverse Engineering Software Architecture
Video Surveillance Processing Chains
Reasoning about two kinds
of variability Reconciling Feature Models
Technique
Updating and Extracting Views
Or
Xor
Mandatory
OptionalCaseStudy -> Automation ^ Language) ^ (Language -> TextualEditor) ^ (TextualEditor -> Eclipse)
Feature Modelslarge, complex and multiple
Feature ModelsWe need support for Managing Feature Models
new capabilities arise when you combine decomposition mechanism withcomposition, reasoning, comparison and editing mechanisms
Slicing
Automation
Environment
Language
Standalone EclipseBDD SAT
Textual Editor
Graphical Editor
Editors
Support
Case Study
Medical Imaging Workflows
Reverse Engineering Software Architecture
Video Surveillance Processing Chains
Reasoning about two kinds
of variability Reconciling Feature Models
Technique
Updating and Extracting Views
Or
Xor
Mandatory
OptionalCaseStudy -> Automation ^ Language) ^ (Language -> TextualEditor) ^ (TextualEditor -> Eclipse)
Decomposing Feature ModelsLanguage, Environment, and Applications
Applications
Case Study
Reasoning about two kinds
of variability Reconciling Feature Models
Technique
Updating and
Extracting Views
Video Surveillance Processing
Chains Medical Imaging
Workflows
Reverse Engineering Software Architecture
Support
Automation EnvironmentLanguage
Standalone EclipseBDD SATTextual Editor
Slicing
Automation
Environment
Language
Standalone EclipseBDD SAT
Textual Editor
Graphical Editor
Editors
Support
Case Study
Medical Imaging Workflows
Reverse Engineering Software Architecture
Video Surveillance Processing Chains
Reasoning about two kinds
of variability Reconciling Feature Models
Technique
Updating and Extracting Views
ASE'11 demonstration
Or
Xor
Mandatory
OptionalCaseStudy -> Automation ^ Language) ^ (Language -> TextualEditor) ^ (TextualEditor -> Eclipse)
See you!Slicing Feature Models
Semantics, Algorithm, Support, and Applications
Mathieu Acher1, Philippe Collet1 , Philippe Lahire1 and Robert France2 1 University of Nice Sophia Antipolis, CNRS, France
{acher,collet,lahire}@i3s.unice.fr2 Colorado State University, USAComputer Science Department
Applications
AlgorithmSemantics
Case Study
Reasoning about two kinds
of variability Reconciling Feature Models
Technique
Updating and
Extracting Views
Video Surveillance Processing
Chains Medical Imaging
Workflows
Reverse Engineering Software Architecture
Set of configurations
Hierarchy Support for Constraints
Root Support
Semantics-aware Technique
Support
Automation EnvironmentLanguage
Standalone EclipseBDD SATTextual Editor
Propositional Logics
Algorithm
Support for Constraints
Root Support
Semantics-aware TechniqueSyntactical
Technique
Slicing
Paper
ShortLongDemonstration
Automation
Environment
Language
Standalone EclipseBDD SAT
Textual Editor
Graphical Editor
Editors
Future Work
Support
Case Study
Medical Imaging Workflows
Reverse Engineering Software Architecture
Video Surveillance Processing Chains
Motivation
Multiple, Inter-related FMs
Large and Complex FMs
Corrective Capabilities
Reasoning about two kinds
of variability Reconciling Feature Models
Technique
Updating and Extracting Views
Set of configurations
Hierarchy
Semantics
ASE'11 short paper
ASE'11 demonstration
Or
Xor
Mandatory
Optional
(Algorithm <-> Semantics) ^ (Algorithm <-> CorrectiveCapabilities) ^ (Algorithm <-> RootSupport) ^ (CorrectiveCapabilities -> SupportForConstraints) ^ (CorrectiveCapabilities -> SemanticsAware) ^ (SetOfConfigurations <-> SemanticsAware) ^ (SemanticsAware -> Automation) ^ (Language -> TextualEditor) ^ (TextualEditor -> Eclipse) ^ Language