Detailseite
CADOS: Konfigurierbarkeitsgewahre Betriebssystementwicklung
Antragsteller
Professor Dr.-Ing. Daniel Lohmann
Fachliche Zuordnung
Sicherheit und Verlässlichkeit, Betriebs-, Kommunikations- und verteilte Systeme
Förderung
Förderung seit 2014
Projektkennung
Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 236869097
Zweck des CADOS-Vorhabens ist die Erforschung skalierbarer Methoden und Techniken zur Beherrschung der Variabilität von und in systemnaher Software.Linux 4.2 bietet beispielsweise mehr als fünfzehntausend statisch konfigurierbare Merkmale zur problemgewahren Anpassung, die technisch auf mehreren Ebenen des Generierungsprozesses umgesetzt werden. Die resultierende Variabilität ist in der Praxis nicht mehr handhabbar. In der ersten Förderphase wurde dieses untersucht mit dem Fokus auf statische Variabilität und ihre Implementierung über mehrere Ebenen und Artefaktsprachen. Mit den entwickelten Methoden und Werkzeugen konnte die statische Analyse in hochkonfigurierbarer Software, sowie das Erkennen von (ebenenübergreifenden) Variabilitätsfehlern in ihrer Implementierung („#ifdef bugs“), erheblich verbessert werden. Aus "Entwicklersicht" (Anbieter von Variabilität) ist man damit der umfassenden Beherrschung auch umfangreicher statischer Variabilität einen entscheidenden Schritt näher gekommen.In der folgenden Förderphase soll der Fokus nun erweitert werden, zum einen auf Formen nichtstatischer Variabilität, insbesondere aber auf die "Verwendersicht" (Nutzer von Variabilität): Aus Zehntausenden konfigurierbaren Merkmalen für das Betriebssystem die „richtigen“ für ein spezifisches Problem auszuwählen ist ein manuell ebenso kaum mögliches Unterfangen. Dazu kommt dann noch ein umfangreicher Stapel an weiterer Systemsoftware (libraries, Server-Prozesse, Utilities), der für die spezifische Anwendung zu berücksichtigen ist.In der Praxis kommen daher Maximalkonfigurationen zum Einsatz, die einerseits viel unbenötigten Ballast mit sich schleppen, von denen andererseits aufgrund echt-alternativer Merkmale (Verfügbarkeit von Spezialinstruktionen, Single- oder Multicore, verwendeter Interrupt-Controller) dennoch eine größere Zahl an Varianten zu pflegen ist. Die resultierende Systemsoftware ist gleichzeitig „zu groß“ (bzgl. nichtbenötigter Optionen) als auch „zu klein“ (bzgl. benötigter, jedoch kontextabhängiger Alternativen). Forschungsgegenstand für die folgenden Förderphase ist daher die Analyse, Implementierung und Anwendung "semidynamischer Variabilität" als Mittel zur Realisierung flexibel und kontextabhängig zu bindender optionaler und alternativer Merkmale in Systemsoftware, sowohl auf Sprach- und Übersetzerebene, als auch im Hinblick auf die notwendige Unterstützung durch das Betriebssystem. Ein weiterer Forschungsgegenstand ist die "automatische systemweite Beschneidung", durch die der gesamte Systemsoftwarestapel bedarfsgerecht und übergreifend analysiert und durch Werkzeuge automatisch konfiguriert und beschnitten werden soll, um mit geringem manuellen Aufwand passgenaue Lösungen zu ermöglichen. Zum Einsatz kommen überwiegend konstruktive Forschungsmethoden in Betriebssystembau (Kernel, Linker und Lader, Monitoring) und Compilerbau (Sprache, statische Analyse und Codegenerierung). Forschungsgegenstand ist quelloffene Systemsoftware.
DFG-Verfahren
Sachbeihilfen