Tailorable System Software

Language
en
Document Type
Habilitation
Issue Date
2015-05-13
Issue Year
2014
Authors
Lohmann, Daniel
Editor
Abstract

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 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.

DOI
Faculties & Collections
Zugehörige ORCIDs