Date post: | 01-Dec-2014 |
Category: |
Technology |
Upload: | acher |
View: | 524 times |
Download: | 3 times |
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
Slicing Feature Models
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
Propositional Logics
Algorithm
Support for Constraints
Root Support
Semantics-aware TechniqueSyntactical
Technique
Slicing
Motivation
Multiple, Inter-related FMs
Large and Complex FMs
Corrective Capabilities
Set of configurations
Hierarchy
Semantics
Or
Xor
Mandatory
Optional
(CorrectiveCapabilities -> SupportForConstraints) ^ (CorrectiveCapabilities -> SemanticsAware) ^ (SetOfConfigurations <-> SemanticsAware)
Feature Models
defacto standard for modeling variability more than 1000 citations of Kang et al. 1990 per year
Propositional Logics
Algorithm
Support for Constraints
Root Support
Semantics-aware TechniqueSyntactical
Technique
Slicing
Motivation
Multiple, Inter-related FMs
Large and Complex FMs
Corrective Capabilities
Set of configurations
Hierarchy
Semantics
Or
Xor
Mandatory
Optional
(CorrectiveCapabilities -> SupportForConstraints) ^ (CorrectiveCapabilities -> SemanticsAware) ^ (SetOfConfigurations <-> SemanticsAware)
Feature Models
semantics: control legal combination of features (aka configurations)
Batory et al. 2005, Czarnecki et al. 2007, Schobbens et al. 2007
Propositional Logics
Algorithm
Support for Constraints
Root Support
Semantics-aware TechniqueSyntactical
Technique
Slicing
Motivation
Multiple, Inter-related FMs
Large and Complex FMs
Corrective Capabilities
Set of configurations
Hierarchy
Semantics
Or
Xor
Mandatory
Optional
(CorrectiveCapabilities -> SupportForConstraints) ^ (CorrectiveCapabilities -> SemanticsAware) ^ (SetOfConfigurations <-> SemanticsAware)
Feature Modelssupport: automated reasoning (e.g., configurators) Benavides et al. 2010
languages and tools e.g., FeatureIDE, SPLOT, TVL and FAMILIAR
Propositional Logics
Algorithm
Support for Constraints
Root Support
Semantics-aware TechniqueSyntactical
Technique
Slicing
Motivation
Multiple, Inter-related FMs
Large and Complex FMs
Corrective Capabilities
Set of configurations
Hierarchy
Semantics
Or
Xor
Mandatory
Optional
(CorrectiveCapabilities -> SupportForConstraints) ^ (CorrectiveCapabilities -> SemanticsAware) ^ (SetOfConfigurations <-> SemanticsAware)
Feature Models
Feature Model of Linux: more than 5000 features Berger et al. ASE’10, She et al. ICSE’10
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)
large, complex and multiple
Propositional Logics
Algorithm
Support for Constraints
Root Support
Semantics-aware TechniqueSyntactical
Technique
Slicing
Motivation
Multiple, Inter-related FMs
Large and Complex FMs
Corrective Capabilities
Set of configurations
Hierarchy
Semantics
Or
Xor
Mandatory
Optional
(CorrectiveCapabilities -> SupportForConstraints) ^ (CorrectiveCapabilities -> SemanticsAware) ^ (SetOfConfigurations <-> SemanticsAware)
Feature Models
We need support for Separation of Concerns(1) ability to compose feature models (inserting, merging, aggregating) Acher et al. 2009
(II) ability to decompose feature models
large, complex and multiple
Propositional Logics
Algorithm
Support for Constraints
Root Support
Semantics-aware TechniqueSyntactical
Technique
Slicing
Motivation
Multiple, Inter-related FMs
Large and Complex FMs
Corrective Capabilities
Set of configurations
Hierarchy
Semantics
Or
Xor
Mandatory
Optional
(CorrectiveCapabilities -> SupportForConstraints) ^ (CorrectiveCapabilities -> SemanticsAware) ^ (SetOfConfigurations <-> SemanticsAware)
Slicing Feature Models
We need support for Separation of Concerns
(II) ability to decompose feature models
Propositional Logics
Algorithm
Support for Constraints
Root Support
Semantics-aware TechniqueSyntactical
Technique
Slicing
Motivation
Multiple, Inter-related FMs
Large and Complex FMs
Corrective Capabilities
Set of configurations
Hierarchy
Semantics
Or
Xor
Mandatory
Optional
(CorrectiveCapabilities -> SupportForConstraints) ^ (CorrectiveCapabilities -> SemanticsAware) ^ (SetOfConfigurations <-> SemanticsAware)
Slicing Feature Modelsinput: slicing criterion (arbitrary set of features, relevant for a feature model user)
output: a new feature model (a slice), representing a projected set of configurations
AlgorithmSemantics
Set of configurations
Hierarchy Support for Constraints
Root Support
Semantics-aware Technique
Propositional Logics
Algorithm
Support for Constraints
Root Support
Semantics-aware TechniqueSyntactical
Technique
Slicing
Motivation
Multiple, Inter-related FMs
Large and Complex FMs
Corrective Capabilities
Set of configurations
Hierarchy
Semantics
ASE'11 short paper
Or
Xor
Mandatory
Optional
(Algorithm <-> Semantics) ^ (Algorithm <-> CorrectiveCapabilities) ^ (Algorithm <-> RootSupport) ^ (CorrectiveCapabilities -> SupportForConstraints) ^ (CorrectiveCapabilities -> SemanticsAware) ^ (SetOfConfigurations <-> SemanticsAware)
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