Download - ASE'11 (short paper)

Transcript
Page 1: ASE'11 (short paper)

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

[email protected]

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

[email protected]

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

Page 2: ASE'11 (short paper)

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

Page 3: ASE'11 (short paper)

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

Page 4: ASE'11 (short paper)

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

Page 5: ASE'11 (short paper)

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

Page 6: ASE'11 (short paper)

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

Page 7: ASE'11 (short paper)

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

Page 8: ASE'11 (short paper)

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

Page 9: ASE'11 (short paper)

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)

Page 10: ASE'11 (short paper)

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

[email protected]

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