[Back]


Doctor's Theses (authored and supervised):

C. Scherrer:
"Zuverlässigkeit zweifach redundanter Architekturen unter besonderer Berücksichtigung latenter Fehler";
Supervisor, Reviewer: A. Steininger, R. Patzelt; Institut für Technische Informatik, 2002.



English abstract:
This thesis studies reliability aspects of dual redundant embedded computer systems. These systems are based on the fail-silent assumption, which means that a component either computes correct results or no results at all. To guarantee this behavior, each component has to be self-checking. Thus, by far the most important parameter influencing the reliability of dual redundant systems is the self-checking coverage, which denotes the probability for a component to detect errors that occurred within its bounds. However, mechanisms designed for error detection rely on faults to be activated by system activity. Every computer system bears resources that are not ex-ercised on a regular basis. These resources are only used in certain modes of operation or serve the handling of errors. For this reason faults in rarely used resources tend to remain undetected for a long period of time. There is a high risk that such dormant faults accumulate in both redundant components which violates the single failure assumption of dual redundant systems and leads to the failure of the whole system.
This thesis studies the impact of dormant faults on the reliability with the help of markov models. It turns out that even for a small percentage of rarely exercised resources the therein ac-cumulating dormant faults have a heavy negative impact on the reliability. The only remedy for dealing with dormant faults is the employment of testing methods that do not rely on the activa-tion of faults by system activity, but rather apply their own stimuli to uncover dormant faults. Both, on-line as well as off-line testing strategies are being investigated.
The high complexity of microcomputers prohibits an analytical examination of the behavior of a system that is struck by a fault. The designer of a safety critical system is rather reliant on the experimental technique of fault injection and a subsequent statistical evaluation for the determina-tion of the self-checking coverage.
As being shown by reliability modeling, the self-checking coverage must be very close to unity to guarantee a mean time to failure in the order 1010 hours. In addition the mean time to failure of dual redundant system is extremely sensitive with respect to variations in the self-checking coverage.
The large number of injections that is required to evaluate the self-checking coverage with a sufficiently high confidence level can only be carried out with a tool that allows automated fault injection. This thesis presents the injection tool named VIRUS, which stands for Versatile Fault Injection Toolset for Reproducible Single Injections. The aim of VIRUS is to allow the injection of realistic faults accompanied by exact reproducibility of each single injection. The tool employs the pin-forcing technique to directly alter the signals at the pins of the parts of the electronic cir-cuit of a microcomputer board. Therewith manifestations of faults internal to the chips as well as external disturbances, like electromagnetic interference or transients in the power supply can be emulated close to reality. The demand for reproducibility necessitates the close synchronization of the tool with the device under test.


German abstract:
Diese Arbeit untersucht Zuverlässigkeitsaspekte zweifach redundanter eingebetteter Computersysteme im Bereich der Steuerungstechnik und der Kommunikationstechnik auf Feldbusebene. Wesentliche Eigenschaft dieser Systeme ist der Einsatz von fail-silent Rechnerkanälen welche ein hohes Maß an Eigenfehlererkennung aufweisen. Diese gewährleistet, dass ein Kanal entweder richtige Ergebnisse liefert oder sich im Fehlerfall selbst deaktiviert. Der mit Abstand wichtigste Parameter für die erreichbare Zuverlässigkeit dieser Architektur sicherheitsgerichteter Systeme ist die Selfchecking Coverage der Rechnerkanäle, welche die Wahrscheinlichkeit für das Erkennen eines aufgetretenen Fehlers angibt.
Mechanismen zur Eigenfehlererkennung können jedoch grundsätzlich nur jene Fehler abdecken, welche durch die Systemaktivität aktiviert werden. In jedem Computersystem existieren jedoch selten genutzte Ressourcen die nur in bestimmten Betriebsmodi oder gar nur im Zuge der Fehlerbehandlung verwendet werden. Fehler, welche in diesen Ressourcen auftreten, haben deshalb die Tendenz sehr lange Zeit unentdeckt zu bleiben. Dieser Umstand birgt die Gefahr der Akkumulation solcher latenter Fehler in beiden redundanten Kanälen wodurch die für zweifach redundante Architekturen stets vorausgesetzte Einzelfehlerannahme verletzt wird. Dies kann letztlich zum kritischen Ausfall des Gesamtsystems führen.
Mithilfe von Markoff Modellen untersucht diese Arbeit den Einfluss latenter Fehler auf die Zuverlässigkeit. Es stellt sich heraus, dass selbst bei einem kleinen Prozentsatz an ungenutzten Ressourcen die dort akkumulierenden Fehler einen hohen Einfluss auf die Zuverlässigkeit haben. Abhilfe schafft nur der Einsatz von Testalgorithmen welche zur Erkennung von Fehlern nicht auf die Aktivierung des Fehlers durch die Systemaktivität angewiesen sind, sondern selbst Stimuli anlegen. Sowohl der Einsatz von on-line als auch von off-line Teststrategien wird analysiert.
Die hohe Komplexität von Mikrocomputersteuerungen macht die analytische Untersuchung des Ausfallverhaltens und der Selfchecking Coverage unmöglich. Vielmehr ist der Entwickler eines sicherheitsgerichtete Systems, welches auf dem Prinzip der Eigenfehlererkennung aufbaut, auf die experimentelle Methode der Fehlerinjektion mit anschließender wahrscheinlichkeitstheoretischer Auswertung zur Ermittlung der Selfchecking Coverage angewiesenen.
Wie die Zuverlässigkeitsmodellierung zeigt, muss für die Selfchecking Coverage ein Wert nahe Eins garantiert werden, um die geforderte Mean Time to Failure in der Größenordnung von 1010 Stunden erreichen zu können. Auch zeigt sich, dass die Mean Time to Failure durch die Selfchecking Coverage extrem stark beeinflusst wird.
Um die erforderliche Selfchecking Coverage mit hinreichend hohem Vertrauensniveau nachweisen zu können, ist eine sehr hohe Anzahl an Injektionsexperimenten vonnöten, welche nur durch die automatisierte Durchführung von Experimenten erreicht werden kann.
Diese Arbeit stellt ein Injektionswerkzeug namens VIRUS (Versatile Fault Injection Toolset for Reproducible Single Injections) vor. Ziel ist die Injektion möglichst realitätsnaher Fehler bei gleichzeitiger Reproduzierbarkeit jedes einzelnen Experiments. VIRUS erlaubt die automatisierte Injektion von Fehlern in einen Prototypen des sicherheitsgerichteten Systems durch die direkte Störung der elektrischen Signale an den Pins der Bauteile. Damit lassen sich sowohl die Manifestationen chipinterner Störungen und Defekte, als auch die Effekte externer Beeinflussungen, wie etwa durch elektromagnetische Störungen oder Transiente der Spannungsversorgung realitätsnah nachbilden. Die Forderung nach Reproduzierbarkeit bedingt die enge Synchronisation des Injektionswerkzeugs mit dem zu untersuchenden System.


Electronic version of the publication:
http://www.christoph-scherrer.at/SubPages/diss/DissertationScherrer.pdf


Created from the Publication Database of the Vienna University of Technology.