Aspect-Awareness in the Development of Configurable System Software

Language
en
Document Type
Doctoral Thesis
Issue Date
2009-05-12
Issue Year
2009
Authors
Lohmann, Daniel
Editor
Abstract

More than 98 percent of the worldwide annual production of microprocessors ends up in embedded systems -- typically employed in goods of mass production, like cars, appliances, or toys. Such embedded systems are subject to an enormous hardware-cost pressure. System software for this domain has to cope not only with a broad variety of requirements and platforms, but especially with strict resource constraints. To compete against proprietary systems (and thereby to allow for reuse), a system-software product line for embedded systems has to be highly configurable and tailorable. However, this flexibility has to be provided in a way that meets the strict resource constraints. The state of the art for the overhead-free implementation of fine-grained configurability in system software is conditional compilation with the C preprocessor. However, this approach leads to scattered and tangled code and does not scale up. At the same time, the demands on configurability of system software are still increasing. AUTOSAR OS, a new industry standard for automotive operating systems, requires configurability of even fundamental architectural system policies, such as protection and isolation strategies. This thesis evaluates aspect-oriented programming (AOP) as a first-class concept for implementing configurability in resource-constrained systems. It shows that a well-directed, pragmatic application of AOP leads to a much better separation of concerns in the implementation of configurable system software -- without compromising on resource thriftiness. Moreover, the suggested approach of aspect-aware operating-system development facilitates providing even fundamental architectural policies as configurable features. The suitability of AOP is evaluated with state-of-the-art operating systems from the embedded-systems domain. The practicability of aspect-aware operating-system development is validated by the design and development of the CiAO operating-system family, which is the first operating system that has been designed and developed with AOP concepts from the very beginning. CiAO combines a competitive implementation of the AUTOSAR-OS standard with a highly confugurable architecture.

Abstract

Mehr als 98 Prozent der weltweiten, jährlichen Mikroprozessorproduktion wird in eingebetteten Systemen verbaut -- überwiegend in massenproduzierten Gegenständen des täglichen Bedarfs, wie beispielsweise Autos, Haushaltsgeräte, oder Spielzeug. Eingebettete Systeme sind daher einem enormen Hardware-Kostendruck ausgesetzt. Systemsoftware für eingebettete Systeme muss nicht nur unterschiedlichste Anforderungen und Plattformen erfüllen, sie muss vor allem auch ausgesprochen genügsam sein im Bezug auf die erforderlichen Hardware-Ressourcen. Um gegen proprietäre Systeme bestehen zu können (und damit Wiederverwendung zu ermöglichen), ist es erforderlich, dass Systemsoftware-Produktlinien für eingebettete Systeme hochgradig konfigurierbar und maßschneiderbar sind. Technisch muss diese Flexibilität in einer Weise umgesetzt werden, die dem Anspruch der Ressourcengenügsamkeit gerecht wird. Stand der Kunst für die ressourcenschonende Implementierung feingranularer Konfigurierbarkeit in Systemsoftware ist die bedingte Übersetzung unter Zuhilfenahme des C-Präprozessors. Dieser Ansatz führt jedoch zu schlecht wartbarem Code -- er skaliert nicht. Gleichzeitig wachsen die Konfigurierbarkeitsanforderungen an Systemsoftware. Der neue AUTOSAR-OS Industriestandard verlangt beispielsweise, dass auch grundlegende architekturelle Strategien des Systems, wie die zu verwendenden Schutz- und Isolationmaßnahmen, konfigurierbar ausgelegt werden. Diese Arbeit untersucht die Eignung der aspektorientierten Programmierung (AOP) als grundlegenden Mechanismus für die Implementierung von Konfigurierbarkeit in ressourcenbeschränkten Systemen. Es wird gezeigt, dass die gezielte und pragmatische Verwendung von AOP zu einer deutlichen Verbesserung bei der Trennung der Belange in konfigurierbarer Systemsoftware führt, ohne dass dieses Nachteile im Bezug auf die Genügsamkeit hat. Der vorgestellte Ansatz der aspektgewahren Betriebssystementwicklung ermöglicht es darüber hinaus, selbst grundlegende Architektureigenschaften als konfigurierbare Merkmale aufzufassen und zu implementieren. Der Ansatz wird am Beispiel von aktuellen Betriebssystemen aus dem Umfeld der eingebetteten Systeme evaluert. Die entstandene CiAO-Betriebssystemfamilie verbindet eine konkurrenzfähige Implementierung des AUTOSAR-OS-Standards mit einer hochgradig konfigurierbaren Architektur. CiAO ist das erste Betriebssystem, das von Beginn an mit Aspekttechniken entworfen und entwickelt wurde.

DOI
Document's Licence
Faculties & Collections
Zugehörige ORCIDs