Variability Modeling in the Real: A Perspective from the Operating Systems Domain 25 th IEEE/ACM International Conference on Automated Software Engineering ASE 2010 Antwerp, Belgium, Sept. 22 nd , 2010 Thorsten Berger, Steven She, Rafael Lotufo, Andrzej Wasowski, Krzysztof Czarnecki Thorsten Berger 1
Biologists go into the Wild for their Studies… John Liebenberg / Barcroft Media andfinally.tv/2009/06/white-lions-released-into-wild
Biologists go into the Wild for their Studies… John Liebenberg / Barcroft Media andfinally.tv/2009/06/white-lions-released-into-wild
Biologists go into the Wild for their Studies… Lion Feature Model Sex Habitat Mane Color Appearance Size Male Female Small Medium Large John Liebenberg / Barcroft Media andfinally.tv/2009/06/white-lions-released-into-wild
Biologists go into the Wild for their Studies… Lion Feature Model Sex Habitat Mane Color Appearance Size Male Female Small Medium Large John Liebenberg / Barcroft Media andfinally.tv/2009/06/white-lions-released-into-wild
Variability Modeling Thorsten Berger 6
Variability Modeling Variability Model (15810 possible configurations) Thorsten Berger 7
Variability Modeling Variability Model Configuration #1 (15810 possible configurations) Thorsten Berger 8
Variability Modeling Variability Model Configuration #1 Configuration #2 (15810 possible configurations) Thorsten Berger 9
Variability Modeling “Variability needs in software are constantly increasing, because: Variability Model Configuration #1 Configuration #2 (15810 possible configurations) • Variability moves from mechanics and hardware to software, • Design decisions are delayed as long as economically feasible.“ Jan Bosch Thorsten Berger 10
Feature Modeling Thorsten Berger 11
Feature Modeling Other Domains Thorsten Berger 12
Feature Modeling Other Domains Tools FMP Thorsten Berger 13
Feature Modeling Other Domains Tools FMP Standardization Efforts Common Variability Language (CVL) eclipse.org/proposals/feature-model Thorsten Berger 14
NOW, WHAT‘S THE PROBLEM? Thorsten Berger 15
What about Empirical Research? A lot of research on variability , but not on real models ! Thorsten Berger 16
What about Empirical Research? A lot of research on variability , but not on real models ! Some industry reports available, but not the models! Thorsten Berger 17
What about Empirical Research? A lot of research on variability , but not on real models ! Some industry reports available, but not the models! Assumptions of real models used for synthetic examples! Thorsten Berger 18
What about Empirical Research? A lot of research on variability , but not on real models ! Some industry reports available, but not the models! Assumptions of real models used for synthetic examples! Literature studies: Thorsten Berger 19
What about Empirical Research? A lot of research on variability , but not on real models ! Some industry reports available, but not the models! Assumptions of real models used for synthetic examples! Literature studies: • Hubaux et al. [VAMOS10]: ° Only 2% of reviewed papers (8 of 415) discuss applications of Feature Models in practice ° Few details about their usage given Thorsten Berger 20
What about Empirical Research? A lot of research on variability , but not on real models ! Some industry reports available, but not the models! Assumptions of real models used for synthetic examples! Literature studies: • Hubaux et al. [VAMOS10]: ° Only 2% of reviewed papers (8 of 415) discuss applications of Feature Models in practice ° Few details about their usage given • Chen et al. [SPLC09]: ° “There is only little , if any, experimental or detailed comparative analysis … of different VM approaches.” ° All VM approaches share similar concepts ° Some sort of reference model needed for model transformations , tools and future research Thorsten Berger 21
OUR STUDY… Thorsten Berger 22
Three Research Questions 1. Can we provide quantitative and qualitative empirical evidence whether Feature Modeling concepts are used in real-world languages? 2. Are additional concepts needed? 3. Are the assumptions about real models in the literature correct? Thorsten Berger 23
Three Research Questions 1. Can we provide quantitative and qualitative empirical evidence whether Feature Modeling concepts are used in real-world languages? 2. Are additional concepts needed? 3. Are the assumptions about real models in the literature correct? Thorsten Berger 24
Three Research Questions 1. Can we provide quantitative and qualitative empirical evidence whether Feature Modeling concepts are used in real-world languages? 2. Are additional concepts needed? 3. Are the assumptions about real models in the literature correct? Thorsten Berger 25
We study CONCEPTS, SEMANTICS AND USAGE OF… Thorsten Berger 26
Kconfig and CDL CDL language Kconfig language eCos 3.0 Linux Kernel 2.6.32 (embedded RTOS, (22 hardware architectures, 116 architectures, 6.4 mio. SLOC) ~1 mio. SLOC) 6320 Features (X86) 1244 Features (I386) Thorsten Berger 27
Kconfig and CDL Kconfig language Thorsten Berger 28
Kconfig and CDL Thorsten Berger 29
Kconfig and CDL Thorsten Berger 30
What do we mean by variability model SEMANTICS? Thorsten Berger 31
Variability Model Semantics Configuration Space Semantics Thorsten Berger 32
Variability Model Semantics Configuration Space Semantics Kconfig Model menuconfig MISC_FILESYSTEMS bool "Miscellaneous filesystems" if MISC_FILESYSTEMS C 1 ={(JFFS2,y),(JFFS2_DEBUG,2),…} config JFFS2_FS tristate "Journalling Flash FS" if MTD C 2 ={(JFFS2,m),(JFFS2_DEBUG,0),…} select CRC32 if MTD config JFFS2_FS_DEBUG int "JFFS2 Debug level (0=quiet, 2=noisy)" C n ={(JFFS2,n),(JFFS2_DEBUG,0),…} depends on JFFS2_FS default 0 range 0 2 --- help --- Debug verbosity of ... Thorsten Berger 33
METHODOLOGY Thorsten Berger 34
Methodology - Design Space Reverse-engineered formal semantics (denotational style) Thorsten Berger 35
Methodology - Design Space Reverse-engineered formal semantics (denotational style) tools and their examples source code documentation Thorsten Berger 36
Methodology - Design Space Reverse-engineered formal semantics (denotational style) tools and their examples source code documentation Semantic Abstract Syntax Semantic Domain Function Thorsten Berger 37
Methodology - Design Space Reverse-engineered formal semantics (denotational style) tools and their examples source code documentation Semantic Abstract Syntax Semantic Domain Function Propositional Propositional Semantic Function Semantic Domain Propositional Abstraction for Reasoners Thorsten Berger 38
Methodology - Language Usage extension of configurators LibCDL XConfig Thorsten Berger 39
Methodology - Language Usage extension of Linux and eCos configurators models CDL model LibCDL Intermediate export Model Kconfig model XConfig Intermediate export Model Thorsten Berger 40
Methodology - Language Usage analysis extension of Linux and eCos infrastructure configurators models CDL model LibCDL Intermediate parsing export Model Kconfig model parsing XConfig Intermediate export Model Thorsten Berger 41
Methodology - Language Usage analysis extension of Linux and eCos infrastructure configurators models CDL model LibCDL Intermediate parsing export Model Kconfig model parsing XConfig Intermediate export Model Thorsten Berger 42
Methodology - Language Usage analysis extension of Linux and eCos ϕ ecos propositional infrastructure configurators models abstraction CDL model LibCDL Intermediate parsing export Model Kconfig model parsing XConfig Intermediate export Model ϕ linux propositional abstraction Thorsten Berger 43
Methodology - Language Usage analysis extension of Linux and eCos ϕ ecos propositional infrastructure configurators models abstraction CDL model LibCDL Intermediate parsing export Model SAT-based Kconfig analysis model parsing XConfig Intermediate export Model ϕ linux propositional abstraction Thorsten Berger 44
RESULTS Thorsten Berger 45
Three Research Questions 1. Can we provide quantitative and qualitative empirical evidence whether Feature Modeling concepts are used in real-world languages? 2. Are additional concepts needed? 3. Are the assumptions about real models in the literature correct? Thorsten Berger 46
Three Research Questions 1. Can we provide quantitative and qualitative empirical evidence whether Feature Modeling concepts are used in real-world languages? 2. Are additional concepts needed? 3. Are the assumptions about real models in the literature correct? Thorsten Berger 47
Feature Modeling Concepts Concepts: • Boolean (optional), Integer and String features (attributes) • Hierarchy • Group constraints • Cross-tree constraints Thorsten Berger 48
Recommend
More recommend