ASE tool demonstration

9
Mathieu Acher 1 , Philippe Collet 1 , Philippe Lahire 1 and Robert France 2 1 University of Nice Sophia Antipolis, CNRS, France {acher,collet,lahire}@i3s.unice.fr 2 Colorado State University, USA Computer Science Department [email protected] Decomposing Feature Models Language, Environment, and Applications Slicing Feature Models Semantics, Algorithm, Support, and Applications Mathieu Acher 1 , Philippe Collet 1 , Philippe Lahire 1 and Robert France 2 1 University of Nice Sophia Antipolis, CNRS, France {acher,collet,lahire}@i3s.unice.fr 2 Colorado State University, USA Computer Science Department [email protected] Applications Algorithm Semantics 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 Environment Language Standalone Eclipse BDD SAT Textual Editor Propositional Logics Algorithm Support for Constraints Root Support Semantics-aware Technique Syntactical Technique Slicing Paper Short Long Demonstration Automation Environment Language Standalone Eclipse BDD 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

description

 

Transcript of ASE tool demonstration

Page 1: ASE tool demonstration

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]

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

[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 tool demonstration

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)

Page 3: ASE tool demonstration

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)

Page 4: ASE tool demonstration

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)

Page 5: ASE tool demonstration

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

Page 6: ASE tool demonstration

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

Page 7: ASE tool demonstration

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)

Page 8: ASE tool demonstration

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)

Page 9: ASE tool demonstration

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