kernel the variability model of the linux extra
play

. Kernel The Variability Model of the Linux Extra Conclusions - PowerPoint PPT Presentation

. Krzysztof Czarnecki, Andrzej Wsowski The Variability Model of the Linux Kernel . . January 26, 2010 IT University of Copenhagen University of Leipzig University of Waterloo Steven She, Rafael Lotufo, Thorsten Berger, . Kernel The


  1. . Krzysztof Czarnecki, Andrzej Wąsowski The Variability Model of the Linux Kernel . . January 26, 2010 IT University of Copenhagen University of Leipzig University of Waterloo Steven She, Rafael Lotufo, Thorsten Berger, . Kernel The Variability Model of the Linux Extra Conclusions Linux Study Introduction . 1/18

  2. . . . Introduction Linux Study Conclusions Extra Motivation There is a growing number of variability modeling tools. We need practical benchmarks to evaluate these tools. Linux is a great example of a real software product line with a explicit variability model! . . The Variability Model of the Linux Kernel 2/18

  3. . . . Introduction Linux Study Conclusions Extra Motivation There is a growing number of variability modeling tools. We need practical benchmarks to evaluate these tools. Linux is a great example of a real software product line with a explicit variability model! . . The Variability Model of the Linux Kernel 2/18

  4. . . . Introduction Linux Study Conclusions Extra Linux con�gurator Variability model is specified using the Kconfig language. . . The Variability Model of the Linux Kernel 3/18

  5. . Kcon�g declaration The Variability Model of the Linux Kernel . . . 4/18 Extra Linux Study Conclusions . Introduction menu "Power management and ACPI options" depends on ! X86_VOYAGER config PM bool "Power Management support" depends on ! IA64_HP_SIM ---help--- "Power Management" means that … config PM_DEBUG bool "Power Management Debug Support" depends on PM config CPU_IDLE bool "CPU idle PM support" default ACPI endmenu

  6. . Kcon�g declaration The Variability Model of the Linux Kernel . . . 4/18 Extra Linux Study Conclusions . Introduction menu "Power management and ACPI options" depends on ! X86_VOYAGER config PM bool "Power Management support" depends on ! IA64_HP_SIM ---help--- "Power Management" means that … config PM_DEBUG bool "Power Management Debug Support" depends on PM config CPU_IDLE bool "CPU idle PM support" default ACPI endmenu

  7. . Kcon�g declaration The Variability Model of the Linux Kernel . . . 4/18 Extra Linux Study Conclusions . Introduction menu "Power management and ACPI options" depends on ! X86_VOYAGER config PM bool "Power Management support" depends on ! IA64_HP_SIM ---help--- "Power Management" means that … config PM_DEBUG bool "Power Management Debug Support" depends on PM config CPU_IDLE bool "CPU idle PM support" default ACPI endmenu

  8. . Kcon�g declaration The Variability Model of the Linux Kernel . . . 4/18 Extra Linux Study Conclusions . Introduction menu "Power management and ACPI options" depends on ! X86_VOYAGER config PM bool "Power Management support" depends on ! IA64_HP_SIM ---help--- "Power Management" means that … config PM_DEBUG bool "Power Management Debug Support" depends on PM config CPU_IDLE bool "CPU idle PM support" default ACPI endmenu

  9. . Kcon�g declaration The Variability Model of the Linux Kernel . . . 4/18 Extra Linux Study Conclusions . Introduction menu "Power management and ACPI options" depends on ! X86_VOYAGER config PM bool "Power Management support" depends on ! IA64_HP_SIM ---help--- "Power Management" means that … config PM_DEBUG bool "Power Management Debug Support" depends on PM config CPU_IDLE bool "CPU idle PM support" default ACPI endmenu

  10. . Kcon�g declaration The Variability Model of the Linux Kernel . . . 4/18 Extra Linux Study Conclusions . Introduction menu "Power management and ACPI options" depends on ! X86_VOYAGER config PM bool "Power Management support" depends on ! IA64_HP_SIM ---help--- "Power Management" means that … config PM_DEBUG bool "Power Management Debug Support" depends on PM config CPU_IDLE bool "CPU idle PM support" default ACPI endmenu

  11. . . . Introduction Linux Study Conclusions Extra Kcon�g feature model . . The Variability Model of the Linux Kernel 5/18 PM_MENU → ¬ X86_VOYAGER PM → ¬ IA64_HP_SIM ACPI ↔ CPU_IDLE

  12. . Analyzed four aspects of the Linux 2.6.28.6 Kconfig model The Variability Model of the Linux Kernel . . . in terms of feature modeling concepts: Extra Conclusions Linux Study Introduction . 6/18 Linux KCon�g → Feature Model • characterized features, • model hierarchy, • constraints, • and natural language properties.

  13. . Compared Linux statistics with 32 published models 1 . The Variability Model of the Linux Kernel . . Only 5 models describe real, existing software systems. . 7/18 Comparing with published models Extra Conclusions Linux Study Introduction . • 19 models - software product lines • 8 models - other product lines (e.g. hardware, business) • 5 models - domain models (e.g. eCommerce systems) 1 http://www.splot-research.org

  14. . . The Variability Model of the Linux Kernel . . Linux Kconfig model has 5426 features. 8/18 Size of published models Extra . Introduction Linux Study Conclusions 14 Number of Feature Models 12 10 8 6 4 2 0 0 50 100 150 200 250 300 Number of Features

  15. . . The Variability Model of the Linux Kernel . . Linux Kconfig model has 5426 features. 8/18 Size of published models Extra . Introduction Linux Study Conclusions 14 Number of Feature Models 12 10 8 6 4 2 0 0 50 100 150 200 250 300 Number of Features

  16. . 0 Hex 29 29 0 0 String 27 27 0 0 Menu 71 38 0 0 Choice 32 31 0 30 + 2 Total 5426 257 146 30 + 2 . . The Variability Model of the Linux Kernel 0 132 . 0 . Introduction Linux Study Conclusions Extra Linux feature statistics Kconfig Concept Features Mand. Grouped xor + or Config 5323 146 132 0 Non / User-Sel. 547 + 4744 Boolean 2005 0 136 0 Tristate 3130 0 10 0 Int 9/18

  17. . 0 Hex 29 29 0 0 String 27 27 0 0 Menu 71 38 0 0 Choice 32 31 0 30 + 2 Total 5426 257 146 30 + 2 . . The Variability Model of the Linux Kernel 0 132 . 0 . Introduction Linux Study Conclusions Extra Linux feature statistics Kconfig Concept Features Mand. Grouped xor + or Config 5323 146 132 0 Non / User-Sel. 547 + 4744 Boolean 2005 0 136 0 Tristate 3130 0 10 0 Int 9/18

  18. . 0 Hex 29 29 0 0 String 27 27 0 0 Menu 71 38 0 0 Choice 32 31 0 30 + 2 Total 5426 257 146 30 + 2 . . The Variability Model of the Linux Kernel 0 132 . 0 . Introduction Linux Study Conclusions Extra Linux feature statistics Kconfig Concept Features Mand. Grouped xor + or Config 5323 146 132 0 Non / User-Sel. 547 + 4744 Boolean 2005 0 136 0 Tristate 3130 0 10 0 Int 9/18

  19. . 0 Hex 29 29 0 0 String 27 27 0 0 Menu 71 38 0 0 Choice 32 31 0 30 + 2 Total 5426 257 146 30 + 2 . . The Variability Model of the Linux Kernel 0 132 . 0 . Introduction Linux Study Conclusions Extra Linux feature statistics Kconfig Concept Features Mand. Grouped xor + or Config 5323 146 132 0 Non / User-Sel. 547 + 4744 Boolean 2005 0 136 0 Tristate 3130 0 10 0 Int 9/18

  20. . 0 Hex 29 29 0 0 String 27 27 0 0 Menu 71 38 0 0 Choice 32 31 0 30 + 2 Total 5426 257 146 30 + 2 . . The Variability Model of the Linux Kernel 0 132 . 0 . Introduction Linux Study Conclusions Extra Linux feature statistics Kconfig Concept Features Mand. Grouped xor + or Config 5323 146 132 0 Non / User-Sel. 547 + 4744 Boolean 2005 0 136 0 Tristate 3130 0 10 0 Int 9/18

  21. . 0 Hex 29 29 0 0 String 27 27 0 0 Menu 71 38 0 0 Choice 32 31 0 30 + 2 Total 5426 257 146 30 + 2 . . The Variability Model of the Linux Kernel 0 132 . 0 . Introduction Linux Study Conclusions Extra Linux feature statistics Kconfig Concept Features Mand. Grouped xor + or Config 5323 146 132 0 Non / User-Sel. 547 + 4744 Boolean 2005 0 136 0 Tristate 3130 0 10 0 Int 9/18

  22. . 0 Hex 29 29 0 0 String 27 27 0 0 Menu 71 38 0 0 Choice 32 31 0 30 + 2 Total 5426 257 146 30 + 2 . . The Variability Model of the Linux Kernel 0 132 . 0 . Introduction Linux Study Conclusions Extra Linux feature statistics Kconfig Concept Features Mand. Grouped xor + or Config 5323 146 132 0 Non / User-Sel. 547 + 4744 Boolean 2005 0 136 0 Tristate 3130 0 10 0 Int 9/18

  23. . 0 Hex 29 29 0 0 String 27 27 0 0 Menu 71 38 0 0 Choice 32 31 0 30 + 2 Total 5426 257 146 30 + 2 . . The Variability Model of the Linux Kernel 0 132 . 0 . Introduction Linux Study Conclusions Extra Linux feature statistics Kconfig Concept Features Mand. Grouped xor + or Config 5323 146 132 0 Non / User-Sel. 547 + 4744 Boolean 2005 0 136 0 Tristate 3130 0 10 0 Int 9/18

  24. . 30 groups 16 0 35 0.59 xor 9 0 0.55 75 or 6 0 16 0.04 . . The Variability Model of the Linux Kernel 2.69 0 . Linux (%) . Introduction Linux Study Conclusions Extra Published models vs. Linux Concept Published Models (%) median 44 min max mandatory features 25 0 66 4.74 grouped features 10/18

Recommend


More recommend