Feature models (FMs) are a popular formalism for describing the commonality and variability of software product lines (SPLs) in terms of features. As SPL development increasingly involves numerous large FMs, scalable modular techniques are required to manage their complexity. In this paper, we present a novel slicing technique that produces a projection of an FM, including constraints. The slicing allows SPL practitioners to find semantically meaningful decompositions of FMs and has been integrated into the FAMILIAR language.
08448380779 Call Girls In Friends Colony Women Seeking Men
ASE'11 (short paper)
1. Slicing Feature Models
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
Motivation
Algorithm
Propositional
Large and Multiple, Inter- Logics
Complex FMs related FMs Support for
Constraints Corrective
Capabilities Semantics-aware
Syntactical Technique
Root Support Technique
(CorrectiveCapabilities -> SupportForConstraints) ^
(CorrectiveCapabilities -> SemanticsAware)
^ (SetOfConfigurations <-> SemanticsAware)
Semantics
Or Mandatory
Xor Optional
Hierarchy Set of
configurations
3. Feature Models
semantics: control legal combination of features (aka configurations)
Batory et al. 2005, Czarnecki et al. 2007, Schobbens et al. 2007
Slicing
Motivation
Algorithm
Propositional
Large and Multiple, Inter- Logics
Complex FMs related FMs Support for
Constraints Corrective
Capabilities Semantics-aware
Syntactical Technique
Root Support Technique
(CorrectiveCapabilities -> SupportForConstraints) ^
(CorrectiveCapabilities -> SemanticsAware)
^ (SetOfConfigurations <-> SemanticsAware)
Semantics
Or Mandatory
Xor Optional
Hierarchy Set of
configurations
4. Feature Models
support: automated reasoning (e.g., configurators) Benavides et al. 2010
languages and tools e.g., FeatureIDE, SPLOT, TVL and FAMILIAR
Slicing
Motivation
Algorithm
Propositional
Large and Multiple, Inter- Logics
Complex FMs related FMs Support for
Constraints Corrective
Capabilities Semantics-aware
Syntactical Technique
Root Support Technique
(CorrectiveCapabilities -> SupportForConstraints) ^
(CorrectiveCapabilities -> SemanticsAware)
^ (SetOfConfigurations <-> SemanticsAware)
Semantics
Or Mandatory
Xor Optional
Hierarchy Set of
configurations
5. Feature Models
large, complex and multiple
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)
Slicing
Motivation
Algorithm
Propositional
Large and Multiple, Inter- Logics
Complex FMs related FMs Support for
Constraints Corrective
Capabilities Semantics-aware
Syntactical Technique
Root Support Technique
(CorrectiveCapabilities -> SupportForConstraints) ^
(CorrectiveCapabilities -> SemanticsAware)
^ (SetOfConfigurations <-> SemanticsAware)
Semantics
Or Mandatory
Xor Optional
Hierarchy Set of
configurations
6. Feature Models
large, complex and multiple
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
Slicing
Motivation
Algorithm
Propositional
Large and Multiple, Inter- Logics
Complex FMs related FMs Support for
Constraints Corrective
Capabilities Semantics-aware
Syntactical Technique
Root Support Technique
(CorrectiveCapabilities -> SupportForConstraints) ^
(CorrectiveCapabilities -> SemanticsAware)
^ (SetOfConfigurations <-> SemanticsAware)
Semantics
Or Mandatory
Xor Optional
Hierarchy Set of
configurations
7. Slicing Feature Models
We need support for Separation of Concerns
(II) ability to decompose feature models
Slicing
Motivation
Algorithm
Propositional
Large and Multiple, Inter- Logics
Complex FMs related FMs Support for
Constraints Corrective
Capabilities Semantics-aware
Syntactical Technique
Root Support Technique
(CorrectiveCapabilities -> SupportForConstraints) ^
(CorrectiveCapabilities -> SemanticsAware)
^ (SetOfConfigurations <-> SemanticsAware)
Semantics
Or Mandatory
Xor Optional
Hierarchy Set of
configurations
8. Slicing Feature Models
input: 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
Slicing
Motivation
Algorithm
Propositional
Large and Multiple, Inter- Logics
Complex FMs related FMs Support for
Constraints Corrective
Capabilities Semantics-aware
Syntactical Technique
Root Support Technique
(CorrectiveCapabilities -> SupportForConstraints) ^
(CorrectiveCapabilities -> SemanticsAware)
^ (SetOfConfigurations <-> SemanticsAware)
Semantics
Or Mandatory
Xor Optional
Hierarchy Set of
configurations
9. ASE'11 short paper
Semantics Algorithm
Hierarchy Set of Support for Semantics-aware
configurations Constraints Technique
Root Support
Slicing
Algorithm
Motivation
Propositional
Logics
Support for
Constraints Corrective
Capabilities Semantics-aware
Large and Multiple, Inter- Syntactical Technique
Complex FMs related FMs
Root Support Technique
(Algorithm <-> Semantics) ^ (Algorithm <->
CorrectiveCapabilities) ^ (Algorithm <-> RootSupport)
^ (CorrectiveCapabilities -> SupportForConstraints) ^
(CorrectiveCapabilities -> SemanticsAware) Semantics
^ (SetOfConfigurations <-> SemanticsAware)
Or Mandatory
Hierarchy Set of
configurations
Xor Optional
10. 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