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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend