Feingranulare Korrektheitsprüfung des Kontrollflusses von Echtzeitsystemen

  • Sicherheit und Zuverlässigkeit sind in vielen Einsatzgebieten entscheidende Anforderungen an eingebettete Systeme. Jede Fehlfunktion kann negative, wenn nicht gar katastrophale Konsequenzen nach sich ziehen. Es genügt nicht, die funktionale Korrektheit im Vorfeld formal zu beweisen oder durch systematische Testläufe zu überprüfen. Vielmehr ist es nötig, auch jedes Fehlverhalten, das durch Umwelteinflüsse wie Strahlung oder Temperaturschwankungen hervorgerufen wird, durch speziell integrierte Mechanismen zur Laufzeit zu erkennen und eine entsprechende Fehlerbehandlung zu ermöglichen. Im Hinblick auf harte Echtzeitsysteme, in welchen eine verspätete Berechnung wertlos ist, spielt dabei neben der logischen auch die zeitliche Korrektheit der Ausführung eine essenzielle Rolle. Ziel dieser Arbeit ist es, einen Mechanismus zur Erkennung von logischen und zeitlichen Kontrollflussfehlern in Echtzeitsystemen zu entwickeln. Durch eine besonders feingranulare Arbeitsweise soll dieSicherheit und Zuverlässigkeit sind in vielen Einsatzgebieten entscheidende Anforderungen an eingebettete Systeme. Jede Fehlfunktion kann negative, wenn nicht gar katastrophale Konsequenzen nach sich ziehen. Es genügt nicht, die funktionale Korrektheit im Vorfeld formal zu beweisen oder durch systematische Testläufe zu überprüfen. Vielmehr ist es nötig, auch jedes Fehlverhalten, das durch Umwelteinflüsse wie Strahlung oder Temperaturschwankungen hervorgerufen wird, durch speziell integrierte Mechanismen zur Laufzeit zu erkennen und eine entsprechende Fehlerbehandlung zu ermöglichen. Im Hinblick auf harte Echtzeitsysteme, in welchen eine verspätete Berechnung wertlos ist, spielt dabei neben der logischen auch die zeitliche Korrektheit der Ausführung eine essenzielle Rolle. Ziel dieser Arbeit ist es, einen Mechanismus zur Erkennung von logischen und zeitlichen Kontrollflussfehlern in Echtzeitsystemen zu entwickeln. Durch eine besonders feingranulare Arbeitsweise soll die Fehlererkennung möglichst früh stattfinden, um eventuelle Gegenmaßnahmen rechtzeitig vor dem Überschreiten der geforderten Zeitschranken einleiten zu können. Die entworfene Technik verfolgt dazu einen hybriden Ansatz: Der Programmcode wird bereits im Vorfeld mit Kontrollpunkten, sog. Checkpoints instrumentiert, welche sowohl logische als auch temporale Informationen zum Kontrollfluss beinhalten. Zur Laufzeit wertet eine spezielle, an den Prozessor angeschlossene Hardware-Einheit diese Daten aus, um die Korrektheit der Ausführung zu prüfen. Auf diese Weise kann eine rasche Erkennung einer Vielzahl transienter Fehler erfolgen. Neben einer detaillierten Beschreibung der entwickelten Technik präsentiert diese Arbeit auch eine Referenzimplementierung auf Basis eines echtzeitfähigen Prozessormodells. Anhand von Evaluierungen mit künstlich erzeugten Fehlerfällen kann einerseits die Wirksamkeit des Erkennungsmechanismus, andererseits dessen geringfügiger Zusatzaufwand nachgewiesen werden. Abschließend werden verschiedene Optimierungstechniken vorgestellt und evaluiert, mit deren Hilfe es möglich wird, sowohl die Erkennungsrate zu erhöhen als auch den benötigten Aufwand weiter zu reduzieren.show moreshow less
  • Safety and reliability are key requirements in many areas of embedded systems. Any malfunction or faulty system behaviour may have negative, potentially disastrous consequences. It is not sufficient to prove the functional correctness or to perform systematic test runs before using a system under operating conditions. Rather, a specially integrated mechanism is needed to detect and potentially recover at runtime any misbehaviour, which is caused by environmental factors like radiation or overheating. In terms of hard real-time systems, in which a delayed delivery of results is worthless, such a technique must focus on both the logical and temporal correctness of the execution. This work aims to develop a mechanism to detect logical and temporal control flow errors in real-time systems. The fine-grained operation with very low detection latency enables an immediate reaction to any misbehaviour and possibly the execution of a fall-back solution within the required deadlines. TheSafety and reliability are key requirements in many areas of embedded systems. Any malfunction or faulty system behaviour may have negative, potentially disastrous consequences. It is not sufficient to prove the functional correctness or to perform systematic test runs before using a system under operating conditions. Rather, a specially integrated mechanism is needed to detect and potentially recover at runtime any misbehaviour, which is caused by environmental factors like radiation or overheating. In terms of hard real-time systems, in which a delayed delivery of results is worthless, such a technique must focus on both the logical and temporal correctness of the execution. This work aims to develop a mechanism to detect logical and temporal control flow errors in real-time systems. The fine-grained operation with very low detection latency enables an immediate reaction to any misbehaviour and possibly the execution of a fall-back solution within the required deadlines. The proposed approach is a hybrid hardware-software technique: The application code is instrumented at compile-time by adding checkpoints, which contain logical and temporal information about the control flow. During runtime, a small hardware check unit connected to the core reads the instrumented data in order to verify the correctness of the application's control flow and timing behavior. By this, a rapid detection of many transient errors is possible. Besides a detailed description of the developed technology this work presents a reference implementation for a real-time capable processor model. Based on evaluations using fault injection, both the effectiveness of the detection mechanism and its low overhead can be shown. Finally, different optimisation techniques are presented and evaluated to increase the detection rate and to further reduce the required overhead.show moreshow less

Download full text files

Export metadata

Statistics

Number of document requests

Additional Services

Share in Twitter Search Google Scholar
Metadaten
Author:Julian WolfGND
URN:urn:nbn:de:bvb:384-opus4-22561
Frontdoor URLhttps://opus.bibliothek.uni-augsburg.de/opus4/2256
Advisor:Theo Ungerer
Type:Doctoral Thesis
Language:German
Publishing Institution:Universität Augsburg
Granting Institution:Universität Augsburg, Fakultät für Angewandte Informatik
Date of final exam:2013/01/25
Release Date:2013/04/16
GND-Keyword:Eingebettetes System; Hartes Echtzeitsystem; Fehlererkennung
Institutes:Fakultät für Angewandte Informatik
Fakultät für Angewandte Informatik / Institut für Informatik
Dewey Decimal Classification:0 Informatik, Informationswissenschaft, allgemeine Werke / 00 Informatik, Wissen, Systeme / 004 Datenverarbeitung; Informatik
Licence (German):Deutsches Urheberrecht