Tailorable System Software

Maßschneiderbare Systemsoftware

Please always quote using this URN: urn:nbn:de:bvb:29-opus4-62464
  • System software, such as the operating system, provides no business value of its own. Its sole purpose is to serve the concrete application's needs -- that is, to map the functional and nonfunctional requirements efficiently to the functional and nonfunctional properties of the hardware. Efficiency calls for specific, tailored system software; reusability demands generic solutions. To overcome this dilemma, most system software provides built-in static variability: It can be tailored at compile time with respect to a specific application–hardware use case. In the case of Linux v3.2, this static variability is reflected by nearly 12000 configurable features that control the inclusionSystem software, such as the operating system, provides no business value of its own. Its sole purpose is to serve the concrete application's needs -- that is, to map the functional and nonfunctional requirements efficiently to the functional and nonfunctional properties of the hardware. Efficiency calls for specific, tailored system software; reusability demands generic solutions. To overcome this dilemma, most system software provides built-in static variability: It can be tailored at compile time with respect to a specific application–hardware use case. In the case of Linux v3.2, this static variability is reflected by nearly 12000 configurable features that control the inclusion and exclusion of 28000 source files with 84000 conditional (#ifdef) blocks. Variability by means of thousands of features imposes challenges for both system-software developers, who have to implement and maintain variability, as well as application developers/administrators, who have to understand the impact of all these features in order to configure a tailored variant. Over the last four years, my research has focused on methods and techniques to improve the design, implementation, and maintenance of static variability in highly tailorable system software. My central contributions in this respect are: (a) The CiAO approach, which employs language techniques to achieve excellent up-tailorability of embedded system software (towards the requirements of a specific application). (b) The Sloth approach, which employs generative techniques to achieve down-tailorability of embedded system software (towards better exploitation of modern commodity hardware). (c) The VAMOS approach, which employs cross-language analysis techniques and holistic variability modeling to improve on the long-term maintainability of multi-paradigmatic variability implementations in existing large-scale system software, such as Linux. This research has been carried out in collaboration with seven doctoral researchers and master students from my research group, four of which have already defended.show moreshow less

Download full text files

Export metadata

Additional Services

Share in Twitter Search Google Scholar Statistics
Metadaten
Author:Daniel Lohmann
Persistent identifiers - URN:urn:nbn:de:bvb:29-opus4-62464
Referee:Wolfgang Schröder-Preikschat, Klaus Meyer-Wegener, Olaf Spinczyk, Gilles Muller, Hermann Härtig.
Document Type:Habilitation
Language:English
Year of publication:2014
Date of online publication (Embargo Date):2015/05/08
Publishing Institution:Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU)
Granting institution:Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU), Technische Fakultät
Acceptance date of the thesis:2014/09/07
Release Date:2015/05/13
Tag:operating systems; tailorability
SWD-Keyword:Betriebssystem; Maßschneidern
Institutes:Technische Fakultät / Technische Fakultät -ohne weitere Spezifikation-
CCS-Classification:D. Software / D.1 PROGRAMMING TECHNIQUES (E) / D.1.0 General
D. Software / D.2 SOFTWARE ENGINEERING (K.6.3) / D.2.13 Reusable Software (NEW)
D. Software / D.4 OPERATING SYSTEMS (C) / D.4.7 Organization and Design
Dewey Decimal Classification:0 Informatik, Informationswissenschaft, allgemeine Werke / 00 Informatik, Wissen, Systeme / 005 Computerprogrammierung, Programme, Daten
open_access (DINI-Set):open_access
Licence (German):Keine Creative Commons Lizenz - es gilt der Veröffentlichungsvertrag und das deutsche Urheberrecht
Einverstanden ✔
Diese Webseite verwendet technisch erforderliche Session-Cookies. Durch die weitere Nutzung der Webseite stimmen Sie diesem zu. Unsere Datenschutzerklärung finden Sie hier.