Dipl.-Ing. Stefan Freinatis :

Towards Comparability in Evaluating the Fault-Tolerance of Safety-Critical Embedded Software

Dissertation angenommen durch: Universität Duisburg-Essen, Campus Duisburg, Fachbereich Ingenieurwissenschaften, 2005-02-23

BetreuerIn: Prof. Dr.-Ing Axel Hunger , Universität Duisburg-Essen, Campus Duisburg, Fachbereich Ingenieurwissenschaften, Abteilung Informatik, Informations- und Medientechnik

GutachterIn: Prof. Dr.-Ing. Axel Hunger , Universität Duisburg-Essen, Campus Duisburg, Fachbereich Ingenieurwissenschaften, Abteilung Informatik, Informations- und Medientechnik
GutachterIn: Prof. Dr. rer. nat. Maritta Heisel , Universität Duisburg-Essen, Campus Duisburg, Fachbereich Ingenieurwissenschaften, Abteilung Elektrotechnik und Informationstechnik

Schlüsselwörter in Deutsch: Zuverlässigkeit, eingebettete Software, Fehlerinjektion, innere Fehlertoleranz, Dienstleister, Dienste, Steuerungsprozess
Schlüsselwörter in Englisch: dependability, embedded software, fault-injection, interior fault-tolerance, service-provider, controlling process

 
   
 Klassifikation     
 Abstrakt     
   

Abstrakt in Deutsch

Sicherheitskritische eingebettete Systeme müssen oft kostengünstig sein, aber dennoch sicher. Zunehmend findet eine Verlagerung der Fehlertoleranzmechanismen von der Hardware in die Software statt. Verbunden mit der Schwierigkeit fehlertolerante Software zu entwickeln, ist die Schwierigkeit deren Fehlertoleranz in aussagekräftige und vergleichbare Maße zu fassen. Dies gilt insbesondere dann, wenn sich die Fehlertoleranz der Software auf solche Hardwarefehler bezieht, die einen Einfluss auf die Ausführung der Maschinenbefehle haben.

In der Vergangenheit wurden verschiedene Fehlerinjektionsansätze zur Evaluierung von Software vorgestellt. Diesen Ansätzen liegt jedoch keine einheitliche Vorgehensweise zu Grunde, so dass die erhaltenen Maße weitestgehend systemspezifisch und daher untereinander nicht vergleichbar sind.

In dieser Arbeit wird eine Fehlerinjektionsmethode entwickelt und vorgestellt, die es ermöglicht, die Fehlertoleranz von eingebetteter Software so zu ermitteln, dass die erhaltenen Maße vergleichbar werden. Dazu wird eine Anfang der neunziger Jahre veröffentlichte und vornehmlich auf Hardware zugeschnittene Idee aufgegriffen, nach der die Fehlerinjektion durch eine Sammlung von Mengen (Sets) charakterisiert werden kann. Diese Sets werden in der Arbeit erweitert und auf das hier zu untersuchende Objekt 'Software in Ausführung' und die hier betrachteten Zufallsfehler übertragen. Die Software wird dabei als Prozess aufgefasst. Aus dessen strukturellen Komponenten, welche anhand eines universellen Prozessormodells definiert werden, ergibt sich eine hardware-unabhängige Fehlerklasse (Fault Set) für die Injektion. Mit dieser Klasse als gemeinsame Basis, und mit den vorgeschlagenen Beobachtungs- und Auswertungsregeln, wird eine methodische Vorgehensweise geschaffen, mittels derer die Fehlertoleranz unterschiedlicher Software auf unterschiedlichen Systemen miteinander vergleichbar gemessen werden kann.

Abstrakt in Englisch

Safety-critical embedded systems often need to be cost-effective, but must nevertheless be safe. More and more, fault-tolerance mechanisms are being shifted from hardware into software. Not only is developing safety-critical software a challenging and intricate task, likewise intricate is to put its fault-tolerance into expressive and comparable measures. This especially holds for the fault-tolerance of software when it comes to hardware-faults that affect the execution of the machine instructions.

Several fault-injection approaches for fault-tolerance evaluation of software have been presented in the past. However, these approaches do not underlie a uniform procedure, so that the obtained measures are specific to the system and therefore cannot be compared among one another.

In this thesis a fault-injection method is developed that allows the evaluation of the fault-tolerance of embedded software in such a way, that the obtained measures become comparable. The method bases on a concept from the early 90s, which characterizes fault-injection through a collection of sets. These sets are extended and adjusted in this thesis to the object of evaluation 'software in execution' and to the herein considered hardware faults. The software is thereby conceived as process. From its structural components, which are defined by means of a universal microprocessor model, a hardware-independent fault set is derived. This set forms a mutual basis among different experiments. In conjunction with the other sets presented, a fault-injection method allowing for comparable fault-tolerance measures is constructed.

Therewith is presented a fault-tolerance evaluation method that enables comparability of the fault-tolerance of different software on different hardware - as far as this is possible in fault-injection.