Home

DissertationPeterUlbrich

image

Contents

1. 1 x 41 Akzeptanz S ae 4 2 NX test BINE t y 3 9 Akzeptanz 8 Ye 2 We test E Maskierer Zo t z 3 7 Akzeptanz 8 Ne test e Abbildung 3 6 Akzeptanzmaskierer f r die Eingangsreplikation nichtdeterministischer Quellen in CORED Selbst leicht voneinander abweichende Eingaben f hren zu einem Verlust des Replikdeterminismus Akzeptanzmaskierer erlauben komplexere Vergleichsoperatoren beispielsweise auf G ltigkeitsintervalle CORED unterteilt diese in den anwen dungsabh ngigen und replizierbaren Akzeptanztest und den regul ren auf exakter bereinstimmung basierenden Maskierer Akzeptanzmaskierer in CORED Den Gestaltungsgrunds tzen aus Kapitel 3 3 folgend teilt CORED die Akzeptanzmaskierer entspre chend in einen anwendungsspezifischen Akzeptanztest sowie einen nachgeschalteten regul ren Mehrheitsentscheider auf Abbildung 3 6 zeigt das entsprechende Entwurfsschema Die Daten quelle ist in diesem Fall redundant vorhanden beziehungsweise wird mehrfach ausgelesen Die Ergebnisse werden anschlie end an die Akzeptanztests weitergeleitet Da diese in jedem Fall hochgradig anwendungsabh ngig sind erfolgt die Ausf hrung der uncodierten Akzeptanztests wiederum repliziert um eine effektive Fehlererkennung zu gew hrleisten Nach diesem Punkt gleicht die Eingangsreplikation f r nichtdeterministische Eing nge wiederum der regul ren Repli kation aus Abbildung 3 4 Insges
2. Redundanzbereich Pr fsumme berlappung Da Abbildung 2 3 Die Grenzen der Fehlertoleranz Der Redundanzbereich Die Eigenschaften der Redundanzstrategie charakterisieren die Effektivit t einer Fehlertoleranzma nahme Der Redundanzbe reich beschreibt hingegen den r umlichen und zeitlichen Wirkungsbereich der entsprechenden Ma nahme Dieser beschr nkt sich im Falle der replizierten Regelung r umlich auf die eigentlichen Replikate Die Replikation der Eingaben und der Vergleich der Ausgaben sind zwar Teil der Fehlertoleranzma nahme liegen jedoch au erhalb des farblich hervorgehobenen Redundanz bereichs Im Gegensatz dazu erstreckt sich der Redundanzbereich des ECC Speichers r umlich ber alle Elemente umfasst jedoch zeitlich nur die Verweildauer im Speicher m glich Reinhard und Mukherjee RMOO nutzen das Konzept des Replikationsbereichs SoR engl sphere of replication um diesen Zusammenhang zu beschreiben Fehler die innerhalb des replizierten Bereichs auftreten und sich bis zu dessen Grenzen propagieren werden durch die Vergleichsoperation erkannt In hnlicher Weise lassen sich auch andere Fehlertoleranzma nahmen charakterisieren So be schr nkt sich die Fehlererkennung durch Pr fsummen auf den Bereich von der Codierung bis zur Decodierung der Werte Der entstehende Wirkungsbereich h ngt daher auch von der Implemen tierungsebene ab und ist eine Eigenschaft die ma geblich von der konkret
3. Fb Fb Fb Fb Gruppe 1 Fusion 2 Regler E 5 Akzeptanztest 5 amp Replikat 1 5 N 3 Q O Q amp gt t Gruppe2 Fusion S Ce Regler 8 S Stellvertreter lt 3 gler S S Stellvertreter 8 Akzeptanztest maskeren Pi Replikat2 SI Maskierer 2 spigus fe NT S SS 9 Fo x De Fusion E Regler Akzeptanztest 5 Encode amp Replikat3 5 J Stellvertreter u J Singalverarbeitung Ethernet Fluglageregelung Steuerung Abbildung 5 3 Schematische Darstellung der replizierten Fluglageregelung des l4Copters F r die Replikation wurde die Signalverarbeitung in zwei Schritte aufgeteilt Die Treiber f r die Abfrage der redundanten Sensoren bilden nun drei Gruppen Replikate Die Sensorfusion dient gleichzeitig als Akzeptanztest f r die Messwerte der Sensorgruppen und bildet mit dem nachfolgenden Maskierer einen Akzeptanzentscheider Die Fluglageregelung erh lt neben den konsolidierten Messwerten die F hrungsgr en der Basisstation durch einen einfachen Stellvertreter Im Anschluss an den finalen Mehrheitsentscheid werden die Stellwerte ber einen Stellvertreter an den SPI Kommunikationsbus ausgegeben und Replikation durch C Templates Die Absicherung der Datenfl sse erfolgt durch die geeig nete Erweiterung der zwischen den Prozessen genutzten Datenverbinder Diese erlauben nunmehr den Einsatz codierter Datentypen f r die transparente Codierung und Decodierung im
4. Infineon TriCore TC1796 Mikrocontroller Puy WvY EIN L U T x VO SPI l4Copter Steuerger t Infineon TriCore Rechensystem Mikrocontrollerplatine Not Aus Schalter bo BTS555 1 0 SPI PHY ARM Cortex M3 LEN Mikrocontroller i I ae if STM32F103 De Frequenz Frequenz Frequenz Frequenz umrichter umrichter umrichter umrichter Aktoreinheit und Leistungelektronik a an Motorplatine Abbildung 5 2 I4Copter Steuerger t Redundante Sensorik TriCore Mikrocontroller Leistungselektronik und Aktorik Das Steuerger t des l4Copters setzt sich analog zu dem Eingabe Verarbeitung Ausgabe Schema aus drei Stufen zusammen Die speziell entwickelte Sensorplatine umfasst insgesamt zw lf Inertial Sensoren f r die redundante Erfassung der Lage im Raum Ihre Messdaten werden auf der zentralen Mikrocontrollerplatine durch das TriCore TC1796 Rechensystem verarbeitet und in Stellwerte f r die vier Motoren umgesetzt Die leistungstechnische Antriebssteuerung bernimmt die ebenfalls spezifisch ausgelegte Motorplatine welche zu diesem Zweck ber ein weiteres Rechensystem in Form eines ARM Cortex M3 verf gt Die Platinen sind ber analoge und digitale Signalleitungen sowie serielle Kommunikationsbusse miteinander verbunden 5 1 DAS l
5. 12 658 die gestellten Anforderungen 82 KAPITEL 4 EFFEKTIVE FEHLERERKENNUNG IMPLEMENTIERUNG UND EVALUATION 16 Bit Maschinenwort 32 Bit Maschinenwort Datentyp Datentyp e Zielraum Coderaum G ltiges Nutzwort n lt 16 Bit Codierung b e G ltiges Codewort n k lt 32 Bit Decodierung 2 bd ud Ursprungsraum Ungenutzte Lticken e Menge der darstellbaren Worte een Abbildung 4 3 Binare Darstellung nicht systematischer arithmetischer Codes Der im Zuge der Codierung entstehende Coderaum rechts wird in seiner bin ren Form auf ein Maschinenwort abgebildet in diesem Beispiel 32 Bit breit Von diesen werden bis zu 16 Bit f r die Nutzdaten Ursprungsraum links ben tigt die verbleiben den Bits k nnen f r Pr finformationen genutzt werden Da sich Zweierpotenzen als ineffektive Wahl f r die Codierungsschl ssel A erweisen kann der zur Verf gung stehende Wertebereich des Maschinenwortes jedoch nie vollst ndig durch den Coderaum ausgenutzt werden Die entstehenden L cken stellen eine Gefahr f r die Integrit t des Codes dar 4 2 4 Bin re Darstellung nicht systematischer arithmetischer Codes Die bereits angesprochene bin re Darstellung der nicht systematischen ANBD Codes hat nicht nur einen direkten Einfluss auf die Hamming Distanz der entstehenden Codew rter sie erweist sich dar ber hinaus als bera
6. A Maskierer heck H Check Check Decode a Y Decode Decode H Decode _ Decode E Fehler Fehler Au enwelt Abbildung 3 7 Fehlertolerante Auslegung des CoRED Mehrheitsentscheiders Die Codierung von Datenfl ssen und Mehrheitsentscheider erm glicht zun chst lediglich Fehlererkennung Fehlertoleranz l sst sich mittels R ckw rtskorrektur und damit der einfachen Wiederholung des zustandslosen Mehrheitsentscheiders erreichen Im regul ren Entwurf links erfolgt diese nach der Replikatausf hrung Dies kann durch einen vorgeschalteten Akzeptanztest check vermieden werden Mitte Durch die Einzelfehlerannahme kann der Test zu Optimierungszwecken auch in den Fehlerbereich des Maskierers wandern rechts in den Replikaten Im Fehlerfall wird der Mehrheitsentscheider f r die Wiederholung vorgemerkt welche jedoch erst nach dem Durchlauf der Replikate erfolgen kann Dieses Vorgehen erfordert entsprechend die zus tzliche Wiederholung der Replikate selbst Da diese blicherweise zustands behaftet sind m ssen zus tzliche R cksetzpunkte f r die Replikate eingef hrt werden Dieses Problem l sst sich durch einen vorgeschalteten berpr fungsschritt Abbildung 3 6 Mitte um gehen In diesem Fall bernimmt ein Akzeptanztest check die Fehlererkennung wodurch die Wiederholung des Mehrheitsentscheiders vor der eigentlichen Decodier
7. Vorhersage Simulierte Bitfehler 9 Bt 2Bt O 3Bt 4Bt 5Bit 6Bit 7Bit 8Bit Abbildung 4 5 Vollst ndige Simulation f r 32 Bit Codes und bis zu 8 fach Bitfehler Durch Fehlersimulation ermittelte Restfehlerwahrscheinlichkeit f r alle 16 Bit Codierungsschl ssel oben Die Messpunkte zeigen insbesondere f r Fehlermuster von ein bis vier Bit eine signifikante Streuung welche gr tenteils die Vorhersage der Restfehlerwahrscheinlichkeit bersteigt Wiederum zeigen sich die Unzul nglichkeiten der Zweierpotenzen durch die schlechteste Erkennungsrate aller Schl ssel Die Menge der gutm tigen As unten h lt die Restfehlerwahrscheinlichkeit Psac als untere Schranke ein und weist eine deutlich geringe Streuung auf 4 2 WAHL DER CODIERUNGSPARAMETER 87 Verletzung der Vorhersage 15 g Psac A 199 7 8 9 10 11 12 13 14 15 16 Anzahl Bitfehler f Restfehlerwahrscheinlichkeit p 16 Bit Codewort 8 Bit Schl ssel 05 m FE 4 ll nl 5 6 1 2 3 4 A 73 EL A 199 HB A 2339 Abbildung 4 6 Verteilung der Restfehlerwahrscheinlichkeit in Abhangigkeit von der Bitfehleranzahl fiir 16 Bit Codes Eine detaillierte Betrachtung der tatsachlichen Restfehlerwahrscheinlichkeit in Abhangigkeit von der Anzahl der Bitfehler 1 bis 16 Bit Die dargestellten Schl ssel A sind s mtlich t cki
8. return wine Ba end if Bz By gt Programmausschnitt 3 5 Erkennung von Kontrollflussanomalien durch den CoRED Mehrheitsentscheider Grunds tzlich lassen sind zwei Fehlerszenarien unterscheiden Die korrekte Ausf hrung des falschen Entscheidungszweiges ist ein Beispiel f r einen Sprungfehler in einer bedingten Anweisung beispielsweise ausgel st durch einen transienten Fehler in den f r den Vergleich genutzten Registern Ein Sequenzfehler ist hingegen symptomatisch f r eine Verf lschung des Programmz hlers und f hrt zu einer fehlerhaften Ausf hrung von potenziell mehreren Entscheidungszweigen jedoch Kenntnis von der Identit t des Gewinners wodurch eine Decodierung des Ergebnisses trotz der von den Eingaben abh ngigen Zusammensetzung erm glicht wird Die hierf r n tige inverse Operation voter_decode nicht dargestellt zieht entsprechend die konstante Signatur B vom Gewinner win ab und decodiert die enthaltene Variante x oder y Dieses Vorgehen ist f r die nachfolgenden Replikate zweckm ig da diese direkt auf den uncodierten Nutzdaten weiterarbei ten Dar ber hinaus ist durch die direkte Decodierung im Anschluss an den Mehrheitsentscheid eine eindeutige Diagnose des Mehrheitsentscheiders hinsichtlich eines korrekten Kontroll und Datenflusses gegeben Ein Fehlverhalten wird entsprechend direkt aufgedeckt und kann durch geeignete Gegenma nahmen wie beispielsweise einer Wiederholung des Mehr
9. APPLY e Le Ze 16 return win BE ent Bz Bz gt Yc weicht ab 17 else 18 wine 19 SIGNAL_DUE Keine Entscheidung m glich 20 end if 21 end function 22 function APPLY vc Bayn 23 if Bayn gt Bmax then SIGNAL_DUE 24 return vc Bayn 25 end function Programmausschnitt 3 4 Zuverlassiger CORED Mehrheitsentscheider Der CORED Mehrheitsentscheider gleicht zunachst einem regularen Entscheider arbeitet von auBen betrachtet jedoch wie eine codierte Operation W Er akzeptiert die codierten Varianten x y und z als Eingabe und liefert den ebenfalls codierten Gewinner win zusammen mit der konstanten Sprungsignatur Bg zur ck Die berwachung des Kontrollflusses erfolgt durch die Berechnung einer dynamischen Sprungsignatur zur Laufzeit sowie deren Anwendung apply auf den Gewinner vor dessen R ckgabe Zeilen 5 8 12 und 15 Sowohl die Integrit t des Gewinners wie auch der Entscheidung selbst kann anschlie end durch einen Vergleich der beiden Signaturen berpr ft werden Entwurf des CORED Mehrheitsentscheiders Programmausschnitt 3 4 zeigt den resultierenden Entwurf des CORED Mehrheitsentscheiders Die Funktion CoRed_vote entspricht in ihrem Aufbau weitgehend der ungesch tzten Variante aus Programmausschnitt 3 2 und akzeptiert die nunmehr codierten Varianten x y und ze Wiederum erfolgt die Bestimmung einer qualifizierenden Mehrheit sowie die R ckgabe der ausgew hlten Variante in Form des ebenf
10. Abbildung in Anlehnung an Muk08 Zuverl ssige Fehlererkennung Die minimale Hamming Distanz bestimmt wie viele Fehler f durch einen bestimmten Code zuverl s sig erkannt beziehungsweise korrigiert werden k nnen Eine sichere Fehlererkennung ist f r gt f 1 gew hrleistet da kein Codewort durch f fehlerhafte Bits in ein anderes g ltiges Codewort berf hrt werden kann Dar ber hinaus muss der Mindestabstand dp gt 2f 1 betragen um fehlerhafte Codew r ter korrigieren zu k nnen Die R ckf hrung basiert wiederum auf dem Abstand zu anderen g ltigen Codew rtern welcher in jedem Fall mindestens f 1 entspricht Der urspr ngliche Wert des Codewortes l sst sich daher eindeutig ber den kleinsten Abstand ermitteln Da die Fehlerkorrektur einen doppelt so gro en Hamming Abstand erfordert lassen sich entsprechend mehr Bitfehler erkennen als korri gieren Die Erkennungsleistung h ngt hierbei allerdings von der Zahl der zu erkennenden Fehler ab Ausgehend von den beiden Codew rtern X 00112 und Y 11002 mit d 4 ist eine Korrektur von einem und die Erkennung von zwei Bitfehlern umsetzbar 3 fach Bitfehler lie en sich zwar grunds tz lich erkennen eine zuverl ssige Unterscheidung zwischen diesen und Einzelbitfehlern ist an diesem Punkt jedoch nicht mehr m glich z B X 01112 Y 3 In diesem Beispiel w rde die Korrektur des fehlerhaften Codewortes 01112 durch den geringeren Abstand stets zu X und damit im Fall des 3 fa
11. Seiten 55 60 IEEE Computer Society Press Washington DC USA ISBN 978 1 4673 2705 3 doi 10 1109 ROSE 2012 6402632 Zitiert auf den Seiten 105 106 107 132 1 2 und 3 Ulbrich P Hoffmann M Kapitza R Lohmann D Schr der Preikschat W und Schmid R 2012 Eliminating Single Points of Failure in Software Based Redundancy Proceedings of the 9th European Dependable Computing Conference EDCC 712 Seiten 49 60 IEEE Computer Society Press Washington DC USA ISBN 978 1 4673 0938 7 doi 10 1109 EDCC 2012 21 Zitiert auf den Seiten 107 und 3 Ulbrich P Kapitza R Harkort C Schmid R und Schr der Preikschat W 2011 I4Copter An Adaptable and Modular Quadrotor Platform Proceedings of the 26th ACM Symposium on Applied Computing SAC 711 Seiten 380 396 ACM Press New York NY USA ISBN 978 1 4503 0113 8 Zitiert auf den Seiten 105 107 1 und 3 Venkatasubramanian R Hayes J und Murray B 2003 Low cost on line fault detection using control flow assertions Proceedings of the 9th IEEE On Line Testing Symposium IOLTS 03 Seiten 137 143 Washington DC USA doi 10 1109 OLT 2003 1214380 Zitiert auf Seite 32 VMware Inc 2006 Virtualization Overview Wei buch Zitiert auf Seite 8 Von Neumann J 1956 Probabilistic logics and the synthesis of reliable orga nisms from unreliable components Automata studies 34 Seiten 43 98 Zitiert auf den Seiten 6 54 und 55 Vijaykumar T
12. Seiten 552 554 ISSN 0018 9286 doi 10 1109 TAC 1980 1102355 Zitiert auf Seite 125 IEC 61508 3 1998 IEC 61508 3 Functional safety of electrical electronic programmable electronic safety related systems Part 3 Software requirements International Electrotechnical Commission Geneva Switzerland Zitiert auf Sei te 141 Infineon Technologies AG 2007 TC1796 Benutzerhandbuch V2 0 Infineon Technologies AG St Martin Str 53 D 81669 M nchen Zitiert auf den Seiten 109 115 5 und 11 ISO 26262 5 2011 ISO 26262 5 2011 Road vehicles Functional safety Part 5 Product development at the hardware level International Organization for Standardization Geneva Switzerland Zitiert auf Seite 9 ISO 26262 8 2011 ISO 26262 9 2011 Road vehicles Functional safety Part 8 Supporting processes International Organization for Standardization Geneva Switzerland Zitiert auf Seite 141 Ibe E Taniguchi H Yahagi Y Shimbo K i und Toba T 2010 Impact of Scaling on Neutron Induced Soft Error in SRAMs From a 250 nm to a 22 nm Design Rule IEEE Transactions on Electron Devices 57 7 Seiten 1527 1538 ISSN 0018 9383 doi 10 1109 TED 2010 2047907 Zitiert auf Seite 6 JEDEC 2006 Standard Measurement and reporting of alpha particle and terre strial cosmic ray induced soft errors in semiconductor devices JESD89A JEDEC Solid State Technology Association Arlington VA Zitiert auf Se
13. Signatur Bz By 7 Ye Ye Bz By Bx By Signaturanpassung By By 8 Ye Ye Bfalse Birue gt Verzweigung signieren 9 end if 10 11 Ye Ye Beond Signaturanpassung Sollwert Be By Birue Programmausschnitt 3 3 Arithmetische Codierung einer Gr er Gleich Verzweigung Von Forin For89 vorgeschlagene Codierung eines Gr er Gleich Vergleichs links die uncodierte Variante Ausgangspunkt ist die Auswahl einer statischen Signatur Birue B faise f r den erwarteten Verlauf der Verzweigung Zeile 1 Diese Auswahl wird am Ende der Verzweigung Zeile 11 genutzt um eine von dem Verlauf unabh ngige feste Signatur zu erhalten Diese entspricht in diesem Beispiel der codierten Subtraktion aus Zeile 4 sowie der statischen Signatur Birue Um dieses Soll auch im else Fall zu erreichen werden die Signaturen hier entsprechend angepasst Zeile 7f Beispiele aus bzw nach For89 Sch11b if Zweigs als Sollwert angenommen Dieser setzt sich zusammen aus der Signatur der Subtrakti on B B Zeile 4 sowie der Sprungsignatur Brue Erst im zweiten Schritt wird die bedingte Verzweigung tats chlich ausgef hrt Zeile 3 9 Trifft die Bedingung zu wird die Subtraktion in Zeile 4 durchgef hrt und die Signatur von y entsprechend gesetzt Dar ber hinaus evaluiert B cong ZU Bue womit der Sollwert durch die Signaturanpassung in Zeile 11 wie geplant erreicht wird Um dieses Ergebnis auch bei Eintreten des else Zweig
14. selben Hardwarekontext aus nutzt jedoch eine auf dem Ansatz von Schuette und Shen SS87 aufbauende signaturbasierte Kontrollfluss berwachung nicht dargestellt Insgesamt ist die Feh lererfassung jedoch l ckenhaft RCV O5b Muk08 Eine um Fehlerbehandlung erweiterte Version 44 KAPITEL 2 SOFTWAREBASIERTE FEHLERTOLERANZ von SWIFT stellt SWIFT R CRA06 dar Es nutzt hierf r einen dritten Verarbeitungsstrom sowie Mehrheitsentscheider f r das Laden und Speichern von Daten TRUMP CRA06 hingegen er setzt den dritten Verarbeitungsstrom durch arithmetische Codierung genauer einem AN Code mit konstantem A 3 Die R ckf hrung der Codierung erfolgt durch eine angepasste Vergleichsfunkti on recover Beide Varianten verbessern die Fehlererkennung gegen ber SWIFT zeigen jedoch weiterhin signifikante Einschr nkungen in der Fehlererfassung wie im entstehenden Redundanz bereich Im Vergleich zu dem hybriden Ansatz von CRAFT RCV 05a zeigen sich die Schwierig keiten der rein softwarebasierten Replikation Obwohl CRAFT auf den Konzepten von SWIFT basiert kann dieser hybride Ansatz die SDC Fehlerwahrscheinlichkeit um zwei Drittel senken CRAFT nutzt spezifische Hardwareerweiterungen f r die Duplizierung und berpr fung der Daten beim Laden dup 1d beziehungsweise Speichern dup st Mittels dieser Operationen schw cht CRAFT das Fehlermodell ab und vermeidet die ungesch tzte Datenreplikation beziehungsweise Speichertransfers auf Kosten z
15. welche ein anderes Verhalten aufweisen Zudem setzen sich Berechnungen blicherweise aus einer Vielzahl von verschiedenen arithmetischen und logischen Operationen zusammen sie durchlaufen dementsprechend nicht nur die Addierer des Prozessors In der Praxis l sst sich die Fehlerkette von der Codierung eines Wertes bis zu seiner Decodierung kaum ad quat modellieren Insgesamt erscheint daher der Einsatz der arithmetischen Distanz f r die Bewertung der Robust heit der Codierung abseits der modellierten Addierer als wenig zielf hrend Die auf der Hamming Distanz basierende Fehlerbetrachtung des Endprodukts ist wesentlich leichter zu erfassen und un abh ngig von den spezifischen Figenschaften der Verarbeitungseinheiten der Hardware einsetzbar Zudem ist die Hamming Distanz nicht pessimistisch sondern erlaubt exakte Aussagen ber die er reichbare Effektivit t der Codierung zum Zeitpunkt der Decodierung Zu beachten ist jedoch dass keine R ckschl sse auf die maximale Fehlerzahl an bestimmten Punkten der Berechnungskette m glich sind 4 4 DISKUSSION DER ERGEBNISSE 99 4 4 2 Aussagekraft und bertragbarkeit der Fehlerinjektion Entgegen der allgemeinen Auswahl der Codierungsparameter gestaltet sich eine bertragung der Evaluationsergebnisse bei der Fehlerinjektion auf der Befehlssatzebene schwierig Diese h ngen zum einen ma geblich von der Darstellung des Bin rprogramms und zum anderen von dem konkreten Verhalten der Ausf hrungsu
16. A v Da die Signaturen additiv auf das Codewort angewendet werden entsprechen sie lediglich einer Verschiebung des Codewortes innerhalb des Wertebereichs Sie wirken sich daher nicht st rend auf die Auswahl eines geeigneten Codierungsschl ssels A aus Erweiterte Experimente zur Bestimmung der Hamming Minimaldistanz unter Ber cksichtigung der Signatur zeigten entsprechend auch keinen Einfluss von B auf die sich ergebenden Werte von d Dessen ungeachtet ist eine sorgf ltige Auswahl der Signaturen unumg nglich um eine Verf lschung einer g ltigen Signatur in eine andere g ltige Signatur zu verhindern In der Literatur finden sich wiederum keine exakten Angaben ber die geeignete Wahl der Signaturen Neben der notwendigen Forderung dass 0 lt B lt A beschr nken sich diese auf ei ne angemessene Verteilung der Signaturwerte Schiffel Sch11b empfiehlt dar ber hinaus die dynamische Anpassung der Signaturen im Verlauf l ngerer codierter Berechnungen um eine zu f llige bereinstimmung der Signaturen bei Zwischenergebnissen zu vermeiden Das Ergebnis einer codierten Addition von X und Y kann beispielsweise zu der Signatur von Z f hren falls B By By In diesem Fall l sst sich das Ergebnis der Addition nicht mehr von Z unterscheiden Ein etwaiger Adressierungsfehler ist somit nicht mehr zuverl ssig erkennbar Im Falle von CORED lassen sich die Signaturen und Zwischenergebnisse f r alle Verarbeitungsstr me jedoch im Vorfeld exakt
17. Auf der Basis der softwarebasierten Replikation entwickelt dieses Kapitel den kombinierten Redundanzansatz CORED engl Combined Redundancy und damit das R stzeug f r die gezielte Beeinflussung der nicht funktionalen Eigenschaft Zuverl ssigkeit auf Ebene des Betriebssystems Zur genaueren Charakterisierung der kritischen Fehlerstellen in der redundanten Ausf hrung er folgt zun chst eine erweiterte Problemanalyse in Kapitel 3 1 sowie eine Spezifikation der dem Ansatz zugrunde liegenden Annahmen und der Fehlerhypothese in Kapitel 3 2 Darauf aufbauend gibt Kapitel 3 3 zun chst einen groben berblick ber das Architekturkonzept und die allgemeine Methodik des CORED Ansatzes Die dort skizzierten Ma nahmen f hren anschlie end zu den zentralen Erweiterungen der softwarebasierten Replikation in Form von Schutzelementen f r die Eing nge und Ausg nge der redundanten Ausf hrung in Kapitel 3 4 und zuverl ssiger Mehrheits entscheider im darauffolgenden Kapitel 3 5 Zusammengenommen stellt CORED einen holistischen Fehlertoleranzansatz f r die selektive Absicherung sicherheitskritischer Anwendungen dar Der Ansatz erlaubt dabei zugleich den Aufbau eines geschlossenen Redundanzbereichs sowie eine vollst ndige Fehlererfassung von in Software sichtbaren transienten Fehlern 3 1 Erweiterte Problemanalyse Die Fehlerrate f r transiente Fehler ist eine inh rente Eigenschaft der Hardware vgl Kapitel 1 1 Entsprechend erfordert die Steigerung der Zuv
18. D 1971 The STAR Self Testing And Repairing Computer An Investigation of the Theory and Practice of Fault Tolerant Computer Design IEEE Transactions on Compu ters 20 11 Seiten 1312 1321 ISSN 0018 9340 doi 10 1109 T C 1971 223133 Zitiert auf den Seiten 37 und 38 Avizienis A Laprie J C Randell B und Landwehr C 2004 Basic con cepts and taxonomy of dependable and secure computing IEEE Transactions on Dependable and Secure Computing 1 1 Seiten 11 33 ISSN 1545 5971 doi 10 1109 TDSC 2004 2 Zitiert auf den Seiten 21 und 29 Arnold T F 1973 The Concept of Coverage and Its Effect on the Reliability Model of a Repairable System IEEE Transactions on Computers 22 3 Seiten 251 254 ISSN 0018 9340 doi 10 1109 T C 1973 223703 Zitiert auf den Seiten 10 und 48 Afonso F Silva C Brito N Montenegro S und Tavares A 2008 Aspect oriented Fault Tolerance for Real time Embedded Systems Proceedings of the AOSD Workshop on Aspects Components and Patterns for Infrastructure Software ACPAIS 08 Seiten 2 1 2 8 ACM Press New York NY USA ISBN 978 1 60558 142 2 doi 10 1145 1404891 1404893 Zitiert auf Seite 42 Atmel Corporation 2009 AVR XMEGA A Handbuch Atmel Corporation 2325 Orchard Parkway San Jose CA 95131 USA Zitiert auf den Seiten 120 und 16 AUTOSAR 2011 Specification of Operating System Version 5 0 0 AUTOSAR development cooperation Bernhard Wicki Strasse 3 D 80
19. Ech90 Informationsredundanz engl information redundancy umfasst im weitesten Sinne jede Art von zus tzlicher Information die neben den eigentlichen Nutzdaten vorhanden ist und f r die Fehlererkennung herangezogen werden kann Ein einfaches Beispiel sind getrennt gef hrte Brutto und Nettobetr ge die sich mit Kenntnis des Mehrwertsteuersatzes ineinander ber f hren lassen Im Allgemeinen erfolgt der strukturierte Einsatz von Informationsredundanz durch die Codierung der Information Datum gem spezieller Codierungsvorschriften welche auf eine m glichst hohe Fehlererkennung hin ausgelegt sind Das entstehende Co dewort verliert seine G ltigkeit sobald es den Richtlinien nicht mehr gen gt Umgekehrt 2 1 TERMINOLOGIE UND GRUNDLAGEN 25 wird die urspr ngliche Information durch Decodieren wiederhergestellt und die Redundanz entfernt Bekannte Vertreter hierf r sind die bereits genannten Parit tsbits oder die zyklische Redundanzpr fung CRC Funktionelle Redundanz engl functional redundancy bezeichnet die Erweiterung des Systems um zus tzliche Funktionen die f r den regul ren Betrieb entbehrlich sind und sich in ihrer Umsetzung unterscheiden Dies umfasst zum Beispiel den Einsatz von Funktionsw chtern engl watchdogs welche bei der berschreitung von definierten Schwellenwerten ent sprechende Ma nahmen einleiten Ebenso z hlen hierzu Funktionen welche den gleichen Sachverhalt auf unterschiedliche Weise herle
20. Fb Fb Replikation SSS r 1 r a s A 8 B 3 S S 3 Ss amp Replikat 1 5 amp Replikat 1 5 ow ao wo ao Eingabe A 3 A 3 A 3 B 3 B Ausgabe Replikator amp Replikat2 5 Maskierer amp Replikat2 5 Maskierer D J A G 3 B amp Replikat3 5 amp Replikat3 S a S m Q J ee d QO Arithmetische Codierung mm Abbildung 3 3 bersicht ber den CoRED Ansatz Wie der Name bereits impliziert verbindet der kombinierte Redundanzansatz CORED die beiden Fehlertoleranztechniken Replikation und arithmetische Codierung Der Ansatz nimmt die Eingabereplikation sowie die Maskierer aus dem Perfektions kern und sch tzt diese nicht replizierbaren Teile mittels Codierung Durch das Zusammenspiel entsteht ein geschlossener Redundanzbereich mit vollst ndiger Fehlererkennung bersicht und Entwurfskonzept Der CoRED Ansatz l st dieses Problem durch die namensgebende Kombination aus redundanter Ausf hrung und arithmetischer Codierung Letztere l sst sich auch in Bereichen einsetzen die sich nicht weiter replizieren lassen Abbildung 3 3 gibt einen schematischen berblick ber das zugrun de liegende Entwurfskonzept und das effektive Zusammenspiel der beiden Techniken Sowohl die Mehrheitsentscheider als auch die Replikatoren werden aus dem angenommenen Perfektions kern genommen und bilden nun eigenst
21. Fehlererkennung beim Aktor Eine einfache L sung dieses Problems ist der Einsatz eines codierten Ausgangs und somit die di rekte bertragung des Gewinners zwischen der zentralen Fluglageregelung und dem Aktorsystem Hierf r wurde die nachgelagerte Steuerung der Frequenzumrichter entsprechend angepasst Die Decodierung des Gewinners erfolgt nun erst unmittelbar vor der Nutzung durch das Cortex M3 Rechensystem Hierf r gen gt letztlich der Austausch der notwendigen Codierungsparameter was im konkreten Fall durch eine Integration des Aktorsystems in den Erstellungsprozess des 14Copters erfolgt Die CORED Schliisselverwaltung w hlt hierbei in einem ersten Durchlauf die Codierungsparameter des finalen Mehrheitsentscheiders aus und bergibt die entsprechenden Werte anschlie end an die Decodierungsoperation des Aktorsystems Durch diese einfache Erwei terung l sst sich der Redundanzbereich von CORED ber die Grenzen des TriCore Rechensystems erweitern Entsprechend stellen die jeweiligen Systemdienste f r die Kommunikation keine kriti schen Fehlerstellen mehr dar Unter der Annahme dass der Nachrichtenversand strikt periodisch erfolgt kann das Aktorsystem somit die G ltigkeit der Stellwerte und die fehlerfreie Funktion der Fluglageregelung eigenst ndig und zuverl ssig ermitteln Fehlertolerantes Verhalten Grunds tzlich erm glicht die Erweiterung des Redundanzbereichs durch Beibehaltung der arith metischen Codierung der Datenfl sse die
22. Kanawati G A Kanawati N A und Abraham J A 1993 EMAX An automatic extractor of high level error models Computing Aerospace Conference Seiten 1297icce 1306 Zitiert auf Seite 99 Kanawati G A Kanawati N A und Abraham J A 1995 FERRARI A Flexible Software Based Fault and Error Injection System IEEE Transactions on Computers 44 Seiten 248 260 ISSN 0018 9340 Zitiert auf den Seiten 76 und 89 Klaus T 2012 Semi autonome H henregelung eines Quattrokopters unter Ein satz eines heterogenen Sensorsystems Projektarbeit Technische Fakultat Friedrich Alexander Universit t Erlangen N rnberg Zitiert auf den Seiten 107 und 3 Klein M Lehoczky J und Rajkumar R 1994 Rate monotonic analysis for real time industrial computing IEEE Computer 27 1 Seiten 24 33 ISSN 0018 9162 doi 10 1109 2 248876 Zitiert auf Seite 128 Kopetz H 1997 Real Time Systems Design Principles for Distributed Embedded Applications Kluwer Academic Publishers ISBN 0 7923 9894 7 Zitiert auf den Seiten 40 53 und 126 Karnik T Vangal S Veeramachaneni V Hazucha P Erraguntla V und Bor kar S 2002 Selective Node Engineering for Chip level Soft Error Rate Improve ment in CMOS Proceedings of the Symposium on VLSI Circuits Seiten 204 205 IEEE Press New York NY USA doi 10 1109 VLSIC 2002 1015084 Zitiert auf Seite 6 Lattner C und Adve V 2004 LLVM A Compilation Framework for Lifelong
23. LCE89 Pul01 Der Intervallentscheider stellt hierbei eine einfache Realisierung f r den n herungsweisen Ver gleich dar Der Mehrheitsentscheid erfolgt hier nicht mehr auf den eigentlichen Varianten x y 2 sondern auf dem Abstand 6 zwischen diesen d x y y x 54 d x z z x amp 3 3 d y z y z s Der Maskierer ordnet die Varianten entsprechend der errechneten Abst nde 6 der Konsens menge zu Der Schwellenwert f r einen als g ltig betrachteten Abstand ist hierbei anwendungs spezifisch Bezogen auf das Beispiel in Abbildung 3 5 ergibt sich der zul ssige Abstand zwischen den Messerwerten beispielsweise aus dem Rauschen des Sensors sowie der maximalen nderung der Winkelgeschwindigkeit innerhalb des Abtastintervalls Neben der Intervallentscheidung exis tieren je nach Anwendungsszenario noch weitere Umsetzungsalternativen wie beispielsweise die Median oder Kugelentscheidung Ech90 Wie der Name bereits andeutet lassen sich die Ak zeptanzmaskierer im Allgemeinen auf eine implizite Kombination aus Akzeptanz und Relativtest zur ckf hren Die Entscheidung ob ein zuvor festgelegter Abstandswert zwischen zwei Varianten eingehalten wird entspricht einem Akzeptanztest dieser Distanzberechnung Die Mehrheitsfin dung erfolgt im Anschluss wiederum durch einen einfachen Relativtest welcher die Antworten der Akzeptanztests vergleicht 3 4 EINGANG ZU AUSGANG FEHLERERKENNUNG 61 Akzeptanzmaskierer
24. Seiten 181 195 Springer Verlag Heidelberg Germany ISBN 978 3 642 15578 9 doi 10 1007 978 3 642 15579 6_13 Schmid R Sobolev S und Ulbrich P 2010 Schutzrecht Antrag EP2442229 Al High reliability method of data processing and controller unit Eingereicht 28 Juli 2010 Ulbrich P Elsner C Hoffmann M Schmid R und Schr der Preikschat W 2010 Using MARTE in Code centric Real time Projects Providing Evolution Support In P Boulet D Can cila H Espinoza und A Morawiec Hg Proceedings of the 1st Workshop on Model Based Engineering for Embedded Systems Design M BED 10 Seiten 25 29 Stilkerich M Schedel J Ulbrich P Schr der Preikschat W und Lohmann D 2011 Escaping the Bonds of the Legacy Step Wise Migration to a Type Safe Language in Safety Critical Embedded Systems In G Karsai A Polze D H Kim und W Steiner Hg Proceedings of the 14th IEEE International Symposium on Object Oriented Real Time Distributed Computing ISORC 11 Seiten 163 170 IEEE Computer Society Press ISBN 978 0 7695 4368 0 doi 10 1109 ISORC 2011 29 Ulbrich P Kapitza R Harkort C Schmid R und Schr der Preikschat W 2011 I4Copter An Adaptable and Modular Quadrotor Platform In Proceedings of the 26th ACM Symposium on Applied Computing SAC 711 Seiten 380 396 ACM Press New York NY USA ISBN 978 1 4503 0113 8 Zitiert auf den Seiten 105 und 107 Ulbrich P Franzmann F Harkort
25. b mem_b ld a mem_x b mem_b mult c a b statt add c a b a fehlerhaft st mem_c c st mem_y c Operatorfehler Operandenfehler Programmausschnitt 2 2 Symptomatische Auswirkungen transienter Fehler Fehlermodell auf Instruktionsebene M gliche Auswirkungen transienter Fehler auf Instruktionsebene am Beispiel einer einfachen Addition Die hervorgehobenen Stellen markieren exemplarisch die Symptome die durch die Mutation der Operanden beziehungsweise Operatoren in der jeweiligen Fehlerklasse entstehen Die Fehlersymptomatik l sst sich anschaulich anhand der in Programmausschnitt 2 2 gezeigten Beispiele erl utern Die Auswirkungen sind im Einzelnen Berechnungsfehler f hren obwohl sowohl Operator als auch Operanden korrekt sind zu einem falschen beziehungsweise unerwarteten Ergebnis einer Operation Im konkreten Beispiel in Programmausschnitt 2 2 wird die Addition von a und b plangem durchgef hrt das Ergebnis c ist jedoch fehlerhaft Die Ursache kann beispielsweise in einem Fehlverhalten der entsprechenden Arithmetisch logischen Einheit ALU engl arithmetic logic unit oder einer der Berechnung folgenden Verf lschung des Ergebnisses liegen Operatorfehler bezeichnen die Ver nderung des Operators Dadurch kann zum Beispiel die Ad dition add zu einer Multiplikation mult verf lscht werden Das Ergebnis c dieser Multi plikation ist an sich korrekt entspricht jedoch nicht der erwarteten Addition und
26. blicherweise auf die Annahme dass die Ausf hrung der Regelungsanwendung stets quidistant und mit konstantem Laufzeitver halten erfolgt PBdSTO5 AW11 Diese Annahmen sind im replizierten Fall verzerrt und unter Umst nden nicht mehr vollst ndig erf llt Nicht zuletzt leidet die Replikation unter hohen La tenzen f r die Fehlererkennung da diese erst nach der mehrfachen Ausf hrung des gesamten Regelsystems durchgef hrt werden kann Daher ist vielmehr eine feingranulare Aufteilung der Regelungsanwendung notwendig um einerseits die Ablaufplanung zu erleichtern und anderer seits die Fehlererkennungslatenz auf ein angemessenes Niveau zu reduzieren Dar ber hinaus stellt sich die Frage wie sich die hardwarespezifische Sensorik und Aktuatorik ebenfalls in den Redundanzbereich eingliedern l sst 1 4 L sungsansatz Um die im vorangegangenen Abschnitt skizzierten Probleme zu l sen ist ein zweiteiliger Ansatz n tig Der im Rahmen dieser Arbeit entwickelte L sungsansatz ist schematisch in Abbildung 1 3 dargestellt Er erm glicht die systematische und gezielte Beeinflussung der Zuverl ssigkeitseigen schaften der Hardware im Allgemeinen und die Replikation sicherheitskritischer Regelungsan wendung unter der Ber cksichtigung der zeitlichen Anforderungen und der regelungstechnischen Entwurfsverfahren im Speziellen Von der Hardware kommend bietet der L sungsansatz zum einen das allgemeine technische R stzeug f r die Eliminierung der verbli
27. cherweise verh lt sich eine gro e Zahl von Codes insgesamt gutm tig engl benign und verletzt die vorhergesagte Restfehlerwahrscheinlichkeit in keinem Fall Im Falle der 16 Bit Codes bel uft sich dieser Anteil auf 33 Prozent Von den Super As der 32 Bit Codes erweisen sich 58 659 63 859 und 63 877 als gutm tig lediglich 59665 und 63157 zeigen Ausrei er an der Hinterkante bei 27 und 28 Bit Letztlich erfordert die Auswahl eines geeigneten Codierungsschl ssels auch die Ber cksichtigung der Verteilung der Restfehlerwahrscheinlichkeiten Ein sinnvoller Schritt ist zu dem eine Beschr nkung auf gutm tige Codierungsschl ssel wie in Abbildung 4 5 unten gezeigt Hierdurch fallen nicht nur die Streuungen deutlich geringer aus es erm glicht dar ber hinaus die einfache Absch tzung der Restfehlerwahrscheinlichkeit durch p q als untere Schranke Quintessenz Auswahl der Codierungsparameter Insgesamt haben die Codierungsparameter einen signifikanten Einfluss auf die Zuverl ssig keit der arithmetischen Codierung CORED nutzt hierf r einen zweistufigen Prozess Vor auswahl durch die Hamming Minimaldistanz und anschlie ende Optimierung anhand des Verhaltens gutm tig t ckisch bei einer berbeanspruchung 4 2 6 Res mee Insgesamt haben die Codierungsparameter einen erheblichen Einfluss auf die Zuverl ssigkeit der arithmetischen Codierung Die Fallstricke und Besonderheiten in der bin ren Darstellung der Co dierung sorgen in diesem Z
28. der Replikation ist vollst ndig im Sinne des Fehlermodells sofern eine Fehlerausbreitung zwischen Replikaten ausgeschlossen werden kann In diesem Fall lassen sich sowohl Kontroll als auch Datenflussfehler aufdecken ber die erzielbaren Fehlertoleranzeigenschaften der Replikation entscheidet alleine das Ma an Redundanz respektive die Anzahl der Replikate im Gegensatz zu den komplexen Zusammen h ngen bei den Codierungsvorschriften Ohne weitere Annahmen an das Fehlverhalten siehe Kapitel 3 2 1 lassen sich durch einen Vergleich der Ergebnisse von zwei Replikaten DMR le diglich Einzelfehler erkennen Ein drittes Replikat und dreifache Redundanz TMR erm glicht dar ber hinaus sowohl Fehlerdiagnose als auch die Fehlerbehandlung durch Maskierung des feh lerhaften Replikats Im Allgemeinen lassen sich f Fehler mittels 2 f 1 Replikaten maskieren Replikation Replikation basiert auf der redundanten Ausf hrung von Strukturelementen Abh ngig von der Anzahl der Replikate erm glicht dies die Fehlererkennung oder sogar die Fehlerbehand lung durch Maskierung Die Fehlererfassung durch den Relativtest der Ergebnisse ist dabei vollst ndig sofern die Fehlerausbreitung zwischen den Replikaten ausgeschlossen ist Replikation durch Virtualisierung der Maschine Zur Erzielung eines m glichst vollst ndigen Redundanzbereichs ist ein naheliegender Ansatz die ebenso vollst ndige Replikation des gesamten Softwaresystems bestehend aus Betrie
29. durch diesen zuverl ssig erkennbaren Bitfehler Steigt die Fehlerzahl jedoch ber diese Schwelle hinaus sind weiterhin unerkannte Datenfehler m glich An dieser Stelle greift wiederum die Restfehlerwahrscheinlichkeit p q als einfach zu bestimmendes und weithin genutztes Ma f r die Zuverl ssigkeitsabsch tzung Fro77 Erst die Fehlersimulation erm glicht die Bestimmung der Effektivit t der Codierung bei ei ner berschreitung der maximalen Fehlerzahl wie sie im vorangegangen Abschnitt am Beispiel des Doppelbitfehlers aufgezeigt wurde Die Simulation testet jedes m gliche Fehlerszenario und spannt hierf r entsprechend den gesamten Fehlerraum engl fault space auf Dieser setzt sich im Allgemeinen aus jeder m glichen Kombination von Codierungsschl ssel A Wert v und Bitfeh lermuster zusammen Die folgenden Experimente betrachten dabei einen 32 Bit Code mit jeweils 16 Bit gro en Codierungsschl sseln und Werten Um die Komplexit t in handhabbaren Grenzen zu halten wurden die Fehlermuster in diesem Fall auf maximal 8 fach Bitfehler beschr nkt Der hierdurch entstehende Fehlerraum umfasst trotz der Einschr nkung die betr chtliche Zahl von 6 5 101 Experimenten Der hierf r notwendige Berechnungsaufwand entsprach einer Laufzeit von ber 8 4 Jahren auf einem Einzelsystem Zum Vergleich Die Berechnung der Hamming Di stanz f r die selbe Zahl an m glichen Codierungsschl sseln erforderte lediglich 70 Stunden In der praktis
30. einer Rechnung stellen zum Beispiel eine Form von Informationsredundanz dar Fehler in diesen Werten lassen sich allerdings erst durch die Probe gem ihrer Spezifikation erkennen In diesem 28 KAPITEL 2 SOFTWAREBASIERTE FEHLERTOLERANZ Der Redundanzbereich Lokalisierung kritischer Fehlerstellen Der Redundanzbereich beschreibt den logischen Wirkungsbereich der Fehlertoleranzma nah men und damit die Teile des Systems in denen Redundanz gleich welcher Art koordiniert eingesetzt wird Kritische Fehlerstellen zeigen sich ausgehend von der Effektivit t der ein gesetzten Fehlertoleranzma nahmen nur au erhalb der Redundanzbereiche beziehungs weise an den berg ngen zwischen diesen Fall erfolgt dies durch Entfernen der Mehrwertsteuer vom Bruttobetrag und dem anschlie enden Vergleich mit dem Nettobetrag Eine m gliche Reaktion im Fehlerfall kann schlie lich die erneute Berechnung der Betr ge aus den Einzelposten der Rechnung darstellen Die Umsetzung von Fehler toleranz erfordert daher ber die Redundanz hinaus geeignete Ma nahmen zur Fehlerdiagnose und Fehlerbehandlung Fehlerdiagnose Die Fehlerdiagnose engl fault diagnosis umfasst zun chst die Bereitstellung geeigneter Testver fahren f r die Erkennung von Fehlern in den redundanten Strukturelementen im Folgenden allgemein als Testobjekte engl test objects bezeichnet Darauf aufbauend erfolgt anschlie end die Lokalisierung des zugeh rigen Fehlerbereic
31. infrastruktur der CoRED Dienstschicht Die Ausgabe der Stellwerte im Anschluss an den finalen Mehrheitsentscheider erfolgt durch den generischen Stellvertreter f r den SPI Kommunikations bus Dieser bernimmt die nicht weiter replizierbare Interaktion mit der entsprechenden Periphe rieeinheit des TriCores und leitet die Daten letztlich an die Aktoreinheit weiter In hnlicher Weise bindet der Stellvertreter f r die Ethernet Schnittstelle die Kommunikation mit der Basisstation an den Redundanzbereich der Fluglageregelung an Dieser dient als Eingangsreplikator und codiert 114 KAPITEL 5 FALLBEISPIEL 4COPTER die enthaltenen Nutzdaten direkt im Anschluss an den Paketempfang Die m gliche Eliminierung der beiden Stellvertreter und die damit einhergehende Erweiterung des Redundanzbereiches ist dar ber hinaus Gegenstand von Kapitel 5 3 Die Anbindung der Signalverarbeitung erforderte indes einige Anpassungsma nahmen Deren direkte Replikation erwies sich als nicht zielf hrend da das Sensorsystem des I4Copters inh rent redundant ausgelegt ist Die gemeinsame Abtastung aller Messwerte wurde in der Folge aufgegeben und die Sensoren stattdessen in drei Sensorgruppen eingeteilt Jede dieser Grup pen repr sentiert nunmehr eine in sich vollst ndige Inertial Sensorik deren Auswertung jeweils in einer eigenen Schutzdom ne erfolgt vgl Abbildung 5 3 links Ziel dieser Ma nahme ist die Vermeidung der Fehlerausbreitung zwischen den logischen S
32. kennung von bis zu 5 fach Bitfehlern Stille Annahmen hinsichtlich der Abgeschlossenheit des Coderaumes oder bestimmter Konventionen der Bin rschnittstelle der Hardwareplattform durch den Compiler oder das Betriebssystem repr sentieren typische Beispiele f r Schwachstellen in der Implementierung welche zu einem signifikanten Verlust der Erkennungsleistung f hren k nnen CORED eliminiert all diese Schwachstellen der technischen Umsetzung und ist dadurch in der Lage die arithmetische Codierung bis an ihre Leistungsgrenzen zu f hren Im Vergleich mit g ngigen Ans tzen zeigt sich dies in einer deutlichen Verbesserung der Erkennungsleistung um teilweise den Faktor 1000 Insgesamt erm glicht CORED nicht nur konzeptionell sondern auch praktisch die vollst ndige und zuverl ssige Fehlererkennung Umfassender Schutz Die nat rliche Zieldom ne f r CORED stellen aufgrund ihrer Zahl und des ausgewiesenen Schutz bed rfnisses gegen ber transienten Fehlern sicherheitskritische Regelungsanwendungen dar Die praktische Umsetzbarkeit des CORED Ansatzes wurde daher am Beispiel des I4Copters veranschau licht Dieses unbemannte Luftfahrzeug erfordert durch seine inh rent instabilen Flugeigenschaften eine kontinuierliche Fluglageregelung und stellt somit ein forderndes und praxisnahes Beispiel dar Das System basiert auf einem in der Fahrzeugelektronik verbreiteten Infineon TriCore TC1796 Mikrocontroller und umfasst eine umfangreiche Inertial Sensorik sowi
33. weise eine arithmetische Distanz von da 2 zwei Terme gen gen 6 21 2 9 wohingegen sich der Hamming Abstand auf dp 4 bel uft Ein wesentlicher Vorteil der arithmetischen Di stanz ist die M glichkeit der pessimistischen Absch tzung der Distanz f r einen bestimmten Code Man67 Mas64 Der Berechnungsaufwand ist hierbei linear zu der Anzahl der Codew rter im Gegensatz dazu nimmt dieser bei der Hamming Distanz quadratisch zu Grunds tzlich verlagert sich durch diese Art der Fehlermodellierung die Betrachtungsebene von der reinen Codierung hin zu den Eigenschaften der ausf hrenden Hardwareeinheiten Die arith metische Distanz beschreibt daher letztlich die maximale Anzahl der Fehler die am Eingang eines bin ren Addierers vorliegen d rfen um die Integrit t des Codes im Ergebnis nicht zu gef hrden Im Gegensatz dazu charakterisiert die Hamming Distanz die Anzahl der Fehler die am Ausgang vorhanden sein d rfen um noch eine sichere Fehlererkennung zu gew hrleisten Auf den ersten Blick vereinfacht die arithmetische Distanz die Wahl geeigneter Codierungsparameter da sie die Auswirkungen der Berechnungsschritte ber cksichtigt Allerdings beschr nkt sich das zugrundelie gende Modell auf eine simple bin re Addition mit bertrag engl ripple carry adder Es existieren dar ber hinaus jedoch noch eine ganze Reihe weiterer Konzepte f r die Umsetzung von Addierern in der Hardware z B carry select oder carry lookahead Addierer
34. 1 4503 0634 8 doi 10 1145 1966445 1966477 Zitiert auf den Seiten 6 10 53 76 und 87 LITERATURVERZEICHNIS 155 Nic03 NN99 Nor96 NSV04 OMMO2 OR95 OSMO2a OSMO2b Oze92 PBdSTO5 PMCO6 Po194 Nicolaidis M 2003 Carry checking parity prediction adders and ALUs IEEE Transactions on Very Large Scale Integration VLSI Systems 11 1 Seiten 121 128 ISSN 1063 8210 doi 10 1109 TVLSI 2002 800526 Zitiert auf Seite 7 Noufal I und Nicolaidis M 1999 A CAD framework for generating self checking multipliers based on residue codes Proceedings ofthe Design Automation and Test in Europe Conference and Exhibition DATE 99 Seiten 122 129 IEEE Computer Society Press Washington DC USA doi 10 1109 DATE 1999 761107 Zitiert auf Seite 37 Normand E 1996 Single event upset at ground level IEEE Transactions on Nuclear Science 43 6 Seiten 2742 2750 ISSN 0018 9499 doi 10 1109 23 556861 Zitiert auf Seite 3 Nicolescu B Savaria Y und Velazco R 2004 Software detection me chanisms providing full coverage against single bit flip faults IEEE Transac tions on Nuclear Science 51 6 Seiten 3510 3518 ISSN 0018 9499 doi 10 1109 TNS 2004 839110 Zitiert auf Seite 44 Oh N Mitra S und McCluskey E 2002 ED4I Error Detection by Diverse Data and Duplicated Instructions IEEE Transactions on Computers 51 2 Seiten 180 199 ISSN 0018 9340 doi 10 1
35. 2Der Materialtransport in einem festen Leiter verursacht durch den elektrischen Strom 3Der extensive Betrieb an der Leistungsgrenze f r die Dauer der Fr hfehlerphase 1 1 DIE SCHWINDENDE ZUVERL SSIGKEIT DER HARDWARE 3 auf und m ssen auch dort behandelt werden entsprechend erfordern sie explizite Ma nahmen zur Fehlererkennung und Fehlerkorrektur Zum anderen steigt die Fehlerrate technologiebedingt immer weiter an Bor05 SH04 ZPO4 Die prim re Ursache f r transiente Hardwarefehler ist ionisierende Strahlung wie zum Beispiel Neutronen oder Alphastrahlung welche zu einer Ladungsverschiebung innerhalb des Halblei termaterials f hren kann Ist diese Verschiebung hinreichend gro kommt es zu einer Inversion des Logikzustandes innerhalb einer Schaltung und damit zu einer Manifestierung des Fehlers Bau05 Br 05 SHO4 Erstmals wurde 1978 von Intel ber transiente Hardwarefehler induziert durch Alphastrahlung berichtet MW79 Der Ausl ser war eine radioaktive Kontamination der keramischen Chipgeh u se mit Uran Durch die r umliche N he konnten die hiervon ausgehenden Alphateilchen direkt auf die Halbleiterbauelemente wirken In ihrer n heren Untersuchung des Problems f hrten May und Woods MW79 das zentrale Konzept der kritischen Ladung Q ix ein Dieses gibt an wie gro die induzierte Ladungsverschiebung f r eine Fehlfunktion der Schaltung sein muss Bereits im selben Jahr postulierten Ziegler und Lanford ZL79 hnli
36. 5 Ausgabe Ebene Aktorik Treiber Treiber 8 E gt 5 5 Ebene Aktorfusion Fusion a 8 Ro x DN o Verarbeitung Ebene Regelung Regler Regler ag co s 55 S Ebene Sensorfusion Fusionsfilter gt Beobachter Fusionsfilter ad E A S Eingabe j Ebene Sensorik Treiber Treiber Treiber Treiber Zw a E Ss Ausf hrungsumgebung Abbildung 6 3 Schichtenmodell der im 14Copier realisierten modularen Regelungsarchitektur Die Architektur dient in erster Linie der Modularisierung der Regelungsanwendung zum Zweck der feingranularen Abbildung auf replizierbare Prozessinkarnationen Zur Abkopplung der zeitkritischen Eingabe und Ausgabe f hrt die Architektur Fusionsebe nen f r die Sensorik und Aktorik ein Deren spezifische Anwendungsschnittstelle erlaubt dar ber hinaus die R ckkopplung des ausf hrungsbezogenen zeitlichen Eigenschaften Auf der Aktorseite bernimmt die Zustandsr ckkopplung die R ckf hrung des Ausgangsversatzes an die Signalverarbeitung Signalverarbeitungskette und betreffen hierbei vorrangig die Sensorfusion Das Ziel der logischen Aufteilung ist es die entsprechenden Eingriffspunkte explizit zu machen um funktionale nderun gen an der Anwendung im Zuge der Replikation weitgehend berfl ssig zu machen Aufgrund der angestrebten R ckf hrung der zeitlichen Eigenschaften sowohl bei der Abtastung der Sensorik als auch bei der Ausgabe der Stellwerte an die Aktoren ist auch e
37. 8 12 und 42 Schuette M A und Shen J P 1987 Processor Control Flow Monitoring Using Signatured Instruction Streams IEEE Transactions on Computers 36 Seiten 264 276 ISSN 0018 9340 Zitiert auf den Seiten 32 und 43 Siewiorek D P und Swarz R S 1998 Reliable computer systems design and evaluation 3 Auflage 908 Seiten A K Peters Wellesley MA USA ISBN 978 1 5688 1092 8 Zitiert auf Seite 7 Seifert N Slankard P Kirsch M Narasimham B Zia V Brookreson C Vo A Mitra S Gill B und Maiz J 2006 Radiation Induced Soft Error Rates of Advanced CMOS Bulk Devices Proceedings of the 44th IEEE International Symposium on Reliability Physics Seiten 217 225 IEEE Press New York NY USA doi 10 1109 RELPHY 2006 251220 Zitiert auf Seite 6 LITERATURVERZEICHNIS 159 SSP11 SSSF10 Sta02 Tan06 TB82 TewO2 TLM 09 TN93 Tor98 TS86 TSK 11 Scheler F und Schr der Preikschat W 2011 The Real Time Systems Compiler migrating event triggered systems to time triggered systems Software Practice and Experience 41 12 Seiten 1491 1515 ISSN 1097 024X doi 10 1002 spe 1099 Zitiert auf Seite 141 Schiffel U Schmitt A S kraut M und Fetzer C 2010 ANB and ANBDmem encoding detecting hardware errors in software E Schoitsch Hg Proceedings of the 29th International Conference on Computer Safety Reliability and Security SAFEC
38. Aktoreinheit ausgelegt Den letzten Baustein des I4Copter Steuerger ts stellt entsprechend die ebenfalls anwendungsspe zifisch entwickelte Motorplatine dar Sie dient in erster Linie der leistungstechnischen Steuerung der vier Antriebsmotoren deren Phasen durch einen Frequenzumrichter elektronisch kommu tiert werden m ssen Fis09 Hierf r kommen die kommerziellen Leistungsregler Mikrokopter BLControl v2 zum Einsatz Daneben stellt die Aktoreinheit einen elektronischen Schalter f r die Spannungsversorgung der Antriebsmotoren zur Verf gung Dieser dient als Not Aus Schalter um das Flugger t in Abh ngigkeit von der Schwere einer Fehlersituation kontrolliert stillzulegen Die Motorplatine verh lt sich dem zentralen TriCore Rechensystem gegen ber als intelligen ter Aktor welcher seinerseits die Ansteuerung der einzelnen Frequenzumrichter bernimmt Die Steuerung der Leistungselektronik erfolgt dabei durch ein eigenes Rechensystem in Form eines 32 Bit ARM Cortex M3 Mikrocontrollers welcher seine Stellwerte durch den SPI Kommunikations bus erh lt Diese Auslegung erm glicht zum einen die in Kapitel 3 4 2 eingef hrte Erweiterung Hersteller Webseite www mikrokopter de ucwiki BL Ctr1_2 0 Abruf 13 03 2014 110 KAPITEL 5 FALLBEISPIEL 4COPTER von CORED auf der Ausgangsseite Zum anderen l sst sich der I4Copter so um eine weitere Aktor einheit zu einem Octocopter erweitern In dieser Konfiguration werden je zwei Motoren koaxial an
39. Ausrei ern an den Grenzen zur sicheren Fehlererkennung Die Spanne der Ausrei er veranschaulicht die in diesem Bereich auftretende Streuung Minimum Maximum welche die Vorhersage teilweise deutlich bersteigt Der Ausschnitt zeigt zudem die Einordnung der individuellen Messwerte nach der Zahl der Bitfehler am Beispiel der Super As vereinfachten Darstellung der Messergebnisse f r 16 Bit Primzahlen als Codierungsschl ssel dar ohne den Verlust der Allgemeinheit erlaubt die geringere Anzahl an Messpunkten eine deutlich intuitivere Visualisierung Der Graph zeigt f r jeden Schl ssel A die experimentell ermittel ten Fehlerwahrscheinlichkeiten f r 1 fach bis 8 fach Bitfehler Die Vergr erung illustriert die einzelnen Messpunkte am Beispiel der Super As aus Kapitel 4 2 2 Grunds tzlich g nstig ist die regul re Leistung der Codes Diese bezieht sich auf eine hohe Zahl von Bitfehlern im Bereich von sieben und acht Bits welche oberhalb der Hamming Mini maldistanz liegen und einer deutlichen berbeanspruchung des jeweiligen Codes entsprechen Unabh ngig von dem gew hlten Codierungsschl ssel liegt die Restfehlerwahrscheinlichkeit ber den gesamten Wertebereich unterhalb der allgemeinen Vorhersage von p q und ist dar ber hinaus weitgehend frei von Streuungen und Schwankungen die Messpunkte ergeben n herungsweise eine glatte Kurve Aus dieser Beobachtung heraus verbessern gr ere Codierungsschl ssel die Erkennungsleistung wie erwar
40. C Hoffmann M Klaus T Rebhan A und Schr der Preikschat W 2012a Taking Control Modular and Adaptive Robotics Process Control Sys tems In P Payeur und P Ben Tzvi Hg Proceedings of the 10th IEEE International Symposium on Robotic and Sensors Environments ROSE 712 Seiten 55 60 IEEE Computer Society Press Washington DC USA ISBN 978 1 4673 2705 3 doi 10 1109 ROSE 2012 6402632 Zitiert auf den Seiten 105 106 107 und 132 Ulbrich P Franzmann F Scheler F und Schr der Preikschat W 2012b Design by Un certainty Towards the Use of Measurement Uncertainty in Real Time Systems In Procee dings of the 7th International Symposium on Industrial Embedded Systems SIES 12 Seiten 275 278 IEEE Computer Society Press Washington DC USA ISBN 978 1 4673 2685 8 doi 10 1109 SIES 2012 6356595 Ulbrich P Hoffmann M Kapitza R Lohmann D Schr der Preikschat W und Schmid R 2012c Eliminating Single Points of Failure in Software Based Redundancy In Proceedings of the 9th European Dependable Computing Conference EDCC 12 Seiten 49 60 IEEE Compu ter Society Press Washington DC USA ISBN 978 1 4673 0938 7 doi 10 1109 EDCC 2012 21 Zitiert auf Seite 107 Hoffmann M Ulbrich P Dietrich C Schirmeier H Lohmann D und Schr der Preikschat W 2014 A Practitioner s Guide to Software based Soft Error Mitigation Using AN Codes In Proceedings of the 15th IEEE International Symposi
41. Elemente der Signalverarbeitung und Regelung f r die Ausf hrungsumgebung auch zug nglich sein Die Modularisierung der aus Sicht des Betriebssystems typischerweise zusammenh ngenden monolithischen Regelungsanwendung ist daher der n chste Schritt 6 3 1 Entwurfskonzept Die Modularisierung von Regelungsanwendungen stellt im Allgemeinen kein grundlegendes Pro blem dar Sie steht jedoch nicht im Mittelpunkt des g ngigen Regelungsentwurfs wie das Fall beispiel der Fluglageregelung des I4Copters anschaulich zeigt Die Ursachen liegen in der typi scherweise ganzheitlichen Problembetrachtung welche eine gemeinsame zeitliche Basis f r die optimale Abstimmung der regelungstechnischen Aktivit ten anstrebt KGO2 AW11 Entgegen diesem g ngigen Vorgehen untergliedert CORED CONTROL den Regelungsentwurf in logische Schichten Im Umkehrschluss zu der von der Systemebene bereitgestellten anwen dungsgewahren Schnittstelle zielt die im Folgenden beschriebene Einteilung auf eine systemge wahre Erweiterung der Regelungsanwendung ab Hierf r sind gegebenenfalls ber den bestehenden Entwurf hinaus zus tzliche Elemente f r die Kompensation des zeitlichen Versatzes notwendig beispielsweise in Form von Totzeitgliedern Die hiervon betroffenen Teile befinden sich in der 6 3 MODULARISIERUNG UND REGELUNGSARCHITEKTUR 131 m F Ada
42. Fall ist der Einsatz von Stellvertretern engl proxy eine g ngige Vorgehensweise zur Anbindung regul rer Eing nge an die CORED Schutzdom ne Ein Stellvertreter f hrt alle f r eine korrekte Erfassung der Eingangs daten notwendigen nicht replizierbaren Aktionen durch Ein charakteristisches Beispiel ist das Auslesen von Hardwareregistern Der Wert eines Analog Digital Wandlers engl analog to digital converter wird typischerweise kontinuierlich durch die Hardware aktualisiert und l sst sich daher nicht mehrfach abfragen Folglich liest der Stellvertreter den Eingang einmalig und codiert die Daten direkt im Zuge des Auslesens bevor diese an die Replikate verteilt werden In hnlicher Weise lassen sich beispielsweise auch komplexere Treiber oder Systemaufrufe an die Replikation ankoppeln Insgesamt haben Stellvertreter den Vorteil dass sie universell einsetzbar sind und kein deterministisches Verhalten der eigentlichen Datenquelle erfordern Demgegen ber ist eine Feh lererkennung erst ab dem Punkt der Codierung gegeben Insbesondere bei seiteneffektbehafteten Quellen stellt die sofortige Codierung der Daten beim Erreichen der Schutzdom ne jedoch die einzige Art der Ankopplung dar Die Bereitstellung geeigneter Stellvertreter f r die Eing nge des Systems wie auch f r die von der Anwendung ben tigten lesenden Systemaufrufe ist daher ein integraler Bestandteil der CoRED Dienstschicht vgl Kapitel 3 7 1 Replikation In bestimmten F llen
43. Hardware abgeleitet beziehungsweise abgeschdaizt zeitlichen Eigenschaften und den Modellannahmen der Regelungsanwendung gegeben Aufgrund der Wechselbeziehungen zwischen der Zuverl ssigkeit und den zeitlichen Eigenschaften der An wendung ist die angestrebte Transparenz im Falle der Regelungsanwendungen nicht notwendiger weise gegeben Zur L sung dieses Problems bleibt letztlich nur die Minimierung der Abweichung zwischen den zeitlichen Annahmen der Regelungsanwendung und den tats chlichen Ausf hrungs bedingungen Ein m glicher Weg ist hierbei die starke berdimensionierung des Rechensystems um den zus tzlichen Rechenzeitbedarf auf ein ertr gliches Niveau zu senken Der im Rahmen die ser Arbeit verfolgte L sungsansatz zielt jedoch auf die Bereitstellung einer geeigneten Schnittstelle zwischen der Regelungsanwendung und der Ausf hrungsumgebung und somit den Austausch der notwendigen Eigenschaften ab Das Ziel dieses Kapitels ist daher eine weitergehende Betrachtung der Replikation von Rege lungssystemen und der sich hieraus ergebenden Probleme Zu diesem Zweck erfolgt zun chst eine erweiterte Problemanalyse zur Charakterisierung der Modellannahmen und Abweichungen sowie der generellen Struktur von Regelungsanwendungen in Kapitel 6 1 Darauf aufbauend zeigt Kapitel 6 2 die Erweiterung des CORED Ansatzes zu CORED CONTROL engl Combined Redun dancy for Control Applications und die damit einhergehende Einf hrung einer qualit tsgewahren A
44. N Pomeranz I und Cheng K 2002 Transient fault Recove ry Using Simultaneous Multithreading Proceedings of the 29th International Symposium on Computer Architecture ISCA 02 ISCA 02 Seiten 87 98 IE EE Computer Society Press Washington DC USA ISBN 0 7695 1605 X doi 10 1145 545214 545226 Zitiert auf Seite 32 Wappler U und Fetzer C 2007 Software Encoded Processing Building De pendable Systems with Commodity Hardware F Saglietti und N Oster Hg Proceedings of the 26th International Conference on Computer Safety Reliability and Security SAFECOMP 07 Seiten 356 369 Springer Verlag Heidelberg Ger many ISBN 978 3 540 75100 7 doi 10 1007 978 3 540 75101 4 34 Zitiert auf den Seiten 8 39 und 100 Wilkins D 2002 The bathtub curve and product failure behavior Reliability HotWire 21 Seite 17 Zitiert auf Seite 2 LITERATURVERZEICHNIS 161 WKWY07 WNT95 WP05 WORPO4 Yeh96 ZCM 96 ZL79 ZP04 Wang C Kim H Wu Y und Ying V 2007 Compiler Managed Software based Redundant Multi Threading for Transient Fault Detection Proceedings of the International Symposium on Code Generation and Optimization CGO 07 Seiten 244 258 Washington DC USA doi 10 1109 CGO 2007 7 Zitiert auf Seite 42 Wittenmark B Nilsson J und T rngren M 1995 Timing problems in real time control systems Proceedings of the American Control Conference Band 3
45. R repr sentiert Die Codierung ist dabei definiert als v v vmodA v R mit A gt 1 2 1 Die zur Verf gung stehenden Operatoren sind in Tabelle 2 1 aufgezeigt Von entscheidendem Nachteil ist hier die fehlende Unterst tzung f r Vergleichsoperatoren Ein Vergleich zweier Co deworttupel erfordert stets auch den Vergleich der ungesch tzten funktionalen Werte v und ist entsprechend anf llig f r transiente Fehler Folglich ist eine Codierung von Kontrollflussanwei sungen im Allgemeinen ausgeschlossen Residue Codes sind zwar in der Lage Daten und Berech nungsfehler vollst ndig zu erkennen alle weiteren Fehlerklassen werden jedoch gar nicht oder nur teilweise abgedeckt Insgesamt haben Residue Codes den Vorteil der systematischen Darstellung der Codew r ter Jedoch sind die l ckenhafte Fehlererkennung und der beschr nkte Redundanzbereich von gro em Nachteil f r die erzielbaren Fehlertoleranzeigenschaften Bekannte Implementierungen AGM 71 NN99 SKK 08 beschr nken sich auf Hardwarel sungen wobei eine softwarebasierte Realisierung grunds tzlich m glich ist Sch11b AN Code Die Codierung mittels AN Codes ist ebenfalls vergleichsweise simpel und beruht auf der namensge benden Multiplikation von Codierungsschl ssel A mit einer Zahl N engl number in diesem Fall der Variablen v G ltige Codew rter sind entsprechend stets Vielfache von A und definiert durch v A v mit A gt 1 2 2 38 KAPITEL 2 SOFTWAREBASIERTE FEHLER
46. Regelungsanwendung unbekannt ist Die maximale Ausf hrungszeit WCET umfasst folglich alle m glichen Teilaufgaben der Regelung unabh ngig davon ob diese tats ch lich in einem Zyklus der Regelung zusammenfallen Eine pessimistische Absch tzung der Lauf zeiten und damit auch der Ablaufplanung ist jedoch problematisch Zum einen f hrt dies zu einer weiteren Vergr erung der Antwortzeit beziehungsweise der Zeitdauer d bis zur Ausga be des Stellwerts an den Aktor Zum anderen steigen durch die monolithische Umsetzung der Regelungsanwendung und die damit verbundene Gr e der Prozessinkarnationen die Fehlerer kennungslatenzen Letztlich erschwert die aus Sicht des Betriebssystems nicht zerlegbare Struktur der Regelungsanwendung eine Verfeinerung der Modellannahmen da kein direkter Zusammen hang zwischen den Modellelementen der Regelung und den Aufgaben des Echtzeitsystems bezie hungsweise deren Abbildung auf Prozessinkarnationen existiert Eine individuelle Zuordnung des zeitlichen Versatzes beispielsweise zu den Eing ngen ist daher nicht ohne weiteres m glich Monolithische Umsetzung der Regelungsanwendung Die naive Implementierung der Regelungsanwendung verschmilzt die zeitlichen Dom nen der einzelnen Teilaufgaben f r die Sensorik Regelung und Aktorik Dies kann zu einer deutlich pessimistischeren Absch tzung der maximalen Ausf hrungszeit und einer damit verbundenen zus tzlichen Vergr erung der zeitlichen Abst nde f hren Z
47. Seiten 1 10 Australian Robotics and Automation Association Inc Auckland New Zealand Zitiert auf den Seiten 107 und 3 Poledna S 1994 Replica determinism in distributed real time systems a brief survey Real Time Systems Journal 6 3 Seiten 289 316 ISSN 0922 6443 doi 10 1007 BF01088629 Zitiert auf Seite 40 156 LITERATURVERZEICHNIS Pra96 Pul01 PW72 Rao70 Rao74 Ray94 RCBS07 RCV 05a RCV 05b Reb12 RGO5 RHKSPO6 Pradhan D K 1996 Fault Tolerant Computer System Design 1 Auflage 550 Seiten Prentice Hall Upper Saddle River NJ USA ISBN 0 13 057887 8 Zitiert auf Seite 24 Pullum L L 2001 Software fault tolerance techniques and implementation Ar tech House Inc Norwood MA USA ISBN 1 58053 137 7 Zitiert auf Seite 60 Peterson W W und Weldon E J 1972 Error correcting codes 2 Auflage 572 Seiten MIT Press Cambridge MA USA ISBN 978 0 2621 6039 1 Zitiert auf den Seiten 36 97 und 98 Rao T R N 1970 Biresidue Error Correcting Codes for Computer Arithmetic IEEE Transactions on Computers C 19 5 Seiten 398 402 ISSN 0018 9340 doi 10 1109 T C 1970 222937 Zitiert auf Seite 39 Rao T R N 1974 Error Coding for Arithmetic Processors 1 Auflage 218 Seiten Academic Press Orlando FL USA ISBN 978 0 1258 0750 0 Zitiert auf den Seiten 34 36 und 97 Ray A 1994 Output feedback control under randomly varying
48. Seiten 2000 2004 IEEE Press New York NY USA ISBN 0 7803 2445 5 doi 10 1109 ACC 1995 531240 Zitiert auf Seite 125 Wang N J und Patel S J 2005 ReStore Symptom Based Soft Error Detection in Microprocessors Proceedings of the 35th International Conference on Dependa ble Systems and Networks DSN 05 Seiten 30 39 IEEE Computer Society Press Washington DC USA ISBN 0 7695 2282 3 doi 10 1109 DSN 2005 82 Zitiert auf Seite 32 Wang N Quek J Rafacz T und Patel S 2004 Characterizing the effects of transient faults on a high performance processor pipeline Proceedings of the International Conference on Dependable Systems and Networks DSN 04 Seiten 61 70 IEEE Computer Society Press Washington DC USA doi 10 1109 DSN 2004 1311877 Zitiert auf Seite 53 Yeh Y 1996 Triple triple redundant 777 primary flight computer Proceedings of the 1996 IEEE Aerospace Applications Conference Seiten 293 307 IEEE Computer Society Press Washington DC USA ISBN 978 0780331969 doi 10 1109 AERO 1996 495891 Zitiert auf den Seiten 5 25 32 und 123 Ziegler J Curtis H W Muhlfeld H Montrose C Chin B Nicewicz M Russell C A Wang W Y Freeman L B Hosier P LaFave L E Walsh J Orro J M Unger G J Ross J M O Gorman T Messina B Sullivan T Sykes A J Yourke H Enger T A Tolat V Scott T S Taber A H Sussman R J Klein W A und Wahaus C W 1996 IBM
49. Software Only Recovery Proceedings of the 36th International Conference on Dependable Systems and Networks DSN 06 Seiten 83 92 IEEE Computer Society Press Washington DC USA doi 10 1109 DSN 2006 15 Zitiert auf den Seiten 38 43 und 44 D bel B und H rtig H 2012 Who Watches the Watchmen Protecting Ope rating System Reliability Mechanisms Proceedings of the 8th International Work shop on Hot Topics in System Dependability HotDep 12 USENIX Association Berkeley CA USA Zitiert auf Seite 42 Dixit A Heald R und Wood A 2009 Trends from ten years of soft error experimentation Proceedings of the 5th Workshop on Silicon Errors in Logic System Effects SLSE 09 Zitiert auf Seite 6 DIN 40041 1990 DIN 40041 1990 12 Zuverlassigkeit Begriffe Deutsches Insti tut f r Normung Zitiert auf Seite 24 Duraes J und Madeira H 2002 Emulation of software faults by educated mutations at machine code level Proceedings of the 13th International Symposium on Software Reliability Engineering ISSRE 03 Seiten 329 340 IEEE Computer Society Press Washington DC USA ISSN 1071 9458 doi 10 1109 ISSRE 2002 1173283 Zitiert auf Seite 24 Dremel B 2008 Realisierung einer prototypischen Lagekontrolle f r einen Modell Quadrocopter Studienarbeit Technische Fakult t Friedrich Alexander Universit t Erlangen N rnberg Zitiert auf den Seiten 107 und 3 Dremel B 2011 Ein erw
50. Technical Conference Seiten 215 228 USENIX Association Berkeley CA USA ISBN 978 1 931971 68 3 Zitiert auf den Seiten 110 und 6 Limmer F 2011 Entwicklung und Konstruktion eines modularen robusten Tragwerks fiir einen Quadrokopter Bachelorarbeit Technische Fakultat Friedrich Alexander Universit t Erlangen N rnberg Zitiert auf den Seiten 107 und 3 Liu J W S 2000 Real Time Systems Prentice Hall PTR Englewood Cliffs NJ USA ISBN 0 13 099651 3 Zitiert auf den Seiten 71 und 72 Liggesmeyer P und Maeckel O 2001 Quantifying the Reliability of Embedded Systems by Automated Analysis Proceedings of the 31st International Conference on Dependable Systems and Networks DSN 01 Seiten 89 96 IEEE Computer Society Washington DC USA ISBN 0 7695 1101 5 Zitiert auf Seite 32 Lucchetti D Reinhardt S K und Chen P M 2005 ExtraVirt detecting and recovering from transient processor faults Proceedings of the 20th ACM Sympo sium on Operating Systems Principles SOSP 05 Seiten 1 8 ACM Press New York NY USA ISBN 1 59593 079 5 doi 10 1145 1095810 1118621 Zitiert auf Seite 41 Li X Shen K Huang M C und Chu L 2007 A Memory Soft Error Measure ment on Production Systems Proceedings of the 2007 USENIX Annual Technical Conference Seiten 1 14 USENIX Association Berkeley CA USA ISBN 999 8888 77 6 Zitiert auf den Seiten 76 und 87 Lamport L Shostak R und Pease M 1
51. auf Prozessinkarnationen abgebildet werden Dies erm glicht letztlich die Verbesserung der Fehlererkennungslatenz durch die Verkleinerung der Replikate Experimentelle Evaluation Um den Effekt der Modularisierung auf die erzielbare Regelg te zu untersuchen wurde der monolithische mit dem modularisierten Fluglageregler vergleichen Hierf r wurde der I4Copter in einen Teststand f r den Kippwinkel fixiert und das Verhalten auf eine sprunghafte nderung der F hrungsgr e f r den Winkel beobachtet In beiden F llen wurden hierbei die zeitlichen 6 5 ZUSAMMENFASSUNG 135 Zeit sek 25 20 l l 15 H l g l x c Ss 10 2 l l 5 H l l l 0 l 0 1 2 3 4 5 6 Sollwert Monolithischer Regler Modularisierter Regler Abbildung 6 4 Vergleich zwischen regul rer und gem Regelungsarchitektur modularisierter Fluglageregelung Vergleichende Messung der Fluglage des 4Copter in der kontrollierten Umgebung des Teststands Der monolithische Regler entspricht der regul r entworfenen und nachtr glich f r die Replikation angepassten Fluglageregelung aus Kapitel 5 1 2 Der modularisierte Regler zeigt den ge nderten Entwurf gem der CORED CONTROL Regelungsarchitektur Beide Varianten ber cksichtigen den zeitlichen Versatz Im modularisierten Fall wird dieser von den Sensortreibern durch Zeitstempel signalisiert beziehungsweise durch die Ratenanpassung in Messunsicherheit konvertiert Die Messung zeigt
52. bereits in Kapitel 4 2 nachgewiesene zuverl ssige Er kennung von Fehlern Ein darauf aufbauendes fehlertolerantes Verhalten erfordert wiederum die R ckw rtskorrektur bis zur letzten berpr fung der Codierung Die entsprechende Umsetzung ist hierbei fallspezifisch und h ngt in hohem Ma von den technischen Gegebenheiten und der Kommunikationsinfrastruktur ab Im konkreten Fall berpr ft der durch die CORED Dienstschicht bereitgestellte codierte SPI Nachrichtenversand die Korrektheit des Gewinners direkt im Anschluss an den finalen Mehrheitsentscheid Im Fehlerfall l sst sich dieser somit direkt wiederholen Die Kommunikation selbst stellt nun ihrerseits einen eigenst ndigen Fehlerbereich dar Fehler inner halb der SPI Treiber oder der eigentlichen bertragung lassen sich durch eine Verf lschung des Codeworts oder ein Ausbleiben desselben zuverl ssig erkennen und im Fehlerfall durch eine wie derholte bertragung beheben Neben der regul ren berwachung durch das Betriebssystem nutzt CORED hierf r einen Funktionsw chter Dieser wird entweder durch die Fehler berpr fung der TriCore Kommunikationseinheit oder durch eine entsprechende Signalisierung des Aktorsystems ausgel st und sieht in der Folge die erneute Durchf hrung der Nachrichten bertragung vor 5 3 2 Codierte Eingabe von Messwerten und Steuernachrichten Analog zu der Codierung der Ausg nge lassen sich auch die Eing nge des Rechensystems durch die arithmetische Codierung d
53. bestimmen und geeignet parametrieren Da diese zudem strikt voneinander isoliert ablaufen sind ungewollte Wechselwirkungen zwischen den Signaturen verschiedener CORED Komponenten und somit auch unerkannte Adressierungsfehler ausgeschlossen Um die differenzierenden Eigenschaften der Signaturen auch in der Gegenwart von transienten Fehlern sicherzustellen fasst CORED die Menge der notwendigen Signaturen daher wiederum als Code auf und nutzt entsprechend die Hamming Minimaldistanz zu dessen Optimierung F r die Signaturen des CORED Mehrheitsentscheiders vgl Kapitel 3 5 ergeben sich daher folgende Auswahlschritte Zun chst leitet sich die zu betrachtende Menge der Signaturen aus den drei Eingabevarianten Bx By und B sowie dem Gewinner B ayn ab Dessen Signatur weist vier m g liche Werte f r den Ausgang des Entscheids auf und setzt sich aus den Signaturen der Varianten zusammen Um negative Werte zu verhindern m ssen die Signaturen der Varianten zun chst die folgende Bedingung erf llen By lt By lt Bz Dar ber hinaus werden die drei Eingangssignaturen derart gew hlt dass die Hamming Minimaldistanz der insgesamt genutzten sieben Signaturen dem Abstand des gew hlten Codierungsschl ssels entspricht Es gelten daher einheitlich die auf der Hamming Distanz basierenden Auswahlkriterien sowohl f r die Schl ssel als auch f r die Signaturen F r die zuvor genannten Super As mit dp 6 erf llen zum Beispiel B 29868 By 23 835 und B
54. bietet sich auch die Replikation der Eing nge in Form temporaler Diversi t t und Informationsredundanz an Hierbei wird der Eingang mehrfach ausgelesen und vor der Weiterverteilung einem Mehrheitsentscheid unterzogen Diese Art der Eingangsreplikation schiebt die Grenzen der Fehlererkennung durch die redundante Erfassung der Eingangsdaten bis an die Datenquelle Letztlich entspricht dieses Vorgehen einer virtuellen Replikation der Quelle Wie schon f r die Replikate m ssen hierf r die selben Anforderungen hinsichtlich des Replikdetermi nismus des Eingangs gelten Dieser muss entsprechend in dem gegebenen Betrachtungszeitraum einen deterministischen Wert aufweisen und sich seiteneffektfrei abfragen lassen Ein typisches Beispiel sind Zustandsparameter die sich erst durch ein weiteres Voranschreiten der Ausf hrung ver ndern d rfen Nichtdeterministische Datenquellen Ungl cklicherweise erf llen in der Praxis die wenigsten Datenquellen diese Anforderungen an ein deterministisches Verhalten Ein typisches Beispiel stellen die f r die Regelung eingesetzten Sen soren dar Diese technischen Bauteile dienen der Erfassung von physikalischen oder chemischen Eigenschaften Fral0 und weisen eine inh rente Unsicherheit hinsichtlich der Messwertausgabe auf zum Beispiel in Form von Rauschen Abbildung 3 5 zeigt dies exemplarisch anhand eines Sensorsystems bestehend aus drei Gyroskopen Ein mehrfaches Abtasten eines Signaleingangs f hrt hier mit ho
55. das Problem der Mehrheitsfindung und Ausgabe mittels redundanter Maskierer nicht l sen l sst bleibt letztlich nur die Verbesserung der Zuverl ssigkeit des einfachen Mehrheitsentscheiders 52 KAPITEL 3 DER KOMBINIERTE REDUNDANZANSATZ CORED Fehlertoleranz von Eingang zu Ausgang Neben den Mehrheitsentscheidern existieren jedoch noch weitere Teile die sich nicht replizieren lassen Die entstehenden L cken im Redundanzbereich werden hierbei im Wesentlichen durch Datenfl sse innerhalb der replizierten Dom ne beziehungsweise durch Interaktionspunkte mit der Au enwelt verursacht Die initiale Replikation der Eingaben markiert den Startpunkt des Datenflusses durch die redun dante Ausf hrung Im Beispiel in Abbildung 3 2 ist dies der Replikator A engl replicator Da die Eingaben bei der asynchronen Replikation durch den zeitlichen Versatz voneinander abweichen k nnen agiert der Replikator als Stellvertreter engl proxy gegen ber der Au enwelt und verviel f ltigt die Eingaben auf die Replikate Im weiteren Verlauf der redundanten Ausf hrung erfolgt die Replikation der Ergebnisse auf die Replikate implizit durch den Maskierer beispielsweise zwischen den Bl cken B und C Da ein Versagen der Eingabereplikation im Allgemeinen nicht tolerierbar ist wird der Replikator wie schon der Mehrheitsentscheider blicherweise dem Perfektionskern zugeordnet Analog zu den Auswirkungen bei den Mehrheitsentscheidern dominiert und begrenzt die Zu
56. dass die schnellstm gliche Ausgabe der Stellwerte im Sinne des Regelungsentwurfs ist Dar ber hinaus hat die verz gerte Ausgabe keinerlei Einfluss auf die zeitlichen Abweichungen an den Eing ngen 6 1 2 Auswirkungen der Replikation Grunds tzlich entspricht die in Kapitel 3 7 2 vorgeschlagene statische Komposition einer CORED Anwendung der Forderung eines m glichst modellgetreuen Entwurfs im Sinne eines taktgesteuer ten Echtzeitsystems Die Steigerung der Zuverl ssigkeit steht durch die Vervielfachung der Laufzeit jedoch in Wechselwirkung mit der Rechtzeitigkeit Ein Extremfall stellt die berschreitung der vorgegebenen Regelperiode dar Hierbei k nnen die gesetzten Termine nicht mehr eingehalten werden und das replizierte Aufgabensystem verliert seine Planbarkeit In diesem Fall ist die Aus legung des Rechensystems schlicht unzureichend Unabh ngig davon hat die Replikation jedoch in jedem Fall negative Auswirkungen auf die Figenschaften der Regelung wie sie bereits in dem Eingangsbeispiel aus Abbildung 6 1 exemplarisch aufgezeigt wurden Die Art und Schwere der Be einflussung der Regelg te ist dabei hochgradig anwendungs und systemspezifisch Sie korreliert im Allgemeinen jedoch mit dem Grad der Diskrepanz zwischen regelungstechnischem Modell und Ausf hrungsrealit t SC95 T r98 Relevante zeitliche Eigenschaften Neben der eigentlichen Regelperiode sind f r den g ngigen zeitdiskreten Reglerentwurf zwei weitere Eigenschaften d
57. der eingesetzten Fehlertoleranzma nahmen Her steller geben die Fehlerraten daher h ufig gesondert nach SDC und DUE an Unerkannte Datenfehler Kritische Fehlerstellen Unerkannte Datenfehler SDC treten bei fehlender beziehungsweise unzureichender Redun danz auf und stellen damit einen wichtigen Indikator f r kritische Fehlerstellen in Fehlertole ranzma nahmen dar Entsprechend besitzen sie eine besondere Relevanz bei der Bewertung von deren Fffektivit t Fehlermodell Symptomatische Auswirkungen transienter Fehler auf der Softwareebene Ob und in welchem Umfang softwarebasierte Fehlertoleranz unerkannte Datenfehler zul sst h ngt von der durch sie bereitgestellten Fehlerabdeckung ab Die Fehlererkennung basiert dabei stets auf den Strukturelementen der Implementierungsebene und den dort erkennbaren symptomati schen Auswirkungen transienter Fehler Die elementarsten Strukturelemente der Software stellen die Anweisungen der Maschinensprache dar Daher treten die Symptome transienter Fehler aus 2 1 TERMINOLOGIE UND GRUNDLAGEN 23 Sicht der Software initial auf der Instruktionsebene zutage Diese lassen sich unabh ngig von der konkreten Auspr gung der Hardware in drei grundlegende Symptome einteilen Operator Operanden und Berechnungsfehler For89 ld a mema b mem_b ld a mema b mem_b add c a b add c a b c a b st mem_c c st mem_c c Fehlerfreier Code Berechnungsfehler ld a mema
58. der konkreten Hardwareplattform Abschlie end wirft Kapitel 5 3 einen Blick auf die in 105 106 KAPITEL 5 FALLBEISPIEL 4COPTER Steuerger t _WLAN Antenne it i 4 i is 7 gt 2 Technische Daten Spannweite 640 mm Systemeigenschaften Gewicht 1 280g Leistung 770W Schub 36N v Softwarebasierte Fluglageregelung Automatische H henregelung e Autonomes Starten und Landen Abbildung 5 1 CORED Fallstudie Der 4Copter Demonstrator f r sicherheitskritische eingebettete Systeme Der l4Copter ist ein senkrecht startendes unbemanntes Luftfahrzeug In der Konfiguration mit vier Propellern wird dieser h ufig Quadrocopter genannt Bei diesem Typ ist durch das inh rent instabile Flugverhalten eine kontinuierliche Regelung der Fluglage unumg nglich Diese erfolgt beim l4Copter rein softwarebasiert durch eine entsprechend sicherheitskritische Fluglageregelung In der Mitte befindet sich das zentrale Steuerger t aus Rechensystem Sensorik und Leistungselektronik vgl Abbildung 5 2 Kapitel 3 4 aufgezeigte Erweiterbarkeit der Fehlerkennung Hierf r wird der Redundanzbereich der Fluglageregelung ber die Systemgrenzen hinaus auf die Aktorik und Sensorik ausgedehnt 5 1 Das l4Copter Luftfahrzeug Der IACopter ist ein senkrecht startendes und landendes unbemanntes Flugger t In der in Ab bildung 5 1 dargestellten Konfiguration mit vier Propellern werden diese Luftfahrzeuge h ufig auch als Qua
59. die R ckf hrung des hierdurch entstehenden zeitlichen Versatzes Die darauf aufbau ende Modularisierung in die Schichten der CORED CONTROL Regelungsarchitektur sorgt im Umkehrschluss f r eine systemgewahre Regelungsanwendung Durch die feingranulare Abbildung der regelungstechnischen Aufgaben auf Prozessinkarnationen wird zudem die Fehlererkennungslatenz reduziert Der I4Copter stellt schlie lich ein forderndes und realistisches Fallbeispiel f r eine sicherheits kritische Regelungsanwendung dar Sein Steuerger t wurde spezifisch f r die Evaluation entsprechender Anwendungsszenarien entwickelt Dar ber hinaus stehen mit dem intelli genten Aktorsystem und dem barometrischen Sensorknoten zwei codierte Peripheriesysteme zur Verf gung Die Relevanz der Anwendung zeigt sich in dem ber die Verwendung im Rah men dieser Arbeit hinausgehenden Einsatz des I4Copters als Fallstudie in einer ganzen Reihe weiterer Forschungsprojekte an der Friedrich Alexander Universit t Erlangen Ntirnberg 140 KAPITEL 7 ZUSAMMENFASSUNG UND AUSBLICK 7 3 Schlussfolgerungen Im Allgemeinen lassen sich die folgenden wesentlichen Schlussfolgerungen aus den Ergebnissen und Erkenntnissen dieser Arbeit ziehen Zuverl ssige softwarebasierte Fehlertoleranz ist m glich Die Voraussetzung hierf r ist jedoch das Vorhandensein von Redundanz in jedem Schritt der Ausf hrung Unter dieser Bedingung lassen sich alle transienten Fehler erkennen die sich in den Strukture
60. die tats chliche Ausgabe notwendigen Epilog aus zum Beispiel durch Setzen des entsprechenden Ausgaberegisters der Hardware oder die bergabe an einen schreibenden Systemaufruf Neben der fallspezifischen Implementierung des Stellvertreters dient die CORED Dienstschicht vgl Kapitel 3 7 1 wiederum der Emulation der g ngigen Systemschnitt stellen und Treiber Codierter Ausgang Eine direkte Ausgabe der Ergebnisse am Ende der replizierten Ausf hrung ist in der Regel nicht zweckm ig da hiermit sowohl die Konsolidierung wie auch die Fehlererkennung durch den Mehrheitsentscheider entfallen w rde Um dennoch eine Fortf hrung der Fehlererkennung zu er m glichen stellt CORED analog zu den codierten Eing ngen auch codierte Ausg nge zur Verf gung Uber die Verkn pfung von CORED Anwendungen hinaus l sst sich hiermit der Redundanzbereich ber die Grenzen der eigenen Anwendung und sogar des Rechensystems erweitern So kann bei spielsweise der Schutz vor transienten Fehlern bis zu den Aktoren erhalten bleiben indem die Stellwerte der Regelung codiert an diese bertragen werden Ein Aktor kann somit die Korrekt heit des Ergebnisses sowie der Mehrheitsentscheidung an sich eigenst ndig pr fen und den Wert erst kurz vor seiner tats chlichen Verwendung decodieren Dieses Vorgehen l sst sich neben der Peripherie auch auf verteilte Echtzeitsysteme im Allgemeinen anwenden 3 5 Zuverl ssige Mehrheitsentscheider Die technische Umsetzung eine
61. distributed delays Guidance Control and Dynamics 17 4 Seiten 701 711 Zitiert auf Seite 125 Rao R Chopra K Blaauw D und Sylvester D 2007 Computing the Soft Error Rate of a Combinational Logic Circuit Using Parameterized Descriptors IEEE Transactions on Computer Aided Design of Integrated Circuits and Systems 26 3 Seiten 468 479 ISSN 0278 0070 doi 10 1109 TCAD 2007 891036 Zitiert auf Seite 53 Reis G Chang J Vachharajani N Mukherjee S Rangan R und August D 2005 Design and evaluation of hybrid fault detection systems Proceedings of the 32nd International Symposium on Computer Architecture ISCA 05 Seiten 148 159 IEEE Computer Society Press Washington DC USA ISSN 1063 6897 doi 10 1109 ISCA 2005 21 Zitiert auf den Seiten 43 und 44 Reis G Chang J Vachharajani N Rangan R August D und Mukherjee S 2005 Software controlled fault tolerance ACM Transactions on Architecture and Code Optimization TACO 05 2 4 Seiten 366 396 ISSN 1544 3566 doi 10 1145 1113841 1113843 Zitiert auf Seite 43 Rebhan A 2012 Entwicklung einer zustandsbasierten Fluglageregelung fiir einen Quadrokopter Bachelorarbeit Technische Fakult t Friedrich Alexander Universit t Erlangen N rnberg Zitiert auf den Seiten 107 und 3 Rosenblum M und Garfinkel T 2005 Virtual machine monitors current tech nology and future trends Computer 38 5 Seiten 39 47 ISSN 0018 9162 do
62. eine m glichst l ckenlose Abdeckung der zu sch tzenden Anwendungen zu erreichen Zu diesem Zweck f hrt dieses Kapitel zun chst in die Grundlagen vgl Kapitel 2 1 der soft warebasierten Fehlertoleranz ein und kl rt die Frage an welchen Stellen sich transiente Fehler manifestieren und wie sich diese auf die Strukturelemente der Software auswirken Darauf auf bauend bestimmt die eingesetzte Redundanz ob und in welchem Umfang Fehler erkannt und behandelt werden k nnen Die unterschiedlichen Fehlerfolgen stellen dabei einen wichtigen Indi kator f r kritische Fehlerstellen dar und f hren letztlich zu einem entsprechenden Fehlermodell als Grundlage f r die Bewertung der eingesetzten Fehlertoleranz Darauf aufbauend folgt eine 19 20 KAPITEL 2 SOFTWAREBASIERTE FEHLERTOLERANZ Ursache Auswirkung gutartiger Defekt int regelschritt v Kein Effekt ann Ben sehsorwert 0 sensorwert wird berschrieben 3 sensorwert leseSensor b sartiger Defekt 4 4 X Fehler intern ger T5 int stellwert aer eaaa verf lscht sensorwert ausgel st durch fehlerhaften Wert 5 6 return stellwert 7 gt Fehlverhalten extern Fehler wird propagiert und sichtbar Programmausschnitt 2 1 Fehlersymptomatik Vom Defekt zum Fehlverhalten Transiente Hardwarefehler manifestieren sich auf Ebene der Software zun chst als Defekt engl fault Dieser kann gutartig sein und durch den weiteren Ablauf verdeckt werden oben Ande
63. experiments in soft fails in computer electronics IBM Journal of Research and Development 40 1 Seiten 3 18 ISSN 0018 8646 doi 10 1147 rd 401 0003 Zitiert auf Seite 3 Ziegler J und Lanford W 1979 Effect of cosmic rays on computer memories Science 206 4420 Seiten 776 778 ISSN 0036 8075 Zitiert auf Seite 3 Ziegler J und Puchner H 2004 SER History Trends and Challenges A guide for designing with Memory ICs Cypress Semiconductor Corporation Zitiert auf den Seiten 3 und 4 162 LITERATURVERZEICHNIS Abstract As technology scales hardware designs for embedded systems offer more performance and par allelism for the price of being less reliable Therefore soft error mitigation is one of the major challenges for safety critical applications and systems Soft errors occur randomly and induce temporary malfunctions of the hardware which have to be handled actively during execution The construction of reliable systems from unreliable components generally requires the in troduction of redundancy for example by means of structural replication Besides adding costly hardware redundancy virtually sacrificing the technology gain software based fault tolerance offers a selective and resource efficient alternative Although being a proven technique in general existing approaches still suffer from an incomplete coverage or significant residual error rates Single points of failure and gaps in the intended redundanc
64. f r den Einfluss der einzelnen Bausteine der Replikation wobei aus Gr nden der bersichtlichkeit die vereinfachte Darstellung R als die angenommene Zuverl ssigkeit f r einen Betriebszyklus der sicherheitskriti schen Anwendung verwendet wird Abbildung 3 1 links veranschaulicht die Auswirkungen der Replikation auf die Gesamtzu verl ssigkeit Rys eines Systems Diese entspricht in einem Einfachsystem der Zuverl ssigkeit eines Replikats Rs Rrep Im replizierten Fall R mr setzt sich die Gesamtzuverl ssigkeit zu sammen aus der Zuverl ssigkeit des Mehrheitsentscheiders R sowie der Wahrscheinlichkeit f r die korrekte Ausf hrung von mindestens zwei der drei Replikate LV62 Rime Ry IR 2Rrap gt 3 1 2 aus 3 Replikate Da die zus tzlichen Replikate ihrerseits eine potenzielle Fehlerquelle darstellen bertrifft die Zuverl ssigkeit des replizierten Systems die des Einfachsystems erst ab einer Replikatzuverl ssig keit von Ryep gt 0 5 Schnittpunkt in Abbildung 3 1 links Aufgrund der relativ geringen Fehlerra ten transienter Fehler kann von einer f r die Replikation sinnvollen Replikatzuverl ssigkeit von Rrep gt 0 9 ausgegangen werden Eine dieser Betrachtung zugrunde liegende Annahme ist jedoch die Unfehlbarkeit des Mehrheitsentscheiders R 1 Diese als inh rent fehlerfrei angenomme nen Teile des Systems werden als Perfektionskerne engl hardcore Ech90 bezeichnet siehe auch Abbildung 3 2 Bei d
65. gegen ber dem pauschalen Ansatz der RVM an Bedeutung Dies betrifft beispielsweise die Nutzung von Systemdiensten oder Hardwareperipherie Die Synchronisation erfolgt wiederum an definierten Grenzen blicherweise zu Beginn und Ende der Ausf hrung Ein h ufig genutztes Konzept f r die Realisierung der Replikation auf Betriebssystemebene ist der Einsatz einer Replikationsschicht Bre98 AVFKO2 SMR 07 SBM 09 DH12 Alternativ lassen sich die notwendigen Funktionen beispielsweise auch durch Techniken der aspektorientierten Programmierung AOP EFBO1 ein bringen ASB 08 Um den Mehraufwand f r die Prozessverwaltung durch das Betriebssystem einzusparen existieren weiterhin verschiedene Ans tze RM00 WKWY07 welche die spezifi schen Eigenschaften von SMT f higen Prozessoren engl simultaneous multithreading SMT zur Fehlerisolation ausnutzen um die Replikation mittels F den engl thread zu realisieren Diese Ans tze sind somit auf bestimmte Hardwarefunktionen angewiesen und zielen im Wesentlichen auf eine Optimierung der Leistungsf higkeit ab Aufgrund der direkten Korrelation zwischen sicherheitskritischer Anwendung und replizierba ren Prozessinkarnationen weist die Replikation auf Ebene des Betriebssystems sowohl ein hohes Ma an Selektivit t als auch eine passgenaue Abstimmung des Redundanzbereichs auf Dar ber hinaus lassen sich die Replikate in den regul ren Entwurfsprozess des Systems integrieren und bei spielsweise in der
66. hrungskontextes zu den schwerwiegenden Auswirkungen transienter Fehler welche sich erst durch die Sprungsignaturen des CORED Mehrheitsentscheiders aufdecken lassen 4 3 5 Erweiterte Betrachtung von Mehrfachbitfehlern Die grundlegende Evaluation des CORED Mehrheitsentscheiders mittels Einzelbitfehlern zeigt die bereinstimmung zwischen dem Entwurf und der technischen Realisierung Dar ber hinaus l sst sich die arithmetische Codierung jedoch nicht an ihre Leistungsgrenze bringen da alle sinnvollen Codierungsschl ssel ausser 2 eine minimale Hamming Distanz von mindestens zwei aufwei sen Einzelbitfehler werden daher in jedem Fall erkannt Erst die erweiterte Betrachtung von Mehrfachbitfehlern erm glicht eine Analyse der Codierungsparameter auf der Befehlssatzebene Die Leistungsf higkeit des FAIL Werkzeugs erlaubte entsprechende Experimente trotz des rasant wachsenden Fehlerraums berpr fung der Hamming Distanz auf der Befehlssatzebene Da eine ganze Reihe von Codierungsschl sseln eine geringe Hamming Minimaldistanz von zwei aufweisen erlauben bereits Doppelbitfehler die berpr fung der Auswirkungen eines schlecht gew hlten As In einem ersten Schritt wurde die Fehlerinjektion daher auf die Klasse der Dop pelbitfehler erweitert Der sich in diesem Fall ergebende Fehlerraum kann durch FAIL auf eine handhabbare Zahl von 120 720 effektiven Fehlern reduziert werden Daher ist die vollst ndige Abdeckung des Fehlerraums abermals geg
67. in Kapitel 4 2 herangezogene Konzept der Hamming Distanz d vgl Exkurs Seite 80 spielt im Allgemeinen eine entscheidende Rolle f r die in der Datenkommunikation eingesetzte Codierungstheorie Ham80 Bis zu diesem Punkt konzentrierte sich die gesamte Betrachtung und Evaluation der Effektivit t der Codierung daher auf die Hamming Minimaldistanz der eingesetzten arithmetischen Codes In der Literatur wird jedoch h ufig die von Peterson PW72 eingef hrte Arithmetische Distanz engl arithmetic distance d als ein geeigneteres Ma f r die Betrachtung der arithmetischen Codierung von Berechnungen herangezogen Rao74 MS09 SMM10 BGM12 Die Distanz entspricht wiederum der f r die Mutation eines g ltigen Codewortes in ein anderes g ltiges Codewort notwendigen Fehlerzahl Im Unterschied zum Hamming Abstand leitet sich die arithmetische Distanz jedoch aus der dezimalen anstelle der bin ren Darstellung der Code w rter ab Das Ziel dieser ge nderten Betrachtungsweise ist die explizite Ber cksichtigung von Berechnungen beziehungsweise deren Auswirkungen auf den Abstand zwischen Codew rtern Ab bildung 4 7 veranschaulicht diesen Zusammenhang am Beispiel einer Addition Ein Einzelbitfehler in den Eingabedaten kann sich durch die bei der Addition auftretenden bertr ge engl carry zwischen Bitpositionen zu einem Mehrfachbitfehler in der entstehenden Summe entwickeln Die arithmetische Distanz modelliert daher das Verhalten eines bin ren Addiere
68. kon kreten Beispiel wird c f lschlicherweise an die Speicheradresse mem_y geschrieben In der Folge weist der Operand c einen veralteten Wert auf 24 KAPITEL 2 SOFTWAREBASIERTE FEHLERTOLERANZ Komplexere Fehlermuster lassen sich grunds tzlich durch Kombination der genannten Sympto me zum Beispiel als Folge von Operator und Operandenfehlern nachbilden Die diesem Fehlermodell zugrunde liegende Annahme ist die immanente Beeinflussung der Programmausf hrung durch b sartige Defekte Durch die Fehlerfortpflanzung ist es dabei uner heblich ob ein transienter Fehler direkt auf den Prozessor wirkt und dort einen internen Defekt ausl st oder ob es sich um ein Fehlverhalten einer externen Komponente handelt zum Beispiel dem Speichersubsystem Entsprechend kann das gesamte Fehlermodell auch in andere Betrach tungsebenen berf hrt werden So werden beispielsweise Fehler auf der Ebene der Hochsprache C in Zuweisungs Pr f Schnittstellen und algorithmische Fehler klassifiziert DMO2 Einzelfeh ler in den Strukturelementen der Hochsprache lassen sich hierbei auf Fehler beziehungsweise Fehlerfolgen der Instruktionsebene abbilden Im Allgemeinen lassen sich Fehlermodelle unter schiedlicher Ebenen ineinander berf hren GRRVO6a Das Fehlermodell auf Instruktionsebene eignet sich aufgrund seiner Unabh ngigkeit von der eingesetzten Hochsprache und der berschaubaren Zahl an Fehlerklassen besonders f r die weitere Betrachtung verwandter A
69. ndige Fehlerbereiche Ausgehend von der replizierten Ausf hrung der Anwendungskomponenten erweitert CORED den Redundanzbereich schrittweise durch eine angepasste arithmetische Codierung der Eingangsreplikation vgl Kapitel 3 4 sowie der gesamten Datenfl sse zwischen den Replikaten und zu den Ausg ngen Durch den Entwurf zuverl ssiger Mehrheitsentscheider vgl Kapitel 3 5 lassen sich schlie lich die verbleibenden nicht replizierbaren Teile des Systems mit entsprechender Fehlertoleranz versehen In der Summe er geben die verschiedenen und sich berlappenden Redundanzbereiche aus Replikation und arith metischer Codierung einen vollst ndigen und zusammenh ngenden Redundanzbereich von den Eing ngen der sicherheitskritischen Anwendung bis zu deren Ausg ngen CORED eliminiert letzt lich die kritischen Fehlerstellen vollst ndig und bietet damit das technische R stzeug f r eine gezielte und systematische Beeinflussung der Zuverl ssigkeit durch softwarebasierte Redundanz Replikation F r die Replikation nutzt CORED die durch das Betriebssystem bereitgestellte partielle Virtuali sierung der Hardware um die geforderten r umlichen und zeitlichen Isolationseigenschaften der Prozesse zu erreichen Im Zuge der Replikation werden die Prozessinkarnationen der Anwendung vervielf ltigt wobei sich deren Art und Umfang nach den in Kapitel 3 2 2 genannten Anforde rungen des Systemmodells richtet Die entstehenden Replikate besitzen insbesondere dediz
70. the 30th International Sym posium on Computer Architecture ISCA 03 Seiten 98 109 IEEE Computer Socie ty Press Washington DC USA ISSN 1063 6897 doi 10 1109 ISCA 2003 1206992 Zitiert auf Seite 32 Hamming R W 1950 Error detecting and error correcting codes Bell System Technical Journal 29 2 Seiten 147 160 Zitiert auf den Seiten 6 26 36 78 und 80 Hamming R W 1980 Coding and information theory Prentice Hall Englewood Cliffs NJ USA ISBN ISBN 0 13 139139 9 Zitiert auf den Seiten 75 und 97 Hansen P 2001 Classic Operating Systems from Batch Processing to Dis tributed Systems 1 Auflage 597 Seiten Springer New York NY USA ISBN 978 0 387 95113 3 Zitiert auf Seite 1 Hardung B 2006 Optimisation of the Allocation of Functions in Vehicle Net works Shaker Verlag ISBN 978 3 8322 5687 6 Zitiert auf Seite 9 Hoffmann M Dietrich C und Lohmann D 2013 dOSEK A Dependable RTOS for Automotive Applications Proceedings of the 19th International Symposi um on Dependable Computing PRDC 13 IEEE Computer Society Press Washing ton DC USA Fast abstract Zitiert auf Seite 141 Heigl M 2011 Entwicklung und Konstruktion eines Leichtbau Tragwerks fiir einen Quadrokopter Bachelorarbeit Technische Fakult t Friedrich Alexander Universit t Erlangen N rnberg Zitiert auf den Seiten 107 und 3 Hennebert C und Guiho G 1993 SACEM A fault tolerant system for tra
71. und bedingten Verzweigungen Im Falle einer qualifizierenden Mehrheit 2 aus 3 wird eines der mehrheitsbildenden Ergebnisse ausgew hlt und als Gewinner win zur ckgegeben Ist keine Entscheidung m glich wird ein erkannter nicht behebbarer Fehler DUE signalisiert Trotz des einfachen Aufbaus und der inh renten Redundanz sind die Auswirkungen transienter Fehler auf den Mehrheitsentscheider signifikant Im Vorgriff auf die experimentelle Evaluation in Kapitel 4 erweisen sich ber 20 Prozent aller effektiven Fehler als schwerwiegend und f hren zu einem Fehlerverhalten des ungesch tzten Mehrheitsentscheiders sowie unerkannten Datenfehlern Das grundlegende Konzept des CORED Ansatzes ist daher die Bereitstellung eines zuverl ssigen Mehrheitsentscheiders engl dependable voter welcher in der Lage ist die Mehrheitsbildung auf codierten Werten durchzufiihren ohne den Schutz der Codierung zu verlieren 3 5 1 Arithmetische Codierung Vergleichsoperatoren F r die Umsetzung eines solchen zuverl ssigen Mehrheitsentscheiders ist zun chst die arithmeti sche Codierung der Funktion vote aus Programmausschnitt 3 2 und insbesondere der enthalte nen Vergleichsoperatoren und bedingten Verzweigungen notwendig Kontrollflussabhangige Signaturanpassung Forin For89 schl gt hierf r die in Programmausschnitt 3 3 dargestellte codierte Variante einer bedingten Verzweigung vor In diesem Beispiel wird der uncodierte Programmausdruck links in ein
72. und weisen insgesamt einen konsistenten beobachtbaren Zustand auf Die zu replizierende Anwendung besitzt hierf r wohldefinierte Eing nge und Ausg nge weitergehende Abh ngigkeiten mit der Au enwelt sind ausgeschlossen Die Ablaufstruktur ist weiterhin zyklisch und statisch und folgt dem Muster Eingaben lesen Berechnungen durchf hren Ausgaben schreiben Die Berechnungen erfolgen dabei unabh ngig und erlauben einen unterbre chungsfreien Durchlauf engl run to completion der Replikate Setzt sich die Anwendung aus mehreren Teilaufgaben zusammen so entsprechen diese wiederum den gleichen Vorgaben Dieses Eingabe Verarbeitung Ausgabe Prinzip EVA stellt das vorherrschende Konzept f r den Entwurf von Regelungsanwendungen dar FPW97 KG02 W11 G ngige Entwurfswerkzeuge wie MATLAB SIMULINK generieren entsprechend dedizierten Programmcode f r das Setzen der Eing nge die Durchf hrungen des Regelschritts sowie die Ausgabe des Stellwertes am Ende der Berechnung Tew02 Entsprechend eignen sich Regelungsanwendungen im Allgemeinen f r die Replikation unter den zuvor genannten Annahmen System und Fehlermodell Es gelten die f r TMR Systeme bew hrten Grundannahmen VN56 Replikate weisen de dizierte Schnittstellen und einen unterbrechungsfreien Durchlauf auf Pro Fehlerbereich TMR Stufe treten jeweils nur Einzelfehler auf geeignete Isolationsma nahmen der Lauf zeitumgebung verhindern zudem die Fehlerausbreitung Dar ber hinau
73. und y berein so ergibt sich die Signatur Bg B By entsprechend der hierf r hinreichenden Vergleichsbedingung aus Gleichung 3 4 Die konstanten Signaturen B lassen sich zur bersetzungszeit vorausberech nen und dienen nachfolgenden Komponenten als Indikator f r den Ausgang des Entscheids sowie die entstandenen Mehrheitsverh ltnisse Die konstante Signatur Bg erlaubt die Bestimmung der Identit t des Gewinners jedoch nicht die berpr fung der Korrektheit der Mehrheitsentscheidung an sich Aus diesem Grund berechnet der CoRED Mehrheitsentscheider eine weitere dynamische Signatur Ban zur Laufzeit Diese wird nach demselben Muster wie Bg gebildet und basiert auf den Sprungentscheidungen die zu einem bestimmten Urteil gef hrt haben Stimmen wie im vorangegangenen Beispiel alleine x und ye berein so errechnet sich die dynamische Signatur durch B dyn Xc Yc Programmausschnitt 3 4 Zeile 8 Letztere wird durch die Funktion apply auf die ausgew hlte Variante angewendet Zeilen 5 8 12 und 15 bevor diese als der Gewinner win zusammen mit der statischen Signatur By zur ckgeliefert wird Zeilen 6 9 13 und 16 Die Mehrheitsentscheidung war fehlerfrei wenn die statische und die dynamische Signatur identisch sind Vereinfacht dargestellt wird der Mehr heitsentscheid wie blich mittels bedingter Spr nge hergestellt Vor der R ckgabe des Gewinners wird der an diesem Punkt erwartete Kontrollfluss in Form der hierf r notwend
74. 109 12 980007 Zitiert auf Seite 38 Ohlsson J und Rimen M 1995 Implicit signature checking Digest of Papers The 25th International Symposium on Fault Tolerant Computing FTCS 95 Seiten 218 227 IEEE Press New York NY USA doi 10 1109 FTCS 1995 466976 Zitiert auf Seite 32 Oh N Shirvani P und McCluskey E 2002 Control flow checking by software signatures IEEE Transactions on Reliability 51 1 Seiten 111 122 ISSN 0018 9529 doi 10 1109 24 994926 Zitiert auf Seite 32 Oh N Shirvani P und McCluskey E 2002 Error detection by duplicated instructions in super scalar processors IEEE Transactions on Reliability 51 1 Seiten 63 75 ISSN 0018 9529 doi 10 1109 24 994913 Zitiert auf Seite 43 Ozello P 1992 The coded microprocessor certification H H Frey Hg Procee dings of the International Conference on Computer Safety Reliability and Security SAFECOMP 92 Seiten 185 190 Pergamon Press Oxford UK ISBN 978 0 0804 1893 3 Zitiert auf Seite 78 Potop Butucaru D de Simone R und Talpin J P 2005 Embedded Sys tems Handbook Kapitel 8 The Synchronous hypothesis and Synchronous Lan guages Seiten 8 1 8 23 CRC Press ISBN 978 0 8493 2824 4 doi 10 1201 9781420038163 ch8 Zitiert auf den Seiten 10 und 125 Pounds P Mahony R und Corke P 2006 Modelling and Control of a Quad Rotor Robot Proceedings of the 2006 Australasian Conference on Robotics amp Automation
75. 109 DFTVS 1999 802887 Zitiert auf Seite 44 Rebaudengo M Reorda M Violante M und Torchiano M 2001 A source to source compiler for generating dependable software Proceedings of the 1st IEEE International Workshop on Source Code Analysis and Manipulation Seiten 33 42 IEEE Computer Society Press Washington DC USA doi 10 1109 SCAM 2001 972664 Zitiert auf Seite 44 Slegel T Averill R M I Check M Giamei B Krumm B Krygowski C Li W Liptay J MacDougall J McPherson T Navarro J Schwarz E Shum K und Webb C 1999 IBM s S 390 G5 microprocessor design IEEE Micro 19 2 Seiten 12 23 ISSN 0272 1732 doi 10 1109 40 755464 Zitiert auf Seite 32 Shye A Blomstedt J Moseley T Reddi V J und Connors D A 2009 PLR A Software Approach to Transient Fault Tolerance for Multicore Architectures IEEE Transactions on Dependable and Secure Computing 6 Seiten 135 148 ISSN 1545 5971 doi 10 1109 TDSC 2008 62 Zitiert auf Seite 42 Shin K und Cui X 1995 Computing time delay and its effects on real time control systems IEEE Transactions on Control Systems Technology 3 2 Seiten 218 224 ISSN 1063 6536 doi 10 1109 87 388130 Zitiert auf den Seiten 123 125 und 126 Schneider F B 1990 Implementing Fault tolerant Services Using the State Ma chine Approach A Tutorial ACM Computing Surveys 22 4 Seiten 299 319 ISSN 0360 0300 doi 10 1145 98163 98167 Zitiert auf
76. 118 KAPITEL 5 FALLBEISPIEL I4COPTER 187 4 us sowie die notwendigen Kontextwechsel durch das CiAO Betriebssystem je 1 9 us auf ber 571 Mikrosekunden In diesem realistischen Szenario liegen die durch CoRED verursachten Kosten dementsprechend bei unter einem Prozent und erscheinen daher auch im Kontext ressour cenbeschr nkter eingebetteter Systeme als grunds tzlich handhabbar Duplexbetrieb mit Bereitschaftsreplikat Aufgrund der vergleichsweise geringen Fehlerraten f r transiente Fehler stellt die Fehlerbehand lung und toleranz in der Regel den seltenen Ausnahmefall dar F r die in Kapitel 3 2 getroffene Einzelfehlerannahme gen gt der Einsatz von zwei Replikaten und der Vergleich auf bereinstim mung der Ausgaben f r die entscheidende Fehlererkennung Erst im Fehlerfall ben tigt der Rela tivtest des Mehrheitsentscheiders das Ergebnis des dritten Replikats f r die Entscheidungsfindung und Fehlerdiagnose Durch einen entsprechenden Duplexbetrieb mit einem Bereitschaftsreplikat engl duplex with stand by Ech90 lassen sich somit im Normalbetrieb rund ein Drittel der Kosten einsparen Die Anwendung dieses Verfahrens erfordert jedoch die anwendungsspezifische Erstellung ei nes geeigneten R cksetzpunkts in Form eines korrekten und aktuellen Replikatzustands Dieser wird im Fehlerfall f r die Aktualisierung des Bereitschaftsreplikats genutzt um anschlie end die Berechnung mit den gegenw rtigen Eingaben fortzusetzen Die Herau
77. 2 In absoluten Zahlen ben tigt der CoRED Mehrheitsentscheider auf der TriCore Plattform hingegen weniger Instruktionen 72 ver sus 92 Dies begr ndet sich in der deutlich h heren Zahl an allgemeinen Registern des TriCores welche sich insbesondere im Umgang mit der Vielzahl von Werten und Codierungsparametern vor teilhaft auswirkt und ein Umherschieben der Daten zwischen Registern und Speicher vermeidet Mehrheitsentscheider Einfach CoRed Instruktionen 28 72 Bin rcode Gr e 68 Byte 200 Byte Tabelle 5 1 TriCore Plattform Gr envergleich einfacher versus CORED Mehrheitsentscheider 32 Bit Codew rter Der zu evaluierende Fehlerraum wird von TRACE32 im Zuge des Testablaufs schrittweise durch eine vollst ndige Iteration ber die m glichen Injektionspunkte aufgespannt eine global ange legte Reduzierung des Fehlerraums ist damit jedoch nicht m glich Um die Zahl der Experimente dennoch in handhabbaren Grenzen zu halten wurde eine manuelle Einschr nkung des Fehler raums durchgef hrt Hierbei wurden analog zu dem Vorgehen von Rebaudengo und Reorda RR99 ungenutzte Register und Zeitr ume aus der Testfallgenerierung ausgeschlossen Diese Methode ist jedoch weit weniger effektiv als die systematische Reduzierung in FAIL weshalb statt der 30 000 Experimente f r die IA32 Kampagne nunmehr ber 230 000 Experimente f r die TriCore Plattform notwendig waren Nachteilig bei der Fehlerinjektion ber die Diagnoseschnitt stelle de
78. 4 r4 call voter r4 r4 r4 br recover 3 r4 r4 ld r3 r4 ld r3 r4 ld r3 r4 mov r3 r3 mov r3 r3 mul irs 3 r3 add rl r2 r3 mov r3 r3 add ri r2 r3 add r1 r2 r3 add rl r2 r3 add rios ran ra br faultDet rl rl add rl r2 r3 br recover 3 xrl rl br faultDet r2 r2 add rl r2 r3 br recover 3 r2 r2 st rl r2 call voter ri ri c1 st IlI ir2 call voter r2 r2 r2 st r1 r2 Programmausschnitt 2 3 Softwarebasierte Fehlererkennung durch Replikation auf Instruktionsebene Vergleich verschiedener Techniken am Beispiel einer Adressabstandsberechnung Register in den Kommentaren sind jeweils vordefiniert Die Replikation des Berechnungspfades erm glicht Fehlererkennung EDDI SWIFT CRAFT beziehungsweise Fehlertoleranz SWIFT R TRUMP Hierf r nutzt SWIFT R ein zweites Replikat w hrend TRUMP Pr fsummen Multiplikation mit 3 in ein Replikat einf gt Die Ans tze unterscheiden sich weiterhin im erzielbaren Redundanzbereich EDDI und CRAFT schlie en beispielsweise Speicher und Adressierung mit ein wobei CRAFT ein hybrider Ansatz und entsprechend auf spezielle Hardwareerweiterungen dup ld und dup st angewiesen ist Beispiele aus bzw nach OSMO2b RCV 05a CRAO6 Die Diskussion der folgenden compilerbasierten Ans tze orientiert sich beispielhaft an der in Programmausschnitt 2 3 dargestellten Berechnung eines Adressabstands Im Gegensat
79. 4COPTER LUFTFAHRZEUG 109 Mikrocontrollerplatine TriCore Rechensystem Das zentrale Rechensystem des I4Copters basiert auf einem 32 Bit Infineon TriCore TC1796 Mi krocontroller Inf07 Die TriCore Familie ist speziell f r den Einsatz in der Fahrzeugelektronik ausgelegt und findet beispielsweise in der Fahrwerks und Motorsteuerung Anwendung Der hier verwendete TC1796 bietet daher unter anderem eine Speicherschutzeinheit sowie eine Vielzahl von Schnittstellen f r die Anbindung von Sensorik und Aktorik Mit Blick auf die Fehlerraten f r transiente Fehler sind ffentlich bislang keine quantitativen Angaben verf gbar Technisch ist jedoch lediglich der interne Arbeitsspeicher des Rechensystems durch Parit tsbits gesch tzt Dar ber hinaus verweist der Hersteller bei sicherheitskritischen Anwendungen auf die Notwen digkeit zus tzlicher Ma nahmen auf Anwendungsebene HG13 Der TC1796 stellt somit eine praxisnahe Plattform f r den Einsatz des CORED Ansatzes dar Die in Abbildung 5 2 Mitte dar gestellte Mikrocontrollerplatine basiert auf der kommerziellen EasyRun Evaluationsplatine von HighTec Hig07 f r den TriCore TC1796 Sie beherbergt neben dem eigentlichen Mikrocontroller ein Mebibyte externen Arbeitsspeicher sowie eine 100 Mbit s Ethernet Schnittstelle Letztere dient in Kombination mit einer WLAN Br cke engl wireless local area network auf der Motorplatine zur Kommunikation mit der Basisstation Da die Inertial Sensorik wie b
80. 636 Miinchen Zitiert auf den Seiten 110 und 6 Aidemark J Vinter J Folkesson P und Karlsson J 2002 Experimental evaluation of time redundant execution for a brake by wire application Procee dings of the 32nd International Conference on Dependable Systems and Networks DSN 02 Seiten 210 215 IEEE Computer Society Press Washington DC USA doi 10 1109 DSN 2002 1028902 Zitiert auf den Seiten 42 47 und 48 145 146 LITERATURVERZEICHNIS Avi71 AW11 Bau05 BCS69 BDCDNPO3 BDF 03 BDGR97 BG97 BGM12 BKL89 BKL 10 Bla11 Avizienis A 1971 Arithmetic Error Codes Cost and Effectiveness Studies for Application in Digital System Design IEEE Transactions on Computers C 20 11 Seiten 1322 1331 ISSN 0018 9340 doi 10 1109 T C 1971 223134 Zitiert auf Seite 39 str m K J und Wittenmark B 2011 Computer Controlled Systems Theory and Design 3 Auflage 576 Seiten Dover Publications ISBN 978 0 4864 8613 0 Zitiert auf den Seiten 10 55 71 123 125 126 127 128 129 und 130 Baumann R C 2005 Radiation induced soft errors in advanced semiconductor technologies IEEE Transactions on Device and Materials Reliability 5 3 Seiten 305 316 Zitiert auf den Seiten 3 und 4 Bouricius W G Carter W C und Schneider P R 1969 Reliability modeling techniques for self repairing computer systems Proceedings of the 24th ACM Na tional Conferenc
81. 982 The Byzantine Generals Problem ACM Transactions on Programming Languages and Systems 4 3 Seiten 382 401 ISSN 0164 0925 doi 10 1145 357172 357176 Zitiert auf Seite 53 Luenberger D 1964 Observing the State of a Linear System IEEE Transactions on Military Electronics 8 2 Seiten 74 80 ISSN 0536 1559 doi 10 1109 TME 1964 4323124 Zitiert auf Seite 132 Lyons R und Vanderkulk W 1962 The Use of Triple Modular Redundancy to Improve Computer Reliability IBM Journal of Research and Development 6 2 Seiten 200 209 ISSN 0018 8646 doi 10 1147 rd 62 0200 Zitiert auf Seite 49 Mandelbaum D 1967 Arithmetic codes with large distance IEEE Transactions on Information Theory 13 2 Seiten 237 242 ISSN 0018 9448 doi 10 1109 TIT 1967 1054015 Zitiert auf den Seiten 39 und 98 Massey J L 1964 Survey of residue coding for arithmetic errors International Computation Center Bulletin 3 4 Seiten 3 17 Zitiert auf Seite 98 Mukherjee S Emer J und Reinhardt S 2005 The Soft Error Problem An Architectural Perspective Proceedings of the 11th IEEE International Symposium on High Performance Computer Architecture Seiten 243 247 IEEE Computer Society Press Washington DC USA ISSN 1530 0897 doi 10 1109 HPCA 2005 37 Zitiert auf den Seiten 22 und 53 154 LITERATURVERZEICHNIS MGO72 MHZA03 MKRO2 MKT 11 MM88 MS09 Muk08 MW79 MWEt03 NDO11 Mass
82. Ablaufplanung ber cksichtigen Demgegen ber konnten Messungen AVFKO2 jedoch auch L cken in dem entstehenden Redundanzbereich nachweisen die sich vorwiegend aus der Signalreplikation und den Mehrheitsentscheidern ergeben Replikation auf der Befehlssatzebene Transiente Fehler zeigen sich aus Sicht der Software initial in den Instruktionen der Befehlssatze bene Eine Replikation dieser Strukturelemente stellt somit den kleinsten gemeinsamen Nenner und die erste m gliche Verteidigungslinie dar Der Redundanzbereich ergibt sich in diesem Fall aus den replizierten Instruktionen beziehungsweise Verarbeitungsstr men engl processing stream Die Replikation kann dabei prinzipiell auf beliebige Teile der Software angewendet werden und einzelne Berechnungen Funktionen Anwendungen oder auch das gesamte System umfassen 2 2 VERWANDTE ARBEITEN 43 Original Code EDDI CRAFT Hybrid HW SW Nordefiniert ZI 2 02 74 74 IE W202 4 Fa r2 Wert r4 Adresse ld r3 r4 dup ld r3 r4 ld r3 r4 ld r3 r4 r3 r4 add rl r2 r3 add r1 r2 r3 add rl r2 r3 st r1 r2 add rl r2 r3 add cE r2 13 call addrCompare rl r1 br faultDet rl rl Adressberechung br faultDet r2 r2 br faultDet r2 r2 r2 wird an die Stelle st r1 r2 dup st r1 r2 r2 r3 geschrieben st ri s r2 r1 r2 SWIFT SWIFT R TRUMP fi r2 c2 ra ra IE 72 72 r2 ntra 74 If r2 r2 74 4 br faultDet r
83. Allgemei nen lassen sich die in Abbildung 3 4 dargestellten und im Folgenden erl uterten Varianten der Eingangsreplikation unterscheiden Codierter Eingang Ein codierter Eingang stellt den zuvor beschriebenen optimalen Fall der Eingangsreplikation dar welcher sich letztlich auf die blo e Vervielf ltigung des codierten Eingangswertes reduzieren l sst Im Idealfall entsprechen nicht nur die Verbindungen zwischen den replizierten Dom nen diesem Schema sondern auch alle weiteren Ankn pfungspunkte an die Au enwelt die Verarbeitungs kette der sicherheitskritischen Anwendung beginnt entsprechend bereits mit codierten Eing ngen Dieses Szenario l sst sich durch den Einsatz entsprechender Datenquellen realisieren Im einfachs ten Fall handelt es sich hierbei um die Ausg nge einer anderen CORED Anwendung Ebenso ist 3 4 EINGANG ZU AUSGANG FEHLERERKENNUNG 59 auch eine direkte Einbeziehung einer durch die in Kapitel 2 2 2 genannten Techniken transfor mierten ANBD codierten Anwendung m glich Weitere Beispiele f r derartige Erweiterungen sind die entsprechende Absicherung der lesenden Systemaufrufe durch das Betriebssystem oder eine sensorseitige Fehlererkennung und Codierung der Messwerte als eine externe beziehungsweise system bergreifende Ma nahme Stellvertreter Im Allgemeinen ist zumindest an den Schnittstellen zur Hardware und der Peripherie nicht mit einer direkten Bereitstellung codierter Eing nge zu rechnen In diesem
84. Ausblick Die Forschungsfrage dieser Dissertation befasst sich mit der systematischen Beeinflussung der nicht funktionalen Eigenschaft Zuverl ssigkeit durch softwarebasierte Redundanz auf der Ebene des Betriebssystems Im Fokus steht hierbei die zuverl ssige Erkennung von transienten Fehlern der Hardware Den Ausgangspunkt bildete das existierende Wissen zur Erkennung von transienten Fehlern durch strukturelle Redundanz und Informationsredundanz Die Fragestellung st tzt sich auf die Grundannahme dass sich transiente Fehler stets in den Strukturelementen der Software manifestieren und Gleichtaktfehler ausgeschlossen sind Hinterfragt wird die tats chliche Zuverl s sigkeit der arithmetischen Codierung als einer Redundanztechnik mit konzeptionell vollst ndiger Fehlererkennung Im Speziellen wird weiterhin der Zusammenhang zwischen der nachtr glichen Replikation von Regelungsanwendungen und deren Regelg te betrachte 71 Zusammenfassung Der in dieser Arbeit entwickelte kombinierte Redundanzansatz CORED engl Combined Redundan cy eliminiert die kritischen Fehlerstellen in softwarebasierten Fehlertoleranz Der Ansatz basiert auf der namensgebenden Kombination aus der replizierten Ausf hrung von Prozessinkarnationen auf der Ebene des Betriebssystems sowie der arithmetischen Codierung der verbleibenden Repli kationsinfrastruktur und Datenfl sse zwischen den Replikaten Das zentrale Element bildet in diesem Zusammenhang der zuverl ssige CORED Meh
85. CORED arithmetische Codierung 18 209 18 356 18 431 Hardware Ausnahme 0 001 lt 0 001 0 2 Schutzverletzung Programmcode 0 054 0 009 0 001 S Schutzverletzung Speicher 47 993 48 030 48 023 fm Termin berschreitung 0 0 0 Unerkannter Datenfehler 0 0 0 D 579 838 627 886 1 3 108 Gr e des Fehlerraums 3 59 108 1 03 108 2 90 10 Abdeckung 16 13 0 59 0 04 Tabelle 4 6 Erweiterte Fehlerinjektion von Mehrfachbitfehlern mit 3 5 Bit Die Ausdehnung der Experimente auf Mehrfachbitfehler stellt die Codierungseigenschaften des Super As 58 659 auf die Probe Entsprechend der ermittelten Hamming Distanz von dp 6 treten keine unerkannten Datenfehler auf Durch die explodierende Gr e des Fehlerraums ist jedoch keine vollst ndige Abdeckung mehr m glich In den Experimenten wurden daher zuf llige Fehlermuster f r die Injektion genutzt 4 4 Diskussion der Ergebnisse Die in Kapitel 4 2 durchgef hrte Wahl der Codierungsparameter stellt ein generelles Problem bei der Umsetzung der arithmetischen Codierung dar Die hier entwickelte Vorgehensweise ei ner zweistufigen Auswahl sowohl die experimentellen Ergebnisse der Distanzberechnung und Fehlersimulation lassen sich entsprechend auch auf andere Anwendungsbereiche der arithmeti schen Codierung verallgemeinern Dies gilt im selben Ma auch f r die Behandlung der bin ren Darstellung der Codew rter 4 4 1 Alternative Auswahlkriterien Arithmetische Distanz Das
86. Die In stanziierung der Replikate und die notwendige Parametrierung der Codierung erfolgen im Zuge der Erzeugung des Bin rprogramms Hierf r erweitert und instrumentiert CORED den regul ren Konfigurations und Erstellungsprozess der ohnehin genutzten Werkzeugkette im konkreten Fall der GNU Compilersammlung Diese absichtliche Beschr nkung begr ndet sich in den gelten den Normen IEC98 ISO11b f r sicherheitskritische Anwendungen welche h ufig den Einsatz qualifizierter und betriebsbew hrter Werkzeuge erfordern Unabh ngig davon ist eine weitere Automatisierung der Replikation in vielen Anwendungsberei chen w nschenswert Daher wurde der CORED Ansatz seit seiner Konzeption bereits in weiteren Forschungsprojekten an der Friedrich Alexander Universit t Erlangen N rnberg aufgegriffen und in andere Entwicklungsumgebungen berf hrt Schlla TSK 11 Anwendungstransformation durch den Real Time Systems Compiler In diesem Rahmen wurde auch der Einsatz von CORED im Real Time Systems Compiler RTSC SSP11 einem Werkzeug zur Manipulation der Echtzeitsystemarchitektur evaluiert Dieser extra hiert hierf r die Strukturelemente eines Eingangssystems und erzeugt daraus eine architektur neutrale Darstellung welche geeignet angepasst und mit ver nderter Architektur wiederum als Zielsystem ausgegeben werden kann Das Hauptanwendungsgebiet ist hierbei die berf hrung eines ereignisgesteuerten Systems in ein quivalentes taktgesteuertes Ech
87. EBASIERTE FEHLERTOLERANZ Codew rter auf 2 ansteigt Die Anzahl der g ltigen Codew rter entspricht jedoch weiterhin der Zahl der Datenworter 2 wodurch ein Abstand zwischen g ltigen Codew rtern entsteht Umgekehrt erm glicht die inverse Decodierung die Entfernung der redundanten Information und die Wiederherstellung der urspr nglichen Datenw rter Codierung Allgemeine Fehlertoleranzeigenschaften Unabh ngig von der konkreten Codierungsvorschrift basiert die Fehlererkennung auf der d nneren Besetzung des Zielraums und dem vergr erten Abstand zwischen g ltigen Codew rtern wie in den Abbildungen 2 5 und 2 6 dargestellt Mutationen durch transiente Fehler f hren daher mit hoher Wahrscheinlichkeit zu einem ung ltigen Codewort welches entsprechend erkannt werden kann Die Fehlerdiagnose erfolgt hierbei durch Absoluttests welche die Konformit t mit den Codierungsvorschriften pr fen Die hierbei zur Verf gung stehenden Testbedingungen sind sowohl notwendig als auch hinreichend und erlauben daher die zuverl ssige Aufdeckung von Fehlern Solange ein transienter Fehler ein g ltiges Codewort nicht wiederum in ein anderes g ltiges Codewort berf hrt ist die Fehlererfassung daher effektiv und vollst ndig g 10 Codierung 20 Ung ltiges Codewort 1 2 345 Vorschrift 30k Multiplikation mit 10 Abstand 140 50 Abbildung 2 6 Beispiel einer Cod
88. Echtzeitbetriebssystems und erm glicht den Austausch der temporalen Eigenschaften mit der Regelungsanwendung 1 3 Inhaltsverzeichnis Einleitung und Motivation 1 1 Die schwindende Zuverl ssigkeit der Hardware 2 2 2 22 nn 1 2 Aufbau zuverl ssiger Systeme aus unzuverl ssiger Hardware 1 3 Problembeschreibung und Forschungsfrage 2 22 222 22m LA L sungsansatz aa a sah a na OE DEP 15 K pitel berblick 2 3 a2 22 22 ee eed ne ee le Wa ee 1 6 Typographische Konventionen 0 00 eee en 1 7 Zugeh rige Ver ffentlichungen 2 CC Corn Systemebene Fehlertoleranzbausteine Softwarebasierte Fehlertoleranz 2 1 Terminologie und Grundlagen CC Coon 2 1 1 Fehler und deren Auswirkungen 0 0 0 en 2 1 2 Redundanz als Mittel zur Fehlertoleranz 2 2 2 222220 2 1 3 Fehlertolerantes Verhalten 2 2 2 ccm o nen 2 2 Verwandte Arbeiten 200 28 se ee el ee 2 2 1 Allgemeine Betrachtung und Abgrenzung 2 2222 2 2 2 Informationsredundanz 2 CC num 2 2 3 Strukturelle Redundanz und Replikation 2 3 Zusammenf ss ng a 2 Sir nee fatale SAS d Der Kombinierte Redundanzansatz CORED 3 1 Erweiterte Problemanalyse 2 2 2222 Common ren 3 1 1 Kritische Fehlerstellen in der Replikation 2 222220 3 1 2 Fehlererfassung und Zuverl ssigkeit 2 2 22 2m 3 2 Gr ndannahmen 2 un ate ee ee een 3 2 1 Fehlerhypothese und Fehlerberei
89. Einfluss auf den Entwurf der eigentlichen Regelungsanwendung Im Folgenden wird ihr Aufbau daher beginnend mit der Inertial Messeinheit n her betrachtet Sensorplatine Inertial Messeinheit Die Grundvoraussetzung f r eine erfolgreiche Regelung der Fluglage ist die geeignete Erfassung der Bewegung des Fahrzeugs im Raum Da eine direkte Bestimmung der absoluten Lage eine u Bere Referenz erfordert PMC06 kommt im Falle des I4Copters eine Inertial Messeinheit engl in ertial measurement unit IMU f r die relative Lagebestimmung zum Einsatz Die Inertial Sensorik berwacht hierf r die sechs m glichen Freiheitsgrade des Flugobjekts bestehend aus der Bewegung beziehungsweise Drehung um die drei Raumachsen Die in Abbil dung 5 2 oben dargestellte und spezifisch f r das I4Copter System entwickelte Sensorplatine stellt die notwendigen Messgr en zur Verf gung Diese umfassen in erster Linie die obligatori sche Drehrate und Beschleunigung um die drei Achsen Dar ber hinaus stehen Sensoren f r die Messung der relativen und absoluten H he ber Grund sowie der magnetischen Flussdichte zur Verf gung letztere erf llen die Funktion eines Kompass Wie bereits in Kapitel 3 4 1 erl utert weisen die technischen Bauteile der Sensorik im Ver gleich zu dem eigentlichen Rechensystem in der Regel eine deutlich niedrigere Zuverl ssigkeit auf Fral0 Unabh ngig von der Fehlerrate f r transiente Fehler des Rechensystems nutzen si cherheits
90. Fehlerkette gliedert sich bezogen auf die jeweilige Betrachtungsebene in De fekt Fehler und Fehlverhalten Fehlertoleranzma nahmen sollen diese Fehlerkette gezielt unterbre chen und ein Fehlverhalten verhindern Ihre Fffektivit t wird daher h ufig gem der Fehlerraten f r erkannte nicht behebbare Fehler DUE und unerkannte Datenfehler SDC klassifiziert Letztere sind in diesem Zusammenhang ein wichtiger Indikator f r kritische Fehlerstellen und fehlende Redundanz in den entsprechenden Fehlertoleranzma nahmen Ob ein Fehler unentdeckt bleibt h ngt auch davon ab inwieweit die Fehlererkennung in der Lage ist das Fehlermodell bestehend aus Operator Operanden und Berechnungsfehlern abzudecken Der koordinierte Einsatz von Re dundanz erm glicht schlie lich die Implementierung geeigneter Fehlertoleranz Hierf r stehen verschiedene Entwurfsalternativen zur Verf gung Dies sind zun chst die vier grundlegenden Red undanzarten Information Zeit Funktion und Struktur F r deren Einsatz existieren verschiedene darauf aufbauende Redundanzstrategien Eine Strategie wie beispielsweise die Codierung ist ei ne Blaupause f r die konkrete Implementierung einer spezifischen Redundanztechnik auf einer bestimmten Ebene des Systems Der Redundanzbereich beschreibt den r umlichen wie zeitlichen Wirkungsbereich der entsprechenden Technik und erlaubt die Lokalisierung kritischer Fehlerstellen und ungesch tzter Bereiche Die Fehlererkennung alleine r
91. G ltigkeitsbereichen zur Verf gung Ein fehlerhafter jedoch g ltiger Sensorwert l sst sich somit nicht aufdecken Relativtests engl comparison tests pr fen im Sinne eines Ist Ist Vergleichs den Zustand mehre rer Testobjekte auf bereinstimmung Die Zust nde werden durch den Vergleich in quiva lenzklassen eingeteilt Die gr te Klasse umfasst hierbei die als fehlerfrei angenommenen Objekte Die anderen Klassen gelten entsprechend als fehlerhaft und bilden damit auch den Fehlerbereich Relativtests erfassen beliebige Fehler und bieten eine vollst ndige Fehlerer fassung falls die Fehlerzahl die Bildung von Mehrheitsverh ltnissen erlaubt Ein bekanntes Beispiel f r einen Relativtest ist der Mehrheitsentscheider bei dreifacher Redundanz Pro blematisch ist der Einsatz von Relativtests bei nichtdeterministischen Prozessen da die 2 1 TERMINOLOGIE UND GRUNDLAGEN 29 Testobjekte hier auf hnlichkeit anstatt auf exakte bereinstimmung gepr ft werden In diesem Fall sind wie bei einem Akzeptanztest notwendige und hinreichende hnlichkeitsbe dingungen f r die Bildung der quivalenzklassen erforderlich Sind diese nicht ausreichend bestimmbar liefern Relativtests geh uft Pseudofehler engl false positives In der Regel lassen sich Relativtests wesentlich einfacher umsetzen da sie nicht auf die Ableitung von Konsistenzbedingungen angewiesen sind und entsprechend konzeptbedingt eine vollst ndi ge Fehlererfassung erlauben Ec
92. Ganzheitliche Fehlertoleranz in eingebetteten Softwaresystemen Der Technischen Fakult t der Friedrich Alexander Universit t Erlangen N rnberg zur Erlangung des Grades Doktor der Ingenieurwissenschaften Dr Ing vorgelegt von Peter Matthias Ulbrich aus Tettnang Als Dissertation genehmigt von der Technischen Fakult t der Friedrich Alexander Universit t Erlangen N rnberg Tag der m ndlichen Pr fung 30 Juli 2014 Vorsitzende des Promotionsorgans Prof Dr Ing Marion Merklein Gutachter Prof Dr Ing Wolfgang Schr der Preikschat Prof Dr rer nat J rg Kaiser Kurzzusammenfassung Durch die technische Entwicklung nimmt die Leistungsf higkeit und Parallelit t der Hardware stetig zu ihre Zuverl ssigkeit nimmt hingegen tendenziell ab Im Fokus dieser Arbeit stehen die damit verbundenen steigenden Fehlerraten f r transiente Hardwarefehler Diese treten zuf llig auf und bewirken kurzzeitige Fehlfunktionen welche sich ausschlie lich im Feld behandeln lassen Der Aufbau zuverl ssiger Systeme aus unzuverl ssigen Komponenten erfordert grunds tzlich das Einbringen von Redundanz zum Beispiel in Form von Replikation Der naheliegende Einsatz von hardwarebasierter Redundanz scheidet jedoch h ufig aus Kosten Gewichts oder sonstiger Ressourcenbeschr nkungen aus An dieser Stelle bietet sich softwarebasierte Redundanz an da diese selektiv f r die Absicherung der tats chlich sicherheitskritischen Teile der Anwendun
93. HL DER CODIERUNGSPARAMETER 77 Restfehlerwahrscheinlichkeit p 10 H eg ol 915 9 Gr enverh ltnis Ziel zu Coderaum Abbildung 4 1 Die Restfehlerwahrscheinlichkeit im Verh ltnis zur Informationsredundanz Trotz Codierung k nnen transiente Fehler zu einer Mutation zwischen g ltigen Codew rtern und damit zu unerkannten Daten fehlern f hren Diese Restfehlerwahrscheinlichkeit Psdc h ngt im Allgemeinen vom Umfang der hinzugef gten Informations redundanz ab vgl Gleichung 4 1 Sie entspricht eins falls die Anzahl der Codew rter gleich der Anzahl der Nutzw rter ist Mit zunehmender Redundanz und Coderaumgr e nimmt die Wahrscheinlichkeit entsprechend ab 4 2 1 Restfehlerwahrscheinlichkeit der Codierung Die Fehlererkennung der Codierung basiert wie bereits in Kapitel 2 2 2 erl utert auf der d nne ren Besetzung des durch die Codierungsvorschrift erzeugten Coderaums engl code space und dem hierdurch entstehenden Abstand zwischen den enthaltenen Codew rtern Vereinfacht darge stellt transformiert die Codierung Datenw rter nBit durch Hinzuf gen von kBit redundanter Information in Codeworter n k Bit Die Fehlerdiagnose erfolgt im Umkehrschluss durch einen Absoluttest im Zuge der R cktransformation des Codewortes Ungeachtet einer theoretisch vollst ndigen Fehlererfassung wie sie beispielsweise bei den ANBD Codes gegeben ist sind unerkannte Datenfehler trotz der eingesetzten Codierung nic
94. Insofern beschr nkt sich die Einsatzm glichkeit dieses Ansatzes auf die Verkleinerung der Replikate beispielsweise zur Verringerung der Fehlererkennungslatenzen Weiterhin nimmt der Einfluss des Mehrheitsentschei ders auf die Gesamtzuverl ssigkeit zwar ab ein signifikanter und nicht zu vernachl ssigender Zusammenhang vgl Gleichung 3 2 besteht jedoch nach wie vor Ein weiteres Problem ergibt sich aus der m glichen Fehlerfortpflanzung zwischen Mehrheitsent scheider und Replikat Im Beispiel in Abbildung 3 2 pflanzt sich das Fehlverhalten des Maskierers A auf das Replikat B fort dessen Fehlverhalten wiederum erst durch den darauffolgenden Mehr heitsentscheid aufgedeckt wird Ein blicherweise tolerierbares Fehlverhalten eines der Replikate in diesem Beispiel Bz oder B f hrt damit zu einem Versagen der Fehlertoleranz insgesamt Der re dundante Maskierer und das zugeordnete Replikat versagen nicht mehr unabh ngig voneinander und bilden folglich einen gemeinsamen Fehlerbereich Fb2 Ech90 Als Gegenst ck zum Redun danzbereich charakterisiert der Fehlerbereich das angenommene zeitliche wie r umliche Auftreten von Fehlern Die im Sinne der Fehlertoleranz voneinander unabh ngigen Komponenten bilden die sogenannten Einzelfehlerbereiche Im Beispiel in Abbildung 3 2 entsprechen die Replikate der Prozessinkarnationen A und C jeweils einem Einzelfehlerbereich Fb und Fb3 Demgegen ber ist eine unabh ngige Fehlerbetrachtung bei der Replikat
95. Lecture Notes in Informatics Seiten 201 210 Gesellschaft f r Informatik ISBN 978 3 88579 294 9 Zitiert auf Seite 89 Shivakumar P Kistler M Keckler S W Burger D und Alvisi L 2002 Mo deling the Effect of Technology Trends on the Soft Error Rate of Combinational Logic Proceedings of the 32nd International Conference on Dependable Systems and Networks DSN 02 Seiten 389 398 IEEE Computer Society Press Washing ton DC USA doi 10 1109 DSN 2002 1028924 Zitiert auf Seite 5 Sanda P Kellington J Kudva P Kalla R McBeth R B Ackaret J Lock wood R Schumann J und Jones C R 2008 Soft error resilience of the IBM POWER6 processor IBM Journal of Research and Development 52 3 Seiten 275 284 ISSN 0018 8646 doi 10 1147 rd 523 0275 Zitiert auf Seite 37 Steindl M Mottok J und Meier H 2010 SES based framework for fault tolerant systems Proceedings of the 8th Workshop on Intelligent Solutions in Embedded Systems WISES 10 Seiten 12 16 doi 10 1109 WISES 2010 5548427 Zitiert auf Seite 97 Shye A Moseley T Reddi V J Blomstedt J und Connors D A 2007 Using Process Level Redundancy to Exploit Multiple Cores for Transient Fault Tolerance Proceedings of the 37th International Conference on Dependable Systems and Net works DSN 07 Seiten 297 306 IEEE Computer Society Press Washington DC USA ISBN 0 7695 2855 4 doi 10 1109 DSN 2007 98 Zitiert auf den Seiten
96. NZANSATZ CORED Abgrenzung zur byzantinischen Fehlertoleranz in verteilten Systemen Byzantinische Fehlertoleranz engl byzantine fault tolerance ist vorrangig in verteilten Systemen mit asynchroner Kommunikationsinfrastruktur relevant Die einzelnen Knoten arbeiten hier unab h ngig voneinander und es existiert per se keine konsistente Sicht auf das jeweilige Einzelverhalten beziehungsweise den Replikatzustand In der Folge ist keine Unterscheidung zwischen Nachrich tenausfall und Fehlverhalten m glich Kann ein b sartiges Fehlverhalten einzelner Knoten nicht ausgeschlossen werden ben tigt die zuverl ssige Konsensbildung in der Folge 3 f 1 Replikate Demgegen ber ist die Bereitstellung einer konsistenten Sicht auf die Replikatzust nde innerhalb eines Rechensystems im Allgemeinen einfach realisierbar Die Replikate stellen ihre Ergebnisse synchron zur Verf gung wodurch sich ein Fehlerverhalten eindeutig von einem Ausfall unterschei den l sst Auf eine aufwendige Konsensbildung unter der Annahme eines Nachrichtenausfalls kann daher verzichtet werden Insgesamt erlaubt die von der eigentlichen Replikatausf hrung abgekoppelte Konsensbildung durch den Mehrheitsentscheider die Erkennung b sartiger Fehler mittels 2 f 1 Replikaten CNVO4 Fehlerbereichsannahme Die dem CORED Ansatz zugrunde liegende Fehlerhypothese geht weiterhin von der Einzelfehler annahme engl single error assumption aus wie sie typischerweise f r die dreifa
97. OMP 10 Seiten 169 182 Springer Verlag Heidelberg Ger many ISBN 978 3 642 15650 2 doi 10 1007 978 3 642 15651 9 13 Zitiert auf den Seiten 32 39 65 und 100 Stathis J H 2002 Reliability limits for the gate insulator in CMOS technology IBM Journal of Research and Development 46 2 3 Seiten 265 286 ISSN 0018 8646 doi 10 1147 rd 462 0265 Zitiert auf Seite 2 Tanenbaum A S 2006 Structured Computer Organization 5 Auflage 777 Sei ten Prentice Hall Upper Saddle River NJ USA ISBN 978 0 1314 8521 1 Zitiert auf Seite 1 Taylor D und Black J 1982 Principles of Data Structure Error Correction IEEE Transactions on Computers C 31 7 Seiten 602 608 ISSN 0018 9340 doi 10 1109 TC 1982 1676057 Zitiert auf Seite 33 Tewari A 2002 Modern control design with MATLAB and SIMULINK 1 Auflage 520 Seiten John Wiley amp Sons New York NY USA ISBN 978 0 4714 9679 3 Zitiert auf den Seiten 55 127 und 128 Tremblay G Leveille P Mccollum J Pratt M J und Bissett T D 2009 Schutzrecht EP1496434 Fault Resilient Fault Tolerant Computing Erteilt 23 Dezember 2009 Zitiert auf den Seiten 8 und 41 Taber A und Normand E 1993 Single event upset in avionics IEEE Tran sactions on Nuclear Science 40 2 Seiten 120 126 ISSN 0018 9499 doi 10 1109 23 212327 Zitiert auf den Seiten 3 und 5 T rngren M 1998 Fundamentals of Implementing Real Time Control Appli cations
98. Ob eine Anwendung in der Lage ist Fehler durch zus tzliche Ausf hrungszeit zu erkennen ist wiederum hochgradig anwendungsspezifisch Eine Ausnahme stellen in diesem Zusammenhang Funktionsw chter f r die berwachung struk tureller Elemente der Software dar die sich unabh ngig von der Anwendungssemantik umsetzen lassen MM88 Methoden der statischen Analyse LMO1 erlauben beispielsweise die Extrakti on bestimmter Informationen aus dem Quell beziehungsweise Bin rprogramm Entsprechende Fehlertoleranzans tze nutzen diese Daten SS87 OR95 OSMO2a BDCDNPO3 GRRVO3 VHMO3 WP05 SSSF10 f r die berwachung bestimmter Eigenschaften der Software wie zum Beispiel Werte und Speichergrenzen die G ltigkeit von Referenzen oder des Kontrollflusses Ohne Ber ck sichtigung der Anwendungssemantik sind die extrahierbaren Informationen jedoch beschr nkt Die entsprechenden Ans tze sind daher weder in der Lage eine vollst ndige Fehlererfassung noch eine l ckenlose Fehlerabdeckung im Sinne des Redundanzbereichs zu erzielen Muk08 2 2 VERWANDTE ARBEITEN 33 Ursprungsraum Zielraum 2 Nutzw rter 2 k Codew rter G ltiges Codewort n k Bit ren Codierung e e oe ostana 00000 Decodierung s G ltiges Nutzwort n Bit Abbildung 2 5 Grundlegendes Prinzip von Codierungsverfahren Die Datenw rter nBit werden gem einer Codierungsvorschrift in Codew rter berf hrt Die hierbei eingebrachte I
99. Per Konvention sind die Inhalte der anderen Register ung ltig und m ssen vor der Verwendung zun chst initialisiert werden Bei der bersetzung des CoRED Mehrheitsentscheiders trifft der Compiler die selben stillen Annahmen und plant die Registernutzung entsprechend Im Fehlerfall kann es jedoch durch eine Verf lschung des Kontrollflusses innerhalb des CORED Mehrheitsentscheiders zu einem Uber springen der konventionsgem notwendigen schreibenden Operationen vor der Nutzung der entsprechenden Werte kommen In der Folge k nnen sich g ltige Codew rter der Vorg ngerkom ponente in den fl chtigen Registern befinden Diese Verletzung der geforderten r umlichen Isola tion kann in Kombination mit einem ung nstigen Kontrollflussfehler zu einer ordnungsgem en Weiterverarbeitung dieser untoten Werte engl defunct value in den codierten Operationen des Mehrheitsentscheiders f hren Zuverl ssige Isolation Die genannten stillen Annahmen und darauf aufbauende Optimierungen liegen zusammen mit der effektiven Isolation des Prozesskontextes grunds tzlich in der Verantwortung des Betriebs systems Der Entwurf des CORED Mehrheitsentscheiders geht im Allgemeinen von einer sauberen Ausf hrungsumgebung aus Im Einzelfall l sst sich das Verhalten des Betriebssystems beziehungs weise die korrespondierende Generierung des Bin rprogramms durch den Compiler nicht direkt 4 3 EVALUATION DER CORED IMPLEMENTIERUNG 93 Register und Merker I
100. Program Analysis amp Transformation Proceedings of the 2004 International Sym posium on Code Generation and Optimization CGO 04 IEEE Computer Society Press Washington DC USA Zitiert auf Seite 38 Laprie J C Arlat J Beounes C und Kanoun K 1990 Definition and analy sis of hardware and software fault tolerant architectures Computer 23 7 Seiten 39 51 ISSN 0018 9162 doi 10 1109 2 56851 Zitiert auf den Seiten 8 und 21 Lala P K 2000 Self checking and fault tolerant digital design The Morgan Kaufmann Series in Computer Architecture and Design 1 Auflage 400 Seiten Morgan Kaufmann ISBN 978 0 1243 4370 2 Zitiert auf Seite 50 Lawton K P 1996 Bochs A Portable PC Emulator for Unix X Linux Journal 1996 29es Seite 7 Zitiert auf Seite 89 Lorczak P Caglayan A und Eckhardt D 1989 A theoretical investigation of generalized voters for redundant systems Digest of papers The 19th International Symposium on Fault Tolerant Computing FTCS 89 Seiten 444 451 doi 10 1109 FTCS 1989 105617 Zitiert auf Seite 60 LITERATURVERZEICHNIS 153 LHSP 09 Lim11 Liu00 LMO1 LRCOS LSHCO7 LSP82 Lue64 LV62 Man67 Mas64 MERO5 Lohmann D Hofer W Schr der Preikschat W Streicher J und Spinc zyk O 2009 CiAO An Aspect Oriented Operating System Family for Resource Constrained Embedded Systems Proceedings of the 2009 USENIX Annual
101. Quelle f r L cken im Redundanzbereich darzustellen Schl1b Die induzierten Laufzeitkosten sind im Vergleich mit SEP weit weniger dramatisch und von bis zu einem Faktor 10 Arithmetische Codierung ANBD Codes Arithmetische Codierung erweitert die Fehlererfassung von der reinen Datenintegrit t hin zu den eigentlichen Berechnungen ANBD Codes stellen in diesem Zusammenhang die vollst n digste Auspr gung arithmetischer Codierung dar und erlauben konzeptionell die Erkennung aller Operator Operanden und Berechnungsfehler Der Aufbau eines geschlossenen Redun danzbereichs erfordert allerdings die l ckenlose Codierung aller Berechnungen und Daten Codierung Fehlertoleranz Insgesamt stellt Codierung in erster Linie einen Mechanismus zur Fehlererkennung dar Die Feh lerdiagnose erfolgt letztlich durch einen Absoluttest am Ende der codierten Berechnung bezie hungsweise an bestimmten Pr fpunkten SEP CEP Insbesondere bei der nicht systematischen Darstellung ist hierf r eine Decodierung des zu pr fenden Codewortes notwendig Die Fehlerlokali sierung bezieht sich jeweils auf den Berechnungsabschnitt zur letzten Pr fung Die weitergehende Fehlerbehandlung erfordert indes zus tzliche Ma nahmen Grunds tzlich ist eine Vorw rtskor rektur mittels fehlerkorrigierender AN Codes Man67 Rao70 Avi71 MGO72 denkbar deren 40 KAPITEL 2 SOFTWAREBASIERTE FEHLERTOLERANZ gt Replikat 1 Eingabe cat 3 f Ausgabe Replikat
102. RVO6a Es existieren dar ber hinaus auch kombinierte Verfahren die unter Zuhilfenahme 8 KAPITEL 1 EINLEITUNG UND MOTIVATION von arithmetischen Codes sowohl den Kontroll als auch Datenfluss absichern k nnen WF07 Wie im Falle der Hardware ist die Komplexit t und damit der Berechnungsaufwand verh ltnism ig hoch Eine bew hrte Technik ist die softwarebasierte Redundanz in Form von Replikation LABK90 Diese kann in Software auf unterschiedlichen Ebenen implementiert werden Fine Replikation durch Voll Gol73 VMw06 beziehungsweise Paravirtualisierung BDGR97 BDF 03 engl full and paravirtualization zielt dabei auf die Nachbildung der hardwarebasierten Redundanz ab Zu diesem Zweck wird die gesamte virtuelle Maschine repliziert und mehrfach auf der selben Hardware zur Ausf hrung gebracht Es handelt sich hierbei um eine softwarebasierte Varian te der asynchronen Hardwarereplikation Da hier die gesamte Ausf hrung repliziert wird ist der Redundanzbereich vergleichbar und schlie t im Idealfall lediglich den Programmzahler aus Entsprechend ist jedoch auch die Selektivit t verh ltnism ig niedrig Ein Beispiel f r diesen Ansatz ist die Marathon EverRun Virtual Machine TLM 09 Ein anderes Extrem ist die Repli kation einzelner Berechnungen zum Beispiel ein mehrfaches Ausf hren desselben Algorithmus durch die Anwendung Hier beschr nkt sich der Redundanzbereich auf die blo e Berechnung Ein vielversprechender Mittelweg
103. Redundanz beruht Insgesamt weist ED4I jedoch eine unvollst ndige Fehlererfassung auf da beispielsweise Bitfehler in ungenutzten h herwertigen Bits nicht zuverl ssig erkannt werden k nnen In hnlicher Weise basiert TRUMP CRA06 grunds tzlich auf der dreifachen Ausf hrung der Anwendung vgl Kapitel 2 2 3 Der An satz ersetzt jedoch ein Replikat durch die Einbringung von AN Codes in die replizierte Ausf hrung Die Codierung des Replikats erfolgt hierbei jedoch nur partiell und beschr nkt sich beispielswei se auf Registerinhalte Entsprechend zeigt sich die so gesch tzte Anwendung weiterhin anf llig gegen ber transienten Fehlern ANB Code Zusammenfassend erlauben Residue wie auch AN Codes die Absicherung einzelner Rechenschrit te und kl ren die Frage ob richtig gerechnet wurde Dar ber hinaus weisen sie jedoch L cken hinsichtlich der Identit t beziehungsweise der Reihenfolge der Daten und Anweisungen auf Zur L sung dieses Problems nutzt Forin For89 statische Signaturen B Die so erweiterten ANB Codes f gen der Codierung eine f r jede Variable v eindeutige Signatur B hinzu v A v B mit O0 lt B lt A 2 3 Durch die Einf hrung der Signaturen sind ANB Codes in der Lage die Identit t der Daten fest zustellen ber das Berechnungsergebnis l sst sich mittelbar auch die Identit t des arithmetischen Operators berpr fen So weist eine Multiplikation eine andere Ergebnissignatur auf als eine Ad dition Somit lass
104. Regelung erzielt hierdurch ein potenziell schnelleres und stabileres F hrungs verhalten F r die Umsetzung der Fluglageregelung ist entsprechend eine vollst ndige Kenntnis der Objektzust nde notwendig Im konkreten Fall l sst sich die Lage im Raum jedoch nicht direkt durch die gegebene Sensorik messen Daher kommen Beobachter engl observer f r die Zu standsrekonstruktion der Drehrate des Lagewinkels und der Flugh he zum Einsatz Der Entwurf von Reglern und Beobachtern erfolgte im konkreten Fall durch eine umfassende Modellierung und Analyse der Regelstrecke in MATLAB SIMULINK Die Erzeugung des entsprechenden C Quellcodes sowie die Bestimmung der Regelungsparameter erfolgte hierbei ebenfalls mithilfe des Entwurfswerkzeugs Die Fluglageregelung wird im I4Copter mit einer Periode von neun Millisekunden ausgef hrt Die zeitlichen Eigenschaften leiten sich hierbei in erster Linie aus der Objektdynamik ab und st tzen sich auf die Tr gheitsmomente des Flugger ts und die Figenschaften des Aktorsystems Steuerung und Kommunikation Die Steuerung und Kommunikation CopterControl ist lediglich mittelbar an der Fluglage des 14Copters beteiligt Diese Komponente dient in erster Linie der Interaktion mit dem Piloten Sie nutzt hierf r die Ethernet Schnittstelle f r die Kommunikation mit der Basisstation Diese besteht aus einem mit der quelloffenen Fernsteuerungsanwendung QGROUNDCONTROL ausger steten Notebook Die Eingaben des Piloten werden v
105. Seite 52 Schedel J 2010 Entwurf und Implementierung einer Systemabstraktions schicht f r das I4Copter Framework Diplomarbeit Technische Fakult t Friedrich Alexander Universit t Erlangen N rnberg Zitiert auf den Seiten 107 und 3 Scheler F 2011 Atomic Basic Blocks Dissertation Friedrich Alexander Universit t Erlangen N rnberg Technische Fakult t Zitiert auf Seite 141 Schiffel U 2011 Hardware Frror Detection Using AN Codes Dissertation Tech nische Universit t Dresden Fakult t Informatik Zitiert auf den Seiten 32 36 37 38 39 40 64 65 78 81 82 84 und 100 158 LITERATURVERZEICHNIS SH04 Sha49 SHK 12 SKKt 02 SKKT 08 SMM10 SMR 07 SS87 SS98 SSK 06 Segura J und Hawkins C F 2004 CMOS Electronics How It Works How It Fails 1 Auflage 348 Seiten John Wiley amp Sons Hoboken NJ USA ISBN 978 0471476696 Zitiert auf den Seiten 2 und 3 Shannon C 1949 Communication in the Presence of Noise Proceedings of the IRE 37 1 Seiten 10 21 ISSN 0096 8390 doi 10 1109 JRPROC 1949 232969 Zitiert auf den Seiten 6 und 36 Schirmeier H Hoffmann M Kapitza R Lohmann D und Spinczyk O 2012 FAIL Towards a Versatile Fault Injection Experiment Framework G M hl J Richling und A Herkersdorf Hg 25th International Conference on Architec ture of Computing Systems ARCS 12 Workshop Proceedings Band 200 von
106. TOLERANZ Im Gegensatz zu den Residue Codes sind AN Codes nicht systematisch AGM 71 Sie unter st tzen alle relevanten arithmetischen Operatoren inklusive der Division Ebenso ist ein direkter Vergleich zweier codierter Werte grunds tzlich m glich allerdings ist das Ergebnis gt lt weiterhin uncodiert und damit wiederum anf llig gegen ber transienten Fehlern Entsprechend sind auch AN Codes nicht in der Lage codierte Vergleichsoperatoren im eigentlichen Sinne bereit zustellen und damit auch die Codierung von Kontrollflussentscheidungen zu erm glichen Die Abdeckung des Fehlermodells beschr nkt sich auf Berechnungs und Datenfehler Fehlerhafte oder verlorene Zugriffe sind ebenso wenig erkennbar wie vertauschte Anweisungen vgl Tabelle 2 1 Es existieren verschiedene auf AN Codes basierende Ans tze zum softwarebasierten Schutz vor transienten Fehlern EC AN FSS09 ist ein auf der Low Level Virtual Machine LLVM LA04 aufbauendes Werkzeug zur Transformation ganzer Programme Bei ED4I OMMO2 erfolgt die Codierung ebenfalls im Zuge einer werkzeuggest tzten Transformation der sicherheitskritischen Anwendung Hierbei werden sowohl Daten als auch Instruktionen dupliziert und mit einem festen A codiert Die Berechnung ist entsprechend korrekt falls sich die Ergebnisse der beiden Verarbei tungsstr nge um Vielfache von A unterscheiden Bei ED4I handelt es sich um einen gemischten Redundanzansatz der in Teilen auch auf struktureller
107. Zuge des Datenaustauschs Der Mehrheitsentscheider wird den Datenverbindern im Bedarfsfall automa tisch zwischengeschaltet Komplexere Zusammenh nge lassen sich dar ber hinaus manuell in die Anwendungsbeschreibung und Konfiguration aufnehmen Die Schl sselverwaltung weist den codierten Datentypen und Mehrheitsentscheidern im Zuge des Erstellungsprozesses wie bereits beschrieben geeignete Codierungsparameter zu Treiber Systemaufrufe und Kommunikationsdienste Einen Gro teil der Dienstschicht entf llt auf die Emulation der verschiedenen Systemdienste und Hardwaretreiber F r die im Rahmen der Fallstudie ben tigten Teile wurden daher geeignete Eingangsreplikatoren beziehungsweise Stellvertreter f r die Ausg nge umgesetzt Hierzu z hlen insbesondere codierte Varianten f r die von der Sensorik und Aktorik genutzten Hardwareschnitt stellen Zudem wurden die durch das System angebotenen Kommunikationsdienste geeignet erweitert um die Nachrichten im Zuge des Empfangs zu codieren beziehungsweise w hrend des Versands zu decodieren 5 2 2 CORED gesicherte Fluglageregelung Das Ergebnis der Replikation der sicherheitskritischen Fluglageregelung mit CORED ist schema tisch in Abbildung 5 3 dargestellt Wie erwartet erweist sich die redundante Auslegung der ei gentlichen Fluglageregelung als vergleichsweise unproblematisch Sowohl die Vervielf ltigung der Prozessinkarnationen als auch die Codierung der Datenfl sse erfolgt durch die Replikations
108. agene dreifache Redun danz TMR engl triple modular redundancy Das Konzept des Redundanzbereichs beschreibt dabei den Wirkungsbereich der entsprechenden Ma nahme Fehlertoleranz in Hardware Ein naheliegender Ansatz ist es transiente Fehler an der Quelle zu bek mpfen und geeignete Ma nahmen auf Ebene der Hardware zu ergreifen Eine M glichkeit liegt in der H rtung der Schaltung gegen ber ionisierenden Partikeln durch eine Erh hung der kritischen Ladung mittels zus tzlicher Kapazit ten oder durch zus tzliche Schaltungselemente die trotz Ladungsverschiebung eine korrekte Funktion der Schaltung ge w hrleisten Der Redundanzbereich erstreckt sich ber alle geh rteten Teile der Schaltung und kann einzelne Funktionseinheiten oder auch den gesamten Prozessor umfassen Schaltungsh r tung wird aufgrund ihrer erheblichen Nachteile wie gr ere Schaltungslatenzen und Kosten blicherweise f r spezielle Anwendungszwecke beispielsweise Luft und Raumfahrt eingesetzt CNV96 KVV 02 Eine weitverbreitete Technik zum Schutz vor transienten Fehlern ist die Codierung ECC engl error correcting code der Daten Hierfiir werden zusatzliche redundante Informationen zu den Nutzdaten hinzugef gt welche die Erkennung oder sogar die Korrektur von Fehlern erm g lichen Bekannte Beispiele sind Parit tsbits Ham50 oder zyklische Redundanzpr fung CRC engl cyclic redundancy check Sha49 Der Redundanzbereich ist dementsprechend auch
109. agnetische Abschirmung vermeidbar ist stellt sie ebenfalls eine Grauzone dar Im Unterschied zu den anderen Fehlerursachen wirken St rimpulse nicht direkt auf die Halbleiterbauelemente sondern beeinflussen typischerweise die Kommunikationsleitungen welche diese verbinden Begriffsbildung Transienter Fehler Im weiteren Verlauf wird der Begriff transienter Fehler synonym f r die Klasse der transienten Hardwarefehler genutzt die sich auf Ebene der Hardware Datenspeicher Rechenwerke oder Busse als Bitfehler manifestieren und im Feld behandelt werden m ssen Fehlerraten transienter Fehler Entwicklung und Tendenzen Transiente Fehler stellen seit jeher eine Herausforderung bei der Entwicklung besonders sicher heitskritischer Systeme dar Dies gilt vor allem in Bereichen in denen die Fehlerraten umwelt bedingt erh ht sind So steigt die Strahlung und proportional dazu auch die Ausfallrate mit der H he an siehe Abbildung 1 2 links In der f r Verkehrsflugzeuge blichen Flugh he von rund KAPITEL 1 EINLEITUNG UND MOTIVATION Exkurs Kosmische Strahlung Die kosmische Strahlung Hauptursache f r transiente Fehler in CMOS Bauelementen ver ndert ihre Zusammensetzung und Wirkungsweise auf dem Weg durch die Atmosph re Prim re kosmische Strahlung Die prim re kosmische Strahlung ist eine hochenergetische Teilchenstrahlung aus dem Weltall die ihren Ursprung in kosmischen Ereignissen z B Supernovae und Objekten z B S
110. ahmefehler der Hardware f r unzul ssige Instruktionen bewegen sich lediglich im Bereich zwischen sieben und acht Prozent Der Grund hierf r ist die aus Fffizienzgr nden blicherweise knapp bemessene Wortbreite der Instruktionen weshalb die meisten Werte tats ch lich g ltige Anweisungen darstellen Mutationen f hren daher h ufig zu Berechnungsfehlern und einer Fortsetzung der Ausf hrung Entsprechend hoch ist die Anf lligkeit des einfachen Mehrheits entscheiders mit ann hernd 33 Prozent unerkannten Datenfehlern in dieser Kategorie Daneben zeigen sich auch in hohem Ma e Schutzverletzungen zum Beispiel durch eine Ver nderung der Adressierungsart Aufgrund der Abwesenheit von Schleifen oder hnlichen Kontrollstrukturen sind Verletzungen der zeitlichen Isolation hingegen praktisch ausgeschlossen Lediglich in einem pathologischen Fall kommt es zu einer Termin berschreitung bei der Ausf hrung des CORED Mehrheitsentscheiders durch eine ung nstig verf lschte Sprungadresse Effektivit t des CORED Mehrheitsentscheiders Die technische Umsetzung des CORED Mehrheitsentscheiders benotigt im Vergleich zu einer Standardimplementierung lediglich 54 zusatzliche Instruktionen Die Fehlerinjektion auf der Befehlssatzebene weist dar ber hinaus eine zuverl ssige und vollst ndige Fehlererken nung aller Einzelbitfehler nach Der CORED Mehrheitsentscheider verh lt sich insgesamt wie erwartet und eliminiert die unerkannten Datenfehler g nzlich P
111. ahrscheinlichkeit Phase einer periodischen Aufgabe Psde SDC Fehlerwahrscheinlichkeit PWM pulse width modulation Qerit kritische Ladung R Zuverl ssigkeit Rrep Replikatzuverl ssigkeit Rsys Gesamtsystemzuverl ssigkeit R Zuverl ssigkeit Mehrheitsentscheider RISC reduced instruction set computer RMT redundant multithreading RTSC Real Time Systems Compiler RVM redundant virtual machine SDC silent data corruption SMT simultaneous multithreading SPI serial peripheral interface SPoF single point of failure sog sogenannte SoR sphere of replication TC1796 Infineon TriCore TC1796 Mikrocon troller TMR triple modular redundancy TRACE32 Diagnose Programm Lauterbach xi xii Abk rzungsverzeichnis UAV unmanned aerial vehicle v Variablenbezeichner uncodierter Wert v Variablenbezeichner codierter Wert vgl vergleiche VM virtual machine VMM virtual machine monitor WCET worst case execution time WLAN wireless local area network z B zum Beispiel Arithmetische Operation uncodiert Arithmetische Operation codiert Einleitung und Motivation Seit den ersten Ans tzen zur Steuerung des Stapelbetriebs in den 1950er Jahren ist die Sys temsoftware eng mit dem technologischen Fortschritt gekoppelt Han01 Die kontinuierliche Entwicklung der Hardware und die dadurch entstehenden M glichkeiten und Herausforderungen stellen eine der Triebfedern der Forschung und Entwicklung in diesem Bereich dar So folg
112. alls codierten Gewinners win durch eine Folge von bedingten Ver zweigungen Zeilen 3 4 11 und 14 Da die Operanden f r den Vergleich nicht decodiert werden m ssen ist deren Datenintegrit t grunds tzlich sichergestellt Ungeachtet der vollst ndigen Codierung der Datenfl sse ist eine Korrumpierung des Kontroll flusses und damit ein Versagen der eigentlichen Mehrheitsfindung durch transiente Fehler weiter hin m glich beispielsweise durch fehlerhafte Sprungentscheidungen in den Vergleichen CORED l st dieses Problem durch die Einf hrung von Sprungsignaturen f r die f nf m glichen Endpunkte des Mehrheitsentscheids Diese sind ber die jeweilige Konsensmenge engl equality set E ein deutig definiert da zu jeder m glichen Mehrheitsentscheidung nur ein g ltiger Pfad existiert Die R ckgabe in Zeile 16 kann beispielsweise nur erreicht werden wenn der Wert von y von den anderen Varianten abweicht Aus dieser Betrachtung heraus ergeben sich die folgenden konstanten 3 5 ZUVERL SSIGE MEHRHEITSENTSCHEIDER 67 Signaturen Bg f r die Bl tter des Entscheidungsbaums Konsensmenge E Konstante Signatur Be amaa N IXc Yes Ze B By Bx B Xe lt gt B B Xe Ve By y 3 5 Xe Zc By Bz Yo Z By B2 keine Entscheidung Der Wert von Bg leitet sich hierbei aus den Vergleichsbedingungen f r die bereinstimmung der jeweiligen Varianten der Konsensmenge ab Stimmen zum Beispiel lediglich x
113. altung der Kontrollfluss berwachung sind daher das Ziel sondern vielmehr die Bereitstellung eines Mehrheitsentscheiders welcher sich von au en betrachtet wie eine codierte Operation verh lt Vereinfachter Vergleich auf bereinstimmung Der f r die Umsetzung wichtige Vergleich auf bereinstimmung l sst sich grunds tzlich massiv vereinfachen Die beiden Werte x und y sind genau dann gleich wenn die Differenz der codierte Wert x und y der Differenz der statischen Signaturen B und B entspricht gdw A AA X y X Ve Ax Bx D Ay B D 0 peering 3 4 Ax Ay Bx B B By Basierend auf dieser Vereinfachung lasst sich der Mehrheitsentscheid mit einer vergleichsweise geringen Zahl an codierten Operationen realisieren 66 KAPITEL 3 DER KOMBINIERTE REDUNDANZANSATZ CORED Require Bz By Bz Konstante Signaturen der Operanden 1 function CORED _VOTE 2c Yc Zc 2 ZERO_LOCAL_STORAGE 3 if xe yc Bz By then 4 if x ze Ba Bz then 5 wine APPLY Xe Le Ye Le Zc 6 return wine Bp lt By By Bz Bz Alle Ergebnisse identisch 7i else 8 wine APPLY ze e Ye 9 return wine Bp lt By By gt ze weicht ab 10 end if 11 else if yc zc By Bz then 12 wine APPLY Yc Ye Zc 13 return win BE pais By Bz gt x Weicht ab 14 else if x zc Bz Bz then 15 wine
114. amt ist bei sicherheitskritischen Anwendungen davon auszugehen dass die notwendige Sensorik bereits physikalisch redundant ausgelegt ist da diese technischen Bauteile h ufig im besonderen Umfang Umwelteinfl ssen ausgesetzt sind und im Vergleich mit dem eigentlichen Rechensystem in der Regel eine deutlich niedrigere Zuverl ssigkeit aufweisen Fral0 In diesen F llen stehen die notwendigen Akzeptanztests f r den Umgang mit den redundanten Eing ngen bereits zur Verf gung und m ssen lediglich in geeigneter Weise mit den CORED Eingangskompo nenten verschaltet werden Grunds tzlich lassen sich Akzeptanzentscheider anstatt an den Eing ngen auch an den Ausg n gen der Replikation einsetzen In diesem Fall dienen sie einer unscharfen Bewertung der Berech nungsergebnisse Da hierbei der interne Zustand der Replikate jedoch voneinander abweichen kann ist der Replikdeterminismus nicht mehr gew hrleistet Von einem entsprechenden Entwurf wird daher blicherweise abgesehen Ein durchaus valides Finsatzfeld der Akzeptanzmaskierer sind dagegen gro e und komplexe Replikatausg nge beziehungsweise Datenstr me Um die f r den Einzelvergleich der Werte ben tigte Bandbreite zu mindern l sst sich der rechenaufwendige Teil des Zustandsvergleichs engl state comparison wiederum in einen Akzeptanztest auslagern Die kritische Mehrheitsentscheidung und die Auswahl des Gewinners basieren wiederum auf dem gesch tzten CORED Mehrheitsentscheider 3 4 2 Ausga
115. auf Speichereinheiten den Datenfluss des Systems beschr nkt Die Anwendung auf Ausf hrungsein heiten und den Kontrollfluss ist im Allgemeinen nicht m glich Hier kommen andere Verfahren wie Es liegt im Auge des Betrachters ob dies als systematische Verbesserung oder Redundanz gesehen wird 1 2 AUFBAU ZUVERL SSIGER SYSTEME AUS UNZUVERL SSIGER HARDWARE 7 etwa arithmetische Codes engl Residue Code oder AN Code oder Parit tsvorhersage auf Schal tungsebene engl parity prediction circuits zum Einsatz die jedoch aufgrund ihrer Komplexit t weit weniger verbreitet sind Nic03 For89 Die umfassendste Fehlerabdeckung bietet jedoch die physikalische Replikation der Hardwa re Die Fehlererkennung erfolgt hier ber die redundante Ausf hrung und den Vergleich der Ausgangssignale Entsprechend umfasst der Redundanzbereich das gesamte replizierte System Neben Anzahl und Umfang der Replikate wird technisch zwischen synchroner engl lockstepping und asynchroner Replikation RMT engl redundant multithreading unterschieden Bei der syn chronen Replikation erfolgt die Ausf hrung der Replikate im Gleichtakt blicherweise verteilt auf zwei identische Prozessorkerne Der Replikatzustand ist daher zu jedem Zeitpunkt identisch und kann fortlaufend verglichen werden eine semantische Unterscheidung der Ausgangssigna le ist daher nicht notwendig Die erforderliche taktgenaue Synchronisation ist allerdings sehr aufwendig Demgegen ber
116. auf Ebene des Betriebssystems Eine vollst ndige experimentelle Analyse der eingesetzten arithmetischen Codierung vom Entwurf bis auf die Befehlssatzebene weist dabei die vollst ndige und zuverl ssige Fehlererkennung und eine signifikante Verbesserung der Erkennungsleistung gegen ber vergleichbaren Ans tzen nach Die effektive Fehlererkennung reicht dabei von den Eing ngen bis zu den Ausg ngen des Systems und l sst sich im Bedarfsfall auch ber dessen Grenzen hinaus erweitern Regelungswendungen besitzen aufgrund ihrer Steuerungsfunktion und der engen Kopplung an die Umwelt typischerweise ein ausgewiesenes Schutzbed rfnis Die praktische Anwendbarkeit des CORED Ansatzes wird daher am Beispiel der Fluglageregelung des unbemannten Luftfahrzeugs 14Copter veranschaulicht Der Einsatz von CORED erfolgt dabei von dessen Sensorik bis zur Akto rik und ist funktional f r den Anwendungsentwickler weitgehend transparent umsetzbar Mit der Replikation geht jedoch auch eine unvermeidbare Beeinflussung der zeitlichen Eigenschaften der Anwendung einher Diese hat potenziell negative Auswirkungen auf die Regelungseigenschaften und erschwert die Umsetzung der Fehlertoleranz Mit CORED CONTROL untersucht diese Arbeit weitergehende Ans tze f r die anwendungsgewahre Erweiterung der CORED Grundbausteine um eine Schnittstelle zwischen Replikation und Regelung Diese unterst tzt die Abbildung regelungs technischer Aufgaben auf replizierbare Prozessinkarnationen des
117. barometrische H henmessung F r die Auswertung der Drucksensoren dient in diesem Beispiel ein 16 Bit Atmel AVR XMEGA A4 Mikrocontroller AVR Atm09 als Basis Dieser bestimmt die relative H he und codiert die Messwerte vor dem Versand an das TriCore Rechensystem F r die Kommunikation kommt wiederum der SPI Kommunikationsbus zum Einsatz Die f r die arithmetische Codierung notwendigen Parameter werden wie schon bei der codierten Ausgabe der Stellwerte im Zuge des Erstellungsprozesses ausgetauscht Die Codierung der Eingaben erweitert nicht nur den Redundanzbereich auf den Sensorkonten sondern vereinfacht die Eingangsreplikation auf der Seite der Fluglageregelung signifikant Der bislang f r die berpr fung und Konsolidierung der Messwerte notwendige Mehrheitsentscheider und dessen Prozessinkarnation entfallen vollst ndig Dar ber hinaus wird der mehrfach abfragen de Replikator durch einen einfachen Stellvertreter f r die Buskommunikation ersetzt wodurch die Replikate nunmehr direkt mit den codierten Messwerten arbeiten Insgesamt basiert die Feh lererkennung alleine auf der arithmetischen Codierung der Datenfl sse Ein Versagen der Kommu nikation oder eine Verf lschung der Messwerte auf dem Weg vom Sensor zu den Replikaten l sst sich im Zuge der Decodierung aufdecken und entsprechend geeignet behandeln beispielsweise durch eine erneute Abfrage des Sensors durch den Stellvertreter Erweiterung des Redundanzbereichs Das Versuchs
118. bis 8 fach Bitfehlern 85 Vollst ndige Simulation ftir 32 Bit Codes und bis zu 8 fach Bitfehler 86 Verteilung der Restfehlerwahrscheinlichkeit in Abh ngigkeit von der Fehlerzahl 87 Fehlerbetrachtung am Beispiel einer codierten Addition 98 CORED Fallstudie Der I4Copter Demonstrator 2 2 2 22mm nennen 106 14Copter Steuergerat Sensorik Mikrocontroller Aktorik 108 Schematische Darstellung der replizierten Fluglageregelung des I4Copters 113 Versuchsmuster einer codierten Eingabequelle in Form eines H hensensors 120 Auswirkung der replizierten Ausf hrung auf die Regelg te 124 Diskrepanz zwischen Regelungsmodell und tats chlicher Ausf hrung 125 Schichtenmodell der im I4Copter realisierten modularen Regelungsarchitektur 131 Vergleich zwischen regul rer und modularisierter Fluglageregelung 135 ABBILDUNGSVERZEICHNIS 7 1 Inh rente Fehlertoleranz versus zeitliche Anforderungen der Fluglageregelung 142 2 1 41 4 2 4 3 4 4 4 6 5 1 5 2 5 3 Tabellenverzeichnis bersicht ber die g ngigsten Varianten der arithmetischen Codierung 37 Maximalfehlerzahl im Verh ltnis zur Hamming Minimaldistanz 80 IA32 Plattform Gr envergleich einfacher versus CORED Mehrheitsentscheider 90 Evaluation des CORED Mehrheitsentscheider auf der Befehlssatzebene 93 berpr fung der Hamming Distanz auf der B
119. bssystem und Anwendungen Entsprechende Techniken der Voll beziehungsweise Paravirtualisierung nutzen virtuelle Maschinen VM engl virtual machine zur Darstellung der Replikate weshalb diese Ans tze h ufig unter dem Begriff Redundant Virtual Machines RVM gef hrt werden Muk08 Das grunds tzliche Vorgehen entspricht der asynchronen Hardwarereplikation und umfasst bli cherweise mehrere Rechensysteme wobei die Aufteilung der Eingangssignale sowie der Vergleich der Ausgangssignale durch den virtuellen Maschinen Monitor VMM engl virtual machine mo nitor RGO5 anstelle der blichen Spezialzweckhardware erfolgt BS96 TLM 09 RHKSP06 Die notwendige Synchronisierung der Replikate wird durch eine Aufteilung der Ausf hrung in Epochen engl epoch erreicht Signalreplikation und Vergleich finden jeweils an den Bereichsgren zen der Epochen statt Ans tze wie ExtraVirt LRCO5 oder das kommerzielle EverRun TLMt09 erfordern keine redundanten Rechensysteme sondern nutzen einzelne Kerne in Mehrkernsyste men f r die Ausf hrung der Replikate TFT Bre98 stellt weiterhin eine auf Paravirtualisierung aufbauende generische Replikationsschicht dar welche sich an beliebige VMMs beziehungsweise Betriebssysteme anpassen l sst 42 KAPITEL 2 SOFTWAREBASIERTE FEHLERTOLERANZ RVMs haben den Vorteil des gr tm glichen Redundanzbereichs welcher das gesamte Soft waresystem umfasst Dar ber hinaus kann die Replikation transparent f r Anwe
120. ch eine entsprechende Auslegung und Ablaufplanung erreichen Mitte Bei der replizierten Ausf hrung steigt der Laufzeitbedarf und damit die Zeitspanne bis zur Ausgabe d signifikant an Dar ber hinaus ergeben sich Abweichungen in Abtastzeitpunkten der Sensoren Adeg und bei einer optimistischen Ausf hrung auch bei der Stellwertausgabe im Fehlerfall Ad 6 1 Erweiterte Problemanalyse Regelungsanwendungen zeichnen sich durch ihre Kopplung an ein zu kontrollierendes physika lisches System aus Sie nutzen Sensoren f r die Erfassung des aktuellen Zustands der Umwelt verarbeiten deren Daten und nutzen Aktoren zur gezielten Beeinflussung des zu kontrollierenden physikalischen Prozesses Neben einer zuverl ssigen Ausf hrung durch das Rechensystem sind sie daher auch ma geblich von der rechtzeitigen Bereitstellung der Ergebnisse abh ngig 6 1 1 Diskrepanz zwischen Modellannahmen und Ausf hrung Eine bliche stark vereinfachende Grundannahme beim Entwurf von Regelungssystemen ist in diesem Zusammenhang die quidistante und gleichzeitige Ausf hrung aller Elemente der Rege lung wie Sensorik Stellwertberechnung oder Aktorik FPW97 T r98 KGO2 AW11 wie sie in Abbildung 6 2 oben in Form eines zusammenh ngenden Eingabe Verarbeitung Ausgabe Blocks dargestellt ist Eine hnliche Modellannahme findet sich in der Informatik unter dem Begriff der synchronen Hypothese PBdST05 Diese Annahme ist jedoch schon aufgrund der unvermeidba ren Aus
121. ch Bitfehlers Yf 3 zu einem unerkannten Datenfehler f hren Tabelle 4 1 zeigt exemplarisch die f r ein Fehlermodell aus erkennbaren und korrigierbaren Fehlern g ltigen Kombinationen Die notwendige Hamming Minimaldistanz bestimmt sich entsprechend durchh a 1 wobei a lt B 4 2 WAHL DER CODIERUNGSPARAMETER 81 Distanz von sechs auf und erm glichen somit die zuverl ssige Erkennung von 5 fach Bitfehlern Ausgehend von der von Maiz et al MHZA03 ermittelten Maximalfehlerzahl von f nf erm gli chen diese Codierungsschl ssel eine ausnahmslose und vollst ndige Fehlererkennung aller transi enter Fehler Da CORED die codierten Verarbeitungsstr me r umlich voneinander isoliert spielen gemeinsame Primfaktoren f r die Fehlererkennungsleistung keine Rolle Dar ber hinaus weist die Klasse der Primzahlen eine mit den zusammengesetzten Zahlen vergleichbare Streuung der Ham ming Minimaldistanz auf Entsprechend bringt in diesem speziellen Anwendungsfall der Einsatz von Primzahlen keinen ersichtlichen Vorteil 4 2 3 Auswahl der Signaturen Grunds tzlich basiert die Fehlererkennung der arithmetischen Codierung auf dem Codierungs schl ssel A Die eingesetzten Signaturen B dienen lediglich dazu neben den reinen Daten fehlern auch die anderen Fehlerklassen f r die Decodierung sichtbar zu machen Eine Signatur entspricht damit letztlich einer gezielten Verf lschung des Codewortes durch die Einbringung ei nes Rests in den Basiscode
122. ch diese insbesondere aufgrund der konzeptionell vollst ndigen Fehlererfassung von Operanden Operator und Berechnungsfeh lern Die Codierungsvorschrift setzt sich im Einzelnen zusammen aus AN BD Vv A v B D N Se Codierter Wert Schl ssel Wert Signatur Zeitstempel Die eigentliche Fehlererkennung beruht hierbei auf dem AN Anteil der Codierung Dieser dient der Erzeugung eines Abstandes um A und erm glicht somit erst die Erkennung von fehlerhaften Codew rtern Gerade mit Blick auf die komplexen Zusammenh nge zwischen der Zuverl ssigkeit der Hardware und der effektiven Fehlerrate der Anwendung aus Kapitel 3 1 2 ist die Effektivit t der Codierung von hoher Relevanz f r den verfolgten Ansatz Dieser Aspekt ist Gegenstand einer ausf hrlichen Untersuchung der Codierungseigenschaften in Kapitel 4 F r den folgenden Entwurf steht hingegen zun chst der BD Anteil im Mittelpunkt Dieser dient vereinfacht ausgedr ckt der gezielten Manipulation und Verf lschung des Codewortes um neben den reinen Datenfehlern auch die anderen Fehlerklassen in der Decodierungsphase sichtbar zu machen Um dieses Ziel zu erf llen muss CORED die eingesetzten Signaturen B und Zeitstempel D geeignet instru mentalisieren und einsetzen Die zentralen Herausforderungen liegen hier in der in Kapitel 3 5 folgenden codierten Darstellung der Mehrheitsentscheider Der kombinierte Redundanzansatz CORED CORED nutzt eine Kombination aus Replikation von Prozess
123. che Auswirkungen durch kosmische Strahlung vgl Exkurs Seite 4 wobei sie von einer Zunahme der Fehlerrate mit der H he ausgingen Der erste Nachweis von transienten Hardwarefehlern durch kosmische Strahlung in Standardcompu terbauteilen erfolgte 1984 durch interne Untersuchungen von IBM ZCM 96 Mit dem Einzug entsprechender Bauteile in der Luft und Raumfahrt folgten weitere Untersuchungen welche die Annahmen von Ziegler und Lanford best tigten TN93 Im selben Ma konnten die Auswirkun gen der kosmischen Strahlung auf gr ere bodengebundene Systeme nachgewiesen werden Nor96 Im Allgemeinen k nnen sich Variationen und Fehler in der Produktion ebenfalls in einem spo radischen Fehlverhalten u ern Zu den Hauptursachen z hlen unter anderem Fertigungsstreu ungen der Transistoren tempor re Materialdefekte durch thermale Wechselbeanspruchung oder eine instabile Spannungsversorgung Obwohl grunds tzlich produktionsbedingt und damit auch den systematischen Fehler zurechenbar sind diese Effekte f r die Hersteller nur sehr schwer be herrschbar da zum Beispiel die Fertigungstoleranzen bei Nanolithografie inzwischen bei wenigen Atomlagen liegen Bor05 SH04 Eine weitere Ursache f r transiente Hardwarefehler sind St rimpulse Sie entstehen durch elektromagnetische Wechselfelder und f hren zu Rauschen oder bersprechen von Signalen auf Bussen und Datenleitungen Da diese Art der Fehler prinzipiell durch eine ausreichende elektro m
124. che Redundanz angenommen wird VN56 Folglich soll zu jedem beliebigen Betrachtungszeitpunkt h chstens ein Einzelfehlerbereich fehlerhaft sein Anschaulich entspricht dies einem Fehlverhalten von bis zu ei nem Replikat in jeder TMR Stufe Ebenso werden die kritischen Fehlerstellen nun als unabh ngige Fehlerbereiche angesehen welche ihrerseits durch transiente Fehler beeintr chtigt werden k nnen Somit soll auch in den Mehrheitsentscheidern und den Replikatoren mit dem Auftreten von je weils einem Fehler gerechnet werden die Replikationsinfrastruktur unterliegt dementsprechend derselben Fehlerannahme wie die redundante Ausf hrung selbst In dem konkreten Beispiel einer mehrstufigen Replikation aus Abbildung 3 2 auf Seite 56 erlaubt diese Fehlerbereichsannahme jeweils einen Fehler je Fehlerbereich und demnach insgesamt bis zu f nf Einzelfehler 3 2 2 Systemmodell Zus tzlich zu der vorangegangenen Fehlerhypothese ergeben sich die folgenden Annahmen an die f r die Ausf hrung notwendige Laufzeitumgebung sowie die zu sch tzende Anwendung Eigenschaften der Laufzeitumgebung Ein bergreifen eines Fehler beispielsweise auf andere Replikate kann zu einem gleichzeitigen Ausfall in mehreren Einzelfehlerbereichen und damit zu einer Verletzung der Fehlerhypothese f hren Um ein unabh ngiges Versagen der Einzelfehlerbereiche sicherzustellen sind derartige Gleichtaktfehler engl common mode failures daher grunds tzlich zu vermeiden Die Laufz
125. cheinlichkeit sind vollkommen unabh ngig von der Ausf hrungsplattform wiederverwendbar Es bleibt letztlich die vollst ndige Fehlerinjektion des CORED Mehrheitsent scheiders welche aufgrund der vergleichsweise kompakten Gr e und der Verf gbarkeit von Werkzeugen wie FAIL relativ einfach durchf hrbar ist 100 KAPITEL 4 EFFEKTIVE FEHLERERKENNUNG IMPLEMENTIERUNG UND EVALUATION 4 4 3 Arithmetische Codierung ganzer Anwendungen Der berwiegende Teil dieses Kapitels befasst sich mit der Verbesserung der arithmetischen Codie rung und deren entwurfsgem em Verhalten Durch die geeignete Wahl der Codierungsparameter und die Vermeidung von Schwachstellen in der technischen Umsetzung erweist sich die Fehlerer kennung der arithmetischen Codierung in CORED als vollst ndig und zuverl ssig Grunds tzlich sind diese Erkenntnisse nicht auf die Anwendung im Rahmen des CORED Ansat zes beschr nkt und lassen sich auch auf andere Anwendungsformen der arithmetischen Codierung bertragen Anstelle der von CORED verfolgten Kombination von Codierung und Replikation ist beispielsweise die vollst ndige arithmetische Codierung der gesamten sicherheitskritischen An wendung denkbar wie sie teilweise von den in Kapitel 2 2 2 diskutierten Arbeiten verfolgt wird Kosten Dem entgegen stehen zun chst die hierdurch verursachten Kosten Selbst die vergleichsweise stark optimierte Umsetzung des CORED Mehrheitsentscheiders weist eine im Vergleich mit der unc
126. chen Umsetzung des Auswahlprozesses ist die Fehlersimulation daher vor allem als zus tzlicher Schritt nach einer Vorauswahl anhand der Hamming Minimaldistanz zu sehen Einfluss des Codierungsschl ssels auf die Restfehlerwahrscheinlichkeit Die Ergebnisse weisen im Allgemeinen das erwartete Verhalten auf und belegen insbesondere auch die absolute bereinstimmung mit den in Kapitel 4 2 2 errechneten minimalen Hamming Distanzen der jeweiligen Codes Dar ber hinaus zeigt sich jedoch abermals der signifikante Ein fluss des Codierungsschl ssels auf die tats chliche Restfehlerwahrscheinlichkeit sowie die bereits beobachtete Streuung der Ergebnisse Abbildung 4 4 stellt dieses Verhalten anhand einer stark 1Im Bezug auf die Leistungsf higkeit eines Intel Xeon 5650 Kerns mit 2 66 GHz 4 2 WAHL DER CODIERUNGSPARAMETER 85 Regul re Leistung rk nem 1 2 3 2 4 2 5 9 6 Codierungsschl ssel A Restfehlerwahrscheinlichkeit Poa Abbildung 4 4 Vorhersage versus Messung Streuung der Restfehlerwahrscheinlichkeit bei Uberbeanspruchung Vergleich der theoretischen Vorhersage der Restfehlerwahrscheinlichkeit mit den Messwerten der Fehlersimulation Die regul re Leistung entspricht einer deutlichen berbeanspruchung der Codes 7 bis 8 Bit Sie liegt unterhalb der Vorhersage und erweist sich als weitgehend frei von Streuung Demgegen ber f hrt gerade die geringf gige berbeanspruchung der Codierung zu
127. chsannahme 3 2 2 Systemmodell y 4 0 4 ey ad hak ana be ded ee See BA 3 3 CORED Ansatz und Methodik 2 2 CC mon 3 4 Eingang zu Ausgang Fehlererkennung 2 2 22 22mm 3 4 1 Eingangsreplikation 2 0 0 2 2c en 3 4 2 Ausgangsvergleich und Konsolidierung 004 3 5 Zuverl ssige Mehrheitsentscheider 0 00 eee eee eens 3 5 1 Arithmetische Codierung Vergleichsoperatoren 3 5 2 Der CORED Mehrheitsentscheider 02 02000 0 3 6 Fehlertoleranz Se e eee ee eee ee eee Ge eee 3 7 Syst emkomposition s erit s peen ann eed he le Ee ee ee 3 7 1 CORED Dienstschicht 2 0 2 con INHALTSVERZEICHNIS 3 7 2 Abbildung auf Aufgaben des Echtzeitsystems 3 8 Zusammenfassung CC Cm 4 Effektive Fehlererkennung Implementierung und Evaluation 4 1 Erweiterte Fehlerhypothese 2 2 2 2 2 a 4 2 Wahl der Codierungsparameter 2 22 Como 4 2 1 Restfehlerwahrscheinlichkeit der Codierung 4 2 2 Auswahl der Codierungsschl ssel 2 222222220 4 2 3 Auswahl der Signaturen 2 Com onen 4 2 4 Bin re Darstellung nicht systematischer arithmetischer Codes 4 2 5 Verbesserung der Erkennungsleistung bei berbeanspruchung 42 6 Res mee sire bk Eu dene 4 3 Evaluation der CORED Implementierung 4 4 3 1 Fehlerinjektion auf der Befehlssatzebene 22222020 4 3 2 Implementieru
128. codierten Werten zum Beispiel die Addition Ze Xe e Ye In der Literatur selten auch Homomorphe Codierung engl homomorphic encoding genannt 2 2 VERWANDTE ARBEITEN 37 Fehlererkennung Unterst tzte Operatoren codiert Redundanzbereich Operandenfehler s rs 5 8 xo E S 9 2 5 5 w 3 6 2 g 3 3 n po D S 5 N 5 L Q 2 5 2 2 Ss D T O gt 2 2 a E S D g S S id x c g 5 2 O o z 2 a 2 D 2 o S eo 5 3 2 3 gt 2 2 Q oO ke ke 3 3 2 2 Code m O a lt gt lt a a m J gt Q x Residue J O J O O O O AN Q Q J Q O O ANB O Q O e ANBD J J J J J O O J M glich Unvollst ndige Fehlererkennung Nicht m glich Tabelle 2 1 bersicht ber die g ngigsten Varianten der arithmetischen Codierung Die verschiedenen Strategien arithmetischer Codierung unterscheiden sich im Wesentlichen in der m glichen Fehlererkennung den unterst tzten Operatoren sowie dem entstehenden Redundanzbereich bezogen auf Daten und Kontrollfluss Residue Code Residue Codes dt Restbetragcode stellen eine sehr grundlegende Form der arithmetischen Co dierung dar und sind eine der wenigen Varianten im praktischen Einsatz welche Codew rter systematisch und separiert darstellen AGM 71 Das Codewort v wird entsprechend durch ein Tupel aus dem Wert v und dem Restbetrag
129. d nach den Abmessungen des zentralen Steuerge r tes Die sich hieraus ergebenden technischen Daten liegen mit circa 1 3 Kilogramm Gewicht und 5 1 DAS l4COPTER LUFTFAHRZEUG 107 64 Zentimeter Spannweite noch im typischen Modellbaubereich F r ein besseres Verst ndnis der zu sch tzenden Fluglageregelung gibt der folgende Abschnitt zun chst einen groben berblick ber den Aufbau und die Struktur des Hardware und Softwa resystems des I4Copters sowie der eingesetzten Sensorik und Aktorik F r eine dar ber hinaus gehende detaillierte Beschreibung des Systems sei an dieser Stelle auf die zugeh rigen Ver f fentlichungen UKH 11 UHK 12 UFH 12 beziehungsweise studentischen Abschlussarbeiten Dre08 HK08 Fra09 Sch10 Lim11 Blall Heill Dre11 Frall Reb12 Klal2 verwiesen Die bei den Exzerpte auf den Seiten 110 und 112 erlauben eine direkte Abk rzung zur Anwendung von CoRED auf die Fluglageregelung in Kapitel 5 2 ab Seite 112 5 1 1 Hardwaretechnischer Aufbau Das Steuerger t des I4Copters besteht analog zum bekannten Eingabe Verarbeitung Ausgabe Sche ma aus den in Abbildung 5 2 dargestellten drei Platinen f r die Erfassung der Umweltparameter die Berechnung der notwendigen Regelungsaufgaben sowie den Betrieb der Antriebseinheiten Sowohl die Sensor als auch die Motorplatine wurden hierbei eigens f r den spezifischen Anwen dungszweck entwickelt Zusammengenommen haben die eingesetzte Sensorik und Aktorik einen signifikanten
130. das Beispiel des Codierungsschl s sels A 251 und einer Senkung der Restfehlerwahrscheinlichkeit um den Faktor 1000 gezeigt hat Zusammenfassend erm glicht die technische Umsetzung von CORED die vollst ndige und zuverl ssige Fehlererkennung wie sie durch den Entwurf vorgesehen ist 102 KAPITEL 4 EFFEKTIVE FEHLERERKENNUNG IMPLEMENTIERUNG UND EVALUATION Teil Il Anwendungsebene Replikation von Regelungsanwendungen 103 Fallbeispiel l4Copter Fluglageregelung eines unbemannten Luftfahrzeugs Im ersten Teil dieser Arbeit wurden mit CORED die Bausteine f r die gezielte Beeinflussung der nicht funktionalen Eigenschaft Zuverl ssigkeit auf Ebene des Betriebssystems entwickelt Die Fehlertoleranz basiert hierbei auf einer Kombination aus einer replizierten Ausf hrung der Pro zessinkarnationen der Anwendung sowie der arithmetischen Codierung der eigentlichen Replikati onsinfrastruktur CORED kommt dabei im Allgemeinen ohne funktionale nderungen der Anwen dung aus und kann entsprechend transparent eingesetzt werden Dies gilt im Besonderen f r die Klasse der Regelungsanwendungen welche durch die hier vorherrschende Eingabe Verarbeitung Ausgabe Struktur sowohl eindeutige Schnittstellen als auch einen unterbrechungsfreien Durchlauf der Ausf hrung aufweisen Im zweiten Teil der Arbeit verlagert sich nun der Fokus von der System auf die Applikations ebene u
131. den Motorgondeln angeordnet wodurch sich die schon auf der Sensorseite praktizierte Hard wareredundanz prinzipiell auch auf den Antriebsstrang ausdehnen l sst Das l4Copter System Der I4Copter stellt eine praxisnahe Hardwareplattform dar Das System basiert auf einem Infineon TriCore TC1796 Mikrocontroller Diesem werden von der Inertial Sensorik insgesamt 35 Messwerte ber verschiedene Schnittstellen zur Verf gung gestellt Die Ansteuerung der Aktoren erfolgt durch eine nachrichtenbasierte Stellwert bergabe an die intelligente Leistungselektronik welche die geeignete Steuerung der Antriebsmotoren bernimmt 5 1 2 Softwaresystem Das Softwaresystem des I4Copters orientiert sich naturgem an den Gegebenheiten und An forderungen der Anwendung und des Hardwaresystems Insgesamt umfasst das Softwaresystem f r die Steuerung und Regelung des Fahrzeugs ber 26000 Zeilen C Quellcode Dies bein haltet neben der eigentlichen Regelungsanwendung eine ganze Reihe von Systemdiensten und Hardwaretreibern f r die spezifischen Kommunikationsschnittstellen Sensoren und Aktoren Als Ausf hrungsplattform f r die Anwendungskomponenten dient das Forschungsbetriebssys tem CiAO LHSP 09 Dieses implementiert das in der Fahrzeugtechnik verbreitete AUTOSAR OS Applikationsmodell engl AUTomotive Open System ARchitecture Operating System AUT11 und unterst tzt damit die erforderliche r umliche und zeitliche Isolation der Prozessinkarnatio nen mithil
132. den einzelnen Elementen der Regelung An vielen Stellen bedeutet dies jedoch lediglich die explizite Darstellung der im Mo dell ohnehin vorhandenen Verbindungen zwischen Sensorfusion Beobachtern und Reglern so dass diese auch im generierten Quellprogramm noch sichtbar und zugreifbar sind Ausgehend von der Sensorfusionsebene vgl Abbildung 6 3 Ebene teilt sich die bisherige Signalverarbei tung auf Die bisher in den jeweiligen Fusionsbl cken durchgef hrte Ratenanpassung wandert eine Ebene tiefer zu den Sensortreibern Auf die alternative Signalisierung der Totzeit durch den Sensor konnte im konkreten Fall verzichtet werden Entsprechend erh lt die Sensorfusion im I4Copter von der Sensorik stets um die Messunsicherheit angereicherte und vorverarbeitete Messwerte Die Aufteilung in die drei Sensorgruppen bleibt hierbei bestehen Zus tzlich sind die Beobachter f r die Drehrate den Winkel und die H he nunmehr logisch von der Regelung abgekoppelt und Teil der Sensorfusionsebene Als Gegenst ck zur Sensorfusion bernimmt die Aktorfusionsebene Ebene die Abtastung der Reglerausg nge und die Fusion der unterschied lichen Sollwerte zu einem konsolidierten Stellwert f r die bergabe an die Aktortreiber Die entsprechende Komponente zur Motorsteuerung stellt den einzigen notwendigen Neuentwurf im Rahmen der Modularisierung dar Als letzter Teil der Signalverarbeitung vor der Ausgabe dient die Aktorfusion auch der Kompensation des zeitlichen Versatz
133. den in diesem Zusammenhang die Gyroskopen mit analoger Schnittstelle und wenigstens 155 Hertz Dem Abtasttheorem folgend ergibt sich hieraus im konkreten Fall eine Periode von drei Millisekunden f r die Sensordatenerfas sung und Verarbeitung Entsprechend werden die Arbeitsauftr ge f r die Abtastung der Sensoren 5 1 DAS l4COPTER LUFTFAHRZEUG 111 und die Signalvorverarbeitung mit der Datenfusion zu einer Aufgabe verschmolzen und bilden gemeinsam eine Prozessinkarnation Fluglageregelung Die Fluglageregelung FlightControl repr sentiert letztlich die eigentliche Regelungsanwen dung des I4Copters Diese nutzt die vorverarbeiteten und fusionierten Messwerte zur Stabilisierung der Fluglage und zur Umsetzung der durch den Piloten vorgegebenen F hrungsgr en Die errech neten Stellwerte der Regelung werden anschlie end an das Aktorsystem bertragen Aufgrund der Dynamik des Systems und der Vielzahl der Eingangsgr en basiert der regelungstechnische Entwurf im I4Copter auf einer Zustandsregelung der Fluglage sowie der Flugh he Bei dieser Art des Entwurfs h ngen die errechneten Stellwerte nicht alleine von den aktuellen Systemgr en wie zum Beispiel der Lage oder Drehrate ab Vielmehr werden die durch den Regler bestimm ten Zust nde geeignet auf die Stellwerte zur ckgef hrt und verrechnet Vereinfacht ausgedr ckt nutzt der Regler sein Wissen ber die aktuelle Steuerung zur besseren Vorhersage des k nftigen Systemzustands Die
134. den sich diese Wahrschein lichkeiten jedoch erheblich aufgrund der Bin rdarstellung der Codew rter So l sst sich der Wert X 128 10000000 durch einen Bitfehler zu Xfehlerhaft 129 19000001 verf lschen eine Mutation ZUM X fehlerhaft 127 01111111 ben tigt demgegen ber jedoch acht einzelne Bitfehler Zur Charak terisierung des Abstands im Bin rsystem wird daher die Hamming Distanz engl Hamming distance Ham50 auch Hamming Abstand genutzt Diese beschreibt die Anzahl der Bits in denen sich zwei W rter voneinander unterscheiden in diesem Beispiel ist der Abstand demnach eins beziehungsweise acht Darauf aufbauend entspricht die Hamming Minimaldistanz engl minimum Hamming distance dp eines Codes dem Minimum aller Abst nde zwischen zwei beliebigen g ltigen Codew rtern F r die Menge der Codew rter 00000 00111 11100 11011 gt ist die Minimaldistanz entsprechend d 3 Hamming Minimaldistanz d 2 3 4 4 5 8 8 Maximalfehlerzahl Erkennbare Bitfehler 0 1 2 3 4 f dn f 1 Korrigierbare Bitfehler 0 O0 1 1 2 dp 2f 1 Giltiges Fehlermodell Erkennbare Bitfehler 0 1 2 1 3 2 4 3 2 dh a 1 x Korrigierbare Bitfehler 0 0 0 1 0 1 0 I 2 8 Tabelle 4 1 Maximalfehlerzahl und g ltige Fehlermodelle im Verh ltnis zur Hamming Minimaldistanz Die Minimaldistanz dp eines Codes bestimmt die Zahl der durch diesen sicher erkennbaren f 1 beziehungsweise korrigierbaren 2f 1 Bitfehler f
135. die Klasse der effektiven Fehler engl effective faults Hierf r extrahiert und analysiert FAIL die Instruktionen des Bin rprogramms um daraus die tats chliche Nutzung der Register und Speicherstellen zu ermitteln Die notwendigen Experimente ergeben sich anschlie end schrittweise aus einem fehlerfreien Testlauf engl golden run Hierbei definiert jede Instruktion des Kontrollflusspfads einen Injektionszeitpunkt und jede Speicherstelle einen entsprechenden Ort Die als effektiv ermittelten Experimente werden in eine Datenbank f r die sp tere Verarbeitung durch die FAIL Clients abgelegt 4 3 2 Implementierung und Versuchsaufbau Zur Durchf hrung der Experimente muss der CORED Mehrheitsentscheider bereits als Bin rcode vorliegen Der von FAIL eingesetzte Bochs Emulator gibt dabei die Hardwareplattform in Gestalt der Intel 32 Bit Architektur engl Intel Architecture 32 Bit IA32 vor Hinzu kommt eine geeig nete Kampagnenbeschreibung welche die m glichen Ergebnisse der Fehlerinjektion definiert und dar ber hinaus die Ausf hrung der Experimente koordiniert Realisierung des CORED Mehrheitsentscheiders Die f r die Evaluation genutzte Implementierung des CORED Mehrheitsentscheiders sowie der arithmetischen Codierung liegt als C Quellcode vor Sie nutzt die durch die Programmier sprache bereitgestellten Template Sprachelemente dt Schablonen f r die Auswahl Berechnung und Konfiguration der konstanten Codierungsparameter Die hie
136. die erwartete quivalenz der beiden Varianten hinsichtlich der Regelg te Abweichungen der Ausf hrung ber cksichtigt Das Ergebnis des Experiments ist in Abbildung 6 4 dargestellt Es zeigt sich die erwartete bereinstimmung im Regelverhalten der beiden Varianten Verminderung der Fehlererkennungslatenz Nach der Modularisierung der Regelungsanwendung stehen statt der bisher zwei Aufgaben f r die Signalverarbeitung und Regelung potenziell bis zu zehn verschiedene regelungstechnische Ak tivit ten f r die individuelle Abbildung auf Prozessinkarnationen zur Verf gung Die augenschein lichste nderung ist hierbei die Trennung zwischen Fluglage und Flugh he Durch die Abtrennung der Beobachter und der Flugh he ben tigt die Berechnung des Fluglagereglers beispielsweise statt 187 4 Mikrosekunden nur noch 118 7 Mikrosekunden und somit eine Verminderung der Fehlerer kennungslatenz von ber 36 Prozent 6 5 Zusammenfassung Die weitergehende Betrachtung der softwarebasierten Replikation von Regelungsanwendungen f hrt letztlich zu der grunds tzlichen Problematik der Wechselwirkung zwischen den nicht funk tionalen Eigenschaften Zuverl ssigkeit und Rechtzeitigkeit Die durch CoRED angestrebte anwen dungstransparente Replikation ist daher in der Praxis mit erheblichen Einschr nkungen behaftet Die in diesem Kapitel durchgef hrte erweiterte Problemanalyse zeigt anschaulich das bei einer nachtr glichen Replikation auftretende Problem der Di
137. dingungen Um die von CORED angestrebte Transparenz dennoch zu erreichen ist folglich eine qualit tsgewahre Replikation unter Anpassung beziehungsweise Minimierung der Modellabweichungen notwendig Die spezifische Erweiterung des CORED Ansatzes zur CORED CONTROL gibt dem Anwendungsentwickler ein hierf r geeignetes Rahmenwerk an die Hand Das Ziel ist dabei zum einen die Anreicherung der Anwendung um die durch die Replikation entstehenden Zeitabst nde Zum anderen die Modu larisierung der Regelungsanwendung und der inh rent verschmolzenen zeitlichen Dom nen um eine feingranulare Abbildung auf Prozessinkarnationen und damit eine entsprechend reduzierte Fehlererkennungslatenz zu erm glichen bersicht und Entwurfskonzept Bis zu diesem Punkt besteht die einzige Verbindung zwischen der Regelungsanwendung und der CORED Dienstschicht beziehungsweise der Ausf hrungsumgebung im Allgemeinen aus der Aufruf schnittstelle set step und get der Anwendung auf der einen Seite und den Systemaufru fen und Treibern auf der anderen Seite Der Datenaustausch bezieht sich dabei ausschlie lich auf Messwerte und Berechnungsergebnisse Aus diesem Blickwinkel besteht die Anwendungsschnitt stelle bislang lediglich aus einem Datum Ein erster logischer Schritt f r die angestrebte R ckf hrung und Kompensation der zeitlichen Abweichungen in der Regelung ist daher die Einbeziehung des zeitlichen Versatzes als weiterer Schnittstellenparameter Dieser entsteht
138. drocopter engl quadrotor bezeichnet Sie z hlen wie die Hubschrauber zur Klasse der Drehfl gler besitzen jedoch feststehende Propeller Eine nderung der Fluglage erfolgt daher alleine durch die geeignete Anpassung der Drehzahl der Motoren Im Gegensatz zu den meisten anderen Luftfahrzeugen weisen Quadrocopter daher inh rent instabile Flugeigenschaften auf was eine kontinuierliche Regelung der Fluglage unumg nglich macht Dies erfordert zun chst die Er fassung der Lage im Raum durch eine geeignete Sensorik Darauf aufbauend muss die Fluglage durch eine ad quate Ansteuerung der Motoren stabilisiert werden um letztlich das gew nschte Flugverhalten zu erzielen Der technische Aufbau des I4Copters orientiert sich aus Gr nden der Praxisn he an der in der Fahrzeugtechnik blichen Hardware Dar ber hinaus wurde die zentrale Regelungsanwendung in enger Zusammenarbeit mit erfahrenen Regelungstechnikern und nach g ngigen Entwurfsmetho den entwickelt und rein softwarebasiert umgesetzt UFH 12 Im Rahmen dieser Arbeit dient der 14Copter daher als anspruchsvolles Fallbeispiel f r eine sicherheitskritische Regelungsanwendung Zu den zentralen Eigenschaften der Regelungsanwendung z hlt die obligatorische Fluglagere gelung bei manueller Steuerung Dar ber hinaus erm glicht die Anwendung auch ein autonomes Starten und Landen in Bodenn he sowie die Regelung der Flugh he Die Konstruktion der Flugzelle und des Antriebsstrangs richtet sich weitgehen
139. e ACM 69 Seiten 295 309 ACM Press New York NY USA doi 10 1145 800195 805940 Zitiert auf den Seiten 10 und 48 Benso A Di Carlo S Di Natale G und Prinetto P 2003 A watchdog pro cessor to detect data and control flow errors Proceedings of the 9th IEEE On Line Testing Symposium IOLTS 03 Seiten 144 148 IEEE Computer Society Press Washington DC USA doi 10 1109 OLT 2003 1214381 Zitiert auf Seite 32 Barham P Dragovic B Fraser K Hand S Harris T Ho A Neugebauer R Pratt I und Warfield A 2003 Xen and the Art of Virtualization Proceedings of the 19th ACM Symposium on Operating Systems Principles SOSP 03 Band 37 5 von ACM SIGOPS Operating Systems Review Seiten 164 177 ACM Press New York NY USA doi 10 1145 945445 945462 Zitiert auf Seite 8 Bugnion E Devine S Govil K und Rosenblum M 1997 Disco Running Commodity Operating Systems on Scalable Multiprocessors ACM Transactions on Computer Systems 15 4 Seiten 412 447 ISSN 0734 2071 doi 10 1145 265924 265930 Zitiert auf Seite 8 Bodson M und Groszkiewicz J 1997 Multivariable adaptive algorithms for reconfigurable flight control IEEE Transactions on Control Systems Technology 5 2 Seiten 217 229 ISSN 1063 6536 doi 10 1109 87 556026 Zitiert auf den Seiten 31 und 123 Braun J Geyer D und Mottok J 2012 Alternative Measure for Safety Related Software ATZelektronik worldwide 7 4 Se
140. e Aktorik Auch auf dieser Hardwareplattform konnte die vollst ndige und zuverl ssige Fehlererkennung durch die CORED Dienstprimitive mittels Fehlerinjektion nachgewiesen werden Insgesamt demonstriert die erfolg reiche und mit lediglich geringf gigen Anpassungen der Anwendung verbundene Absicherung der Fluglageregelung die allgemeine Umsetzbarkeit von CORED Der mit CORED verfolgte Fehlertoleranzansatz zielt auf eine ganzheitliche Absicherung der zu sch tzenden Anwendung ab Hierf r erstreckt sich der entstehende Redundanzbereich von deren Eing ngen bis zu den Ausg ngen Dar ber hinaus l sst sich der Schutz auch ber die Grenzen des Rechensystems hinaus erweitern Hierf r wurde der I4Copter um ein Versuchsmuster eines co dierenden Sensors sowie ein intelligentes Aktorsystem erweitert Durch die codierte bertragung der Messwerte k nnen weite Teile der umst ndlichen Eingangsreplikation ohne den Verlust der Fehlererkennung entfallen Auf der Ausgangsseite erlaubt die Weitergabe des codierten Gewinners des finalen Mehrheitsentscheids die Ausdehnung des Redundanzbereichs bis auf den Aktor Durch die nachgelagerte Decodierung kann dieser neben der Datenintegrit t auch die korrekte Ausf h rung des entfernten Mehrheitsentscheiders berpr fen Der Charme dieser Erweiterbarkeit liegt in dem nahtlosen bergang zwischen der Daten bertragung Berechnung und der Konsolidierung der Ergebnisse der redundanten Ausf hrung durch den Mehrheitsentscheid
141. e Au enwelt Dar ber hinaus sind hier auch die anwendungsunabh ngigen Stellvertreter beziehungsweise Akzeptanzmaskierer f r die Emulation codierter Systemschnittstellen und Hardwaretreiber angesiedelt Hierzu z hlen insbesondere die f r die arithmetische Codierung der Datenstr me notwendigen Operationen f r die Eingabe und Ausgabe Nicht zuletzt stellt die CORED Dienstschicht die entscheidenden zuverl ssigen Mehrheits entscheider aus Kapitel 3 5 zur Verf gung ber die in Kapitel 2 2 3 vorgestellten vergleichbaren Replikationsschichten auf Betriebssystemebene hinaus eliminiert CORED damit nicht nur die kri tischen Fehlerstellen der softwarebasierten Replikation sondern erweitert auch die M glichkeiten zur Systemkomposition durch die Bereitstellung der codierten Schnittstellen Ein weiterer wichtiger Aspekt f r die Umsetzung der codierten Datenstr me und des CoRED Mehrheitsentscheiders ist die Verwaltung der Codierungsschl ssel und Signaturen Diese werden f r jede Anwendung und jeden Ausf hrungsstrang separat gef hrt und eineindeutig an die codierten Datenstr me vergeben F r die korrekte Funktion des CORED Mehrheitsentscheiders m ssen sich beispielsweise die Signaturen B f r die drei Varianten x y und z unterscheiden Die Auswahl geeigneter Schl ssel und Signaturen ist Gegenstand von Kapitel 4 3 7 2 Abbildung auf Aufgaben des Echtzeitsystems Als letzter Schritt nach der Absicherung der Anwendung bleibt die Abbildung d
142. e R ckgabe der fehlerhaften Variablen stellwert fort und wird schlie lich zu einem von au en durch ihren Aufrufer beobachtbar Fehlverhalten der Funktion regelschritt Fehlerfortpflanzung und Sichtbarkeit Ab wann ein Fehler beobachtbar und damit zum Fehlverhalten wird h ngt dabei ma geblich von der Sichtbarkeit beziehungsweise der Betrachtungsebene ab Grunds tzlich erscheint ein Fehlverhalten auf der aktuellen Ebene wiederum als Defekt auf der dar ber liegenden Ebene Die Fehlerkette pflanzt sich entsprechend von Ebene zu Ebene fort bis sie schlie lich in einem vom Benutzer beobachtbaren Fehlverhalten m ndet Ob sich ein Bitfehler tats chlich auswirkt h ngt dementsprechend davon ab ob sich der Fehler durch die Ebenen fortpflanzen kann ohne maskiert zu werden Muk08 ALRLO4 Abbildung 2 1 veranschaulicht die Fehlerfortpflanzung durch die Ebenen des Gesamtsystems Initial f hrt ein transienter Fehler zu einer Umladung in einem Transistor und damit zu einer Inversion seines Zustands Dies zeigt sich aus Sicht des Prozessors Ebene n 1 zun chst als Defekt in Form eines Bitfehlers Befindet sich dieser in einem im weiteren Verlauf der Ausf hrung genutzten Teil des Prozessors zum Beispiel in einem Register kommt es zur Fehlerfortpflanzung und damit schlie lich zum Fehlverhalten des Prozessors Bezogen auf die Funktion Ebene n zeigt sich der fehlerhafte Registerwert wiederum als Defekt zum Beispiel als Datenfehler in der Variablen s
143. e durch ANBD Codes gesch tzte Version rechts berf hrt Die grundlegende Idee ist hierbei die schrittweise Herleitung einer vom Ausf hrungspfad unabh ngige Signatur am Ende des Vergleichs Diese ist jedoch nur bei einer korrekten Abfolge der Instruktionen erreichbar da sich die einzelnen Berechnungsschritte zwischen den beiden Zweigen unterscheiden Die Codierung der bedingten Verzweigung erfordert hierf r zun chst die Bereitstellung der Sprungsignaturen B rye und B faise f r die beiden m glichen Ausf hrungspfade Forin nutzt hierf r im Wesentlichen die Signaturen der beteiligten Operanden hier x und y In einem ersten un codierten Berechnungsschritt wird in Zeile 1 das Ergebnis der Bedingung x gt y ermittelt und die Korrektursignatur B ona entsprechend gesetzt Das Ziel der Codierung ist nunmehr die Erzeugung einer konstanten und von der bedingten Ausf hrung unabh ngigen Zielsignatur am Ende der Verzweigung Zeile 11 In diesem Beispiel wird die Signatur von y bei der Durchf hrung des 64 KAPITEL 3 DER KOMBINIERTE REDUNDANZANSATZ CORED Original ANBD codiert State x y Requires Bz By Btrue Bfalse Konstante Signaturen f r Operanden und Zweige State e Ye Beond 1 if x gt y then 2 Y 2 1 if DECODE x gt DECODE y then Beona Btrue else Beona Bfalse 3 else 2 4 y c y 3 if DECODE x gt DECODE y then 5 end if 4 Yo Le Ye Signatur By By 5 else 6 Ye Te Ye
144. eben Die Ergebnisse der Doppelbitfehlerkampagne sind in Tabelle 4 4 dargestellt Wie zu erwarten treten bei einem geeignet gew hlten A 58 659 keine unerkannten Datenfehler auf Im Gegensatz dazu erweist sich die arithmetische Codierung bei einem schlecht gew hlten A 58368 mit einer minimalen Hamming Distanz von dp 2 mit 77 unerkannten Datenfehlern als anf llig Dass es sich hierbei um den erwarteten Einfluss des Codierungsschl ssels handelt zeigt sich an der wertgleichen Reduzierung der durch die arithmetische Codierung erkannten Fehler 96 KAPITEL 4 EFFEKTIVE FEHLERERKENNUNG IMPLEMENTIERUNG UND EVALUATION Codierungsschl ssel A 22 44 76 2404 12288 34346 58368 dh 2 2 2 2 2 2 2 Psac Simulation 2 Bit 0 02749 0 02749 0 01300 0 00029 0 14247 0 00009 0 01633 Unerkannte Datenfehler 138 143 63 4 591 4 77 Tabelle 4 5 berpr fung der Restfehlerwahrscheinlichkeit auf Befehlssatzebene durch die Injektion von Doppelbitfehlern Der Vergleich der simulierten Restfehlerwahrscheinlichkeit Psac f r Doppelbitfehler mit den Ergebnissen der entsprechenden Fehlerinjektionskampagnen zeigt den Einfluss des gew hlten Codierungsschl ssels A bei einer berbeanspruchung Die Korrelation zwischen unerkannten Datenfehlern und der Restfehlerwahrscheinlichkeit betr gt 99 86 Prozent berpr fung der Restfehlerwahrscheinlichkeit auf der Befehlssatzebene Durch eine Ausweitung der Doppelbitfehlerkampagne auf weitere Codierungsschl ssel wurde z
145. ebenen kritischen Feh 1 4 L SUNGSANSATZ 11 Anwendung Technik Replikation und Codierung Anwendungsschnittstelle Dienstschicht Zuverlassigkeit Rechizeitigkeit Echtzeitbetriebssystem Systemsoftware zuepunpay Bue sny nz ug APON Hardware Rechensystem Sensorik Aktuatorik 4 Abbildung 1 3 Schematische Einordnung des vorgeschlagenen L sungsansatzes Der Ansatz f gt sich als Dienstschicht zwischen Anwendung und Systemsoftware Echtzeitbetriebssystem ein Diese stellt Techniken Schnittellen und Methodiken f r die Eliminierung kritischer Fehlerstellen den Aufbau eines geschlossenen Red undanzbereichs sowie f r die feingranulare funktionale wie temporale Abbildung von Echtzeitregelungsanwendungen zur Verf gung 6Bunpuemuesbunjebey Bunpliqgy lerstellen um damit eine durchgehende softwarebasierte Fehlererkennung zu erm glichen Zum anderen stellt er aus Sicht des Anwendungsentwicklers geeignete Methodiken und Schnittstellen bereit die es erm glichen sicherheitskritische Funktionen und Regelungsanwendungen selektiv und durchg ngig abzusichern und gleichzeitig die sich ndernden zeitlichen Eigenschaften geeig net zwischen Anwendung und Systemsoftware auszutauschen Der Ansatz gliedert sich dabei wie in Abbildung 1 3 dargestellt als Dienstschicht zwischen Anwendung und Systemsoftware ein Technische Ma nahmen zur Eliminierung kritischer Fehlerstellen Ausgangspunkt ist die sof
146. eeigneter Gradmesser f r die Bestimmung des Einflusses einer Komponente auf das Endergebnis Die inh rente Redundanz einer Regelungs anwendung l sst sich somit f r die ressourceneffiziente Fehlertoleranz ausnutzen Dies gilt im selben Ma auch f r die Ablaufplanung welche nunmehr ebenfalls abh ngig von den Auswirkun gen auf die Bed rfnisse der Anwendung durchgef hrt werden kann Eine Sto richtung f r die Umsetzung eines solchen adaptiven Systems ist die Bereitstellung entsprechender Basismechanis men f r die Ablaufkoordinierung auf der Basis der Messunsicherheit durch das Betriebssystem Die ersten Versuche sind hier vielversprechend 144 KAPITEL 7 ZUSAMMENFASSUNG UND AUSBLICK AAA 90 ABK 93 AGM 71 ALRLO4 Arn73 ASB 08 Atm09 AUT11 AVFKO2 Literaturverzeichnis Arlat J Aguera M Amat L Crouzet Y Fabre J C Laprie J C Martins E und Powell D 1990 Fault Injection for Dependability Validation A Methodology and Some Applications IEEE Transactions on Software Engineering 16 2 Seiten 166 182 ISSN 0098 5589 doi 10 1109 32 44380 Zitiert auf Seite 89 Ackermann J Bartlett A Kaesbauer D Sienel W und Steinhauser R 1993 Robust Control Systems with Uncertain Physical Parameters 1 Auflage Springer New York NY USA ISBN 978 0 3871 9843 9 Zitiert auf den Seiten 31 und 123 Avizienis A Gilley G Mathur F P Rennels D Rohr J und Rubin
147. efehlssatzebene durch Doppelbitfehler 95 berpr fung der Restfehlerwahrscheinlichkeit auf der Befehlssatzebene 96 Erweiterte Fehlerinjektion von Mehrfachbitfehlern mit 3 5Bit 97 TriCore Plattform Gr envergleich einfacher versus CORED Mehrheitsentscheider 115 Evaluation des CORED Mehrheitsentscheider im I4Copter 116 Gr e und Laufzeitverhalten der CORED Basisoperationen 117 vii viii TABELLENVERZEICHNIS 2 1 2 3 31 3 2 3 3 3 4 3 5 4 1 4 2 Programmausschnitte Fehlersymptomatik Vom Defekt zum Fehlverhalten 20 Symptomatische Auswirkungen transienter Fehler 2 2 2222 20 23 Softwarebasierte Fehlererkennung durch Replikation auf Instruktionsebene 43 Funktionen f r die arithmetische Codierung und Decodierung von Daten 57 Einfacher Mehrheitsentscheider 2 2 2 22mm nennen 63 Arithmetische Codierung einer Grofser Gleich Verzweigung 64 Zuverl ssiger CORED Mehrheitsentscheider 2 2 222 cc 66 Erkennung von Kontrollflussanomalien durch den CORED Mehrheitsentscheider 68 Schwachstelle bin re Darstellung Integrit t des Coderaumes 83 Schwachstelle Laufzeitumgebung Integrit t der isolierten Ausf hrung 92 PROGRAMMAUSSCHNITTE A Codierungsschl ssel Konstante Super As 32 Bit Codierungsschl ssel besten Abb Abbildung ABI application binary interface ADC analog to digita
148. eich der beiden Varianten des Entscheiders durchgef hrt Die Fehlerinjektion umfasste hierbei den gesamten Fehlerraum f r Einzelbitfehler Die Messergebnisse f r die effektiven Fehler der Kampagne sind in Tabelle 5 2 dargestellt wobei sich die Fehlerfolgen in die bereits in Kapitel 4 3 2 eingef hrten Kategorien f r verdeckte erkannte und unerkannte Fehler gliedern Aufgrund der Gr enunterschiede zwischen den beiden Varianten des Mehrheits entscheiders weicht die Zahl der Experimente voneinander ab Da die TriCore Prozessorfamilie eine Harvard Architektur mit getrennten Daten und Adressbussen aufweist unterteilen sich die Ergebnisse der Fehlerinjektion nunmehr zus tzlich in Daten und Adressregister Wie schon bei den Experimenten f r die IA32 Plattform f llt zun chst die gro e Zahl der ver deckten Fehler auf welche sich aus der inh renten Redundanz der Mehrheitsfindung ergibt Im Vergleich liegt die Zahl der effektiven Fehler trotz der geringeren Gr e des Bin rprogramms deut lich h her Der direkte Vergleich der Messergebnisse ist jedoch aufgrund der unterschiedlichen Fehlerinjektionswerkzeuge und Hardwareplattformen problematisch Eine m gliche Erkl rung ist jedoch die gr ere Zahl von 32 allgemeinen Registern des TriCores Diese erlaubt dem Compi ler die exklusive Nutzung von Registern f r einen Gro teil der Werte und Codierungsparameter was letztlich die Angriffsfl che vergr ert und damit potenziell auch die Wahrschein
149. eicht f r ein fehlertolerantes Verhalten 2 3 ZUSAMMENFASSUNG 45 jedoch nicht aus Dieses entsteht erst durch die geeignete Fehlerdiagnose und Fehlerbehandlung Die Fehlerdiagnose kann dabei in Abh ngigkeit von der gew hlten Strategie durch Absolut oder Relativtests erfolgen Ist der Fehlerbereich identifiziert kann der Fehler durch Vorw rtskorrektur R ckw rtskorrektur oder Maskierung behandelt werden Die dreifache Redundanz TMR ist ein Beispiel f r die Fehlerdiagnose durch einen Relativtest sowie die Maskierung des Fehlers durch Ausschluss des entsprechenden Replikats Mit Blick auf den verfolgten L sungsansatz scheiden Fehlertoleranzma nahmen und Redun danztechniken aus die sich ausschlie lich mithilfe von Anwendungswissen beziehungsweise durch funktionale nderungen an der Anwendung umsetzen lassen Hierzu z hlt insbesonde re der Einsatz von funktioneller oder zeitlicher Redundanz zur Fehlererkennung Vielversprechend sind hingegen Ans tze die auf Informationsredundanz beziehungsweise struktureller Redundanz basieren Eine allgemeine Strategie zur Nutzung von Informationsredundanz ist die Codierung von Da ten ber die reine Datencodierung spielen vor allem Ans tze der arithmetischen Codierung eine entscheidende Rolle da sie Fehler in der eigentlichen Programmausf hrung aufdecken k nnen Von den verschiedenen Strategien bieten lediglich die ANBD Codes eine vollst ndige Fehlererfas sung im Sinne des Fehlermodells De
150. eider und die arithmetische Codierung der Datenfl sse lediglich die Erkennung von transienten Fehlern Dieses Verhalten ist in bestimmten Anwendungsf llen ausreichend beispielsweise f r die Umsetzung einer kontrollierten Abschaltung engl fail stop im Fehlerfall In diesem Fall sind bereits zwei Replikate ausreichend Ausgehend von der bisher betrachteten dreifach redundanten Ausf hrung ist jedoch auch ein fehlertolerantes Verhalten der brigen Komponenten w nschenswert F r die Eingangsreplikation ist die Fehlerto leranz sowohl bei der deterministischen als auch der nichtdeterministischen Replikation m glich beziehungsweise durch die inh rente Redundanz bereits konzeptbedingt gegeben F r den CoRED Mehrheitsentscheider l sst sich fehlertolerantes Verhalten vergleichsweise ein fach durch eine R ckw rtskorrektur vgl Kapitel 2 1 3 erreichen Da der Mehrheitsentscheider zustandslos und die Ausf hrungsreihenfolge sequentiell ist erfordert dies lediglich die wieder holte Ausf hrung des Entscheiders Hierf r stehen im Wesentlichen die in Abbildung 3 7 dar gestellten drei Umsetzungsalternativen zur Verf gung In der bislang diskutierten Realisierung Abbildung 3 7 links erfolgt die Fehlererkennung implizit bei der Decodierung des Gewinners 70 KAPITEL 3 DER KOMBINIERTE REDUNDANZANSATZ CORED Wiederholung Wiederholung Wiederholung 7 o N Red Fb Fbs Fb Fb J Maskierer
151. eigenschaften m glich Erfordert der Ansatz dar ber hinaus Hardwareunterst tzung f r die Fehlerdiagnose oder Fehlerbe handlung 2 2 1 Allgemeine Betrachtung und Abgrenzung Grunds tzlich steht zum Schutz vor transienten Fehlern das gesamte in Abbildung 2 2 dargestellte Spektrum aus Redundanzart Strategie und Implementierungsebene zur Verf gung Allerdings f hrt nicht jede der m glichen Fehlertoleranzma nahmen zu geeigneten Fehlertoleranzeigen schaften hinsichtlich der zuvor eingef hrten Kriterien und Ziele Entsprechend lassen sich wie in Abbildung 2 4 dargestellt einige Kombinationsm glichkeiten konzeptbedingt ausschlie en Implementierungsebene Ganz allgemein lassen sich sicherheitskritische Anwendungen unter Zuhilfenahme einer der Red undanzarten inh rent fehlertolerant auslegen Dies gilt insbesondere auch f r Regelungsanwen dungen ABK 93 BG97 BKL 10 welche h ufig schon aufgrund der u eren St reinfl sse eine gewisse Robustheit gegen ber Fehlern aufweisen m ssen Obwohl diese Ans tze prinzipiell dazu geeignet sind die Klasse der transiente Fehler mit abzudecken erweist sich die Implementierung von Fehlertoleranz auf der Anwendungsebene vgl Abbildung 2 4 als unzweckm ig Die hier f r notwendigen nderungen an der Anwendungslogik beziehungsweise algorithmik w rden zu einem Verlust der angestrebten Anwendungstransparenz f hren Ebenso liegen Redundanztechniken au erhalb der Betrachtung die sich aussc
152. eiterter Software Redundanzansatz f r den Einsatz von Grafikkarten in sicherheitskritischen Anwendungen Diplomarbeit Technische Fakult t Friedrich Alexander Universit t Erlangen N rnberg Zitiert auf den Sei ten 107 und 3 Echtle K 1990 Fehlertoleranzverfahren 1 Auflage 322 Seiten Springer Berlin ISBN 978 0 3875 2680 5 Zitiert auf den Seiten 24 27 28 29 33 40 49 51 52 53 60 77 118 und 14 Elrad T Filman R E und Bader A 2001 Aspect Oriented Programming Com munications of the ACM Seiten 29 32 Zitiert auf Seite 42 Ebert C und Jones C 2009 Embedded Software Facts Figures and Future Computer 42 4 Seiten 42 52 ISSN 0018 9162 doi 10 1109 MC 2009 118 Zitiert auf Seite 9 LITERATURVERZEICHNIS 149 Fis09 For89 FPW97 Fra09 FralO Frall Fro77 FSSO9 GGRt04 Gol73 GRRVO3 GRRVO6a Fischer R 2009 Elektrische Maschinen 14 Auflage 420 Seiten Hanser M n chen ISBN 9 7834 4641 7 540 Zitiert auf den Seiten 109 und 5 Forin P 1989 Vital coded microprocessor principles and application for various transit systems Proceedings of the IFAC IFIP IFORS Symposium on Control Com puters Communications in Transportation CCCT 89 Seiten 79 84 Zitiert auf den Seiten 7 23 24 38 39 57 63 64 78 und 83 Franklin G F Powell J D und Workman M L 1997 Digital Control of Dy namic Systems 3 Auflage 850 Se
153. eitumgebung bestehend aus Echtzeitbetriebssystem und der darunter liegenden Hard ware soll eine strikte Fehlereingrenzung engl fault containment erlauben Hierf r sind die Ein zelfehlerbereiche Replikate Mehrheitsentscheider Replikatoren in geeigneter Weise r umlich wie zeitlich gegeneinander abzuschotten Die r umliche Isolation der partiellen Virtualisierung verhindert in diesem Zusammenhang die Korrumpierung des internen Zustands der Prozessin karnationen untereinander Dar ber hinaus werden die verschiedenen Aktivit tstr ger zeitlich voneinander isoliert um beispielsweise eine Monopolisierung des Prozessors auszuschlie en Dies wird zum Beispiel durch eine strikt periodische Ausf hrung sowie einer entsprechenden Laufzeit kontrolle durch das Echtzeitbetriebssystem erm glicht 3 3 CORED ANSATZ UND METHODIK 55 F r die Umsetzung der partiellen Virtualisierung und die Isolation der Adressr ume der einzel nen Prozessinkarnationen muss die Hardware weiterhin geeignete Speicherschutzmechanismen zur Verf gung stellen zum Beispiel in Form einer Speicherverwaltungseinheit MMU engl me mory management unit oder einer Speicherschutzeinheit MPU engl memory protection unit Eigenschaften der Anwendung Ein replikdeterministisches Verhalten der Replikate ist eine Grundvoraussetzung f r die Anwend barkeit eines exakten Mehrheitsentscheids Korrekt arbeitende Replikate liefern unter gleichen Eingaben identische Ergebnisse
154. ekonfiguration beziehungs weise Fehlerausgrenzung wie sie f r die Behandlung permanenter Fehler notwendig ist kann blicherweise verzichtet werden da transiente Fehler in den Strukturelementen nicht ber die Fehlerbehandlung hinaus erhalten bleiben Bezogen auf die Implementierung einer Fehlertole ranzma nahme stellt die Wahl des Testverfahrens und der Fehlerbehandlung eine ma gebliche Entwurfsentscheidung dar So sind Relativtests und Fehlermaskierung konzeptbedingt nur auf strukturelle Redundanz anwendbar Ebenso bedingen die anderen Redundanzarten den Einsatz von Absoluttests und Vorw rts beziehungsweise R ckw rtskorrektur Zusammen bestimmen die Redundanztechnik Fehlerdiagnose und Fehlerbehandlung die Fehlertoleranzeigenschaften des jeweiligen Fehlertoleranzansatzes Fehlertoleranz Redundanz Diagnose Behandlung Fehlertolerantes Verhalten entsteht durch die geeignete Kombination aus Redundanztechni ken und Ma nahmen zur Fehlerdiagnose und Fehlerbehandlung Deren Auslegung bestimmt letztlich die Fehlertoleranzeigenschaften und den Umfang der Fehlererfassung 2 2 Verwandte Arbeiten Das Ziel dieser Arbeit ist die gezielte Beeinflussung der Zuverl ssigkeit auf Ebene des Betriebssys tems und ein im Sinne des zuvor skizzierten Fehlermodells umfassender Schutz sicherheitskriti scher Anwendungen vor den Auswirkungen transienter Fehler Dies bedingt zwingend den Aufbau eines l ckenlosen Redundanzbereichs in Bezug auf die zu sch
155. em Codewort zusammenf gen Es werden im Allgemeinen die in Abbildung 2 7 dargestellten Varianten unterschieden Rao74 Systematisch engl systematic code Eine Codierung deren Codew rter aus n kBits bestehen ist systematisch wenn die Nutzinformation durch n und die Pr finformation durch k Stellen eines Codewortes getragen werden vgl Abb 2 7 oben links Die Zuordnung der Stellen ist dabei eindeutig und unabh ngig von den Eingabedaten Diese Darstellung hat den Vorteil dass ein direkter Zugriff auf den funktionalen Anteil weiterhin m glich und entsprechend keine explizite Decodierung erforderlich ist 2 2 VERWANDTE ARBEITEN 35 Systematischer Code Nicht systematischer Code 1 16 bit 1 16 bit 16 bit Codewort m a a a e e ULL n 11 k 5 dll ll lll ll ll ll Ll Datenbits Pr fbits Daten Pr fbits Separierter systematischer Code I NIE See Getrennte Darstellung Dao Nutz Pr finformation Pritifbits Abbildung 2 7 Entwurfsalternativen f r die Darstellung von Codew rtern Codew rter setzen sich aus n Daten und k Pr fbits zusammen wobei ihre Darstellung von der verwendeten Codierungsvor schrift abh ngt Bei nicht systematischen Codes existiert keine Zuordnung zu dedizierten Bitpositionen weshalb auch kein direkter Zugriff auf die Daten m glich ist Demgegen ber sind die Daten bei systematischen Codes ohne Decodierung lesbar Ist der Code weiterhin separi
156. en Coderaums durch Bitfehler in den L cken der bin ren nicht systematischen Darstellung der Codew rter In hnlicher Weise dient die berpr fung der Signatur Bayn in Zeile 23 der CORED eigenen Funktion apply der Integrit t des durch die Sprungsignaturen des Mehrheitsentscheiders erwarteten Coderaums lassen sich weder bestimmten Bitpositionen noch einer gegebenen Anzahl an Bits zuordnen Die Codierungstheorie ber cksichtigt die bin re Abbildung der Codew rter jedoch nicht explizit son dern erwartet einen in sich abgeschlossenen Coderaum und Wertebereich In der Folge k nnen auch Bitfehler unterhalb der durch die Hamming Distanz berechneten Erkennungsschwelle zu unerkannten Datenfehlern f hren falls sie die ungenutzten Bits eines Codewortes betreffen Diese Art der Mutation kann zu einem der Codierungsvorschrift entsprechenden jedoch ungenutzten Co dewort mit v gt 2 f hren Im Zuge der Decodierung entsteht hieraus ein schwer zu ermittelnder berlauf beziehungsweise Unterlauf in dem f r die Nutzdaten verwendeten Maschinenwort Zuverl ssige Fehlererkennung bei bin rer Darstellung Die Problematik der unvollst ndigen Ausnutzung der Maschinenworte durch den durch die arith metische Codierung gebildeten Coderaum wird in der Literatur vgl Arbeiten zu arithmetischer Codierung in Kapitel 2 2 2 bis jetzt nicht explizit adressiert Die verf gbaren Daten zu den tat s chlichen Restfehlerwahrscheinlichkeiten legen vielmehr den Schl
157. en Kapitel erm glicht einen durchgehen den Schutz sicherheitskritischer Anwendungen vor transienten Fehlern und eine konzeptionell vollst ndige Fehlererfassung im Sinne des Fehlermodells Hierf r ist vor allem die geeignete In strumentalisierung der Signaturen BD Anteil durch die arithmetische Codierung innerhalb des Mehrheitsentscheiders ausschlaggebend Mit Blick auf die existierenden Ans tze und die auf arith metischer Codierung basierenden Fehlertoleranztechniken vgl Kapitel 2 2 2 zeigt sich jedoch dass trotz einer theoretisch vollst ndigen Fehlererfassung der Codierung weiterhin unerkannte Datenfehler in signifikantem Umfang auftreten Die Ursachen hierf r lassen sich im Einzellfall nur schwer differenzieren Im Allgemeinen kommen sowohl L cken und Umsetzungsfehler in der technischen Realisierung als auch Schw chen in der Erkennungsleistung der arithmetischen Codierung infrage Anschaulich l sst sich diese Problematik mit der Systemsicherheit engl se curity vergleichen Die Vermeidung von Sicherheitsl cken Schwachstellen sch tzt nicht vor einem Einbruch durch ein schlecht gew hltes Passwort Umgekehrt hilft ein perfektes Passwort ebenso wenig gegen vorhandene Sicherheitsl cken In diesem Kapitel verschiebt sich der Fokus daher auf die praktische Umsetzung des CORED Ansatzes und den Schritt von der Theorie in die Praxis Der ma gebliche Baustein f r eine gleicherma en zuverl ssige Fehlererkennung ist hierbei der AN Anteil de
158. en Redundanztechnik beeinflusst wird Im Falle von ECC Speicher wie im Beispiel in Abbildung 2 3 dargestellt ist die Redundanz und somit die F higkeit zur Fehlererkennung auf die Verweildauer im Speicher limitiert Da die Codierung beziehungsweise Decodierung im Zuge des Speicherzugriffs direkt im Speicherbaustein erfolgt ist die weitere Verwendung der Daten im Prozessor im Rahmen der ECC Codierung folglich nicht abgedeckt Im Rahmen dieser Arbeit dient daher das generalisierte Konzept des Redundanzbereichs der rtlichen und zeitlichen Charakterisierung der eingesetzten Fehlertoleranz Ausgehend von der Effektivit t der gew hlten Redundanzstrategie ist eine Fehlererkennung innerhalb dieser Berei che beziehungsweise an deren Grenzen stets gegeben Abbildung 2 3 zeigt die sich ergebenden Redundanzbereiche farblich hervorgehoben In diesem Beispiel ergeben sich zwei Einzelbereiche aus der eingesetzten Replikation beziehungsweise Codierung Diese erg nzen sich zu einem zu sammenh ngenden globalen Redundanzbereich wobei sich die Ma nahmen in den replizierten Daten berlappen an dieser Stelle ist die Fehlertoleranz selbst redundant 2 1 3 Fehlertolerantes Verhalten F r die Umsetzung von Fehlertoleranz reicht der strategische Einsatz von Redundanz alleine noch nicht aus Erst wenn sich Fehler in den redundanten Strukturelementen identifizieren und ge eignet behandeln lassen entsteht fehlertolerantes Verhalten Ech90 Brutto und Nettobetrag
159. en sich auch vertauschte Daten und Operationen erkennen und die Frage kl ren ob das Richtige gerechnet wurde ANB Codes b en die Unterst tzung der Division aufgrund der komplexen Signaturberech nung gegen ber den AN Codes ein im Bedarfsfall l sst sich diese jedoch aufwendig in Software nachbilden Sch11b Im Gegenzug erlauben die Signaturen die Bereitstellung codierter Vergleichs operatoren und entsprechend die Erweiterung des Redundanzbereichs auf den Kontrollfluss Die einzige Einschr nkung in diesem Zusammenhang stellen verlorene Variablenzugriffe beziehungs weise veraltete Daten dar die sich nach wie vor nicht erkennen lassen und den Redundanzbereich f r Datenfl sse weiterhin beschr nken 2 2 VERWANDTE ARBEITEN 39 ANBD Code Um die verbliebene L cke durch verlorene Zugriffe zu schlie en und damit eine vollst ndige Fehlererfassung im Sinne des Fehlermodells aus Kapitel 2 1 1 zu erreichen f hrt Forin For89 zus tzlich Zeitstempel D zur Aufdeckung veralteter Daten ein Der resultierende ANBD Code stellt damit die bislang vollst ndigste Redundanzstrategie zur arithmetischen Codierung dar v A v B D mit 0 lt B D lt A 2 4 ANBD Codes wurden erstmals f r die Implementierung von Fehlertoleranz in Schienenver kehrssystemen HG93 genutzt Das von Forin vorgestellte Konzept des Vital Coded Processor VCP For89 stellt hierbei eine hybride L sung dar Die Anwendungssoftware wird zun chst auf programmiersprachl
160. end um die Schwere der auftretenden transienten Fehler und die zuverl ssige Fehlererkennung von zumindest Einzelbitfehlern F r die Fehlerbereiche gilt entsprechend die aufgrund der vorliegenden Daten h ufig eingesetzte Einzelbit Einzelfehler Annahme engl single bit single error assumption Der Schweregrad transienter Fehler Neben der Art Fehlermodell und H ufigkeit Fehlerbereich der auftretenden transienten Fehler schlie t die erweiterte Fehlerhypothese auch den Schweregrad Bitfehlermuster mit ein Diese geht von der h ufig genutzten Einzelbit Einzelfehler Annahme aus da sich ber 95 der transienten Fehler als Einzelbitfehler manifestieren MHZA03 4 2 Wahl der Codierungsparameter Die Realisierung einer zuverl ssigen Fehlererkennung im Sinne des Schweregrads transienter Fehler ist im Falle der Codierung letztlich keine alleinige Frage der Codierungsvorschrift bezie hungsweise des Entwurfs der Fehlertoleranzma nahme Vielmehr entscheidet der Umfang der Redundanz ber die Effektivit t und Fehlererkennungsleistung Bei der arithmetischen Codierung ist hierf r vor allem die geeignete Auswahl der Codierungsparameter bestehend aus Codierungs schl ssel A und der eingesetzten Signaturen B ausschlaggebend Der folgende Abschnitt zeigt daher detailliert wie sich die entsprechenden Parameter ausw hlen lassen und welchen Einfluss die bin re Darstellung der Codierung auf die erreichbare Zuverl ssigkeit des Codes hat 4 2 WA
161. ensorsystemen Aus Sicht des CoRED Entwurfs ergibt sich aus dieser Konstellation ein nichtdeterministischer Eingang welcher entsprechend durch einen Akzeptanzmaskierer behandelt werden muss Diese Funktion erf llt konzeptionell die zur Messwertkonsolidierung eingesetzte Datenfusion beziehungsweise die darin enthaltenen Bewertungsfunktionen F r den Einsatz als Akzeptanztest wurden die entsprechen den Werte durch eine erweiterte Schnittstellendefinition zug nglich gemacht Die Ausf hrung der Signalvorverarbeitung und Sensorfusion erfolgt wiederum repliziert Am Ende der Signalverarbei tung stehen die konsolidierten und codierten Messwerte f r die Nutzung in der Fluglageregelung zur Verf gung Die beschriebenen Anpassungen der Regelungsanwendung scheinen zun chst im Gegensatz zu der angestrebten Anwendungstransparenz zu stehen An dieser Stelle ist jedoch zu bedenken dass die Gruppierung sowie die Akzeptanztests eine generelle Voraussetzung f r die Replikation derartiger Eing nge darstellen Insgesamt veranschaulicht das Fallbeispiel der Fluglageregelung die grunds tzliche Eignung des CORED Ansatzes f r die Absicherung entsprechend gearteter Re gelungsanwendungen Fluglageregelung mit CORED Die Integration von CORED in das I4Copter System erm glicht die einfache Absicherung der kritischen Fluglageregelung Die Replikation und Codierung der zu schtitzenden Prozessin karnationen und Datenfl sse erfolgt dabei zusammen mit der Schliisselver
162. ensorwert vgl Programmausschnitt 2 1 Dieser kann abermals maskiert werden oder bis hin zum Fehlverhalten der Funktion und der R ckgabe eines fehlerhaften Stellwerts f hren Analog manifestiert sich das Fehlverhalten der Funktion wiederum als Defekt in den Strukturelementen der Regelungsanwendung Ebene n 1 welcher sich abermals bis zu einem vom Benutzer beobachtbaren Fehlverhalten und dem Versagen der Regelung fortpflanzen kann 22 KAPITEL 2 SOFTWAREBASIERTE FEHLERTOLERANZ Die initiale Definition siehe Seite 3 des Begriffs transienter Fehler l sst sich damit auf die Klasse der transienten Hardwarefehler verfeinern die zu einem Fehlverhalten der Hardware und zu b sartigen Defekten in den Strukturelementen der Software f hren Fehlertoleranzma nahmen Erweiterte Fehlerklassifizierung Transiente Fehler werden maskiert und bleiben folgenlos falls sie sich auf einer Ebene lediglich als gutartige Defekte manifestieren Gezielt l sst sich die Fehlerkette dagegen nur durch den Einsatz von entsprechenden Fehlertoleranzma nahmen unterbrechen Um ihre Effektivit t klassifizieren zu k nnen ist die bisherige Einteilung der Fehlerfolgen in Maskierung oder Fehlverhalten nicht mehr ausreichend Letzteres wird daher insbesondere in der Gegenwart von Fehlertoleranz h ufig zus tzlich in die folgenden zwei Fehlerklassen aufgeteilt MERO5 Muk08 Unerkannte Datenfehler SDC engl silent data corruptions f hren in jedem Fall zu einem Feh
163. er Im Wechselspiel mit der Anwendung Die weitergehende Betrachtung der softwarebasierten Replikation von Regelungsanwendungen zeigt anschaulich die hierbei auftretenden Wechselwirkungen zwischen den nicht funktionalen Eigenschaften Zuverl ssigkeit und Rechtzeitigkeit Die bei der nachtr glichen Vervielf ltigung auf tretenden Abweichungen zwischen regelungstechnischen Entwurfsma nahmen und der Ausf h 7 2 BEITR GE DIESER ARBEIT 139 rungsrealit t k nnen hierbei negative Folgen f r die erzielbare Regelg te haben Die Erweiterung von CORED zu CORED CONTROL f hrt daher eine anwendungsgewahre Schnittstelle f r die R ckkopplung des zeitlichen Versatzes ein Dar ber hinaus erlaubt eine darauf abgestimmte Re gelungsarchitektur die Modularisierung der Regelungsanwendung um die notwendigen Eingriffs punkte von au en zug nglich zu machen Die Modularisierung dient zudem der feingranularen Abbildung der regelungstechnischen Aufgaben auf replizierbare Prozessinkarnationen und damit zur Verminderung der Fehlererkennungslatenz Summa summarum Zusammenfassend bietet CORED das R stzeug f r die gezielte Beeinflussung der Zuverl ssigkeit auf der Ebene des Betriebssystems Dar ber hinaus unterst tzt CORED CONTROL die Absicherung sicherheitskritischer Regelungsanwendungen durch eine anwendungsgewahre R ckkopplung der sich durch die Replikation ver ndernden zeitlichen Eigenschaften 7 2 Beitr ge dieser Arbeit Im Mittelpunk dieser D
164. er Ausf hrung von entscheidender Bedeutung Zum einen ist dies die Antwortzeit bis zur endg ltigen Ausgabe des Stellwerts an den Aktor T r98 KGO2 Zum anderen umfasst dies jedoch auch eine konsistente Sicht auf die Umwelt Die durch die Abtastung der Sensorik erfasste Echtzeitdatenbasis engl real time data base soll aktuell und nach M glichkeit 6 1 ERWEITERTE PROBLEMANALYSE 127 keine zeitlichen Abweichungen zwischen den einzelnen Werten aufweisen Abbildung 6 2 unten zeigt die Beeinflussung beider Aspekte durch die Replikation Zun chst vergr ert sich sowohl die Zeitspanne d bis zur Ausgabe des Stellwerts wie auch die Spanne d bis zur vollst ndigen Bereitstellung der Echtzeitdatenbasis Die Replikation auf der Eingangsseite f hrt hierbei zu einem zeitlichen Versatz von Ad zwischen den nunmehr redundanten Sensorwerten dz ds3 Im Falle eines ressourcenschonenden optimistischen Duplexbetriebs mit einem Bereitschaftsreplikat ergibt sich dar ber hinaus auch an der Ausgangsseite ein dynamischer zeitlicher Versatz Ad zwischen Normalbetrieb und Fehlerfall in Form von Jitter Kompensation zeitlicher Abweichungen in der Regelung Die entstehenden konstanten zeitlichen Abweichungen lassen sich zwar wie bereits erw hnt im Reglerentwurf relativ einfach ber cksichtigen FPW97 W11 erfordern jedoch die Erweiterung der Anwendung um zus tzliche Regelungselemente f r die Kompensation der entsprechenden Totzeiten Diese Elemen
165. er Eingaben erweitern Zu diesem Zweck wurde der I4Copter um eine codierte Messquelle erweitert Dar ber hinaus wurde auch die Kommunikation mit der Basisstation und damit die bertragung der Steuereingaben des Piloten in eine codierte Steuerung berf hrt 120 KAPITEL 5 FALLBEISPIEL 4COPTER Replikator Ve Kommunikation ee E t nae ee Hardware Freescale s 8 Infi fo je i nfineon z Bu 3 Q Le g TriCore TC1796 Barometrischer H hensensor B sen gt gt Mikrocontroller Codierter Sensor BMPoss pe Abbildung 5 4 Versuchsmuster einer codierten Eingabequelle in Form eines barometrischen H hensensors Durch die direkte Codierung der Messwerte auf dem Sensor lassen sich die in Kapitel 3 4 1 eingef hrten codierten Eing nge nutzen Hierdurch entf llt die Notwendigkeit der komplexen Eingangsreplikation auf dem zentralen Steuersystem des l14Copters vollst ndig Als Versuchsmuster f r einen solchen intelligenten Sensorknoten wurde die barometrische H henmessung des l4Copters um ein kleines Rechensystem erg nzt welches die Messwerte der angeschlossenen Sensoren erfasst und codiert Versuchsmuster eines codierenden Sensors Der in Abbildung 5 4 dargestellte intelligente Sensorknoten dient als Versuchsmuster f r einen Sen sor mit codierter Ausgabe und ersetzt die f r die Flugh henregelung notwendige
166. er dabei im Wesentlichen unerheblich ist l sst sich die Zuver l ssigkeit der Replikate relativ einfach aus der Fehlerrate der Hardware ableiten Muk08 Die Risikoabsch tzung kann in der Folge gem der zuvor eingef hrten Zuverl ssigkeitsfunktion R mr erfolgen F r die praktische Umsetzbarkeit softwarebasierter Replikation steht daher insbesondere die Vermeidung der Fehlerausbreitung und die Unabh ngigkeit der Fehlerbereiche im Vordergrund Kritische Fehlerstellen unterlaufen und korrumpieren diese Eigenschaften weshalb sie explizit in die Risikoabsch tzung einflie en m ssen Ech90 Um dieses Problem zu l sen ordnen die in Kapitel 2 2 3 diskutierten verwandten Arbeiten den Mehrheitsentscheider sowie die Eingangsreplikation im Allgemeinen dem Perfektionskern zu Fine bliche Grundannahme ist weiterhin die r umliche wie zeitliche Gleichverteilung der auftretenden transienten Fehler welche es erlaubt die Fehlerwahrscheinlichkeit und damit die Auswirkungen auf die Zuverl ssigkeit in Relation zur Ausf hrungszeit zu setzen GRRVO6b Die Ermittlung 3 2 GRUNDANNAHMEN 53 der realen Ausfallwahrscheinlichkeit kritischer Fehlerstellen ist jedoch nicht trivial und h ngt unter anderem auch von den individuellen Fehlerraten in den tats chlich genutzten Teilen der Hardware ab MWE 03 WQRP04 MERO5 RCBS07 Weiterhin legen aktuelle Studien NDO11 den Schluss nahe dass die angenommene Gleichverteilung der Fehler in der Praxis nicht gegebe
167. er eine irref hrende Annahme f r die Auswahl eines geeigneten Codierungsschl ssels Den passenden Schl ssel finden Die Effektivit t der arithmetischen Codierung h ngt in hohem Ma e von dem gew hlten Co dierungsschl ssel ab ber die in der Literatur empfohlenen Kriterien hinaus erlaubt jedoch erst die experimentelle Bestimmung der Hamming Minimaldistanz eine fundierte Auswahl F r die untersuchten 32 Bit Codes konnten Schl ssel f r die zuverl ssige Erkennung von bis zu 5 fach Bitfehler gefunden werden Die besten Codierungsschl ssel Nichtsdestotrotz befinden sich die gem der Hamming Distanz leistungsf higsten Schl ssel am oberen Ende des Wertebereichs Diese im Folgenden als Super As bezeichneten f nf Codierungs schl ssel 58 659 59 665 63157 63 859 und 63 877 keine davon eine Primzahl weisen eine 80 KAPITEL 4 EFFEKTIVE FEHLERERKENNUNG IMPLEMENTIERUNG UND EVALUATION Exkurs Die Hamming Distanz Basierend auf der mathematischen Betrachtung der Restfehlerwahrscheinlichkeit p a erscheint eine vollst ndige Fehlererfassung zun chst ausgeschlossen da Psa in N herung 1 A entspricht Im Falle von k 3 Pr fbits entspricht dies einer Wahrscheinlichkeit von ann hernd 12 5 f r das Versagen der Fehlererkennung und das Auftreten eines unerkannten Datenfehlers Bin re Betrachtung Nicht alle Fehler sind gleich wahrscheinlich Da sich transiente Fehler in Form von Bitfehlern manifestieren unterschei
168. er entstandenen Komponenten auf das Echtzeitbetriebssystem Die betrachtete Klasse der sicherheitskritischen Regelungsanwendungen weist ein hohes Ma an Regelm igkeit auf da die Regelungsaufgabe blicherweise mit einer festen Periode ausgef hrt wird FPW97 AW11 Letztlich l sst sich die Anwendung damit ausschlie lich auf periodische Aufgaben engl task des Echtzeitsystems ab bilden Eine Aufgabe definiert sich hierbei durch Periode maximale Ausf hrungszeit engl worst case execution time Termin engl deadline und Phase Liu00 Die typischen Aufgaben der Rege lungsanwendung sind abtasten regeln und steuern Die ausl senden Ereignisse ergeben sich damit letztlich aus den vorab bekannten Regelperioden 72 KAPITEL 3 DER KOMBINIERTE REDUNDANZANSATZ CORED Auswirkungen der Replikation Durch die Replikation kommen in der Folge weitere Aufgaben in Form von zus tzlichen Replikaten Replikatoren und Mehrheitsentscheidern hinzu Die zeitlichen Dom nen der entstehenden Aufga benmenge sind jedoch identisch weshalb sich diese problemlos miteinander verschmelzen lassen Folglich bleiben sowohl die ausl senden Ereignisse Perioden und Termine bestehen Lediglich die maximale Ausf hrungszeit erh ht sich entsprechend um die Anzahl der Replikate Dar ber hinaus ergeben sich jedoch zus tzliche Abh ngigkeiten in Form der Produzenten Konsumenten Verh ltnisse zwischen den Mehrheitsentscheidern und den Replikaten deren Varianten nun k
169. er physikalischen Replikation der Hardware wird diese Eigenschaft n herungsweise durch hochzuverl ssige Schaltungen f r den Vergleich der Ausg nge erreicht 1 Aus der Systemsicherheit engl security entliehen wird vor allem bei der softwarebasierten Redundanz auch der Begriff Trusted Computing Base TCB verwendet 50 KAPITEL 3 DER KOMBINIERTE REDUNDANZANSATZ CORED Redundanzbereich Keine Redundanz L cke Perfektionskern Fb Fb Perfektionskern Fbz A B Cc Replikat 1 Maskierer 1 Replikat 1 Replikat 1 A A A B B Cc Replikator Replikat 2 Maskierer 2 Replikat 2 Maskierer Replikat 2 o gt 2 A A B 5 b Cc m 2 Replikat 3 Replikat 3 8 Replikat 3 iu Au enwelt Abbildung 3 2 Entwurfsalternativen eines dreifach redundanten Systems Dreifache Redundanz nimmt blicherweise sowohl die Replikation der Eingaben wie auch den Mehrheitsentscheid als fehlerfrei an Diese Komponenten liegen entsprechend in einem Perfektionskern au erhalb der Fehlerbetrachtung Ist diese Unfehlbar keit nicht gegeben begrenzen diese kritischen Fehlerstellen die Gesamtzuverl ssigkeit Eine Alternative stellen redundante Mehrheitsentscheider Maskierer dar Diese vermeiden zwar den Zuverl ssigkeitsengpass lassen sich jedoch nur zwischen Replikationsdom nen sinnvoll nutzen Durch Fehlerausbreitung auf das zugeordn
170. eranzans tze erweisen sich entsprechend als unzureichend f r die Umsetzung einer vollst ndigen Fehlererkennung und gleichzeitig eines durchgehenden Red undanzbereichs wie sie f r eine gezielte Beeinflussung der Zuverl ssigkeit w nschenswert ist Es fehlt ein ganzheitlicher Fehlertoleranzansatz der sowohl eine vollst ndige Fehlererfassung als auch einen in sich geschlossenen Redundanzbereich erm glicht ohne dabei die Selektivit t hinsichtlich des Schutzes einzelner sicherheitskritischer Anwendungen zu verlieren Mit Blick auf die Ziele dieser Arbeit stellt die Replikation auf Betriebssystemebene einen ge eigneten Ausgangspunkt dar Zum einen sind Prozessinkarnationen ein g ngiges Strukturelement 47 48 KAPITEL 3 DER KOMBINIERTE REDUNDANZANSATZ CORED f r die logische Aufteilung und Abbildung der Anwendung auf das Betriebssystem Ausgehend von der hierdurch bereits vorgegebenen Struktur l sst sich die Replikation somit vergleichsweise einfach durch eine Vervielf ltigung der Prozessinkarnationen der Anwendung erreichen Sie l sst sich damit weitgehend transparent in den Entwicklungsprozess einf gen und ist dennoch selektiv auf die sicherheitskritischen Anwendungen in einem System anwendbar Zum anderen erfordert die redundante Ausf hrung aufgrund des einfachen Relativtests im Allgemeinen kein spezifisches Anwendungswissen und erm glicht dennoch eine vollst ndige Fehlerauffassung im Sinne des Fehlermodells vgl Kapitel 2 1 1
171. eranzma nahmen gesch tzt Diese Ans tze erleichtern und unterst tzen die Einbringung zus tzlicher softwareba sierter Redundanz durch eine Abschw chung des Fehlermodells beispielsweise durch Codierung der Datenfl sse und folglich der Vermeidung von Operatorfehlern Hybride Ans tze nutzen diese Vereinfachungen sowohl f r den Schutz von Datenfl ssen MM88 Sch11b als auch f r die Kon trollfluss berwachung SS87 MM88 OR95 BDCDNPO3 SSSF10 Ziel dieser Arbeit ist jedoch die Ber cksichtigung aller in Software sichtbaren transienten Fehler und die Abdeckung des gesamten Fehlermodells vgl Kapitel 2 2 weshalb keine Annahmen ber die Zuverl ssigkeit bestimmter Hardwarefunktionen getroffen werden k nnen Funktionelle und zeitliche Redundanz Eine auf funktioneller Redundanz beruhende Fehlererkennung erfordert Diversit t in den redun danten Funktionen wie beispielsweise die in Kapitel 2 1 2 genannte mehrfache Kontrolle eines Ventils mittels Stellungsgeber und Durchflussmengenmesser Die entsprechende Auslegung einer sicherheitskritischen Anwendung ist daher im Allgemeinen anwendungsspezifisch und erfordert ein umfangreiches Anwendungswissen Dies gilt insbesondere f r die Fehlerdiagnose und die not wendigen Testmethoden f r die Bewertung der unterschiedlichen Funktionen Wie lange und wie viel Durchfluss ist nach dem Schlie en des Ventils erlaubt hnliche Probleme ergeben sich beim Einsatz zeitlicher Redundanz zur Fehlererkennung
172. eraus ergibt sich das initiale Prozesssystem des I4Copters F r die Darstellung der Datenfl sse verf gen die H llen klassen zudem ber Datenverbinder engl connector welche durch Angabe des Zielprozesses und des zu sendenden Datentyps den einfachen Datenaustausch zwischen Prozessen erm glichen Auf grund der statischen Umsetzung und Ablaufplanung erfolgt die Darstellung der Datenverbinder zur Laufzeit durch gemeinsamen Speicher engl shared memory F r die Konfiguration des I4Copter Softwaresystems steht ein umfangreiches Konfigurationssys tem zur Verf gung Dieses erlaubt neben der funktionalen Konfiguration der Anwendung beispiels weise auch die Zuordnung von Anwendungskomponenten zu Prozessinkarnationen des CiAO Betriebssystems Ebenso findet hier die Konfiguration der Hardwareschnittstellen und Treiber statt Die Konfigurationseinstellungen werden dem Erstellungsprozess als Pr prozessordirektiven engl preprocessor directives zugef hrt Softwaresystem und Fluglageregelung Der relevante Teil des Softwaresystem besteht aus drei Anwendungskomponenten respektive Prozessinkarnationen des Betriebssystems SignalProcessing 3ms dient der Abtastung und Vorverarbeitung der Messwerte FlightControl 9ms umfasst die eigentlichen Rege lungsalgorithmen und liefert die Stellwerte f r die Antriebsmotoren CopterControl 21ms realisiert die Kommunikation mit der Basisstation und liefert die F hrungsgr en des Piloten Die Datenfl sse
173. ereits beschrieben ber keine eigene Logik f r die Abtastung der Messsignale verf gt sind die Sensoren durch insgesamt 24 Signalleitungen mit der Mikrocon trollerplatine verbunden Die bertragung beziehungsweise Signalauswertung erfolgt aufgrund der diversit ren Auslegung der Sensorik durch die Analog Digital Umsetzer engl analog to digital converter ADC Bin rz hler engl pulse width modulation PWM und synchronen seriellen Da tenbusse engl serial peripheral interface SPI des TriCore Mikrocontrollers Ebenso erfolgt die Ausgabe der Stellwerte an die Aktoreinheit durch einen weiteren SPI Kommunikationsbus F r die im Rahmen dieses Kapitels durchgef hrten Experimente wurde der Rechenkern des TriCores mit der h chstm glichen Taktfrequenz von 150 MHz betrieben Durch den internen Auf bau ergibt sich hieraus ein f r die Peripherieeinheiten relevanter Systemtakt von 75 MHz Dar ber hinaus wurden die durch den Hersteller vorgegebenen Standardeinstellungen Inf07 verwendet wesentlich sind hierbei insbesondere die Aktivierung der Cache Speicher engl cache sowie der hardwareseitigen Fehlererkennung und Ausnahmen Motorplatine Aktoreinheit und Leistungselektronik Das Antriebssystem des I4Copters stellt bis zu 770 Watt elektrischer Leistung respektive 36 Newton Schubkraft bereit Die hierf r notwendige Leistungselektronik ist sowohl aus Gr nden der elek tromagnetischen Abschirmung als auch der Modularit t als eigenst ndige
174. eren ist dieses Verhalten in der Regel gegeben Die Ausf hrungsperiode der Elemente der Aktorfusion ergibt sich wiederum aus der minimalen Periode der auf die Fusion wirkenden Regelungskomponenten Aktorik Den letzten Schritt bildet die Aktorikebene Diese beherbergt die eigentlichen Treiber f r das Setzen der Stellwerte an den Aktoren Als finalen Punkt in der Verarbeitungskette bilden die Treiber der Aktorebene die logische Quelle der zeitlichen Verz gerungen an den Ausg ngen Ada Systemgewahrer Regelungsentwurf Erst durch die geeignete R ckmeldung der zeitlichen Ver nderungen an die Regelungsan wendung ist deren nachgelagerte Replikation m glich Die Voraussetzung hierf r ist die analoge Ber cksichtigung der Ausf hrungsumgebung im regelungstechnischen Entwurf Die von CORED CONTROL genutzte Regelungsarchitektur macht die hierf r notwendigen Ein griffspunkte explizit 6 4 Modularisierung der Fluglageregelung des l4Copters Um die grunds tzliche Eignung der durch CORED CONTROL vorgeschlagenen Anwendungs schnittstelle und Regelungsarchitektur zu demonstrieren wurde die Fluglageregelung des I4Copters in geeigneter Weise angepasst Erweiterung der CORED Dienstschicht Den ersten logischen Schritt bei der Umsetzung stellt die Erweiterung der CoRED Dienstschicht dar Zu diesem Zweck wurden die Treiber f r die Sensoren um Bereitstellung des zeitlichen Versatzes getDelay erweitert Der hierf r notwendige Startzeitpunkt entspr
175. erfreie und durch die Codierung gesch tzte Zustand des vorangegangenen Durchlaufs dient im Fehlerfall als Eingang f r das Bereitschaftsreplikat Die grunds tzliche Erweiterbarkeit des durch CORED aufgespannten Redundanzbereichs zeigen anschaulich das Versuchsmuster eines codierenden Sensors sowie die Ausgabe codierter Stellwer te an das Aktorsystem auf Letzteres erm glicht sowohl die berpr fung der Daten als auch des Mehrheitsentscheids bis kurz vor der Verwendung der Stellwerte direkt auf dem Aktor Umgekehrt er brigt sich durch den Einsatz codierter Eing nge ein gro er Teil der aufwendigen Eingangsre plikation wie zum Beispiel der f r das I4Copter Sensorsystem notwendige Akzeptanzmaskierer Die Realisierung entsprechender Quellen beziehungsweise Senken erweist sich hierbei als ver gleichsweise einfach Der Charme liegt dabei weniger in der arithmetischen Codierung der Daten an sich sondern vielmehr in den nahtlosen berg ngen zwischen Daten bertagung Berechnung und Mehrheitsentscheidung Weiterf hrende Betrachtung der Replikation von Regelungsanwendungen Combined Redundancy for Control CORED CONTROL Die Anwendung des CORED Ansatzes auf die Fluglageregelung des I4Copters im vorangegangenen Kapitel zeigte anschaulich die Machbarkeit und Effektivit t der softwarebasierten Fehlertoleranz in einem praxisnahen Anwendungsfall Von dieser Betrachtung ausgenommen war bislang die Frage nach einer m glichen gegenseitigen Beeinflussung v
176. erl ssigkeit die Senkung der sichtbaren effektiven Fehlerrate Die von der Hardware ausgehenden Fehlerkette vgl Kapitel 2 1 1 muss daher durch softwarebasierte Fehlertoleranzma nahmen zuverl ssig durchbrochen werden bevor es zu einem Fehlverhalten der sicherheitskritischen Anwendung kommen kann Den Ausgangspunkt hierf r stellt die Replikation der Anwendung auf Betriebssystemebene in Form dreifacher Redundanz TMR dar Dieses bekannte und erprobte Verfahren bietet eine effektive Fehlererkennung im Rahmen der replizierten Ausf hrung Gleichwohl l sst sich die Im plementierung und berwachung der Replikation selbst nicht redundant auslegen Treten Fehler in diesen unreplizierten Bereichen auf ist eine Unterbrechung der Fehlerkette nicht mehr ge wahrleistet und es kann weiterhin zu einem Fehlverhalten der sicherheitskritischen Anwendung kommen Diesen Zusammenhang konnten Aidenmark et al AVFK02 anschaulich am Beispiel einer replizierten Brake by Wire Anwendung zeigen In ihrer Evaluation ordnen sie die verblei bende Fehlerrate unter anderem auch den kritischen Fehlerstellen in der Replikation zu Generell kann ein eingeschr nkter Redundanzbereich zu einer dramatischen Verschlechterung der Effek tivit t der eingesetzten Fehlertoleranz f hren Arn73 AVFKO2 Bouricius et al BCS69 stufen die Abdeckung der Replikation sogar als den wichtigsten Entwurfsparameter ein Bereits eine vergleichsweise kleine Reduktion der Abdeckung kann demnach
177. ert erfolgt die Speicherung und Verarbeitung von Daten und Pr finformationen getrennt Demgegen ber kann auf die Daten bei nicht systematischer Codierung vgl Abb 2 7 oben rechts nicht ohne vorherige Decodierung zugegriffen werden Fine dedizierte Zuordnung der n k Stellen zu der Nutz beziehungsweise Pr finformation ist nicht m glich Separiert engl separate code Bei separierter Codierung vgl Abb 2 7 unten links ist das Co dewort ein 2 Tupel bestehend aus den funktionalen Daten n Bit und der Pr finformation k Bit Arithmetische Operationen auf den Codew rtern erfordern in diesem Fall zwei se parate Berechnungsschritte f r die beiden Teile des Tupels Entsprechend ist eine separierte Codierung stets auch systematisch Auf der anderen Seite kann die Berechnung bei nicht separierter Codierung in einer kom binierten Operation und in einem Schritt erfolgen Eine getrennte Verarbeitung der Nutz und Pr finformationen ist nicht notwendig Die Codew rter k nnen hier systematisch bezie hungsweise nicht systematisch vorliegen Die Anordnung der Pr f und Nutzinformation ist eine Eigenschaft der jeweiligen Redundanz strategie Ein Parit tsbit l sst sich beispielsweise nur systematisch ablegen da seine Position im Codewort f r die Decodierung vorab bekannt sein muss Grunds tzlich hat die Darstellung keinen direkten Einfluss auf die Effektivit t der Codierung sie ist jedoch mittelbar f r die Bestimmung des Redundanzbereic
178. ertoleranten Verhaltens n her betrachtet 2 1 1 Fehler und deren Auswirkungen Bisher wurde stets von transienten Fehlern gesprochen jedoch f hrt nicht jeder Fehler auf Tran sistorebene automatisch zum Ausfall des gesamten Systems Entsprechend wird daher abh ngig von der Ursache und der Sichtbarkeit in weitere Fehlerklassen unterschieden die vom Defekt bis zum Fehlverhalten reichen Die sich daraus ergebende Fehlersymptomatik ist in Programmaus schnitt 2 1 am Beispiel von zwei unabh ngigen Einzelfehlern Ursache links dargestellt Defekt Fehler Fehlverhalten Fehlersymptomatik und Fehlerkette Die eigentliche Ursache eines Fehlers ist ein Defekt engl fault in den Strukturelementen der betrachteten Komponente Ein solcher Defekt muss sich nicht zwangsl ufig auf die Funktion der Komponente auswirken weshalb zus tzlich gutartige engl benign faults und b sartige Defek te engl malicious faults unterschieden werden Kommt es im Zuge des weiteren Betriebs zu einer Aktivierung eines b sartigen Defekts f hrt dies tats chlich zu einem Fehler engl error der sich wiederum im internen Zustand der Komponente manifestiert Bei einer Propagierung 2 1 TERMINOLOGIE UND GRUNDLAGEN 21 Prozessor Funktion Anwendung Bitfehler Datenfehler Regelfehler SR ok SI euki Inversion gt gt ar Vom Benutzer Logikzustand Fehl z beobachtbares Fehlverhalten J verhalten ae Fehler __ gpa Ebene n 1 Ebe
179. es am Ausgang Logisch betrachtet erh lt sie die entsprechende Information von den Aktortreibern In der technischen Umsetzung erfolgt die Signalisierung durch die Dienstschicht im Zuge der Ausf hrung Mit der Abspaltung der Beobachter und der Aktorsteuerung verbleiben auf der Regelungsebene Ebene3 die nunmehr voneinander unabh ngigen Regler Im I4Copter umfasst dies den essentiellen Lageregler sowie den H henregler Insgesamt erforderte die Transformation der regul ren monolithischen Regelungsanwendung des I4Copters lediglich geringf gige Anpassungen an den eigentlichen Regelungsentwurf Die notwendigen Elemente der Signalverarbeitung Fusion und die Beobachter waren bereits vorhan den und mussten lediglich logisch voneinander abgekoppelt werden Durch die Bereitstellung der expliziten Schnittstellen f r die R ckf hrung der zeitlichen Eigenschaften ist eine funktionale n derung der Regelungsanwendung im Zuge der Replikation im Allgemeinen nicht mehr notwendig Konstante Totzeiten lassen sich im Zuge des Erstellungsprozesses durch den Regelungsentwurf beziehungsweise die Parameterberechnung des Entwurfswerkzeugs in geeigneter Weise ber ck sichtigen Zus tzliche Abweichungen zur Laufzeit lassen sich dar ber hinaus durch die Messun sicherheit an die Anwendung weiterreichen Durch die Aufteilung der Regelungsanwendung in Schichten k nnen die einzelnen Elemente zudem feingranular durch das Entwurfswerkzeug aus gegeben und somit flexibler
180. eselben Konzepte auch 7 4 AUSBLICK 141 auf die Komponenten des Betriebssystems selbst anwenden Ein erster Schritt in diese Richtung stellt bereits die Emulation der Systemschnittstellen dar Diese bernehmen in ihrer Funktion als Stellvertreter die Codierung und Decodierung der entsprechenden Werte des Systemaufrufs f r die Anwendung Stellt das Betriebssystem seinerseits codierte Systemaufrufe bereit kann der Stellvertreter entfallen und der Redundanzbereich entsprecht ausgedehnt werden Einen ersten Schritt in diese Richtung geht COREDOS HDL13 welches die Konzepte von CORED auf die kritischen Funktionen des Betriebssystems ausweitet und somit eine native codierte Systemschnittstelle anbieten kann Bislang erfolgt ein gro er Teil der notwendigen arithmetischen Codierung nach wie vor statisch im Zuge des Erstellungsprozesses Die k nftigen Herausforderun gen liegen daher vor allem in der Unterst tzung dynamischer Anwendungen und Systeme welche beispielsweise auf eine Koordinierung durch das Betriebssystem zur Laufzeit angewiesen sind 7 4 2 Werkzeugunterst tzung und Automatisierung In seiner eigentlichen Auspr gung als Dienstschicht zwischen Betriebssystem und Anwendung erfordert CORED die manuelle Konfiguration der Replikation sowie die Nutzung der entspre chenden CoRED Dienstprimitive und Treiber durch die Anwendung Der Vorteil dieses Vorge hens ist die explizite und f r den Entwickler sichtbare Umsetzung der Fehlertoleranz
181. ete Replikat hier B1 kann ein tats chliches Fehlerverhalten eines verbleibenden Replikats hier B2 oder B3 nicht toleriert werden Maskierer und Replikat versagen folglich nicht mehr unabh ngig voneinander und werden daher demselben Fehlerbereich Fb2 zugeordnet Der Einfluss der Mehrheitsentscheider Die Ausf hrung der Replikate und Mehrheitsentscheider erfolgt bei der softwarebasierten Repli kation jedoch auf derselben unzuverl ssigen Hardware Da die Gesamtzuverl ssigkeit durch den nur einmal vorhandenen Mehrheitsentscheider dominiert und begrenzt wird vgl Gleichung 3 1 sinkt der m gliche Zugewinn durch die dreifache Redundanz dramatisch mit der Fehlerwahr scheinlichkeit des Mehrheitsentscheiders Die Auswirkungen zeigt Abbildung 3 1 rechts anhand eines vergr erten Ausschnitts der Systemzuverl ssigkeit Selbst bei einer im Vergleich zu den Replikaten zehnfach h heren Zuverl ssigkeit des Mehrheitsentscheiders sind die Auswirkungen auf die Gesamtzuverl ssigkeit signifikant Diese kann zudem konzeptbedingt keinesfalls oberhalb der Zuverl ssigkeit des Mehrheitsentscheiders liegen womit dieser eine schwerwiegende kritische Fehlerstelle in der redundanten Ausf hrung darstellt Redundante Mehrheitsentscheider Eine M glichkeit diesen Zuverl ssigkeitsengpass zu vermeiden besteht in der redundanten Ausle gung des Mehrheitsentscheids selbst Der Aufbau eines solchen redundanten Mehrheitsentscheiders ist in Abbildung 3 2 zwisc
182. ey J L Garcia O N und Oscar N 1972 Error Correcting Codes in Com puter Arithmetic J T Tou Hg Advances in Information Systems Science Seiten 273 326 Springer ISBN 978 1 4615 9055 2 doi 10 1007 978 1 4615 9053 8 5 Zitiert auf Seite 39 Maiz J Hareland S Zhang K und Armstrong P 2003 Characterization of multi bit soft error events in advanced SRAMs Proceedings of the IEEE Internatio nal Electron Devices Meeting IEDM 03 Seiten 21 4 1 21 4 4 IEEE Press New York NY USA doi 10 1109 IEDM 2003 1269335 Zitiert auf den Seiten 76 81 und 87 Mukherjee S Kontz M und Reinhardt S 2002 Detailed design and eva luation of redundant multi threading alternatives Proceedings of the 29th In ternational Symposium on Computer Architecture ISCA 02 Seiten 99 110 IEEE Computer Society Press Washington DC USA ISSN 1063 6897 doi 10 1109 ISCA 2002 1003566 Zitiert auf Seite 32 Maniatakos M Karimi N Tirumurti C Jas A und Makris Y 2011 Instruction Level Impact Analysis of Low Level Faults in a Modern Microproces sor Controller IEEE Transactions on Computers 60 9 Seiten 1260 1273 ISSN 0018 9340 doi 10 1109 TC 2010 60 Zitiert auf Seite 99 Mahmood A und McCluskey E J 1988 Concurrent Error Detection Using Watchdog Processors A Survey IEEE Transactions on Computers 37 Seiten 160 174 ISSN 0018 9340 Zitiert auf Seite 32 Medwed M und Schmidt J M 2009 Codi
183. f hrungszeiten nicht exakt umsetzbar und f hrt zu Abweichungen zwischen den rege lungstechnischen Annahmen und den tats chlichen Eigenschaften der Ausf hrung in Form von Latenzen und Jitter Den entstehenden Versatz zwischen Modellannahme und Realit t veranschau licht Abbildung 6 2 Mitte Damit einher geht die bereits in Abbildung 6 1 gezeigte unerw nschte Beeintr chtigung der Regelg te Ray94 SC95 WNT95 bis hin zum Verlust der Stabilit t HS80 Zur L sung dieses Problems bleibt letztlich nur die Verringerung der Abweichungen zwischen Modell und Realit t Minimierung der zeitlichen Modellabweichungen Eine g ngige Vorgehensweise in der Informatik ist daher der weitgehend modellgetreue Entwurf des Echtzeitsystems und eine damit einhergehende Minimierung der temporalen Abweichungen Hierbei bedingen die regelungstechnischen Entwurfsannahmen eng bemessene Zeitschranken 126 KAPITEL 6 WEITERF HRENDE BETRACHTUNG CORED CONTROL und ein strikt periodisches Ausf hrungsmodell welches sich beispielsweise durch eine statische Ablaufplanung und ein taktgesteuertes Echtzeitsystem umsetzen l sst KDKt 89 Kop97 Eine weitere M glichkeit zur Minimierung des zeitlichen Einflusses der Ausf hrung liegt in der bereits genannten berdimensionierung des Rechensystems beispielsweise durch einen leistungs f higeren Mikrocontroller oder ein Mehrkernsystem Diese Ma nahmen sind grunds tzlich zur L sung des Problems geeignet konterkariere
184. fe der Speicherschutzeinheit des TriCores Die eigentliche Anwendung des I4Copters setzt sich aus den folgenden drei Hauptkomponenten beziehungsweise Subsystemen zusammen Signalverarbeitung Fluglageregelung sowie Steuerung und Kommunikation Signalverarbeitung Die Signalverarbeitung SignalProcessing dient der periodischen Erfassung der Umwelteigen schaften durch Abfrage der von der Sensorplatine bereitgestellten Messwerte Hierf r nutzt die Signalverarbeitung die entsprechenden Treiber der Sensorbausteine Diese lesen die Rohdaten in Form von Spannung Pulsl nge oder serial peripheral interface SPI Nachricht von den jeweiligen Schnittstellen und Peripherieeinheiten des TriCores Die erfassten Werte werden anschlie end einer ebenfalls sensorspezifischen Signalvorverarbeitung zugef hrt welche die Umrechnung in die physikalischen Zieleinheiten und gegebenenfalls eine Vorfilterung der Signale durchf hrt Mit dem Abschluss der Erfassung und Vorverarbeitung werden die redundanten Messwerte an die Sensorfusion weitergereicht und dort zu jeweils einem Messwert pro Messgr e und Freiheitsgrad verschmolzen Die Sensorfusion ist hierbei bereits ein Teil des regelungstechnischen Entwurfs und wird entsprechend zusammen mit der eigentlichen Regelung durch das Entwurfswerkzeug MATLAB SIMULINK generiert Die H ufigkeit der Datenfusion bestimmt sich typischerweise anhand der gr ten Bandbreite unter den eingesetzten Sensoren Den begrenzenden Faktor bil
185. g einer durchgehenden Fehlererkennung von den Eing ngen des Systems bis zu dessen Ausg ngen Konkret erfordert dies die Anbindung der sicher heitskritischen Anwendung an ihre Au enwelt Der grundlegende L sungsansatz ist dabei neben der Replikation der Verarbeitungselemente die durchgehende Codierung der nicht replizierbaren Datenstr me von ihrem initialen Auftreten bis zum Erreichen der replizierten Ausf hrung Die Replikate erhalten ihre Eingaben daher grunds tzlich in einer codierten Form und geben ihre Aus gaben ebenso codiert an die Au enwelt ab Die beiden in Programmausschnitt 3 1 dargestellten Basisfunktionen f r die Codierung encode beziehungsweise Decodierung decode markie ren damit letztlich die beiden u ersten Punkte der in Software realisierbaren Fehlertoleranz und damit auch der durch CoRED gesch tzten sicherheitskritischen Anwendung 3 4 1 Eingangsreplikation F r die replizierte Ausf hrung ist eine geeignete den geforderten Replikdeterminismus erhalten de Vervielf ltigung der Eing nge obligatorisch Im Rahmen der konsekutiven Ausf hrung der replizierten Bereiche ist diese Figenschaft konzeptbedingt durch den codierten Mehrheitsentschei der gegeben Abbildung 3 3 zeigt diesen Fall in der Verbindung der Replikatbl cke A und B Die Daten stehen hier bereits in ihrer codierten Form zur Verf gung und k nnen direkt im Anschluss an die Mehrheitsbildung sicher auf die nachfolgenden Replikate verteilt werden Im
186. gen eingesetzt werden kann Bestehende Ans tze erweisen sich bisher jedoch als unzuverl ssig bezie hungsweise l ckenhaft hinsichtlich der erzielbaren Fehlererkennungsleistung Das Problem hierbei sind kritische Fehlerstellen engl single point of failure und L cken in der Redundanz Ein Beispiel sind die f r die Replikation notwendigen Mehrheitsentscheider welche sich ihrerseits nicht weiter replizieren lassen Obwohl diese Stellen blicherweise klein und kurz im Sinne der Ausf hrung sind ist ihre Art und Anzahl in hohem Ma e anwendungsabh ngig Eine gezielte Beeinflussung der nicht funktionalen Eigenschaft Zuverl ssigkeit ist somit nur schwer durch softwarebasierte Feh lertoleranz zu erreichen Vereinfacht ausgedr ckt stellt sich in diesem Fall die schon von Juvenal aufgeworfene Frage Wer aber wird die W chter selbst bewachen Juvenal Satire 6 347 f Zur L sung dieser Frage entwickelt diese Arbeit den kombinierten Redundanzansatz CORED engl Combined Redundancy Dieser ganzheitliche softwarebasierte Fehlertoleranzansatz geht von der redundanten Ausf hrung der Anwendung im Sinne von Prozessinkarnationen aus und beseitigt die verbliebenen Zuverl ssigkeitsengp sse durch die gezielte Einbringung von Informati onsredundanz in Form von arithmetischer Codierung CORED eliminiert als W chter der W chter die kritischen Fehlerstellen vollst ndig und bietet somit das R stzeug f r die systematische Be einflussung der Zuverl ssigkeit
187. gesamt eine wichtige Rolle f r die theoretische und praktische Bewertung von auf Informationsredundanz basierender Fehlertoleranz Ech90 78 KAPITEL 4 EFFEKTIVE FEHLERERKENNUNG IMPLEMENTIERUNG UND EVALUATION T T u fo Super As f r 32 Bit AN Codes en a N ian S 5 2 ee E 3 a I o 2 HH HH 1 4 aa 3 a A Zweierpotenzen Bitweise Verschiebung gt f H j 1 gl 018 ol 915 916 Codierungsschl ssel A Abbildung 4 2 Minimale Hamming Distanz f r einen 32 Bit Code mit 16 Bit Codierungsschl sseln Die Effektivit t der Codierung steigt erwartungsgem mit der Schl sselgr e A an Auff llig ist die breite Streuung der Ergebnisse was allgemeing ltige Aussagen f r die Auswahl der Codierungsschl ssel nur schwer zul sst Ausrei er nach unten stellen die Zweierpotenzen dar sie entsprechen einer bitweisen Verschiebung und erm glichen keine sichere Fehlererkennung Demgegen ber weisen die Super As eine Distanz von sechs auf und erlauben die Erkennung von 5 fach Bitfehlern 4 2 2 Auswahl der Codierungsschl ssel Mit Blick auf die Absch tzung der Restfehlerwahrscheinlichkeit erscheint die Auswahl gro er Werte f r A als Codierungsschl ssel sinnvoll frei nach dem Motto Je gr er desto besser Primzahlen als Codierungsschl ssel In der Literatur existieren dar ber hinaus wenig Hinweise hinsichtlich der geeigneten Auswahl von A Insbesondere f r die ANBD Codie
188. gruppe B nicht m glich Hier m ssen Maskierer und Replikat zu einem Bereich Fb2 zusammengefasst werden Zuverl ssigkeitsengpass Mehrheitsentscheider Der Ausfall eines Mehrheitsentscheiders ist grunds tzlich nicht tolerierbar seine Zuverl ssig keit dominiert daher die Gesamtzuverl ssigkeit der redundanten Ausf hrung Der Mehrheits entscheider stellt somit eine schwerwiegende kritische Fehlerstelle dar welche potenziell die praktische Umsetzbarkeit softwarebasierter Redundanz gef hrdet Die Mehrheitsentscheider stellen insgesamt einen ernst zu nehmenden Zuverl ssigkeitsengpass in der redundanten Ausf hrung dar da sie unabh ngig von den Replikaten versagen k nnen und entsprechend ihrerseits eigenst ndige Einzelfehlerbereiche darstellen Ihre Anzahl ist in hohem Ma e anwendungsabh ngig da jeder Interaktionspunkt mit der Umgebung die Herbeif hrung einer eindeutigen Ausgabe erfordert Einfache Mehrheitsentscheider stellen in jedem Fall eine kritische Fehlerstelle dar deren Versagen nicht tolerierbar ist Demgegen ber bieten redundante Mehrheitsentscheider den Schutz der Replikation Sie sind jedoch lediglich f r eine Verkleine rung der Replikatgr e sinnvoll einsetzbar da sie das grundlegende Problem der konsistenten Ausgabe nicht l sen Unabh ngig von der konkreten Umsetzung wirkt sich eine Unzuverl ssig keit der Mehrheitsentscheider negativ auf die Gesamtzuverl ssigkeit aus vgl Gleichung 3 1 und Gleichung 3 2 Da sich
189. gsweise Ausg nge in das Fallbeispiel aufnehmen zu k nnen wurden die im Folgenden n her beschriebenen zus tzlichen Erweiterungen des I4Copters vorgenommen 5 3 1 Codierte Ausgabe der Stellwerte Einen ersten Hinweis auf die m gliche Erweiterung von CORED ber die Grenzen eines Systems hinaus gab bereits die in Kapitel 5 1 1 vorgestellte spezifische Auslegung der Motorplatine als intelligentes Aktorsystem Dieses bernimmt stellvertretend die Steuerung der Leistungselektro nik und erh lt die hierf r notwendigen Stellwerte mittels eines SPI Kommunikationsbusses von der CORED geschiitzten Fluglageregelung F r die Ausgabe am Ende der replizierten Ausf hrung bedeutet dies bislang die bergabe des codierten Gewinners an den Stellvertreter f r die SPI 5 3 ERWEITERUNG DES REDUNDANZBEREICHS BER SYSTEMGRENZEN 119 Buskommunikation Dieser decodiert den Stellwert f r den Nachrichtenversand und legt ihn an einer festgelegten Stelle im Speicher ab Die eigentliche bertragung erfolgt anschlie end durch die entsprechende Hardwareeinheit des TriCores Bis zur eigentlichen Verwendung der Stellwerte vergehen jedoch im Mittel 1 4 Millisekunden f r die bertragung der Nachricht und deren Auswer tung auf dem Aktorsystem Selbst bei einer ad quaten Fehlererkennung des Bussystems bleiben transiente Fehler auf dem Weg von und zu dem Transportmedium auf beiden Seiten potenziell unentdeckt sie stellen somit von Neuem kritische Fehlerstellen dar
190. h auf der Erdoberfl che auftrifft An dieser Stelle ist der Anteil der Prim rstrahlung auf unter 1 gesunken und ein Gro teil der Sekund rteilchen ist entweder zerfallen oder hat seine kinetische Energie verloren Aktuelle Messungen von Gordon et al GGR 04 zeigen einen Neutronenfluss von durchschnittlich 20 Partikel om h Teilchenenergie gt 10 MeV Q Teilchen X Gate Neutron Source ot een C4 a raS Abbildung 1 1 Schematischer Vergleich von direkter und E oo indirekter lonisation in einem CMOS Transistor Substrat A R Geroion Auswirkung auf die Halbleiterbauelemente In erster N herung ist die Ausfallrate f r einen CMOS Schaltkreis proportional zum Neutronenfluss Neutronen wirken wie in Abbildung 1 1 dargestellt nur indirekt ionisierend Die Ionisation erfolgt mittelbar ber Kernreaktionen oder Streuprozesse an Atomkernen vergleichbar den Kollisionen in der Atmosph re Werden die hierbei entstehenden Elektronen Mesonen und positiven Ionen durch das Halbleitermaterial abgebremst verlieren diese schrittweise ihre Energie und erzeugen dabei Elektron Loch Paare Die hierbei entstehende Ladung verteilt sich entlang des Eintrittspfads und bestimmt sich aus der kinetischen Energie des Partikels und dem Energieverlust pro Wegl ngeneinheit dem sogenannten Bremsverm gen engl stopping power des Materials Ein Elektron Loch Paar in Silizi um erfordert zum Beispiel etwa 3 6 eV Energie das Bremsver
191. h90 Ihre Anwendbarkeit ist jedoch aufgrund der notwendigen Vergleichszust nde auf strukturelle Redundanz beschr nkt Im Gegensatz dazu k nnen Akzep tanztests grunds tzlich f r jede Art von Redundanz eingesetzt werden sofern sich entsprechende Konsistenzbedingungen finden lassen Ech90 Fehlerbehandlung Die Fehlererkennung identifiziert Fehler in den redundanten Strukturelementen sorgt jedoch nicht f r eine Unterbrechung der Fehlerausbreitung Dies erfordert weitere Ma nahmen f r die geeig nete Fehlerbehandlung engl fault handling Ein bekanntes Beispiel hierf r ist die wiederholte bertragung von Nachrichten im Fehlerfall durch ein Kommunikationsprotokoll Im Allgemeinen lassen sich die drei folgenden Arten der Fehlerbehandlung unterscheiden ALRLO4 Ech90 R ckw rtskorrektur engl backward error recovery versetzt den Fehlerbereich beziehungsweise bergeordnete Komponenten in einen vorangegangenen fehlerfreien Zustand zur ck Dies umfasst im weitesten Sinne jede Art von konsistentem Zustand von dem aus eine spezifi kationsgem e Interaktion mit anderen Komponenten m glich ist auch wenn dieser in der Vergangenheit nicht aufgetreten ist Die R ckw rtskorrektur basiert auf R cksetzpunkten engl checkpoints und einer geeigneten Protokollierung der nderungen zwischen diesen Punkten Tritt ein Fehler auf so wird der bereits ver nderte Zustand der beteiligten Kompo nenten auf den letzten fehlerfreien R cksetzpunk
192. he Fehlerstelle dar Mit Blick auf die m gliche Ver nderung der Bitfehlerzahl vgl Kapitel 4 4 1 bei der Durchf h rung von Berechnungen auf Codew rtern wird hierdurch zudem die kritische Frage nach einem geeigneten Abstand zwischen den Pr fpunkten aufgeworfen Da sowohl die Berechnungsfolge als auch der Einfluss der einzelnen Berechnungsschritte auf das Fehlermuster anwendungsab h ngig sind ist prinzipiell eine hohe Bandbreite f r die Fehlererkennung erforderlich F r die Kontrollfluss berwachung in CEP SSSF10 erfolgt die berpr fung beispielsweise beim Betreten beziehungsweise Verlassen jedes Basisblocks mit einem entsprechend negativen Einfluss auf die Kosten Demgegen ber setzt CORED die Codierung sparsam und unabh ngig von der Anwendung f r eine feste Zahl an Infrastrukturfunktionen wie den CORED Mehrheitsentscheider ein Die Umset zung ist durch ihren statischen Charakter zum einen sehr gut testbar und beschr nkt zum anderen die Zahl der Berechnungsschritte zwischen der Codierung und Decodierung durch ihre geringe Gr e auf einige wenige Operationen Zusammen mit der von der Schwere der Bitfehler unab 4 5 ZUSAMMENFASSUNG 101 h ngigen und vollst ndigen Fehlererfassung der replizierten Ausf hrung der Anwendung ergeben sich somit insgesamt bessere Eigenschaften bei niedrigeren Kosten und reduzierter Komplexit t 4 5 Zusammenfassung Der Weg vom theoretischen Entwurf hin zu einer praktischen Realisierung der ar
193. heit Als problematisch f r die R ckf hrung der zeitlichen Abweichungen erweist sich dar ber hinaus die durch den ganzheitlichen Regelungsentwurf beg nstigte monolithische Umsetzung der Rege lungsanwendung beziehungsweise deren Generierung durch Entwurfswerkzeuge wie MATLAB SI MULINK Die f r die R ckkopplung relevanten Elemente der Anwendung wie beispielsweise die Sensorfusion muss die Regelung daher in geeigneter Weise modularisiert werden Hierf r nutzt CORED CONTROL eine auf diesen Zweck abgestimmte Regelungsarchitektur Diese untergliedert die Anwendung in Schichten f r die Sensorik und Aktorik die Signalverarbeitung und Fusion sowie die eigentliche Regelung Insbesondere die Elemente der Sensorfusions beziehungsweise Aktorfusionsebene bernehmen in diesem Zusammenhang die R ckf hrung und Kompensation der zeitlichen Abweichungen Die Anwendung von CORED CONTROL auf die Regelungsanwendung des I4Copters sowie deren Modularisierung erwies sich als weitgehend unproblematisch und erforderte nur minima le Anpassungen an deren Regelungsentwurf Die notwendigen nderungen konzentrierten sich im Wesentlichen auf die Einf hrung der notwendigen Totzeitkompensation sowie die Explizit machung der Schnittstellen zwischen den Elementen des Modells Vergleichende Experimente konnten dar ber hinaus die Gleichwertigkeit der modularisierten Variante der Fluglageregelung hinsichtlich der erzielbaren Regelg te demonstrieren Zusammenfassung und
194. heitsentscheids adressiert werden Soll der Wert von win dagegen direkt in codierten Berechnungen weiterverwendet werden so l sst sich dessen Signatur mittels einer einfachen Recodierungsfunktion auf eine vorherbestimm te Zielsignatur anpassen ohne die eigentliche Fehlererkennung zu verlieren dieses Vorgehen imitiert entsprechend das von Forin in Programmausschnitt 3 3 angestrebte Verhalten Erfolgt in diesem Zusammenhang jedoch keine berpr fung Decodierung des Wertes ist eine sp tere Fehlerdiagnose des Mehrheitsentscheiders ausgeschlossen Unabh ngig davon ist eine Fehlerer kennung jederzeit m glich Schl sselelement Der zuverl ssige CORED Mehrheitsentscheider Der CoRED Mehrheitsentscheider erlaubt die sichere Erkennung von Fehlern in den Ergeb nissen wie auch der Mehrheitsfindung an sich Der Mehrheitsentscheider verh lt sich dabei von au en betrachtet wie eine codierte Operation Die Korrektheit einer Entscheidung l sst sich folglich durch eine einfache Decodierung berpr fen Fehlererkennung Die durch den CORED Mehrheitsentscheider erreichbare Fehlererkennung gegen ber dem Fehler modell aus Kapitel 2 1 1 ist konzeptionell vollst ndig und im Vorgriff auf die experimentelle Evaluation in Kapitel 4 technisch zuverl ssig Zun chst lassen sich Berechnungsfehler aufgrund der Abwesenheit von codierten Rechenoperationen konzeptbedingt ausschlie en Fehler in den 3 6 FEHLERTOLERANZ 69 Operanden X l
195. hen den Replikatbl cken A und B dargestellt Jedes Replikat bertr gt sein Ergebnis an jeden Mehrheitsentscheider deren Ausg nge wiederum als Eingabe f r den n chsten Block dienen Auf diese Weise lassen sich sowohl der Mehrheitsentscheider als kritische Fehlerstelle als auch die Replikation der Eingabedaten f r den nachfolgenden Block B eliminie ren Die Gesamtzuverl ssigkeit R m tmr unter Einsatz des redundanten Mehrheitsentscheiders ist nunmehr definiert als Lal00 rep Rm tm RY 3R p 2Rrep Ry 3 2 Ne Ze 3 2 aus 3 Replikate 3 1 ERWEITERTE PROBLEMANALYSE 51 Auf den ersten Blick l st dieses Konzept das Problem des Mehrheitsentscheiders als kritische Fehlerstelle da ein Ausfall eines Maskierers nicht mehr zwangsl ufig zu einem Ausfall des Ge samtsystems f hrt Gleichzeitig stellt die Zuverl ssigkeit des Mehrheitsentscheiders keinen limitie renden Faktor mehr f r die Gesamtzuverl ssigkeit dar Demgegen ber ergeben sich jedoch auch eine Reihe von Nachteilen und Einschr nkungen aus dem redundanten Aufbau Da die Ausgabe wiederum aus drei Ergebnissen besteht bleibt der eigentliche Sinn und Zweck der Mehrheitsentscheidung augenscheinlich unerf llt Entsprechend lassen sich redundante Mehrheitsentscheider lediglich zwischen einzelnen TMR Stufen sinnvoll nutzen Eine Ausgabe der Ergebnisse aus der replizierten Dom ne an die Au enwelt ist nicht m glich ebenso wenig wie die Interaktion mit der Systemsoftware
196. her Wahrscheinlichkeit zu divergierenden Ergebnissen und einem Verlust des Re plikdeterminismus In der Folge ist der eingesetzte Relativtest auf bereinstimmung nicht mehr in 60 KAPITEL 3 DER KOMBINIERTE REDUNDANZANSATZ CORED Zeit sek 15 105 pP 3 5 2 Gyroskop A o4 3 Gyroskop B 5 2 5 Gyroskop C d 10 15 0 0 5 1 1 5 2 Abbildung 3 5 Typische Abweichung der Eingangssignale eines Sensorsystems Ein dreifach redundantes Sensorsystem aus Winkelmessern Gyroskop Die Sensoren messen die gleiche physikalische Gr e weichen jedoch durch das immanente Rauschverhalten geringf gig voneinander ab Auch ein mehrfaches Abtasten des selben Eingangs f hrt so zu unterschiedlichen Werten Aus Sicht der Eingangsreplikation stellen Sensoren daher blicherweise nichtdeterministische Quellen dar der Lage die Varianten zuverl ssig einer Konsensmenge zuzuordnen Diese in der Literatur h ufig Problem des konsistenten Vergleichs engl consistent comparison problem BKL89 Pul01 genann te Fragestellung l sst sich entsprechend mit dem in Abbildung 3 4 gezeigten Replikationsmuster nicht mehr aufl sen Eine g ngige L sung dieses Problems ist daher die Umstellung des Vergleichs auf hnlichkeit anstelle der bisher angestrebten bereinstimmung Statt eines exakten Mehrheitsentscheiders kommen in der Folge Akzeptanzmaskierer engl acceptance voters zum Einsatz
197. hierbei um statisch parametrierte Funktionen wie sie durch die CORED Schltisselverwaltung und den Compiler im Zuge des Erstellungsprozesses erzeugt werden Allgemein ist der Speicherbedarf der Codew rter zu ber cksichtigen welcher je nach der gew hlten Aufteilung zwischen Nutz und Pr finforma tion blicherweise eine Verdopplung der Wortbreite mit sich bringt Trotz der im Verh ltnis zum einfachen Mehrheitsentscheider 2 6 fachen Codegr e des CORED Mehrheitsentscheiders vgl Tabelle 5 1 erweisen sich die absoluten Werte der Basisfunktionen als klein beziehungsweise kurz im Sinne der Ausf hrungszeit Die tats chlichen Gesamtkosten sind des Weiteren in hohem Ma e von der Struktur der Anwen dung abh ngig Um die Zahlen in einen entsprechenden Kontext zu setzen wurden daher exem plarisch die Laufzeitkosten der CORED Basisoperationen sowie der replizierten FlightControl Komponente betrachtet Die folgenden Messungen wurden hierbei experimentell mithilfe des Sys temzeitgebers engl system timer des TriCores ermittelt Die Werte stellen jeweils das Maximum ber 100 Versuche dar Die Replikate der eigentlichen Fluglageregelung umfassen in der Summe 18 Eing nge und drei Ausg nge sowie den finalen Mehrheitsentscheider Im Vergleich mit der einfachen Repli kation erh hen sich die Laufzeitkosten durch CORED in diesem Beispiel um n herungsweise f nf Mikrosekunden Im Vergleich dazu summiert sich die Ausf hrung des Regelalgorithmus je
198. hierbei zusammen aus 14 16 Bit und 240 32 Bit Operationen Versuchsaufbau Um eine vollst ndige Zweig berdeckung engl branch coverage bei der Fehlerinjektion zu er reichen wurden die Mehrheitsentscheider in jeder Kampagne gegen die f nf m glichen Kombi nationen der Konsensmenge Xx y Z xAy Z yAX Z 2 X y x y7 2 getestet Da die 4 3 EVALUATION DER CORED IMPLEMENTIERUNG 91 Effektivit t der Fehlererkennung f r verschiedene Eingabewerte v und Schl ssel A bereits durch die Fehlersimulation in Kapitel 4 2 5 nachgewiesen wurde beschr nkte sich die Fehlerinjek tion auf eine feste Menge an m glichen Fingabewerten Um die Fehlerinjektion zu vereinfachen wurde der zur Verf gung stehende IA32 Befehlssatz auf die Teilmenge der Instruktionen beschr nkt welche direkt auf Registern arbeiten Hierdurch werden alle Speicheroperationen ausschlie lich ber Register durchgef hrt und sind entsprechend f r die Fehlerinjektion sichtbar Diese Eigenschaft erm glicht beziehungsweise erleichtert die Reduktion des Fehlerraums durch FAIL Zuletzt wurde die geforderte Isolation des Mehrheitsentscheiders hergestellt Hierzu zahlt sowohl eine feingranulare r umliche Abtrennung des durch den Mehrheitsentscheider genutzten Adressraums mithilfe des Betriebssystems als auch die Uberwachung der maximalen Laufzeit durch einen in den Experimentablauf integrierten Funktionsw chter von FAIL Ergebnisse der Fehlerinjektion Im Anschlu
199. hlie lich auf der untersten Ebene und mithilfe bestimmter Eigenschaften der Hardware implementieren lassen Hybride Fehlertoleranz dient blicherweise der Kostensenkung im Vergleich zu einer umfassenden 32 KAPITEL 2 SOFTWAREBASIERTE FEHLERTOLERANZ Anwendungstransparenz Implementierungsebene Redundanzart Strukturelement Information Struktur Funktion Zeit Voll Paravirtualisierung Virtuelle Maschine Partielle Virtualisierung Prozessinkarnation Fehlendes Elementgr e Algorithme paas Anwendungsspezifisch a Anwendungswissen Befehlssatz Instruktion Abbildung 2 4 F r den L sungsansatz prinzipiell unzweckm ige FehlertoleranzmaBnahmen Konzeptbedingt lassen sich bereits einige Redundanzarten und Implementierungsebenen f r den verfolgten L sungsansatz ausschlie en hervorgehobene Bereiche Hierzu z hlen im Wesentlichen all jene Fehlertoleranzma nahmen die anwendungs spezifisch entworfen oder implementiert werden m ssen beziehungsweise welche die Anwendung selbst betreffen und daher mit der Anforderung nach Anwendungstransparenz kollidieren Hardwarel sung Bekannte Beispiele sind die IBM z900 Serie SAC 99 oder die Flugsteuerung der Boeing 777 Yeh96 Entsprechend werden lediglich besonders kritische Funktionseinheiten z B Speichersubsystem Rechenkerne SACT 99 Yeh96 HHJ90 oder auch der anf llige Hardwa rekontext GSVP03 MKRO2 VPCO2 RMOO durch hardwarebasierte Fehlertol
200. hnungsergebnisses Im Beispiel in Programmausschnitt 3 3 werden hierf r y sowie die Subtraktion in Zeile 4 beziehungsweise die Addition in Zeile 6 ge eignet instrumentalisiert Stehen in den Verzweigungen keine hierf r nutzbaren gemeinsamen Operatoren und Berechnungen zur Verf gung lassen sich die f r die Fehlererkennung notwendi 3 5 ZUVERL SSIGE MEHRHEITSENTSCHEIDER 65 gen Signaturberechnungen nicht anwenden Schiffel Sch11b umgeht dieses Problem durch die Einf hrung einer Pseudovariablen engl dummy auf deren Basis die Signaturberechnung z B der Sprungsignatur B ond f r die Codierung der Vergleichsoperation erfolgt Eine R ckf hrung auf die eigentlichen Berechnungen und deren Ergebnisse beziehungsweise eine Anpassung der Signaturen ist dabei nicht mehr obligatorisch Von diesem Standpunkt aus erfolgt sowohl die Codierung wie auch die berwachung von Daten und Kontrollfluss getrennt voneinander Schiffel et al SSSF10 verallgemeinern diesen Ansatz der codierten Kontrollfluss berwachung in CEP vgl Kapitel 2 2 2 mittels dedizierter Signaturen f r jeden Grundblock engl basic block des Kontrollflussgraphen Hierdurch lassen sich beliebige sequentielle Instruktionsfolgen sowie Ver zweigungen codieren Um Kontrollflussfehler aufzudecken und eine ungewollte Fehlerausbreitung sicher zu vermeiden vergleicht CEP die Kontrollflusssignaturen zu Beginn jedes Grundblocks mit einer vorausberechneten Sequenzliste Konzeptbedingt erf
201. hr klein und kurz im Sinne der Ausf hrung sind ist ihre Anzahl in hohem Ma e anwendungsabh ngig Jeder Interaktionspunkt mit der Umgebung bedingt zum Beispiel durch Datenaustausch mit anderen Anwendungen oder den Zugriff auf Systemdienste f hrt zu einem Aufbruch der replizierten Ausf hrung Weitere Problemstellen sind die Systemgrenzen Eine Fehlererkennung und Absicherung der Sensorik oder Aktuatorik ist mittels replizierter Ausf hrung beispielsweise nicht m glich Dies gilt allgemein f r jede Art 10 KAPITEL 1 EINLEITUNG UND MOTIVATION von bergang zwischen sicheren und unsicheren Dom nen wie zum Beispiel verteilte Systeme mit mehreren Rechenknoten Dar ber hinaus ist es zuk nftig auch vorstellbar dass Hersteller nur gewisse Teile der Hardware beispielsweise einzelne Prozessorkerne h rten und solche berg nge damit auch innerhalb eines Mehrkern Rechensystems auftreten Die erzielbare Verbesserung der Zuverl ssigkeit kann durch eine l ckenhafte Implementierung der Redundanz drastisch reduziert werden BCS69 Arn73 Hieraus ergeben sich weiterreichende Auswirkungen auf die praktische Umsetzbarkeit softwarebasierter Redundanz Die zuvor genann ten Normen machen eine Bestimmung der Ausfallrate unumg nglich und erfordern daher blicher weise eine Risikoanalyse der ungesch tzten Teile und damit auch der kritischen Fehlerstellen Da der Redundanzbereich von der konkreten Implementierung der Anwendung abh ngt ndert sich die
202. hre Anzahl exemplarisch f r An wendungen die ein ausgewiesenes Schutzbed rfnis gegen ber transienten Fehlern aufweisen Die zul ssigen Fehlerraten sind in vielen Anwendungsfeldern durch entsprechende Sicherheitsnormen vorgegeben wie zum Beispiel f r Fahrzeuge durch die ISO 26262 5 ISO1la Die Dom ne der sicherheitskritischen Regelungssysteme steht daher im Fokus dieser Arbeit und dient im Folgenden als Anwendungsbeispiel 1 3 Problembeschreibung und Forschungsfrage Insgesamt nimmt die Zahl der in Software implementierten sicherheitskritischen Funktionen durch den technischen Fortschritt stetig zu und geltende Normen machen eine Ber cksichtigung tran sienter Fehler in der Systemauslegung zunehmend unumg nglich Bro06 EJ09 Ein bew hrter Ansatz um die notwendige Fehlererkennung bereitzustellen ist der Einsatz der zuvor skizzierten Hardwareredundanz beziehungsweise speziell geh rteter Hardware Diese Ans tze sind jedoch aufgrund der damit verbundenen hohen direkten wie indirekten Kosten und der fehlenden Se lektivit t wie sie bei einer Mischung aus sicherheitskritischen und unkritischen Anwendungen engl mixed criticality systems erforderlich w re in vielen Bereichen nicht sinnvoll einsetzbar Gerade bei Konsumg tern wie Fahrzeugen oder Medizinger ten herrscht ein enormer Kostendruck der zusammen mit der zunehmenden Leistungsf higkeit eingebetteter Systeme eben gerade da zu f hrt dass immer mehr Funktionen auf einem Rechenkn
203. hs Die Bewertung der Testobjekte l sst sich dabei mithilfe der folgenden zwei Testverfahren durchf hren Ech90 Absoluttests engl acceptance tests berpr fen das Testobjekt gem eines Soll Ist Vergleichs mit vorab definierten Konsistenzbedingungen Werden diese erf llt ist das Testobjekt feh lerfrei andernfalls ist es fehlerhaft Absoluttests ben tigen daher lediglich den Istzustand des Testobjekts und kommen ohne weitere Vergleichsobjekte aus entsprechend decken sich Testobjekt und Fehlerbereich Die erzielbare Fehlererfassung engl fault coverage ergibt sich aus den Konsistenzbedingungen Sind diese bez glich des Sollzustands notwendig und hinreichend ist eine zuverl ssige Aufdeckung der Fehler gegeben Die f r die Codierung eingesetzten Codierungsvorschriften siehe Kapitel 2 2 2 sind ein Beispiel f r Konsistenzbe dingungen welche die Spezifikation exakt abbilden und eine vollst ndige Fehlererfassung erm glichen Im Allgemeinen steigt der Aufwand f r die Formulierung vollst ndiger Be dingungen mit der Komplexit t des Testobjekts Dies kann im Extremfall zu einer Reimple mentierung der Anwendungslogik und somit zu einer Nachberechnung des Sollzustands f hren Ist eine vollst ndige Abbildung der Spezifikation in Konsistenzbedingungen nicht m glich ist lediglich eine eingeschr nkte Fehlererfassung erreichbar Zum Beispiel stehen f r die berwachung eines Sensors blicherweise nur notwendige Bedingungen in Form von
204. hs relevant So ist bei separierten Codes zu bedenken dass Nutz und Pr fin formation an getrennten Stellen gespeichert sein k nnen und deren Verarbeitung dar ber hinaus einen potenziell gr eren zeitlichen Versatz aufweist Allgemein ist in diesem Zusammenhang die systematische nicht separierte Codierung attraktiv da deren Operationen jeweils beide Teile des Codewortes umfassen und dar ber hinaus die Decodierung entfallen kann Codierung Die Fehlererkennung beruht bei der Codierung von Daten auf dem Abstand zwischen g lti gen Codew rtern Verschiedene Strategien unterscheiden sich im Wesentlichen hinsichtlich der Codierungsvorschrift Diese beschreibt die berf hrung von Datenw rter in Codew rter eindeutig und erlaubt daher eine vollst ndige Fehlererfassung durch Absoluttests 36 KAPITEL 2 SOFTWAREBASIERTE FEHLERTOLERANZ Datencodierung Bei den bisher als Beispiel genannten Parit tsbits Ham50 beziehungsweise der zyklischen Redun danzpr fung Sha49 handelt es sich um Verfahren der reinen Datencodierung Sie sind effektiv hinsichtlich der erzielbaren Fehlertoleranz gegen ber transienten Fehlern jedoch konzeptionell auf Datenfl sse limitiert Die zur Verf gung stehenden Operatoren beschr nken sich auf die Codie rung beziehungsweise Decodierung der Daten und erlauben nicht die Durchf hrung von Berech nungen auf Codew rtern Folglich m ssen Codew rter decodiert und die Nutzdaten entnommen werden bevor diese einer
205. ht v llig auszuschlie en Die hierbei verbleibende Restfehlerwahrscheinlichkeit engl residual error probability psac f r die Mutation von einem g ltigen Codewort in ein anderes g ltiges Codewort ergibt sich letztlich aus dem Umfang der hinzugeftigten Informationsredundanz Fro77 Anzahl g ltiger Codeworte 1 27 1 1 1 4 1 gt lt Anzahl m glicher Codeworte 1 2k 1 no 2k A Psac Der Wert von Psae nimmt mit wachsendem Verh ltnis zwischen g ltigen 2 und m glichen Codew rtern 2 exponentiell ab Die Effektivit t der Fehlererkennung ist entsprechend pro portional zum Umfang der eingesetzten Informationsredundanz Im Falle der arithmetischen Codierung entspricht die Zahl der m glichen Codew rter A 2 weshalb p q in diesem Fall 1 4 entspricht Abbildung 4 1 veranschaulicht exemplarisch wie die Restfehlerwahrscheinlichkeit mit der Gr e des Codierungsschl ssels A abnimmt Diese theoretische Absch tzung geht insgesamt davon aus dass beliebige Verf lschungen eines Codewortes mit der gleichen Wahrscheinlichkeit auftreten und vollkommen unabh ngig von der Art und Schwere der transienten Fehler bezie hungsweise der verursachten Anzahl der Bitfehler sind Da dies keine weiteren Annahmen hin sichtlich der Fehlerhypothese erfordert eignet sich die Restfehlerwahrscheinlichkeit insbesondere als untere Schranke f r die Zuverl ssigkeitsbetrachtung der eingesetzten Codierung Der Wert von Dsde spielt daher ins
206. hwindende Zuverl ssigkeit der Hardware Die korrekte Ausf hrung von Programmcode durch das darunterliegende Rechensystem genau er gesagt dessen Prozessoren ist eine bliche Grundannahme der Softwaretechnik Gleichwohl stellen transiente Fehler eine zunehmende und in vielen F llen untersch tzte Bedrohung f r die Zuverl ssigkeit sicherheitskritischer Systeme dar Einen Einblick in die Ursachen Hintergr nde und Tendenzen bieten dieses Kapitel 1 1 sowie der Exkurs zur kosmischen Strahlung auf Seite 4 Die beiden Exzerpte auf den Seiten 3 und 6 erlauben jedoch eine direkte Abk rzung zu den tech nischen Gegenma nahmen in Kapitel 1 2 ab Seite 6 Hardwarefehler Grundlagen Die Halbleitertechnik ist wie jedes technische System in der Praxis nicht frei von Fehlern und bietet entsprechend keine absolute Zuverl ssigkeit Die Hersteller geben daher blicherweise eine Ausfallrate FIT engl failure in time f r ihre Produkte an Eine h ufig gew hlte Darstellungs form stellt die sogenannte Badewannenkurve Wil02 dar Sie beschreibt die Zuverl ssigkeit eines Systems ber dessen Lebenszyklus Im Zuge der Inbetriebnahme wirken sich zun chst geh uft immanente beziehungsweise fertigungsbedingte Fehler aus bevor die Fehlerrate auf ein niedrige res relativ konstantes Niveau abf llt Zum Ende der Lebensdauer kommt es wiederum geh uft zu Abnutzungserscheinungen an den Halbleiterbauelementen und alterungsbedingten Fehlern Grunds tzlich u
207. i 10 1109 MC 2005 176 Zitiert auf Seite 41 Reiser H P Hauck F J Kapitza R und Schr der Preikschat W 2006 Hypervisor Based Redundant Execution on a Single Physical Host Proceedings of the 6th European Dependable Computing Conference EDCC 06 Supplemen tal Volume Seiten 67 68 Zitiert auf Seite 41 LITERATURVERZEICHNIS 157 RMOO RR99 RRTV99 RRVTO1 SAC 99 SBM 09 SC95 Sch90 Sch10 Sch11a Sch11b Reinhardt S K und Mukherjee S S 2000 Transient Fault Detection via Si multaneous Multithreading Proceedings of the 27th International Symposium on Computer Architecture ISCA 00 Seiten 25 36 ACM Press New York NY USA ISBN 1 58113 232 8 doi 10 1145 339647 339652 Zitiert auf den Seiten 27 32 40 und 42 Rebaudengo M und Reorda M S 1999 Evaluating the Fault Tolerance Capa bilities of Embedded Systems via BDM Proceedings of the 17TH IEEE VLSI Test Symposium VTS 99 Seiten 452 457 IEEE Computer Society Press Washington DC USA ISBN 0 7695 0146 X doi 10 1109 VTEST 1999 766703 Zitiert auf den Seiten 115 und 11 Rebaudengo M Reorda M Torchiano M und Violante M 1999 Soft error detection through software fault tolerance techniques Proceedings of the IEEE International Symposium on Defect and Fault Tolerance in VLSI Systems DFT 99 Seiten 210 218 IEEE Computer Society Press Washington DC USA ISSN 1550 5774 doi 10 1
208. iCore Plattform Die Fehlerinjektion erfolgt im Falle des TriCores mithilfe des TRACE32 Diagnose Programms direkt auf der Hardware Die Ergebnisse sind dabei konsistent mit denen der IA32 Kampagne und zeigen die erwartete zuverl ssige und vollst ndige Fehlererkennung aller Einzelbitfehler Der Wechsel der Ausf hrungsplattform erweist sich insgesamt als unproblematisch 5 2 4 Kostenbetrachtung Die folgende Betrachtung der durch CoRED induzierten Kosten geht von der Annahme aus dass eine vergleichbare regul re Replikation der Prozessinkarnationen ohne CORED stets unter den selben Voraussetzungen erfolgt Dies umfasst insbesondere die Beibehaltung der Fehlerbereiche und die damit verbundene r umliche und temporale Isolation durch das Betriebssystem Bei einer funktionalen quivalenz ergeben sich die Kosten im Sinne zus tzlicher Berechnungen beziehungs weise einem erh hten Speicherverbrauch letztlich alleine aus der Codierung der Datenfl sse und den eingesetzten CORED Mehrheitsentscheidern Operation encode decode check cored_vote Instruktionen 4 26 16 72 Bin rcode Gr e 14 Byte 86 Byte 52 Byte 200 Byte Laufzeit ung nstigst 0 0261 us 0 2324 us 0 1215us 0 3799 us Tabelle 5 3 Gr e und Laufzeitverhalten der CORED Basisoperationen 32 Bit Codew rter Die Codegr en und Laufzeiten der CORED Grundbausteine sind in Tabelle 5 3 dargestellt Wie schon bei den Messungen f r den CoRED Mehrheitsentscheider handelt es sich
209. icher Ebene in eine codierte Variante berf hrt Ein spezifischer Hardware entwurf erm glicht im Anschluss die direkte Verarbeitung und die Kommunikation von codierten Datenstr men und damit einen potenziell vollst ndigen Redundanzbereich ber das gesamte Rechensystem Leider existieren keine Daten zu der hierdurch erzielbaren Effektivit t Software Encoded Processing SEP WFO7 basiert auf der Interpretation und Transformation der sicherheitskritischen Anwendungen zur Laufzeit wobei der Interpreter selbst wiederum durch eine ANBD Codierung gesch tzt ist Der Ansatz weist aufgrund der Dynamik sowie der komplexen Implementierung einen eingeschr nkten Redundanzbereich auf und erfordert konzeptbedingt eine vertrauensw rdige Pr finstanz engl checker f r die Decodierung Dar ber hinaus vervielfachen sich die Laufzeitkosten durch Interpretation und Codierung um einen Faktor von bis zu 10 Compiler Encoded Processing CEP SSSF10 Sch11b stellt eine auf ANBD Codes basierende Weiterentwicklung von EC AN dar Wie dieser basiert CEP auf der LLVM und berf hrt C Quellcode direkt in eine codierte Bin rdatei Im Gegensatz zu SEP verbessert sich der Redundanzbereich zwar durch die statische Codierung zur bersetzungszeit jedoch ist weiterhin eine vertrauens w rdige Pr finstanz notwendig Messungen konnten entsprechend ein gewisses Ma an SDCs nachweisen Auch hier scheint neben der Pr finstanz die Komplexit t des Ansatzes eine weitere
210. icht der im Re gelungsentwurf angenommenen Phase der Sensorabtastung und ist typischerweise null F r die Berechnung des zeitlichen Versatzes sieht die Dienstschicht entweder die bernahme der ent sprechenden Phase von der statischen Ablaufplanung im Zuge des Entwurfs beziehungsweise Erstellungsprozesses vor Alternativ wird der Zeitabstand zur Laufzeit durch eine Abfrage des Systemzeitgebers berechnet Zus tzlich wurde eine Ratenanpassung in der allgemeinen Treibe rinfrastruktur vorgesehen welcher die Messunsicherheit getUncertainty f r den aktuellen Messwert zur ckliefert F r die Einbringung der notwendigen Filter nutzen die H llenklassen der Treiber eine Einschubmethode engl hook welche durch den Anwendungsentwickler geeignet instrumentiert werden muss 134 KAPITEL 6 WEITERF HRENDE BETRACHTUNG CORED CONTROL Modularisierte Fluglageregelung Die weiteren nderungen betreffen die Regelungsanwendung und umfassen zun chst die allge meine Anpassung der Programmcodegenerierung in MATLAB SIMULINK und die Bereitstellung von entsprechenden Schnittstellen f r das Setzen der Verz gerung setDelay beziehungsweise das Setzen und Abfragen der Messunsicherheit set getUncertainty Aus regelungstechnischer Sicht erfordert die weitere Aufteilung des Regelungsmodells eine geringf gig andere Herangehensweise an den Entwurf Dies betrifft in erster Linie die Aufrecht erhaltung der vorgeschlagenen Anwendungsschnittstelle zwischen
211. iel eines 32 Bit Codes f r 16 Bit Datenw rter In diesem Beispiel werden f r die eigentlichen Nutzdaten n lt 16Bit sowie k lt 32 n Bit f r den Codierungsschl ssel reserviert Um die Codierung nicht zu einer bitweisen Verschiebung abzuwerten muss zudem A lt 2 gew hlt werden Dies f hrt jedoch zu der in Abbil dung 4 3 rechts gezeigten unvollst ndigen Ausnutzung des f r die Darstellung des Codewortes genutzten 32 Bit Maschinenwortes Vereinfacht ausgedr ckt generieren arithmetische Codes kon zeptbedingt Coder ume welche sich nicht exakt auf eine Zweierpotenz und damit auf eine feste Anzahl an Bits abbilden lassen Die entstehenden L cken sind ihrerseits nicht systematisch und 4 2 WAHL DER CODIERUNGSPARAMETER 83 4 function DECODE v A B D 5 if ve gt Ve max then SIGNAL_DUE gt Coderaum Codierungsschl ssel 6 if ve mod A B D then SIGNAL_DUE 7 return ve B D div A 8 end function 22 function APPLY vc Bayn 23 if Bayn gt Bmax then SIGNAL_DUE Coderaum Signaturen 24 return ve Bayn 25 end function Programmausschnitt 4 1 Schwachstelle bin re Darstellung Integrit t des Coderaumes CORED erweitert die gebr uchliche Decodierungsfunktion decode oben von Forin For89 um die Bereichspr fung in Zeile 5 Diese einfache berpr fung des codierten Wertes vc auf die hierf r zul ssige Obergrenze Vemax verhindert effektiv die Verletzung des durch den Codierungsschl ssel A generiert
212. ientierten Schnittstelle f r die Modularisierung Replikation und Koordinierung der Regelungsaufgaben 12 KAPITEL 1 EINLEITUNG UND MOTIVATION Methodik und Anwendungsschnittstelle Die Replikation auf Betriebssystemebene bietet den Vorteil dass sich viele Anwendungsf lle direkt darauf abbilden lassen SMR 07 Damit ist der Schutz vor transienten Fehlern f r die Anwen dung weitgehend transparent Regelungssysteme stellen in diesem Punkt allerdings besondere Anforderungen Sie sind zumindest im Falle klassischer Regelungstechnik konzeptbedingt abh n gig von einer quidistanten konsekutiven und instantanen Ausf hrung der Anwendung Ziel des Ansatzes ist es daher den Anwendungsentwickler bei der Aufteilung und Replikation der Regelungsaufgabe zu unterst tzen und dar ber hinaus zeitliche Abweichungen die im Zuge der Ausf hrung entstehen an die Anwendung zur ckzumelden Erreicht wird dies einerseits durch eine angepasste Architektur f r Regelungssysteme welche die Aufteilung der Regelungsaufgabe und deren Abbildung auf replizierbare Prozesse vereinfacht Dies umfasst auch Ma nahmen zur Integration der Sensorik und Aktuatorik in den Redundanzbereich um eine Eingang zu Ausgang Fehlererkennung zu gew hrleisten Die in dem Ansatz erarbeitete regelungstechnische Schnittstelle zwischen Systemsoftware und Anwendung erlaubt eine Abstraktion von den temporalen Eigen schaften der Regelung und erleichtert so die Abbildung auf ein Echtzeitbe
213. ierte Schnittstellen f r die Eing nge beziehungsweise Ausg nge und erlauben dar ber hinaus einen unterbrechungsfreien Durchlauf CORED fasst die Replikate dar ber hinaus in die notwendige Replikationsinfrastruktur ein und stellt die Codierung und Decodierung an deren Eing ngen beziehungsweise Ausg ngen sicher 3 3 CORED ANSATZ UND METHODIK 57 ANBD Codierung ANBD Decodierung 1 function ENCODE v A B D 4 function DECODE v A B D 2 retumv A B D Codierter Wert ve 5 if vc gt Ve maz then SIGNAL_DUE 3 end function 6 if ve mod A B D then SIGNAL_DUE 7 return ve B D div A Wert v 8 end function Programmausschnitt 3 1 Funktionen f r die arithmetische Codierung und Decodierung von Daten Von Forin For89 vorgeschlagene Codierung links beziehungsweise Decodierung rechts eines Wertes v Die Fehlererken nung erfolgt im Zuge der Decodierung durch die Uberpr fung auf einen m glichen Rest in Zeile 6 Die verbleibenden Elemente der Replikation wie die obligatorischen Mehrheitsentscheider und Replikatoren wandern ihrerseits in entsprechende Isolationsdom nen um eine Fehlerausbreitung zwischen den einzelnen Komponenten zu verhindern Arithmetische Codierung F r die arithmetische Codierung der nicht replizierbaren Bereiche setzt der CORED Ansatz auf die von Forin For89 vorgeschlagenen und in Kapitel 2 2 2 bereits n her betrachteten ANBD Codes Von den zur Verf gung stehenden Codierungstechniken eignen si
214. ierungsvorschrift Die Codierungsvorschrift Multipliziere mit 10 berf hrt die Zahlen Eins bis F nf in ihre codierte Form 10 20 30 40 50 Der Abstand im Dezimalsystem ist entsprechend stets Zehn wodurch sich der Coderaum folglich auf das Zehnfache vergr ert Codew rter die sich nicht ganzzahlig durch Zehn teilen lassen werden als ung ltig erkannt Die gew hlte Redundanzstrategie respektive Codierungsvorschrift bestimmt ber die Beset zung des Zielraums sowie den konkreten Abstand der entstehenden Codew rter untereinander Abbildung 2 6 veranschaulicht diesen Zusammenhang am Beispiel einer einfachen Codierungs vorschrift Der resultierende Abstand in der dezimalen Darstellung betr gt hier stets zehn Die Art und Schwere der erkennbaren Bitfehler ergibt sich weiterhin aus der Vorschrift selbst F r ein Parit tsbit wird beispielsweise die Anzahl der mit Eins belegten Datenbits bestimmt und die Information gerade oder ungerade in das Pr fbit codiert der resultierende Abstand betr gt hier nur zwei Bit gerade ungerade Pr fbit Jedoch lassen sich folglich alle ungeraden Bitfehler erkennen w hrend eine gerade Anzahl an Fehlern unerkannt bleibt Eine weitere Eigenschaft der Strategie ist die Darstellung der Codew rter sowie die darauf anwendbaren Operationen wie Codierung Decodierung oder arithmetische Operatoren Mit Blick auf die Implementierung lassen sich die k Pr fbits und n Datenbits auf unterschiedlichen Wegen zu ein
215. iese bei den AN Codierung noch un vollstandig so lassen sich mittels ANBD Codes konzeptionell alle in Software sichtbaren Fehler erkennen In der praktischen Umsetzbarkeit leidet die arithmetische Codierung jedoch an den ho hen Laufzeitkosten und einer f r die codierte Ausf hrung der gesamten Anwendung notwendigen technisch komplexen Infrastruktur Letztere stellt eine potenzielle Schwachstelle dar und f hrt bei den bekannten Ans tzen dennoch in gewissem Umfang zu unerkannten Datenfehlern vgl Kapitel 2 2 2 Der Einsatz struktureller Redundanz durch Replikation weist grunds tzlich eben falls eine vollst ndige Fehlererfassung im Zuge der redundanten Ausf hrung auf Die verwandten Arbeiten konzentrieren sich hier vorrangig auf die verschiedenen Implementierungsebenen sowie auf die Einsparung beziehungsweise Substitution von Replikaten zur Optimierung der Laufzeitkos ten Die Ans tze unterscheiden sich im Einzelnen vor allem im Umfang der Replikation und damit im erzielbaren Redundanzbereich Dieser weist jedoch in jedem Fall L cken durch die unvermeid liche Replikation der Eingabedaten sowie die Mehrheitsentscheider auf In diesen unreplizierten Bereichen treten wiederum unerkannte Datenfehler in signifikantem Umfang auf AVFKO2 Kritische Fehlerstellen und fehlende Redundanz schw chen die Effektivit t der eingesetzten Fehlertoleranz und erschweren in der Folge auch die praktische Umsetzbarkeit Die bestehen den softwarebasierten Fehlertol
216. ige Speicherzugriffe engl illegal memory access Termin berschreitung Durch den injizierten Fehler kommt es zur berschreitung des vorgegebenen Termins und damit zu einer Verletzung der temporalen Isolation Diese wird wiederum durch die Hardware respektive das Betriebssystem signalisiert Unerkannte Datenfehler Der injizierte Fehler wurde nicht erkannt und die Ausf hrung produ ziert fehlerhafte Ergebnisse Schutzverletzungen und Termin berschreitungen werden zusammen mit sonstigen Hardwa reausnahmen als erkannte nicht behebbare Fehler klassifiziert da sie sich grunds tzlich aktiv behandeln lassen zum Beispiel durch die in Kapitel 3 6 vorgeschlagene Wiederholung des Mehrheitsentscheids 92 KAPITEL 4 EFFEKTIVE FEHLERERKENNUNG IMPLEMENTIERUNG UND EVALUATION 1 function CORED_VOTE te Yc Zc 2 ZERO_LOCAL_STORAGE 3 if x yc By By then 4 if xe ze Bz Bz then Programmausschnitt 4 2 Schwachstelle Laufzeitumgebung Integrit t der isolierten Ausf hrung Stille Annahmen der Laufzeitumgebung an die Bin rschnittstelle k nnen im Fehlerfall zu einer Verletzung der angestrebten Isolation f hren zum Beispiel durch einen Verbleib der Inhalte fl chtiger Register bei einem Kontextwechsel Im Bedarfsfall sorgt die Funktion zero_local_storage Zeile 2 durch die Bereinigung des gesamten Hardwarekontextes vor der eigentlichen Ausf hrung des Mehrheitsentscheids f r eine definierte Ausf hrungsumgebu
217. igen dynamischen Si gnaturberechnungen nachvollzogen und auf den Gewinner codiert Von au en betrachtet verh lt sich der CORED Mehrheitsentscheider wie eine komplexe codierte Operation Ergebnis der dynamischen Signaturberechnung Konsensmenge E SS x B D B By By B wenn X Yo Zc x B D Bx By wenn Xe Ye CoRed vote Xc Yc Ze x By D Bx Bz wenn Xe Zc y B D B B3 wenn yo Zo signal_due wenn Q R ckgabewert win 3 6 Das Ergebnis des Mehrheitsentscheids h ngt naturgem von der Konsensmenge der Eingabe varianten Xe Yeo 2 ab Der Gewinner win setzt sich dabei aus der ersten g ltigen Variante der Konsensmenge x oder y sowie der dynamischen Signatur B ayn zusammen Dieses Verhalten steht zun chst im Gegensatz zu den bekannten codierten Operationen wie beispielsweise der Addition bei welcher die resultierende Signatur unabh ngig von den Einga bewerten vorab bekannt ist Durch die zus tzliche R ckgabe der statischen Signatur Bg besteht 68 KAPITEL 3 DER KOMBINIERTE REDUNDANZANSATZ CORED 1 function CORED_VOTE Ze Yc Zc I 3 if ze yc Bz By then Sprungfehler 7 4 if ze ze Bz Bz then Annahme xc Ye Zo _5_____Y wine APPIY zc Le Ye e 2e a 6 return wine By lt lt By By Bz Bz SequenzfehlerZ 7 else Annahme x Ye Ze 8 win APPIY Xe Le Ye 9 const
218. ikation mit unterschiedlichen Eigenschaften So lassen sich Einzelfehler durch zweifache Redundanz DMR engl double modular redundancy im Allgemeinen lediglich erkennen wohingegen durch den 26 KAPITEL 2 SOFTWAREBASIERTE FEHLERTOLERANZ Anwendungstransparenz 5 Redundanzart Implementierungsebene Strukturelement Information Struktur Funktion Zeit Voll Paravirtualisierung H H Virtuelle Maschine Partielle Virtualisierung Prozessinkarnation Redundanztechnik Redundanztechnik Anwendung Algorithmus Redundanztechnik Elementgr e Befehlssatz Instruktion Redundanzstrategie re Parit tsbits 2 fach Redundanz Funktionsw chter Schlupfzeit Beispiel ij z j i Beispiel CRC Pr fsummen 3 fach Redundanz Konkrete Realisierung Numerische Algorithmen L J L B Codierung Replikation Beispiel Redundanztechnik Abbildung 2 2 Entwurfsentscheidungen bei der Implementierung von Fehlertoleranz Redundanz Strategie Technik Fehlertoleranz ergibt sich aus dem koordinierten Einsatz der vier Redundanzarten Die hierbei eingesetzten Vorgehenswei sen wie Replikation oder Codierung lassen sich in Redundanzstrategien klassifizieren Sie bestimmen die grundlegenden Eigenschaften wie Fehlererkennung diagnose oder maskierung und geben ein Entwurfsmuster f r die Implementierung vor zum Beispiel die Anzahl der Re
219. im Zuge der Erfassung der Umwelt durch die Sensoren an den jeweiligen Treibern und erlaubt die Quantifizierung der tats chlichen Abtastzeitpunkte dg In hnlicher Weise l sst sich auch der effektive Ausgabezeitpunkt d4 ermitteln und bereitstellen Zeitliche Abweichung bringt Unsicherheit Aus regelungstechnischer Sicht zeigen sich die zeitlichen Abweichungen in der Abtastung und Signalverarbeitung jedoch nur mittelbar Die entscheidende Gr e f r die Bewertung eines Mess signals ist hier die Messunsicherheit engl measurement uncertainty BRO2 Diese beschreibt 130 KAPITEL 6 WEITERF HRENDE BETRACHTUNG CORED CONTROL letztlich stochastisch den Fehler zwischen dem gemessenen und dem tats chlichen Wert einer Messgr e Vereinfacht ausgedr ckt korreliert das Rauschen eines Sensors mit der Messunsicher heit der resultierenden Messwerte Ein zeitlicher Versatz zwischen dem erwarteten und dem realen Abtastzeitpunkt f hrt entsprechend ebenfalls zu einem Rauschverhalten welches sich in der Unsi cherheit des Messsignals niederschl gt Die Messunsicherheit spielt in der Signalverarbeitung und Filterung eine entscheidende Rolle und wird beispielsweise bei der Sensorfusion f r die Gewich tung der Eingangssignale genutzt Hierdurch kann sich die Messunsicherheit eines konsolidierten Signals im weiteren Verlauf der Signalverarbeitung entsprechend ver ndern Die Verschmelzung zweier unsicherer Werte ergibt einen insgesamt verl sslichere
220. in speed control Digest of Papers The 23th International Symposium on Fault Tolerant Computing FTCS 93 Seiten 624 628 IEEE Computer Society Press Washington DC USA ISSN 0731 3071 doi 10 1109 FTCS 1993 627365 Zitiert auf Seite 39 Hafner T und Gaal W 2013 A Long term Mutually Beneficial Cooperati on ATZextra worldwide 18 9 Seiten 60 62 ISSN 2195 1470 doi 10 1007 s40111 013 0020 4 Zitiert auf den Seiten 109 und 5 Horst R W Harris R L und Jardine R L 1990 Multiple Instruction Issue in the NonStop Cyclone Processor Proceedings of the 17th International Symposium on Computer Architecture ISCA 90 ISCA 90 Seiten 216 226 ACM Press New York NY USA ISBN 0 89791 366 3 doi 10 1145 325164 325147 Zitiert auf Seite 32 HighTec EDV Systeme GmbH 2007 EasyRun TC1796 Handbuch HighTec EDV Systeme GmbH Feldmannstr 98 D 66119 Saarbrticken Zitiert auf den Sei ten 109 und 5 LITERATURVERZEICHNIS 151 HK08 HS80 IEC98 Inf07 ISOlla ISO11b ITY 10 JEDO6 JLT85 KDK 89 KG02 KH04 Harl S und Kotulla S 2008 Realisierung einer prototypischen Steuerungssoft ware fiir einen Quadcopter Studienarbeit Technische Fakultat Friedrich Alexander Universit t Erlangen N rnberg Zitiert auf den Seiten 107 und 3 Hirai K und Satoh Y 1980 Stability of a system with variable time delay IEEE Transactions on Automatic Control 25 3
221. in Distributed Computer Systems Real Time Systems Journal 14 Seiten 219 250 ISSN 0922 6443 doi 10 1023 A 1007964222989 Zitiert auf den Seiten 123 125 126 und 127 Taylor D und Seger C J 1986 Robust Storage Structures for Crash Recovery IEFE Transactions on Computers C 35 4 Seiten 288 295 ISSN 0018 9340 doi 10 1109 TC 1986 1676761 Zitiert auf Seite 33 Thomm I Stilkerich M Kapitza R Lohmann D und Schr der Preikschat W 2011 Automated Application of Fault Tolerance Mechanisms in a Component Based System JTRES 11 Proceedings of the 9th International Workshop on Java Technologies for Real Time and Embedded Systems Seiten 87 95 ACM Press New York NY USA ISBN 978 1 4503 0731 4 doi 10 1145 2043910 2043925 Zitiert auf Seite 141 160 LITERATURVERZEICHNIS UBDO2 UFH 12 UHK 12 UKH 11 VHMO3 VMw06 VN56 VPCO2 WFO7 wilo2 Uns ld A Baschek B und Duschl W J 2002 Der neue Kosmos Einf hrung in die Astronomie und Astrophysik 7 Auflage 577 Seiten Springer Spektrum Heidelberg ISBN 978 3 5404 2177 1 Zitiert auf Seite 4 Ulbrich P Franzmann F Harkort C Hoffmann M Klaus T Rebhan A und Schr der Preikschat W 2012 Taking Control Modular and Adaptive Ro botics Process Control Systems P Payeur und P Ben Tzvi Hg Proceedings of the 10th IEEE International Symposium on Robotic and Sensors Environments ROSE 12
222. ine geeignete Modularisierung der Reglerausg nge in Form einer dedizierten Schicht notwendig 6 3 2 Schichtenmodell der CORED CONTROL Regelungsarchitektur Die f r die Modularisierung vorgeschlagene Architektur ist in Abbildung 6 3 dargestellt Sie ver f gt neben der bekannten Einteilung in Eingabe Verarbeitung und Ausgabe ber zwei weitere Ebenen Diese Fusionsebenen erm glichen erst die Abkopplung der zeitlich relevanten Sensorik beziehungsweise Aktorik von der Ausf hrung der eigentlichen Regelungsanwendung Insgesamt ergeben sich die folgenden f nf Ebenen Sensorik Diese Ebene entspricht der bekannten Eingabe und sammelt die Daten von den individuellen Sensoren ein Die Ausf hrung der eigentlichen Sensortreiber sorgt letztlich f r den Aufbau der Echtzeitdatenbasis und bestimmt damit den zeitlichen Versatz der Eingaben Ad Die entsprechen den Informationen werden an den jeweiligen Sensorwert angef gt und somit der n chsten Ebene zug nglich gemacht Mit der Verf gbarkeit der zeitlichen Informationen ist die Ausrichtung der Abtastperiode an der gr ten Bandbreite der Sensoren nicht mehr angezeigt wodurch letztlich die Verschmelzung der zeitlichen Dom nen vermieden wird Stattdessen k nnen die Sensoren mit der jeweils optimalen Abtastrate betrieben werden ohne die Aussagekraft der Echtzeitdatenbasis zu gef hrden Diese aus Sicht des Systementwurfs vorteilhafte Abtrennung der Sensorik von der weiteren Signalverarbeitung und Sens
223. inkarnationen und ANBD Codes um eine durchgehende Fehlererkennung der softwarebasierten Redundanz zu erreichen Das geeignete Zusammenspiel der Techniken eliminiert die Zuverl ssigkeitsengp sse und berwacht die Mehrheitsentscheider als W chter der Replikation 58 KAPITEL 3 DER KOMBINIERTE REDUNDANZANSATZ CORED Codierter Eingang Stellvertreter Replikation t x 5 3 Ve Ve M E NN Ve Ve z Vg v 3 9 amp Vc 7 Vc y 5 Ve R Ve gt Replikator 2 Replikator 2 Maskierer wi L Ea Ve Ve Zo Ve A z 5 8 vai Q e fie L gt uw Abbildung 3 4 Verschiedene Arten der Eingangsreplikation in CORED Abh ngig von der Art der Quelle stehen unterschiedliche Konzepte f r die Eingangsreplikation zur Verf gung Bereits codierte Eing nge koppeln verschiedene CORED Bl cke und Anwendungen und erlauben so die einfache Erweiterung des Redun danzbereichs Stellvertreter engl proxy bernehmen die Datenakquise bei Eing ngen die nichtdeterministisch oder nicht seiteneffektfrei sind Ziel ist hier die Codierung der Daten zum fr hestm glichen Zeitpunkt Deterministische Quellen erlauben ein mehrfaches Abfragen und damit die Replikation der Information Vor der Weiterverwendung werden die redundanten Daten durch einen Mehrheitsentscheider gepr ft 3 4 Eingang zu Ausgang Fehlererkennung Das Ziel des CORED Ansatzes ist die Bereitstellun
224. inzelnen Strukturfehlern Entsprechend existieren verschiedene redundante Daten und Verwaltungsstrukturen TB82 TS86 BTM95 welche Informationsredundanz gezielt zum Zwecke der Fehlertoleranz einsetzen Diese Ans tze sind inh rent problem und anwen dungsspezifisch und beziehen sich stets auf die zu sch tzende Datenstruktur und den darauf anwendbaren Operationen Sie sind daher im Allgemeinen nicht f r die Absicherung beliebiger Datenstr me und Anwendungen geeignet Ech90 Codierung Grundlegende Funktionsweise Demgegen ber stellt die Codierung engl error coding einen generischen Ansatz und eine allge meine Redundanzstrategie f r die Absicherung von jeglicher Art von Nutzdaten vor transienten Fehlern dar Codierung z hlt zu den g ngigsten und effektivsten Fehlertoleranzverfahren und findet breite Anwendung in der Daten bertragung und speicherung wo die Fehlerraten der Hard ware von jeher hoch sind Ech90 Bekannte Beispiele hierf r sind der Finsatz von ECC Speicher in Servern oder Pr fsummen in Kommunikationsprotokollen Die allgemeine Funktionsweise der Codierung ist in Abbildung 2 5 dargestellt Die Datenw rter engl data words nBit der Nutzdaten werden hierbei durch eine geeignete Codierungsvorschrift engl encoding scheme in Codew rter engl code words berf hrt Im Zuge dieser Transformation werden k zus tzliche Pr fbits engl code bits hinzugef gt wodurch die Menge der m glichen 34 KAPITEL 2 SOFTWAR
225. ion der A Mehrheitsentscheider Eing nge Replikat 2 Maskierer Replikat 3 Replikationsbereich Redundanzbereich Abbildung 2 8 Strukturelle Redundanz in Form einer replizierten dreifach redundanten Ausf hrung TMR Beispiel einer redundanten Ausf hrung mit drei Replikaten Die Eingabe wird zun chst geeignet repliziert und aufgeteilt Nach der Ausf hrung der Replikate werden die Ergebnisse an den Mehrheitsentscheider bergeben Im Falle einer qualifizierenden Mehrheit in diesem Fall 2 von 3 wird diese als Ausgabe weitergegeben Andernfalls signalisiert der Mehrheitsentscheider einen Fehler Der Redundanzbereich ist im Falle der Replikation identisch mit dem Replikationsbereich nach RM00 Korrektureigenschaften entsprechen jedoch denen der normalen Datencodierung Entsprechend lassen sich konzeptbedingt lediglich korrumpierte Daten und damit die Klasse der Operatorfehler behandeln Eine rein softwarebasierte Realisierung erscheint nach Untersuchungen von Schiffel Sch11b zudem ausgeschlossen Daher bleibt letztlich nur die R ckw rtskorrektur und erneute Durchf hrung von fehlgeschlagenen Berechnungen 2 2 3 Strukturelle Redundanz und Replikation Wie bereits skizziert f hrt der koordinierte Einsatz struktureller Redundanz zu Replikation Diese Redundanzstrategie z hlt wie die Codierung zu den weitverbreiteten und g ngigen Fehlertoleranz ma nahmen daher wird Redundanz h ufig mit struktu
226. is zu f nf Bitfehler sicher erkennen Eine Ausnahme bilden in diesem Zusammenhang die Zweierpoten zen A 2 Da es sich hierbei lediglich um eine bitweise Verschiebung des Datenwortes handelt ist eine sichere Fehlererkennung generell nicht gegeben Obwohl die erwartete Zunahme der Er kennungsleistung mit ansteigendem A anhand der Verlagerung der Messpunkte in Abbildung 4 2 grunds tzlich zu erkennen ist variiert die gemessene Minimaldistanz zwischen benachbarten Wer ten teilweise erheblich Die Auswirkungen dieses Verhaltens lassen sich am Beispiel der folgenden drei vergleichsweise gro en Codierungsschl ssel veranschaulichen A 58 368 da 2 Erkennbare Bitfehler 1 58 831 Primzahl 3 2 58659 6 5 Demnach weist der zusammengesetzte Schl ssel 58 659 eine doppelt so gro e Hamming Di stanz als die benachbarte Primzahl 58 831 auf Dieses auf den ersten Blick unverst ndliche Verhal ten begr ndet sich in der nicht systematischen Darstellung der ANBD Codes vgl Kapitel 2 2 2 in welcher die angenommenen n Datenbits und k Pr fbits untrennbar zusammen gespeichert und verarbeitet werden Entsprechend leitet sich der entstehende Abstand nicht notwendigerweise aus den f r die Darstellung von A genutzten k Bits ab sondern vielmehr aus der bin ren Darstellung des Codewortes in Form von Av Das Produkt der beiden Werte entscheidet damit letztlich ber die Robustheit der entstehenden Bitmuster In der Folge ist je gr er desto bess
227. issertation stand die Bereitstellung einer zuverl ssigen und selektiv an wendbaren Fehlertoleranz Die Entwicklung des CORED Ansatzes erstreckt sich jedoch auch auf hieran angrenzende Bereiche wie beispielsweise die Dom ne der Regelungsanwendungen Die folgende Aufstellung fasst die wichtigsten Beitr ge dieser Arbeit zum Stand der Kunst zusammen CORED bietet das R stzeug f r die systematische Beeinflussung der nicht funktionalen Eigen schaft Zuverl ssigkeit auf der Ebene des Betriebssystems Der koordinierte Einsatz der arithmetischen Codierung eliminiert erstmalig alle kritischen Fehlerstellen und Zuverl s sigkeitsengp sse in der softwarebasierten Replikation Der Ansatz erlaubt damit den Aufbau eines geschlossenen Redundanzbereichs welcher sich auch ber die Systemgrenzen hinaus erweitern l sst Durch die Kombination von Codierung und Replikation bietet CORED somit eine ganzheitliche Fehlertoleranz f r eingebettete Softwaresysteme Eine arithmetische Codierung welche ihre volle Leistungsf higkeit in der Praxis aussch pft Hierf r verantwortlich ist zum einen die Beseitigung der Schwachstellen in der technischen Umsetzung der Codierung Zum anderen erm glicht erst der zweistufige Auswahlprozess der Codierungsparameter die Wahl der tats chlich leistungsf higsten und bei einer berbe anspruchung gutm tigen Codierungsschl ssel und Signaturen CORED CONTROL erlaubt die anwendungsgewahre Replikation von Regelungsanwendungen durch
228. ist daher im weiteren Verlauf unbrauchbar Eine Ursache f r diese Fehlersymptomatik kann in der Verf lschung der entsprechenden Maschinenanweisung durch einen Bitfehler liegen Ebenso kann ein transienter Fehler zu einer nderung der Instruktionsreihenfolge und damit impli zit zu einem falschen beziehungsweise unerwarteten Operator f hren zum Beispiel durch eine Verf lschung des Programmz hlers Operandenfehler haben je nach Auspr gung unterschiedliche Auswirkungen Ein offensichtli cher Operandenfehler liegt bei einer Verf lschung des eigentlichen Datums vor zum Beispiel durch einen Bitfehler in dem von a belegten Prozessorregister Dieser Datenfehler engl data error f hrt aufgrund der fehlerhaften Eingaben wiederum zu einem fehlerhaften Ergebnis c der Addition Dieselbe Symptomatik ergibt sich durch einen Austausch des eigentlichen Operanden durch einen Adressfehler engl address error beim Laden des entsprechenden Datums In Programmausschnitt 2 2 wird beispielsweise die Adresse von a korrumpiert mem_x und verweist anschlie end auf x Folglich wird der korrekte Wert von x geladen und entspricht nun vermeintlich a Wiederum entsprechen die Eingaben der Addition nicht den Erwartungen und es kommt zu einem fehlerhaften Ergebnis Schlie lich k nnen Operan denfehler auch zu einem Verlust eines Datums durch einen Aktualisierungsfehler engl lost update f hren falls sich der Adressfehler bei einem schreibenden Zugriff auswirkt Im
229. ist die Ausf hrung bei der asynchronen Replikation nur lose gekop pelt die Replikate werden hier unabh ngig bis zu einem definierten Ausgabepunkt ausgef hrt an welchem die Ergebnisse Signale verglichen werden Entsprechend ist die Implementierung zwar technisch einfacher der Vergleich der Ausgabesignale ist jedoch anwendungsspezifisch und erfordert entsprechend zus tzliches semantisches Wissen Beide Ans tze sind in sicherheitskriti schen Systemen weit verbreitet beispielsweise in Form dreifach redundanter Avionik in modernen Flugzeugen SS98 Ma nahmen auf der Ebene der Hardware haben die Vorteile dass sie aus Sicht der Software keine Leistungseinbu en mit sich bringen und weitgehend transparent sind Dar ber hinaus ist der Redundanzbereich abh ngig von der gew hlten Technik sehr gro Aus Sicht der Systemsoftware bedeutet dies dass die nicht funktionale Eigenschaft Zuverl ssigkeit alleine durch die Hardware vorgegeben ist Die Anforderungen an die Zuverl ssigkeit und das konkrete Schutzbed rfnis h n gen jedoch ma geblich von der Anwendung ab So ist zum Beispiel das prim re Ziel im Falle eines Netzwerkrouters lediglich die Erbringung einer gewissen Dienstg te Demgegen ber erfordert die Airbagsteuerung in einem Fahrzeug eine umfassende Fehlertoleranz Letztlich sind die f r den Anwendungsfall zul ssigen Gesamtfehlerraten ma gebend Hardwarel sungen bringen folglich auch eine ganze Reihe von Nachteilen mit sich Zu diese
230. ist die Replikation von Prozessinkarnationen auf Ebene des Betriebssystems SMR 07 Hiermit lassen sich selektiv einzelne Anwendungsteile absichern Der Redundanzbereich umfasst in diesem Fall die replizierte Ausf hrung der Prozesse Die Vor beziehungsweise Nachteile der softwarebasierten Fehlertoleranz kehren sich im Ver gleich zu den Ma nahmen auf Ebene der Hardware praktisch um Zu den wesentlichen Nachteilen z hlen der typischerweise h here Ressourcenbedarf und der tendenziell kleinere Redundanzbe reich Muk08 Letzteres ergibt sich aus Hardwarefunktion die sich nicht in Software nachbilden beziehungsweise mit Redundanz versehen lassen Der bereits genannte Programmzahler ist ein typisches Beispiel hierf r Demgegen ber haben softwarebasierte Ma nahmen auch zahlreiche Vorteile Hierzu z hlt vor allem dass sie selektiv und entsprechend des Schutzbed rfnisses der Anwendung eingebracht werden k nnen Durch die Unabh ngigkeit von der Hardware ist zudem eine nachtr gliche Absicherung beziehungsweise sp tere Anpassung des Schutzniveaus m glich Dar ber hinaus wird der Entwicklungsprozess durch die Entkopplung von Hardware und Software potenziell vereinfacht SMR 07 Zuverl ssigkeit durch softwarebasierte Redundanz Mittels softwarebasierter Redundanz l sst sich die Zuverl ssigkeit unabh ngig von der Hard ware beeinflussen Ihre Leistungsf higkeit und Parallelit t kann so wahlweise zur Steigerung der Performanz oder zur Verbesse
231. istance dp Ham50 Diese gibt an in wie vielen Bit positionen sich zwei Codew rter unterscheiden Die Hamming Minimaldistanz engl minimum Hamming distance eines Codes entspricht folglich dem kleinsten Abstand aller Codew rter un tereinander Die durch einen Code sicher erkennbare Zahl an Fehlern f entspricht f dp 1 4 2 WAHL DER CODIERUNGSPARAMETER 79 und l sst sich somit direkt aus der Hamming Distanz ableiten Eine ausf hrliche Erl uterung des zugrunde liegenden Konzepts gibt der Exkurs auf Seite 80 Die Bestimmung der Hamming Minimaldistanz erm glicht folglich eine direkte Bewertung der Effektivit t eines Codes beziehungsweise des eingesetzten Codierungsschl ssels A und erscheint daher insbesondere geeignet f r dessen Auswahl Die Berechnung der Hamming Minimaldistanz erfordert nunmehr den systematischen Vergleich aller Codew rter jedes Codes Der Berechnungs aufwand steigt dabei quadratisch mit dem Wertebereich der Eingabedaten an Die in diesem Fall angenommene Gleichverteilung in 16 Bit Werte v und 16 Bit Schl ssel A f hrte somit zu ber 1 4 10 Einzelexperimenten f r die Berechnung aller hierdurch darstellbaren 32 Bit AN Codes Abbildung 4 2 zeigt die Ergebnisse der experimentellen Bestimmung der Hamming Minimaldi stanz f r alle 16 Bit Codierungsschl ssel Die sich ergebenden Werte f r dp reichen in Abh ngigkeit vom gew hlten A von eins bis sechs Entsprechend lassen sich durch die jeweiligen Codes b
232. ite 4 Jensen E D Locke C D und Tokuda H 1985 A Time Driven Scheduling Model for Real Time Operating Systems Proceedings of the 6th Real Time Sys tems Symposium RTSS 85 Seiten 112 122 IEEE Computer Society Press Los Alamitos CA USA ISBN 0 8186 0675 4 Kopetz H Damm A Koza C Mulazzani M Schwabl W Senft C und Zainlinger R 1989 Distributed Fault Tolerant Real Time Systems The Mars Approach IEEE Micro 9 1 Seiten 25 40 ISSN 0272 1732 doi 10 1109 40 16792 Zitiert auf den Seiten 40 und 126 Kuo B C und Golnaraghi F 2002 Automatic Control Systems 8 Auflage 624 Seiten Wiley Blackwell New York NY USA ISBN 978 0 4711 3476 3 Zitiert auf den Seiten 55 125 126 und 130 Karnik T und Hazucha P 2004 Characterization of soft errors caused by single event upsets in CMOS processes IEEE Transactions on Dependable and Secure Computing 1 2 Seiten 128 143 ISSN 1545 5971 doi 10 1109 TDSC 2004 14 Zitiert auf Seite 5 152 LITERATURVERZEICHNIS KIRT99 KKA93 KKA95 Kla12 KLR94 Kop97 KVVt02 LA04 LABK90 Lal00 Law96 LCE89 Kalbarczyk Z Iyer R Ries G Patel J Lee M und Xiao Y 1999 Hier archical simulation approach to accurate fault modeling for system dependability evaluation IEEE Transactions on Software Engineering 25 5 Seiten 619 632 ISSN 0098 5589 doi 10 1109 32 815322 Zitiert auf Seite 99
233. iten Addison Wesley Boston MA USA ISBN 978 0 2018 2054 6 Zitiert auf den Seiten 55 71 125 127 und 129 Franzmann F 2009 Entwurf und Implementierung eines sicheren Kommuni kationsframeworks f r Flugdrohnen Studienarbeit Technische Fakult t Friedrich Alexander Universit t Erlangen N rnberg Zitiert auf den Seiten 107 und 3 Fraden J 2010 Handbook of Modern Sensors Physics Designs and Applicati ons 4 Auflage 489 Seiten Springer New York NY USA ISBN 978 1 4419 6465 6 Zitiert auf den Seiten 59 61 107 und 3 Franzmann F 2011 Quality aware Digital Signal Processing for Real time Sys tems Diplomarbeit Technische Fakult t Friedrich Alexander Universit t Erlangen N rnberg Zitiert auf den Seiten 107 und 3 Frohwerk R A 1977 Signature analysis A new digital field service method Hewlett Packard Journal 28 9 Seiten 2 8 Zitiert auf den Seiten 77 und 84 Fetzer C Schiffel U und S kraut M 2009 AN Encoding Compiler Building Safety Critical Systems with Commodity Hardware B Buth G Rabe und T Seyfar ht Hg Proceedings of the 28th International Conference on Computer Safety Reliability and Security SAFECOMP 09 Seiten 283 296 Springer Verlag Hei delberg Germany ISBN 978 3 642 04467 0 doi 10 1007 978 3 642 04468 7_23 Zitiert auf Seite 38 Gordon M Goldhagen P Rodbell K Zabel T Tang H Clem J und Bailey P 2004 Measurement of the fl
234. iten Ein Beispiel ist die Bestimmung einer Ventilstellung mithilfe eines Stellungsgebers beziehungsweise alternativ eines Durchfluss mengenmessers Die in Kapitel 1 2 genannte H rtung auf Schaltungsebene ist ebenfalls der funktionellen Redundanz zuzurechnen da die zus tzlichen Schaltungselemente der ber wachung der normalen Funktion dienen Strukturelle Redundanz engl structural redundancy beschreibt die Erweiterung des Systems um zus tzliche Komponenten die f r den Normalbetrieb nicht notwendig sind Im Gegensatz zur funktionellen Redundanz sind die Komponenten hierbei gleichartig und erf llen dieselbe Nutzfunktion Strukturelle Redundanz f hrt dementsprechend zu Replikation wobei es sich um einzelne Teile der Hardware beziehungsweise der Software oder das System als Ganzes handeln kann Ein bekanntes Beispiel ist die redundante Auslegung sicherheitskritischer Komponenten in Flugzeugen Yeh96 Diese umfasst blicherweise nicht nur die eigentlichen Rechensysteme sondern vielmehr alle sicherheitsrelevanten Baugruppen von den Sensoren bis hin zu den Aktuatoren an den Steuerfl chen Zeitredundanz engl time redundancy bezieht sich schliesslich auf die Bereitstellung von zu s tzlicher ber den Bedarf des Normalbetriebs hinausgehender Zeit Diese kann f r die Fehlererkennung Fehlerbehebung oder zur Wiederholung von Funktionen eingesetzt wer den Die berdimensionierte Auslegung eines periodischen Echtzeitsystems ist ein g ngige
235. iten 40 43 doi 10 1365 s38314 012 0106 1 Zitiert auf Seite 97 Brilliant S Knight J und Leveson N 1989 The consistent comparison pro blem in N version software IEEE Transactions on Software Engineering 15 11 Seiten 1481 1485 ISSN 0098 5589 doi 10 1109 32 41339 Zitiert auf Seite 60 Blanke M Kinnaert M Lunze J Staroswiecki M und Schr der J 2010 Diagnosis and Fault Tolerant Control 2 Auflage Springer Berlin ISBN 978 3 642 07136 2 Zitiert auf den Seiten 31 und 123 Blank P 2011 Ein Miniaturquadrokopter als Plattform f r mobile adaptive Sen sornetzwerke Bachelorarbeit Technische Fakult t Friedrich Alexander Universit t Erlangen N rnberg Zitiert auf den Seiten 107 und 3 LITERATURVERZEICHNIS 147 Bor05 BPO3 BRO2 Bre98 Bro06 Br 05 BS96 BTM95 CMC 13 CMDD62 CNV96 Borkar S 2005 Designing reliable systems from unreliable components the challenges of transistor variability and degradation IEEE Micro 25 6 Seiten 10 16 ISSN 0272 1732 doi 10 1109 MM 2005 110 Zitiert auf den Seiten 3 und 6 Benso A und Prinetto P Hg 2003 Fault Injection Techniques and Tools for Embedded Systems Reliability Evaluation Frontiers in Electronic Testing 1 Auflage 241 Seiten Springer Boston MA USA ISBN 978 1 4020 7589 6 Zitiert auf Seite 89 Bevington P R und Robinson K D 2002 Data reduction and error analysis fo
236. ithmetischen Codierung im Allgemeinen sowie des CORED Mehrheitsentscheiders im Speziellen ist mit einer ganzen Reihe von Problemen und technischen Herausforderungen verbunden Grunds tzlich k n nen sowohl eine ung nstige Parametrierung der arithmetischen Codierung als auch m gliche Schwachstellen in der technischen Umsetzung die tats chlich erreichbare Effektivit t der Feh lererkennung signifikant schw chen In der Folge k nnen unerkannte Datenfehler trotz einer konzeptionell vollst ndigen Fehlererkennung auftreten Ein erster Schritt zur Vermeidung dieser Probleme ist die geeignete Wahl der Codierungsparame ter In der Literatur finden sich hierzu lediglich wage Empfehlung wie zum Beispiel der Einsatz von gro en Primzahlen Die in diesem Kapitel durchgef hrte experimentelle Evaluation aller durch 16 Bit Schl ssel darstellbaren Codes zeigt jedoch eindrucksvoll dass je gr er desto besser nicht zwangsl ufig gilt CORED nutzt stattdessen einen zweistufigen Prozess welcher die m glichen Codierungsschl ssel zun chst nach ihrer absoluten Erkennungsleistung und der minimalen Ham ming Distanz klassifiziert Darauf aufbauend erlaubt die Fehlersimulation die Bestimmung der Restfehlerwahrscheinlichkeit bei einer berbeanspruchung der Codierung und somit die weitere Optimierung der Parameter Hierdurch lassen sich die Schl ssel zus tzlich in gutm tig und t ckisch einteilen Letztere berschreiten in bestimmten Fehlerszenarien die vorherge
237. iveau verbleiben erforderlichen zeitlichen Figenschaften der Regelungsanwendung lassen sich folglich ebenfalls im Rahmen dieses Prozesses gewinnen und den jeweiligen Anwendungskomponenten zuf hren Dies stellt einen vielversprechenden L sungsweg f r die automatisierte Replikation von Regelungsan wendung dar Vorstellbar ist an dieser Stelle sogar der bidirektionale Informationsfluss in dem der RTSC auch die Ablaufplanung der Replikate gem der Qualit tsanforderungen der Anwendung bernimmt und optimiert 7 4 3 Hydra Hybrid kombinierte Redundanz Architektur Eine der Grundannahmen dieser Arbeit ist die Abwesenheit von Gleichtaktfehlern der ausf h renden Hardwareplattform da ein Ausfall der Hardware keinesfalls durch die softwarebasierte Fehlertoleranz maskiert werden k nnte In Anwendungsf llen in denen diese Annahme nicht getroffen werden kann oder darf bietet sich die erneute Kombination von Redundanztechniken an Die hybride Auslegung von hardwarebasierter und softwarebasierter Replikation Die heraus ragende Eigenschaft von CORED ist die vollst ndige Vermeidung von unerkannten Datenfehlern Somit verh lt sich ein durch CORED gesch tztes System inaktiv im Fehlerfall In anderen Worten vereinfacht CORED das Fehlermodell des Rechensystems durch die Eliminierung transienter Fehler aus der Fehlerhypothese Auch ohne ein entsprechendes Verhalten der Anwendung ist hierdurch eine der Grundvoraus setzungen f r den Aufbau eines Du
238. kritische Systeme daher blicherweise eine strukturell redundante Sensorik Diesem Umstand tr gt die Auslegung der I4Copter Sensorplatine durch die Bereitstellung von insgesamt zw lf Sensorbausteinen Rechnung Die kritische Messung der Drehrate und Beschleunigung ist hierbei dreifach die der H he und magnetischen Flussdichte jeweils zweifach redundant ausge legt In der Summe liefern die Sensoren 35 dedizierte Messwerte f r die berwachung der sechs Freiheitsgrade Um f r das Fallbeispiel eine m glichst breite Spanne an Systemfunktionen und Treibern des Rechensystems abzudecken sind die Sensoren einzeln und in der Regel f r jede physikalische Messgr e ber unterschiedliche Schnittstellen mit diesem verbunden Abh ngig von dem kon kreten Sensorbaustein erfolgt die Darstellung der Messwerte dabei entweder analog digital oder bin rcodiert Insgesamt deckt die Inertial Messeinheit des I4Copters somit ein breites und reali t tsnahes Spektrum an m glichen Eingangsquellen und Schnittstellen ab 108 KAPITEL 5 FALLBEISPIEL 4COPTER 1 2 t InvenSense InvenSense 2x STM Drehrate IDG1215 i IXZ500 2x L3DG20 3 Beschleunigung ADxLads USM030 nun 3 Magnetische 2x STM Flussdichte LSM303D_ T H he Sharp 2x Freescale Maxbotix GP2YOA MP6115A Maxsonar EZO Inertial Messeinheit 6 Freiheitsgrade Sensorplatine ADC H SPI H PWM
239. ktion nachpr fen Unabh ngig von dem eigentlichen Gef hrdungspotential zeigt die Kommunikation der Steue rungsinformationen jedoch eine grunds tzliche Einschr nkung der Datencodierung auf Im Unter schied zu der vergleichsweise einfachen und zustandslosen SPI Kommunikation der vorangegan genen Beispiele ist eine Fehlerdiagnose und damit eine geeignete Behandlung durch das implizite Zusammenfassen mehrerer Teilsysteme im Allgemeinen nicht m glich Zur L sung dieses Problems bleibt letztlich nur die redundante Auslegung respektive die stufenweise Absicherung der entspre chenden Kommunikations beziehungsweise Verarbeitungspfade bis zur eigentlichen Quelle der Eingangsdaten Gegen ber der ungesch tzten Kommunikation verh lt sich die codierte Varian te aus Sicht der Fluglageregelung jedoch zumindest inaktiv im Fehlerfall engl fail silent Dies erlaubt die f r einen Abriss der Kommunikation ohnehin vorgesehene Einnahme eines sicheren Zustands in Form einer kontrollierten Landung des Fahrzeugs 5 4 Zusammenfassung Regelungssysteme stellen die nat rliche Zieldom ne f r CORED dar Zum einen repr sentieren sie rein quantitativ den berwiegenden Teil der sicherheitskritischen Anwendungen mit einem ausgewiesenen Schutzbed rfnis gegen ber transienten Fehlern Zum anderen eignen sich Re gelungssysteme aufgrund ihres geradlinigen Aufbaus aus Einlesen Verarbeiten und Ausgeben besonders f r die Replikation Die Fluglageregelung des unbemann
240. l converter ALU arithmetic logic unit AN Arithmetischer Code ANB mit Signatur ANBD mit Signatur und Zeitstempel AUTOSAR AUTomotive Open System ARchitec ture AVR Atmel AVR XMEGA A4 Mikrocontroller B Statische Signatur bzw beziehungsweise CiAO CiAO Betriebssystem CISC complex instruction set computer CMOS complementary metal oxide semicon ductor CORED Combined Redundancy CORED CONTROL Combined Redundancy for Control Applications Cortex M3 ARM Cortex M3 Mikrocontroller CRC cyclic redundancy check C Programmiersprache D Zeitstempel oder relativer Termin dp Minimale Hamming Distanz da Minimale arithmetische Distanz DMR double modular redundancy dt deutsch DUE detected unrecoverable error e maximale Ausf hrungszeit WCET ECC error correcting code engl englisch eV Elektronenvolt et al et alia EVA Eingabe Verarbeitung Ausgabe FA L FA L Fehlerinjektionswerkzeug FIT failure in time FPGA field programmable gate array Abkurzungsverzeichnis GCC GNU Compiler Collection GPGPU general purpose computation on gra phics processing unit GPR general purpose register I4Copter Unbemanntes Luftfahrzeug IA32 Intel Architecture 32 Bit IMU inertial measurement unit KESO Multi JVM for Deeply Embedded Sys tems MMU memory management unit MPU memory protection unit MU Messunsicherheit NHN Normalh hennull OCDS on chip debug support OS operating system w Antwortzeit p Periode oder W
241. le blicherweise valide Optimierungen des Betriebssystems beziehungsweise des Compilers beim Wechsel des Hardwarekontextes erm glichen eine Verletzung der Isolation im Fehlerfall Der CoRED Mehrheitsentscheider geht von einem sauberen Kontext aus Im Bedarfsfall muss dieser durch eine plattformspezifische Umsetzung oder Anpassung hergestellt werden 4 3 4 Pr fstein Einzelbitfehler F r den entscheidenden Lackmustest und den Nachweis der Effektivit t des CORED Ansatzes wur de sowohl der einfache Mehrheitsentscheider als auch der CORED Mehrheitsentscheider der im Folgenden n her beschriebenen Fehlerinjektion unterzogen Die Experimente umfassten dabei den gesamten Fehlerraum f r Einzelbitfehler Generell ist zu bemerken dass die Anzahl der Expe rimente aufgrund der Gr enunterschiede in Programmcode und Speicher der beiden Varianten voneinander abweichen Die Messergebnisse der Kampagne sind in Tabelle 4 3 dargestellt berblick Auff llig ist zun chst die gro e Zahl verdeckter Fehler welche sich aus der bereits in Kapitel 3 5 angesprochenen inh renten Redundanz eines Mehrheitsentscheiders ergibt Nichtsdestotrotz zeigt sich die Anf lligkeit des einfachen Mehrheitsentscheiders in Bezug auf unerkannte Datenfehler deren Anteil sich im Mittel auf ber 20 Prozent der effektiven Fehler bel uft Demgegen ber weist 94 KAPITEL 4 EFFEKTIVE FEHLERERKENNUNG IMPLEMENTIERUNG UND EVALUATION der CoRED Mehrheitsentscheider keine unerka
242. lementen der Software manifestieren Essentiell bei der Umsetzung entsprechender Ma nahmen wie CORED ist die Betrachtung aller Ebenen vom Entwurf bis zu der plattformspezifischen Befehlssatzebe ne Abschlie end ist der Ausschluss von Gleichtaktfehlern eine augenscheinlich notwendige Bedingung Das bedeutet dass die Hardware keinesfalls gro fl chig oder g nzlich versagt Der gemeinsame Entwurf von Regelungsanwendung und Echtzeitsystem erm glicht erst die anwendungstransparente Umsetzung softwarebasierter Replikationsans tze wie CORED Die Ausf hrungsbedingungen haben einen signifikanten Einfluss auf die Regelg te Durch die anwendungsgewahre Replikation und die geeignete R ckmeldung der zeitlichen Ver nderun gen ist eine nachgelagerte Replikation der Anwendung m glich Die Voraussetzung hierf r ist die analoge Ber cksichtigung der Ausf hrungsumgebung im regelungstechnischen Ent wurf Eine geeignete Schnittstelle kann hierbei den Aufwand auf beiden Seiten reduzieren F r die Entwicklung robuster Software gibt es wenig Unterst tzung durch die g ngigen Tech niken und Werkzeuge der Softwaretechnik da diese ein Auftreten transienter Fehler weder annehmen noch ber cksichtigen Stille Annahmen des Betriebssystems beziehungsweise des Compilers hinsichtlich der Hardwareplattform sind eine weitere subtile Fehlerquelle Die Konventionen der Bin rschnittstelle wie zum Beispiel das Sichern bestimmter Register bei einem Kontextwechsel basiere
243. lichkeit ei nes effektiven Fehlers steigert Unabh ngig davon best tigt sich die Anf lligkeit des einfachen Mehrheitsentscheiders gegen ber unerkannten Datenfehlern Deren Anteil bel uft sich im Mittel auf ber elf Prozent der effektiven Fehler Wie erwartet ist die arithmetische Codierung in der Lage alle verbleibenden Fehler zuverl ssig aufzudecken Entsprechend treten auch auf der TriCore Plattform keine unerkannten Datenfehler innerhalb des CORED Mehrheitsentscheiders auf Die durch die Harvard Architektur des TriCores bedingte Trennung in Adress und Datenregis ter erlaubt dar ber hinaus einen Einblick in den Wirkungsbereich der jeweiligen Schutzma nah men Die hardwarebasierte Fehlererkennung und Isolation deckt konzeptbedingt in erster Linie adressbezogene Fehler in Form von ung ltigen Zugriffen auf Datenfehler werden f r die Spei cherschutzeinheit des TriCore beispielsweise erst erkennbar wenn diese f r Adressberechnungen genutzt werden und damit mittelbar zu Schutzverletzungen f hren Demgegen ber erkennt die arithmetische Codierung eine gro e Zahl an Fehlern in Datenregistern 5 2 REPLIKATION DER FLUGLAGEREGELUNG 117 Zusammenfassend verh lt sich die Umsetzung von CORED auch nach dem Wechsel der Ausf h rungsplattform entwurfsgem Die Ergebnisse der Fehlerinjektion geben damit keine Hinweise auf f r die Robustheit relevanten Unterschiede zwischen den Architekturen Effektive Fehlererkennung Auch auf der Tr
244. lverhalten Sie stellen die schwerwiegendste Folge eines transienten Fehlers dar da das System in Konsequenz unbemerkt fehlerhafte Ergebnisse liefert Folglich haben an dieser Stelle auch alle eventuell vorhandenen Mechanismen zur Fehlerkennung versagt Erschwe rend kommt hinzu dass h ufig keine direkte Korrelation zwischen einem SDC und dem beobachtbaren Fehlverhalten beziehungsweise dem Ausfall des Systems besteht Erkannte nicht behebbare Fehler DUE engl detected unrecoverable errors konnten erfolg reich detektiert werden eine Maskierung des Fehlers war jedoch nicht m glich Typischerwei se werden DUEs als weniger schwerwiegend eingestuft da sie eine gef hrliche Korruption der Ergebnisse vermeiden und unmittelbar zu einem erkennbaren Fehlverhalten f hren Abh ngig davon ob der Fehler auf einer h heren Ebene tolerierbar ist f hrt dies in der Folge zur Einstellung der Funktion engl fail stop oder zu einem Neustart engl recovery und damit einer zeitweisen Nichtverf gbarkeit des Systems Im Falle von Fehlererkennung entsprechen DUEs dem erwarteten Verhalten Dar ber hinaus sind sie jedoch ein Indiz f r fehlende Redundanz bei der Fehlerkorrektur Ein anschauliches Beispiel hierf r sind fehler korrigierende Codes welche blicherweise mehr Bitfehler erkennen als korrigieren k nnen Insbesondere die SDC Fehlerrate ist daher in der Praxis ein wichtiges Ma f r die Zuverl ssigkeit des Systems beziehungsweise die Effektivit t
245. m gen f r Alphateilchen liegt bei circa 100 keV m woraus sich 2 8 10 Elektron Loch Paare m und eine Ladung von 4 5 fC m ergeben Daher reicht f r heute g ngige Werte f r Qeit von unter 1fC bereits eine sehr kleine Teilchenenergie von circa 22 keV aus um ein Fehlverhalten hervorzurufen Vergleiche UBDO2 S 363ff Bau05 und ZP04 b1 eV ist die kinetische Energie eines Elektrons welches eine Beschleunigungsspannung von 1 Volt durchl uft Ein Paar aus einem Elektron sowie einem Defektelektron welches durch Energieabsorption angeregt wurde 1 1 DIE SCHWINDENDE ZUVERL SSIGKEIT DER HARDWARE 5 Neutronenfluss der Sekund rstrahlung Faktor 1 10 100 1000 N AusfalirateFlughdhe tt Boeing E 3 1990er D S z 2 Z 0 I Z x NHN Strukturbrei 600nm 350nm 250nm 180nm 130nm 100nm 7Onm 50nm trukturbreite 4992 1994 1997 1999 2002 2005 2008 2011 Abbildung 1 2 Illustrative Gegen berstellung technologie und umweltbedingter Zunahme transienter Hardwarefehler Die Zahl der transienten Fehler nimmt erfahrungsgem proportional zur Neutronenflussdichte mit der H he zu Entsprechende Schutzma nahmen sind daher zum Beispiel in Flugzeugen g ngige Praxis Die Ausfallrate steigt ferner technologiebedingt durch die Verringerung der Strukturbreiten Sie bewegt sich mittlerweile in Regionen die vergleichbar mit der Ausfallrate von Flugzeugen ist Durch diese Entwickl
246. me trivial Auch die Auswirkungen der ionisierenden Strah lung werden in der Literatur ITY 10 DHWO9 SSK 06 Con03 kontrovers diskutiert da zum Beispiel mit der Verkleinerung der Strukturbreiten nicht nur die kritische Ladung sinkt sondern auch die Fl che der Strukturelemente und damit die Wahrscheinlichkeit eines Treffers abnimmt Zudem unterscheiden sich die Fehlerraten zwischen Speicher und Logikelementen signifikant Hardware Mehr Leistung und Parallelit t weniger Zuverl ssigkeit Insgesamt gehen Hersteller wie Intel Bor05 davon aus dass die Leistungsf higkeit und Parallelit t der Hardware in Zukunft weiter ansteigen und im Gegenzug die Zuverl ssigkeit unabh ngig von den einzelnen Fehlerursachen in Summe abnehmen wird Diese Annahme wird durch aktuelle Feldstudien gest tzt DHW09 So konnten beispielsweise Nightingale et al NDO11 eine mit der Technologiegeneration ansteigende Fehlerrate bei Desktopsyste men nachweisen 1 2 Aufbau zuverlassiger Systeme aus unzuverlassiger Hardware Die Auswirkungen transienter Fehler auf die Software sind blicherweise schwerwiegend da die Ausf hrung diese Art von Fehlfunktion weder erwartet noch berpr ft Die notwendige Fehler erkennung beziehungsweise Fehlertoleranz erfordert Redundanz und impliziert damit das Hinzu f gen von Informationen Ressourcen oder Ausf hrungs Zeit Ein bekanntes Beispiel f r einen fehlertoleranten Systemaufbau ist die von Von Neumann VN56 vorgeschl
247. mer kleinere kinetische Teilchenenergie aus um tats chlich Fehler zu verur sachen vergleiche Exkurs Seite 4 Dar ber hinaus konnten Karnik und Hazucha KH04 eine berproportionale Zunahme der Fehlerrate bei Senkung der Versorgungsspannung nachweisen Die Folgen dieser technologischen Entwicklung sind illustrativ in Abbildung 1 2 rechts dar gestellt Die Reduktion der Strukturbreiten von 600 nm auf 50nm gehen nach Shivakumar et al SKK 02 mit einer gesch tzten Zunahme der Ausfallrate um den Faktor 10 einher Diese Steige rung f hrt dazu dass die Ausfallraten am Boden technologiebedingt inzwischen in die Region von 10 Fehlern je 10 Betriebsstunden vorsto en Zum Vergleich Die von Taber und Normand TN93 gemessene Ausfallrate des Speichersubsystems einer Boeing E 3 im Flug bewegt sich in derselben Gr enordnung Damit ist die Anf lligkeit moderner Hardware gegen ber transienten Fehlern zwischenzeitlich auf einem Niveau angekommen auf dem sie in vielen Anwendungsfeldern nicht mehr vernachl ssigt werden kann Gleichzeitig werden heute immer mehr sicherheitskritische Funktionen in allt glichen Konsumg tern mittels Software realisiert Ein anschauliches Beispiel hierf r ist die zunehmende Zahl an Fahrerassistenzsystemen in modernen Fahrzeugen Unabh n 6 KAPITEL 1 EINLEITUNG UND MOTIVATION gig von diesem Beispiel ist eine genaue Vorhersage der zu erwartenden Fehlerraten weder f r existierende noch f r zuk nftige Syste
248. mgebung ab Fehlerinjektion auf der Befehlssatzebene Analog zu der erweiterten Fehlermodellierung der arithmetischen Distanz steht auch die Eignung der Fehlerinjektion auf der Befehlssatzebene hinsichtlich der Aussagekraft der Ergebnisse in der Diskussion KKA93 KIR 99 MKT 11 CMC 13 Wiederum wird der fehlende Zusammenhang zwischen dem durch den transienten Fehler initial hervorgerufenen Defekt in der Hardware und dem auf der Befehlssatzebene sichtbaren Fehlermuster angemerkt Ein Einzelbitfehler in einer Logikeinheit kann sich beispielsweise zu einem Mehrfachbitfehler in einem Register entwickeln Das dem CORED Ansatz zugrundeliegende Entwurfsprinzip trifft jedoch keine Annahmen zu der eigentlichen Fehlerursache sondern konzentriert sich vielmehr auf die endg ltigen Auswirkungen am Ausgang Die Wahl der Codierungsparameter erfolgt daher mit dem Ziel einer bestm glichen Fehlererkennung selbst bei einer berbeanspruchung der Auslegung Letztlich zeigen die in der erweiterten Fehlerhypothese in Kapitel 4 1 genannten empirischen Studien trotz der komplexen Zusammenh nge einen berwiegenden Anteil an Einzel und Doppelbitfehlern welche im Rahmen der Fehlerinjektion vollst ndig evaluiert werden konnten Eingeschr nkter Parameterraum der Fehlerinjektion Eine vereinfachende Annahme der durchgef hrten Fehlerinjektion ist die Vernachl ssigung des Parameterraumes f r die eigentlichen Werte v da dieser Teil bereits durch die Fehlersimulatio
249. muster eines codierenden Sensors sowie die bertragung codierter Stellwerte an das Aktorsystem zeigen anschaulich die M glichkeiten der Erweiterung des Redundanz bereichs ber Systemgrenzen hinaus Durch codierte Ausg nge wird eine nachgelagerte ber pr fung der Mehrheitsentscheidung erm glicht Umgekehrt eliminieren codierte Eing nge einen Gro teil der durch die Eingangsreplikation hervorgerufenen Komplexit t Kommunikation mit der Basisstation In gleicher Weise lassen sich auch die durch den Piloten vorgegebenen Sollwerte f r die Fluglage mit arithmetischer Codierung versehen Die notwendigen Steuerungsinformationen werden von 5 4 ZUSAMMENFASSUNG 121 der Basisstation mittels WLAN an den I4Copter kommuniziert Die eingehenden Netzwerkpakete durchlaufen dabei die in Abbildung 5 2 Mitte dargestellte Kette aus WLAN Br cke Netzwerk schnittstelle und externem Speicher des TriCores bis sie schlie lich durch den entsprechenden Netzwerktreiber der Anwendung zug nglich gemacht werden Die Fehlererkennung der arithmeti schen Codierung bezieht sich wiederum ausschlie lich auf den Datenfluss und ist in diesem Sinne konzeptionell geeignet die f r die Kommunikation notwendigen Verarbeitungsschritte vollst ndig zu umfassen Dieses Vorgehen besitzt im Gegensatz zu einer anderweitigen Codierung der Nutzda ten den Vorteil der nahtlosen Integration Dar ber hinaus l sst sich bei einem Mehrheitsentscheid am Sender auch dessen korrekte Fun
250. n abgedeckt wird Aufgrund der Einzelfehlerannahme lassen sich Datenfl sse und Kontrollfl sse un abh ngig voneinander betrachten Daher bleibt der sich lediglich auf den Datenfluss auswirkende Wert v im Rahmen der Fehlerinjektion fest und wird entsprechend nicht zu dem entstehenden Fehlerraum hinzugerechnet Insgesamt zeigen die Experimente zur berpr fung der Hamming Minimaldistanz sowie zur Restfehlerwahrscheinlichkeit auf der Befehlssatzebene keine Anhalts punkte f r eine m gliche Abweichung zwischen Fehlersimulation und Fehlerinjektion in dieser Hinsicht Wechsel der Ausf hrungsplattform Die Experimente der Fehlerinjektion erm glichen in ihrer derzeitigen Form keine generelle Va lidierung des CORED Mehrheitsentscheiders Vielmehr handelt es sich hierbei um eine exakte jedoch plattformspezifische Verifikation des entsprechenden Binarprogramms Die in Kapitel 4 3 3 beschriebene Schwachstelle der Isolation ist ein Beispiel f r eine spezifische Eigenschaft der Aus f hrungsumgebung welche nur unter bestimmten Umst nden zutage tritt Ebenso sind weitere stille Annahmen und Spezifika anderer Plattformen nicht auszuschlie en Bei einem Wechsel der Hardware des Betriebssystem oder des Compilers ist eine erneute Evaluation daher unumg ng lich Die entkoppelte Betrachtung der Codierungsparameter reduziert jedoch den allgemeinen Aufwand bereits erheblich Die Experimente zur Bestimmung der Hamming Minimaldistanz so wie der Restfehlerwahrs
251. n ist Insgesamt erscheint die Grundannahme einer kurzen und daher weitgehend zuverl ssigen Funktion von Mehrheitsentscheider und Replikator fraglich Eine weitere Herausforderung f r die Absch tzung der Zuverl ssigkeit ergibt sich aus der Zahl der kritischen Fehlerstellen Ihr Umfang ist bei der hardwarebasierten Replikation durch den Auf bau der Hardware unver nderlich vorgegeben Demgegen ber ergeben sich diese Eigenschaften bei der softwarebasierten Replikation aus der sicherheitskritischen Anwendung selbst Die Zusam mensetzung der kritischen Fehlerstellen ndert sich demnach potenziell mit jeder Anpassung der Anwendung In der Summe wird die Risikoabsch tzung durch die unsichere Fehlerverteilung und die Anwendungsabh ngigkeit in jedem Fall erheblich erschwert Die Eliminierung der kritischen Fehlerstellen wirkt diesem Problem durch eine Verringerung der gesondert zu betrachtenden Stel len entgehen Insgesamt ist ein nach au en hin fehlerfreies Verhalten der Mehrheitsentscheider und Replikatoren im Sinne eines Perfektionskerns erstrebenswert 3 2 Grundannahmen Wie alle technischen Ma nahmen ist auch Fehlertoleranz gewissen Grenzen unterworfen Deren Entwurf erfordert daher in jedem Fall Grundannahmen hinsichtlich der Systemeigenschaften sowie der Art und dem Umfang der zu tolerierenden Fehler Um die geforderten Eigenschaften erf llen zu k nnen muss und kann Fehlertoleranz letztlich von einer bestimmten Anzahl an fehlerfreien Kompo
252. n Messwert CORED CONTROL erweitert entsprechend die Anwendungsschnittstelle um die Messunsicher heit als weiteren Parameter Diese dient hierbei insbesondere zur Verkn pfung der auf die ei gentliche Signalerfassung folgenden Verarbeitungsschritte wie die Sensorfusion oder Beobachter Eine explizite Modellierung und Ber cksichtigung der zeitlichen Eigenschaften ist somit im wei teren Verlauf der Regelung nicht mehr zwingend notwendig wodurch die im Folgenden n her beschriebene Modularisierung der Regelungsanwendung unterst tzt wird Anwendungsgewahre regelungstechnische Schnittstelle Erst die Erweiterung der Schnittstelle ber den reinen Datenaustausch hinaus erm glicht die R ckkopplung der Ausf hrungsbedingungen und damit einen Einfluss auf Modellan nahmen der Regelung Die vorgeschlagene Schnittstelle umfasst hierf r die Totzeit und die Messunsicherheit Letztere ist ein entscheidender Wert zur Beschreibung des Messfehlers und dient zur Verkn pfung der zeitinvarianten Berechnungsschritte der Signalverarbeitung 6 3 Modularisierung und Regelungsarchitektur Von der Systemebene kommend erlaubt die im vorherigen Abschnitt definierte regelungstechni sche Schnittstelle die Verkn pfung der Anwendungselemente in funktionaler und zeitlicher Weise Die Schnittstelle ist dabei zun chst nur ein Schritt hin zu einer R ckkopplung der zeitlichen Ei genschaften der Ausf hrung an die Regelungsanwendung Zus tzlich m ssen die entsprechenden
253. n hat die gew hlte Implementierungsebene Auf der einen Seite steht die Replikation des Gesamtsystems mittels virtueller Maschinen RVM Der umfassende Redundanzbereich sowie die gute Isolati on der Replikate geht hier auf Kosten der Selektivit t Auf der anderen Seite l sst die selektive Replikation auf der Instruktionsebene in hohem Ma e die Fehlerausbreitung zwischen den re plizierten Verarbeitungsstr men zu Ans tze auf dieser Ebene weisen entsprechend signifikante SDC Fehlerraten auf Einen Mittelweg er ffnet die Replikation von Prozessinkarnationen Die Abbildung der Anwendung auf Prozesse des Betriebssystems stellt einen integralen Bestandteil des regul ren Systementwurfs dar Daher ist die Abgrenzung der zu replizierenden Elemente b licherweise relativ einfach Erforderlich sind in diesem Fall hingegen geeignete Ma nahmen zur Sicherstellung des Replikdeterminismus sowie der Zuverl ssigkeit der Mehrheitsentscheider Sed quis custodiet ipsos custodes Wer aber wird die W chter selbst bewachen Juvenal Satire 6 347 f Der Kombinierte Redundanzansatz Combined Redundancy CORED Im vorangegangenen Kapitel wurden die verschiedenen Aspekte der softwarebasierten Fehlerto leranz anschaulich aufgezeigt Arithmetische Codierung nutzt beispielsweise Informationsredun danz fiir die Fehlererkennung Die Forschung in diesem Bereich zeichnet sich vor allem durch die Verbesserung der erzielbaren Fehlererfassung aus War d
254. n jedoch unter anderem mit der Zielsetzung einer rein softwarebasierten und auch nachtr glich anwendbaren Fehlertoleranz durch CORED Ber cksichtigung der zeitlichen Abweichungen Sind die zeitlichen Abweichungen zu gro beispielsweise durch einen entsprechend hohen An teil der Rechenzeit ist eine Ber cksichtigung der zeitlichen Abweichungen unumg nglich Aus Sicht der Regelungstechnik manifestieren sich zeitliche Abweichungen als weitere St rungen SC95 des zu regelnden Prozesses Eine g ngige Vorgehensweise ist daher die Gleichbehandlung zeitlicher wie physikalischer St rungen und ein damit einhergehender angepasster Entwurf der Regelungsanwendung SC95 AW11 Dieser Ansatz l st das Problem entsprechend durch eine Anpassung der zeitlichen Modellannahmen zum Beispiel durch eine explizite Ber cksichtigung der Antwortzeit engl response time bis zur Ausgabe des Stellwerts Im Kontext von Regelungssys temen wird die Zeit zwischen der Ausl sung der Aufgabe und der Bereitstellung des Ergebnisses auch als ausf hrungsbedingte Totzeit engl dead time bezeichnet Ein typisches Beispiel der Modellanpassung ist die Ausgabe der Stellwerte zu einem definierten sp teren Zeitpunkt zum Beispiel zum Ende der Regelperiode Dieses Vorgehen ist in vielen F llen zweckm ig es f hrt jedoch zu gewissen Einbu en bei der erzielbaren Regelg te und ist daher f r dynamische Systeme h ufig keine ad quate Option Im Allgemeinen ist davon auszugehen
255. n stets auf der Annahme eines fehlerfrei arbeitenden Systems und verlieren ihre G ltigkeit im Fehlerfall Insgesamt zeigten sich die Schwachstellen der Umsetzung ausnahmslos in wenig offensichtlichen und seltenen Randf llen Die Entwick lung gegen ber transienter Fehler robuster Software profitiert daher nachhaltig von der Unterst tzung durch entsprechende Fehlersimulations oder Fehlerinjektionswerkzeuge Die Betriebssystemebene ist pr destiniert f r die Umsetzung der softwarebasierten Replikati on Diese erlaubt durch die bereitgestellten Strukturelemente eine einfache Isolation der Replikate Die sich an der Anwendungsstruktur orientierende Granularit t der Prozessin karnationen erscheint zudem u erst zweckm ig hinsichtlich der f r die Fehlerdiagnose ben tigten Bandbreite Einen weiteren wichtigen Aspekt stellen die bereits erw hnten stillen Annahmen dar Diese werden vorrangig durch das Betriebssystem ausgenutzt und k nnen somit direkt an der Quelle angepasst werden 7 4 Ausblick Als Abschluss dieser Arbeit dienen die folgenden aus den Erkenntnissen dieser Dissertation ge wonnenen Ideen und weiterf hrende Forschungsfragen 7 4 1 Absicherung der Ausf hrungsumgebung Bislang zielt CORED alleine auf die Verbesserung der Zuverl ssigkeit von sicherheitskritischen Anwendungen ab Im Bezug auf die Ausf hrungsumgebung setzt CORED hingegen auf eine abso lute Minimierung der Angriffsfl che Grunds tzlich lassen sich jedoch di
256. n z hlen vor allem die hohen Kosten und die fehlende Selektivit t So verdoppelt sich die notwendige Chipfl che zum Beispiel bei dem Einsatz der synchronen Replikation durch den notwendigen zweiten Prozessorkern ohne dass die Leistungsf higkeit des Gesamtsystems dadurch ansteigt Dies gilt im Besonderen f r fehlertoleran te Systeme die dreifach redundant ausgelegt sind Hier k nnen abh ngig von der Anwendung weitere indirekte Kosten in Form von zus tzlichem Bauraum oder Gewicht hinzukommen Dar ber hinaus bestimmt die Anwendung mit den h chsten Anforderungen an die Ausfallrate die Auslegung des Gesamtsystems In der Konsequenz wird auch die Ausf hrung aller anderen Anwen dungen demselben hohen Schutzniveau unterworfen Entsprechend sind anwendungsspezifische ma geschneiderte L sungen in Hardware schwierig umzusetzen Fehlertoleranz in Software Auf der anderen Seite lassen sich geeignete Ma nahmen zur Fehlererkennung und Fehlertoleranz auch auf der Ebene der Software umsetzen Die grundlegenden Konzepte und L sungen gleichen hier den Ans tzen der hardwarebasierten Fehlertoleranz und umfassen Codierung und Replikation von Daten und Kontrollfl ssen Typische Beispiele f r Codierung sind Pr fsummen f r Datenfl sse und signaturbasierte Kon trollfluss berwachung Letztere realisiert die Fehlererkennung ber einen Vergleich von vor ausberechneten und in Abh ngigkeit vom tats chlichen Kontrollfluss errechneten Signaturen GR
257. nalen Eigen schaften der Hardware auf die Anforderungen der Software ab Zu diesen z hlen zum Beispiel die Kosten und Energieeffizienz Rechtzeitigkeit oder Zuverl ssigkeit Diese Dissertation besch ftigt sich im Speziellen mit der nicht funktionalen Eigenschaft Zu verl ssigkeit aus dem Blickwinkel der Systemsoftware und den Herausforderungen die sich aus dem technologiebedingten Schwinden dieser Zuverl ssigkeit auf Ebene der Hardware ergeben Im Fokus stehen dabei sogenannte transiente Hardwarefehler engl soft errors die im Folgen den f r ein besseres Verst ndnis zun chst n her eingef hrt werden Der zweite wichtige Aspekt dieser Arbeit ist die optimale Unterst tzung der Anwendung durch die Bereitstellung geeigneter Strukturelemente und Schnittstellen f r deren Abbildung auf die Systemsoftware Daher richtet 2 KAPITEL 1 EINLEITUNG UND MOTIVATION sich der Blick anschlie end auf die Klasse der sicherheitskritischen Regelungsanwendungen welche repr sentativ f r hohe Anforderungen sowohl an die Zuverl ssigkeit als auch an die Rechtzeitigkeit stehen Dieses Kapitel skizziert die eigentliche Problemstellung und den verfolgten L sungsansatz f r eine gezielte Beeinflussung der Zuverl ssigkeit von sicherheitskritischen Regelungsanwendun gen durch die Systemsoftware Das Kapitel schlie t mit einem berblick ber den weiteren Aufbau dieser Arbeit sowie mit einer Zusammenfassung der zugeh rigen Ver ffentlichungen 1 1 Die sc
258. nd die Anwendung des CORED Ansatzes auf die angestrebte Zieldom ne der Regelungs anwendungen Vor der allgemeinen Betrachtung dieser Thematik in Kapitel 6 veranschaulicht dieses Kapitel die grunds tzliche Umsetzbarkeit der CORED Entwurfsmuster mithilfe eines konkre ten Fallbeispiels Dieses bezieht sich auf die Fluglageregelung des I4Copters UKH 11 UFH 12 einem im Rahmen dieser Arbeit entwickelten beziehungsweise erweiterten unbemannten Luft fahrzeug engl unmanned aerial vehicle UAV Aus Anwendungssicht handelt es sich hierbei um ein Mehrgr ensystem engl multiple Input multiple Output mit einer umfangreichen Sensorik und Aktorik dessen regelungstechnische Behandlung ein anspruchsvolles und realitatsnahes Bei spiel darstellt Dar ber hinaus weist die Regelungsanwendung ein ausgewiesenes Schutzbed rfnis gegentiber transienten Fehlern auf Die Auswirkungen eines Fehlverhaltens sind in jedem Fall schwerwiegend und k nnen bis zum Verlust des Luftfahrzeugs f hren Das Ziel dieses Kapitels ist daher die Anwendung des CORED Ansatzes auf die sicherheitskri tische Fluglageregelung des I4Copters Hierf r f hrt Kapitel 5 1 zun chst in den grundlegenden technischen Aufbau des I4Copters sowie dessen Softwaresystem ein Darauf aufbauend erfolgt in Kapitel 5 2 die Replikation der eigentlichen Regelungsanwendung und eine damit einhergehende erneute experimentelle Verifikation der Effektivit t von CORED durch eine Fehlerinjektionskampa gne auf
259. ndungen und Betriebssystem durchgef hrt werden Allerdings stellen die g ngigen Verfahren eine hybride L sung dar und erfordern weiterhin ein gewisses Ma an Hardwareredundanz Zudem bietet die Replikation auf Systemebene praktisch keinerlei Selektivit t und induziert durch das einheitliche Schutzniveau unn tig hohe Kosten RVMs erweisen sich daher f r die Umsetzung der angestrebten Ziele als wenig geeignet Aufgrund ihres Einsatzgebietes sind RVMs von Ans tzen der byzantinischen Fehlertoleranz engl byzantine fault tolerance zu unterscheiden Eine Abgrenzung zu dieser Klasse von Sys temen liefert die Fehlerhypothese in Kapitel 3 2 1 Replikation auf der Betriebssystemebene Partielle Virtualisierung Eine weit flexiblere Dimensionierung des Redundanzbereichs erlaubt eine auf der partielle Vir tualisierung engl partial virtualisation CMDD62 der Hardware durch das Betriebssystem auf bauende Replikation Die hierdurch erm glichte r umliche wie zeitliche Isolation von Prozessen engl process erlaubt die Kapselung der einzelnen Replikate durch die Bereitstellung von ge trennten Ausf hrungskontexten und Adressr umen Die Abbildung der Anwendung auf entspre chende Prozessinkarnationen stellt einen inh renten Schritt innerhalb des regul ren Systement wurfs dar In der Folge lassen sich die zu replizierenden Teile blicherweise einfach identifizieren SMR 07 Die geeignete und konsistente Replikation der Daten und Signale gewinnt
260. ne n Ebene n 1 Abbildung 2 1 Fehlerausbreitung Vom Bitfehler zum Systemversagen Die Betrachtungsebene bestimmt ob es sich um einen Defekt oder ein Fehlverhalten handelt So stellen Bitkipper ein Fehlver halten der Hardware dar sind jedoch aus Sicht der Software Defekte Die Fehlerkette pflanzt sich dementsprechend ber die Ebenen fort bis es potenziell zu einem beobachtbaren Fehlverhalten des Systems kommt Abbildung in Anlehnung an Muk08 eines internen Fehlers bis an die Au engrenzen der Komponente tritt schlie lich ein von au en beobachtbares Fehlverhalten engl failure auf LABK90 ALRLO4 Diese Zusammenh nge lassen sich anschaulich anhand der Funktion regelschritt in Pro grammausschnitt 2 1 erl utern Die Strukturelemente sind in diesem Beispiel die Daten bezie hungsweise Rechenanweisungen der Funktion In ihnen manifestieren sich transiente Fehler zun chst als Defekt Ein solcher mutiert im ersten Beispiel den Wert der internen Variablen sensorwert kurz bevor diese in Zeile 3 mit einem aktuellen Wert berschrieben wird Entspre chend ist die Fehlerkette an dieser Stelle unterbrochen und es tritt kein erkennbarer Effekt auf Der zweite Defekt ver ndert sensorwert hingegen nach dessen Aktualisierung und wird damit bei der weiteren Verwendung durch die Funktion regler in Zeile 5 aktiviert In der Folge berechnet regler einen inkorrekten Stellwert und es kommt zu einem internen Fehler Die Fehlerkette setzt sich durch di
261. neinander betrachten Durch die deutlich geringe Objektdynamik f r die Flugh he ergibt sich beispielsweise eine deutlich niedriger Ausf hrungsperiode von 25 Millisekunden f r den H henregler Die Periode der Regelung bestimmt indirekt auch die Ausf hrungsperiode der daran angeschlossenen Beobachter und Fusionsfilter auf der vorangegangenen Ebene Aktorfusion Analog zur Sensorfusionsebene abstrahiert die Aktorfusion von der eigentlichen Ansteuerung der Aktoren Diese Signalnachverarbeitung auf dieser Ebene aggregiert auf der einen Seite die Stell werte der nunmehr separierten Regler und verteilt die kumulierten Werte auf der anderen Seite auf die entsprechenden Aktoren Eine wichtige Funktion bernimmt die Aktorfusion hinsichtlich der R ckkopplung der zeitlichen Eigenschaften am Ausgang da diese erst in diesem letzten Ver arbeitungsschritt vor der Ausgabe der Stellwerte feststeht Hinzu kommt die f r die Beobachter 6 4 MODULARISIERUNG DER FLUGLAGEREGELUNG DES I4COPTERS 133 essentielle Zustandsr ckf hrung der Stellwerte zur ck auf die Ebene der Sensorfusion Aus regelungstechnischer Sicht erfordert diese zus tzliche Fusionsebene zum einen die Abtren nung der Aktorfusion von den eigentlichen Reglern Zum anderen ist auf eine statisches Eingabe Ausgabe Verhalten zu achten um unerw nschte Wechselwirkungen mit der Regeldynamik zu vermeiden Da sich die Stellwerte der gemeinsam auf einen Aktor wirkenden Regler blicherweise aufaddi
262. nenten ausgehen Ech90 3 2 1 Fehlerhypothese und Fehlerbereichsannahme Ganz allgemein richtet sich die Anzahl n der f r die Replikation notwendigen Knoten nach der Zahl der zu tolerierenden Fehler f sowie der Art des Fehlverhaltens Kopetz Kop97 teilt diese in die folgenden drei Kategorien ein wobei jeweils die Konsensbildung durch die Replikate selbst mit eingeschlossen ist Inaktiv bei Ausfall engl fail silent Das Replikat liefert korrekte oder keine Ergebnisse Ein Fehl verhalten f hrt entsprechend zur Einstellung der normalen Funktion des Replikats und ist folglich auch als solches erkennbar Anzahl der erforderlichen Replikate n f 1 Widerspruchsfrei bei Ausfall engl fail consistent Das Replikat setzt seine Funktion im Fehler fall unter Umst nden fort und liefert fehlerhafte Ergebnisse Diese treten als unerkannte Datenfehler nach au en in Erscheinung es herrscht jedoch eine konsistente Sicht auf das Fehlverhalten Anzahl der erforderlichen Replikate n 2 f 1 Bosartig engl malicious Im Fehlerfall kann es wiederum zu unerkannten Datenfehlern kom men das Replikat produziert dariiber hinaus jedoch verschiedene Ergebnisse Es herrscht zudem keine konsistente Sicht auf das Fehlverhalten Diese Art des Fehlverhaltens steht hau fig synonym f r die sogenannten byzantinischen Fehler engl byzantine failures LSP82 Anzahl der erforderlichen Replikate n 3 f 1 54 KAPITEL 3 DER KOMBINIERTE REDUNDA
263. nfor mationsredundanz k Bit vergr ert dabei die Menge der m glichen Worte und erm glicht durch den dadurch vergr erten Abstand zwischen g ltigen Codeworten die Fehlererkennung Die inverse Decodierung der Codew rter erm glicht die Entfer nung der Redundanz und die Wiederherstellung der Ursprungsdaten Arithmetische Codierungsverfahren erlauben zus tzlich die Durchf hrung arithmetischer Operationen direkt im Zielraum Zusammenfassend erweisen sich sowohl auf funktioneller als auch auf zeitlicher Redundanz aufbauende Redundanztechniken unabh ngig von ihrer Implementierungsebene als ungeeignet da auf der Ebene der Systemsoftware kein ausreichendes Wissen ber die funktionalen Zusam menh nge und das korrekte Verhalten der Anwendung zur Verf gung steht Ech90 Die weitere Betrachtung st tzt sich daher auf Redundanztechniken die auf struktureller Redundanz bezie hungsweise auf Informationsredundanz basieren 2 2 2 Informationsredundanz Auch Informationsredundanz l sst sich anwendungsspezifisch einsetzen Ein Beispiel hierf r ist die zuvor angef hrte Speicherung von Brutto und Nettowert einer Rechnung vgl Kapitel 2 1 2 Redundante Informationen werden in Anwendungen h ufig zur Optimierung und Leistungssteige rung eingesetzt und erlauben beispielsweise in doppelt verketteten Listen ein effizientes Einf gen und L schen von Elementen Daneben erm glicht ein redundanter R ckw rtszeiger jedoch auch die Erkennung von e
264. ng 4 3 3 Isolation der Verarbeitungsstr me Eine essentielle Forderung der Fehlerhypothese vgl Kapitel 3 2 1 ist die strikte Isolation der ein zelnen CORED Komponenten beziehungsweise Einzelfehlerbereiche untereinander Der Entwurf des CORED Ansatzes geht entsprechend davon aus dass sich transiente Fehler nur innerhalb des eigenen Ausf hrungskontextes ausbreiten k nnen Demgegen ber werden Seiteneffekte durch andere Verarbeitungsstr me nicht betrachtet Die technische Umsetzung dieser Anforderungen erweist sich als teilweise schwierig Eine l ckenhafte Isolation kann in bestimmten Grenzf llen je doch zu einem unerwarteten Versagen der Fehlertoleranz und damit zu unerkannten Datenfehlern f hren Im Zuge der Fehlerinjektion des Programmz hlers vgl Kapitel 4 3 4 konnten insgesamt drei entsprechende Grenzf lle beobachtet werden Fallstrick Stille Annahmen und Optimierungen der Ausf hrungsumgebung Die Ursachen lassen sich auf stille Annahmen der Ausf hrungsumgebung hinsichtlich der Bin r schnittstelle engl application binary interface ABI der zugrunde liegenden Hardwareplattform zur ckf hren Sowohl der eingesetzte Compiler als auch das Betriebssystem k nnen diese Spezi fikation f r valide Optimierungen nutzen zum Beispiel um bei einem Kontextwechsel engl con text switch beziehungsweise Funktionsaufruf lediglich die Menge der nicht fl chtigen Register engl non volatile registers des Hardwarekontextes zu sichern
265. ng Schemes for Arithmetic and Logic Operations How Robust Are They H Youm und M Yung Hg Information Secu rity Applications Band 5932 von Lecture Notes in Computer Science Seiten 51 65 Springer Heidelberg ISBN 978 3 642 10837 2 doi 10 1007 978 3 642 10838 9_ 5 Zitiert auf Seite 97 Mukherjee S 2008 Architecture Design for Soft Errors Morgan Kaufmann Publishers Inc San Francisco CA USA ISBN 978 0 12 369529 1 Zitiert auf den Seiten 8 10 21 22 26 32 41 43 52 und 80 May T und Woods M 1979 Alpha particle induced soft errors in dynamic memories IEEE Transactions on Electron Devices 26 1 Seiten 2 9 ISSN 0018 9383 doi 10 1109 T ED 1979 19370 Zitiert auf den Seiten 3 und 76 Mukherjee S S Weaver C Emer J Reinhardt S K und Austin T 2003 A Systematic Methodology to Compute the Architectural Vulnerability Factors for a High Performance Microprocessor MICRO 36 Proceedings of the 36th annual IE EE ACM International Symposium on Microarchitecture Seite 29 IEEE Computer Society Press Washington DC USA ISBN 0 7695 2043 X Zitiert auf Seite 53 Nightingale E B Douceur J R und Orgovan V 2011 Cycles Cells and Plat ters An Empirical Analysis of Hardware Failures on a Million Consumer PCs C M Kirsch und G Heiser Hg Proceedings of the ACM SIGOPS EuroSys European Conference on Computer Systems 2011 EuroSys 711 Seiten 343 356 ACM Press New York NY USA ISBN 978
266. ng der zeitlichen Abweichungen Eine weitere Grundvoraussetzung ist die prinzipielle Replizierbarkeit der Regelungsanwendung auf einem gegebenen Rechensystem Die redundante Ausf hrung soll entsprechend lediglich zu einer handhabbaren Herabsetzung der Regelg te f hren und sich insbesondere innerhalb der ge gebenen Regelungsperiode ausf hren lassen Die Ber cksichtigung der zeitlichen Abweichungen im Zuge des Anwendungsentwurfs ist zudem zielf hrend und erlaubt eine ausreichende Kompen sierung der negativen Effekte der Replikation Hierf r g ngige regelungstechnische Entwurfsmethoden umfassen beispielsweise die Einbrin gung sogenannter Totzeitglieder engl lagging element oder auch die allgemeine Steigerung der Robustheit gegen ber St rungen der Regelung FPW97 w11 6 2 CORED CONTROL Anwendungsschnittstelle Die vorangegangene erweiterte Problemanalyse zeigt die Wechselwirkungen zwischen den beiden nicht funktionalen Eigenschaften Zuverldssigkeit und Rechtzeitigkeit auf Auf der einen Seite ist CORED in der Lage die Zuverl ssigkeit hinsichtlich der Auswirkungen transienter Fehler deutlich zu verbessern Andererseits kann die damit verbundene Vervielfachung der Ausf hrungszeit einen negativen Einfluss auf die Qualit t der Regelung haben Die Ursache hierf r liegt in der Abh ngig keit der Regelungsanwendung von der Zeit beziehungsweise der Abweichung zwischen den rege lungstechnischen Annahmen und der tats chlichen Ausf hrungsbe
267. ng und Versuchsaufbau 4 3 3 Isolation der Verarbeitungsstr me 2 2 2 22m nennen 4 3 4 Pr fstein Einzelbitfehler 2 2 0 0000 4 4 3 5 Erweiterte Betrachtung von Mehrfachbitfehlen 4 4 Diskussion der Ergebnisse 22 2 Coon nen 4 4 1 Alternative Auswahlkriterien Arithmetische Distanz 4 4 2 Aussagekraft und bertragbarkeit der Fehlerinjektion 4 4 3 Arithmetische Codierung ganzer Anwendungen 4 5 Zusammenfassung 22 2 C mon II Anwendungsebene Replikation von Regelungsanwendungen 5 Fallbeispiel 14Copter 5 1 Das I4Copter Luftfahrzeug onua 5 1 1 Hardwaretechnischer Aufbau 02005 5 1 2 Softwaresystem 22 22 ee es 5 2 Replikation der Fluglageregelung 2 2 Cm nennen 5 2 1 Umsetzung der CORED Dienstschicht 5 2 2 CoRep gesicherte Fluglageregelung 2 2 4 5 2 3 Evaluation der CORED Implementierung 5 2 4 Kostenbetrachtung ssaa a 5 3 Erweiterung des Redundanzbereichs ber Systemgrenzen 5 3 1 Codierte Ausgabe der Stellwerte 2 2 2 2 Coon 5 3 2 Codierte Eingabe von Messwerten und Steuernachrichten 5 4 Zusammenfassung ssaa 6 Weiterf hrende Betrachtung CORED CONTROL 6 1 Erweiterte Problemanalyse 2 2 2 Co onen 6 1 1 Diskrepanz zwischen Modellannahmen und Ausf hrung 6 1 2 Auswirkungen der Replikation 2 2 2
268. ngsvergleich und Konsolidierung Vor der Ausgabe eines Ergebnisses an die Au enwelt erfolgt in jedem Fall die Konsolidierung der replizierten Ausf hrung durch den Mehrheitsentscheider Dieser tritt abh ngig davon ob es sich um ein Zwischen oder Endergebnis handelt als Synchronisationspunkt und Koppler zwischen Replikationsdom nen oder als Endpunkt auf vgl Maskierer A und B in Abbildung 3 3 62 KAPITEL 3 DER KOMBINIERTE REDUNDANZANSATZ CORED Erweiterte Grenzen der Replikation Bereits der Einsatz von codierten Datenfl ssen schlie t die L cken in der Fehlererfassung in nerhalb der Replikation eine Mutation von Zwischen Ergebnissen ist nicht mehr m glich Die verschiedenen Arten der Eingangsreplikation erlauben zudem die Ausweitung des Redun danzbereiches bis an die in Software realisierbaren Grenzen Der Einsatz codierter Eing nge und Ausg nge erm glicht letztlich die berwindung der lokalen Grenzen der Replikation und die Ausweitung des Redundanzbereiches sogar ber Systemgrenzen hinweg Stellvertreter Wie bereits erw hnt repr sentiert die Decodierung den finalen Endpunkt einer durch CoRED ge sch tzten Ausf hrungskette Entsprechend folgt auf den Mehrheitsentscheider ein letztes decode bevor das Ergebnis den Redundanzbereich der arithmetischen Codierung verl sst Wie schon bei der Eingangsreplikation bernimmt der Ausgabeblock wiederum die Funktion eines Stellvertre ters Dieser f hrt letztlich den f r
269. nnten Datenfehler mehr auf Diese werden statt dessen zuverl ssig durch die arithmetische Codierung aufgedeckt wobei sich der mittlere Anteil aufgrund der unterschiedlichen Implementierungen auf nunmehr 19 Prozent der effektiven Fehler summiert F r eine differenzierte Betrachtung gliedert sich die Fehlerinjektion in die folgenden drei Kategorien Register und Merker engl registers and flags Instruktionen engl instructions und Programmz hler engl program counter Register und Merker Die Fehlerinjektionsexperimente f r die allgemeinen Register engl general purpose register sowie die Merker engl flags des Statusregisters stellen den zahlenm ig gr ten Block der Einzelfeh lerkampagne dar Die berwiegende Zahl der effektiven Fehler m ndet hierbei in eine Verletzung der r umlichen Isolation durch die auftretenden Verf lschungen der in den Registern abgelegten Adressen Daneben kommt es lediglich vereinzelt zu Hardwareausnahmen durch Rechenfehler oder ung ltige Werte des Statusregisters Letztere weisen durch den in den bedingten Verzweigun gen h ufig genutzten Nullmerker engl zero flag eine schwerwiegende Fehlerquelle auf da dieser die Sprungentscheidung direkt beeinflusst Der einfache Mehrheitsentscheider weist im Falle der Register und Merker ber 30 Prozent unerkannte Datenfehler auf Instruktionen Die Verf lschung von Instruktionen f hrt zu einem deutlich differenzierteren Fehlerbild Die zu erwartenden Ausn
270. none 6 1 3 Verschmelzung zeitlicher Domanen 6 1 4 Grundannahmen x 04 20 82 award 6 2 CORED CONTROL Anwendungsschnittstelle 2 222200000 6 3 Modularisierung und Regelungsarchitektur 6 3 1 Entwurfskonzept 22 Como INHALTSVERZEICHNIS iii 6 3 2 Schichtenmodell der CORED CONTROL Regelungsarchitektur 6 4 Modularisierung der Fluglageregelung des I4Copters 6 5 Zusammenfassung sasaaa a 7 Zusammenfassung und Ausblick 7 1 Zusammenfassung 43 wu aa Dean u 7 2 Beitr ge dieser Arbeit 222 o moon 7 3 Schlussfolgerungen 2 2 aaa 72 Ausblick 5 5 40 BS Se mega 74 1 Absicherung der Ausf hrungsumgebung 7 4 2 Werkzeugunterst tzung und Automatisierung 7 4 3 Hydra Hybrid kombinierte Redundanz Architektur 7 4 4 Ausnutzung der inh renten Fehlertoleranz von Regelungssystemen Literaturverzeichnis Abstract 131 133 135 137 137 139 140 140 140 141 142 143 145 163 iv INHALTSVERZEICHNIS 1 1 1 2 1 3 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 3 1 3 2 3 3 3 4 3 5 3 6 3 7 3 8 4 1 4 2 4 3 4 4 4 5 4 6 4 7 5 1 5 2 5 3 5 4 6 1 6 2 6 3 6 4 Abbildungsverzeichnis Direkte und indirekte Ionisation in einem CMOS Transistor 4 Technologiebedingte Zunahme transienter Hardwarefehler 5 Schematische Einordnung des vorgeschlagenen L
271. nstruktionen Programmz hler Einfach CoRED Einfach CoRED Einfach CoRED Ohne Auswirkung verdeckter Defekt 1040 3204 784 2772 127 267 5 CORED arithmetische Codierung 1435 995 420 Hardwareausnahme 8 41 93 246 21 241 g Schutzverletzung Programmcode 173 559 149 208 2614 5614 5 Schutzverletzung Speicher 1652 3177 676 1626 190 626 Termin berschreitung 0 0 0 1 0 0 Unerkannter Datenfehler 807 7 0 450 7 0 152 3 0 DD 3680 8416 2152 5848 3104 7168 Tabelle 4 3 Fehlerinjektion von Einzelbitfehlern Evaluation des CORED Mehrheitsentscheiders auf Befehlssatzebene Injektion von Fehlern in den Hardwarekontext des CORED Mehrheitsentscheiders A 58659 untergliedert in die drei Berei che Register und Merker Instruktionen und Programmz hler Die hier durchgef hrte Kampagne deckt dabei den gesamten Fehlerraum f r Einzelbitfehler ab Die Ergebnisse zeigen dabei sowohl die Anf lligkeit des einfachen Mehrheitsentscheiders als auch die Robustheit des CORED Mehrheitsentscheiders gegen ber unerkannten Datenfehlern beeinflussen In diesen F llen ist eine plattformspezifische Erweiterung des CORED Mehrheitsent scheiders zweckm ig um einen Bruch der Isolation im Fehlerfall zu vermeiden Im konkreten Beispiel erweitert CORED den Mehrheitsentscheider um eine eigenst ndige Bereinigung des Hard warekontextes durch die Funktion zero_local_storage in Zeile 2 von Programmausschnitt 4 2 Stille Annahmen der Ausf hrungsumgebung als Schwachstel
272. nterscheidet man permanente intermittierende und transiente Hardwarefehler gem der Art ihres Auftretens Beispiele f r permanente Fehler in der heute vorherrschenden complementary metal oxide semiconductor CMOS Technologie sind unter anderem Verunreini gungen des Leitermaterials und daraus resultierende Elektromigration oder Leckstr me durch fehlerhafte Oxidschichten der Transistoren Sta02 Intermittierende Hardwarefehler treten ab h ngig von u eren Einfl ssen wie zum Beispiel der Temperatur auf und sind h ufig Vorboten eines permanenten Hardwarefehlers Die Hersteller begegnen diesen systematischen Fehlern bei spielsweise durch Testen Optimierung des Entwurfs und der Produktion sowie dem Einbrennen der Schaltungen vor der Auslieferung Br 05 SH04 Transiente Hardwarefehler soft errors Im Fokus dieser Arbeit stehen die transienten Hardwarefehler engl soft errors Sie treten zuf llig auf und ziehen keine irreversiblen Defekte nach sich sondern bewirken vielmehr eine kurzzeitige Fehlfunktion Unabh ngig von der konkreten Ursache manifestieren sich transiente Fehler aus Sicht der Software blicherweise in Form von Einfach oder Mehrfach Bitfehlern engl single event upset und multi cell upset Transiente Hardwarefehler unterscheiden sich von den zuvor genann ten systematischen Fehlerursachen in zwei wesentlichen Punkten Zum einen treten sie im Feld 1Die Ausfallrate X gibt die Anzahl der Fehler in 10 Stunden an
273. nwendungsschnittstelle zwischen der Regelungsanwendung und der Ausf hrungsumgebung Darauf aufbauend entwickelt Kapitel 6 3 eine auf die Anforderungen der Replikation angepasste Anwendungsarchitektur Das Ziel hierbei ist eine geeignete Aufteilung und Abbildung der Rege lungsanwendung auf replizierbare Prozessinkarnationen zu unterst tzen und dar ber hinaus die zeitlichen Abweichungen an geeigneter Stelle zur ckzuf hren Die feingranulare Modularisierung der Regelungsanwendung dient in diesem Zusammenhang auch der Senkung der Fehlererken nungslatenzen 6 1 ERWEITERTE PROBLEMANALYSE 125 de da 0 EVIA E VIA Modellannahme gt n n 1 d gt de ds Einfache Ausf hrung E V A E V PA gt Ad n 1 Ara Ada gt gt Ya m gt gt E3 A Normal gt OA Fehlerfall Replizierte Ausf hrung E E2 E3 Vi v Ka v WIA E E Es Vi gt n r 2 n 1 Zeit Regelperiode Abbildung 6 2 Diskrepanz zwischen regelungstechnischen Modellannahmen und tats chlicher Ausf hrung Das Lesen der Sensoren Eingabe E die Berechnung des Stellwerts Verarbeitung V und das Stellen des Aktors Ausgabe A erfolgen bei g ngigen regelungstechnischen Entwurfsverfahren periodisch und werden als gleichzeitig und verz gerungsfrei angenommen oben Diese vereinfachenden Modellannahmen lassen sich in einem Einfachsystem n herungsweise dur
274. nzstrategie grunds tzlich die effektive Fehlererkennung bezogen auf das Fehlermo dell aus Berechnungs Operator und Operandenfehlern Nach welchem Verfahren erfolgt die Fehlerdiagnose Wie lassen sich gegebenenfalls die hierf r notwendigen Konsistenzbe dingungen ableiten Ist die Fehlererfassung vollst ndig beziehungsweise welche Fehlerrate ergibt sich f r die Klasse der unerkannten Datenfehler Nach welchem Verfahren erfolgt gegebenenfalls die Fehlerbehandlung Ist diese vollst ndig beziehungsweise wie hoch ist die Rate der erkannten nicht behebbaren Fehler Redundanzbereich Welche Strukturelemente werden durch die Redundanz abgedeckt und wel cher Wirkungsbereich ergibt sich daraus hinsichtlich der zu sch tzenden Regelungsanwen dung Besonderes Augenmerk liegt hierbei auf den r umlichen und zeitlichen Grenzen des Redundanzbereichs Im Falle von L cken ist zu kl ren inwieweit aus der Partitionierung des Redundanzbereichs kritische Fehlerstellen entstehen Implementierung Ein zentraler Aspekt ist die Umsetzbarkeit auf Ebene der Systemsoftware Daraus ergeben sich die folgenden Fragen L sst sich die zugrunde liegende Redundanzstra tegie ohne tiefgreifende Kenntnis der Anwendung beziehungsweise ohne deren Anpassung umsetzen Ist dar ber hinaus Anwendungswissen f r die Fehlerdiagnose oder Fehlerbehand lung notwendig Ist eine Implementierung der konkreten Redundanztechnik auf g ngiger Hardware und ohne Ausnutzung spezifischer Hardware
275. o dierten Variante ann hernd dreifache Gr e auf Hinzu kommen die Kosten f r die Codierung und Decodierung der Daten in den Replikaten Im Allgemeinen zeigen die auf der vollst ndigen ANBD Codierung der Anwendung bauenden Ans tze wie zum Beispiel Software Encoded Processing SEP WF07 oder Compiler Encoded Processing CEP SSSF10 Sch11b eine anwendungsab h ngige Steigerung der Laufzeitkosten in der Gr enordnung von 10 bis 10 CORED erkauft sich die Absicherung der Anwendungskomponenten zwar durch deren repli zierte Ausf hrung die hiermit verbundenen Kosten liegen mit n herungsweise dem Faktor drei jedoch deutlich unterhalb der vollst ndigen Codierung der Anwendung mittels der eben genann ten Ans tze Fehlererkennung und Fehlerdiagnose Einen weiteren wesentlichen Aspekt stellt die Fehlererkennung und Fehlerdiagnose dar Im Zuge der arithmetischen Codierung lassen sich Fehler lediglich im Rahmen der Decodierung beziehungs weise expliziten berpr fung der Codew rter aufdecken Bei einer vollst ndigen Codierung der Anwendung ist die Fehlererkennung innerhalb der Ausf hrung auf dedizierte berpr fungspunkte angewiesen Ohne eine entsprechend feingranulare Pr fung ist zudem die Fehlerdiagnose und Einschr nkung des Fehlerbereichs nicht m glich Die eben erw hnten Ans tze nutzen hierf r eine externe Pr finstanz der Ausf hrungsumgebung Diese induziert zum einen weitere Kosten und stellt dar ber hinaus eine kritisc
276. oder ganze virtuelle Ma schinen replizieren Die Implementierungsebene hat zwar keinen Einfluss auf die grundlegenden Fehlertoleranzeigenschaften bestimmt jedoch ma geblich den Umfang und die Granularit t der Komponenten in denen Fehlertoleranz m glich ist Die Klassifizierung in Redundanztechnik Red undanzstrategie und Redundanzart erleichtert somit die Bewertung der verschiedenen Techniken und Ans tze zur Behandlung von transienten Fehlern Der Redundanzbereich Unerkannte Datenfehler haben ihren Ursprung in den bereits erw hnten L cken g ngiger Fehler toleranzma nahmen F r ein besseres Verst ndnis ihrer Funktionsweise ist nicht nur relevant wie und womit Fehlertoleranz erreicht wird Vielmehr ist auch entscheidend wann und wo Redundanz zur Verf gung steht Ein anschauliches Beispiel f r diese Problematik ist die in Abbildung 2 3 dargestellte dreifache Redundanz Die redundante Ausf hrung erlaubt die uneingeschr nkte Feh lererkennung innerhalb der replizierten Komponenten Hierf r m ssen allerdings die notwendigen Eingaben vervielf ltigt und auf die Replikate verteilt werden Ebenso ist ein Vergleich der Aus gaben am Ende der Ausf hrung unerl sslich In diesen Teilen ist jedoch keine Fehlererkennung 2 1 TERMINOLOGIE UND GRUNDLAGEN 27 Redundanzbereich Replikation Prozessor Replikation der Eingaben Steuerung Vergleich der Ausgaben Replikat 3
277. on sumierbare Betriebsmittel darstellen Unabh ngig von der konkreten Realisierung kann der Daten fluss zwischen den einzelnen Teilkomponenten entsprechend als Nachrichtenaustausch aufgefasst werden Koordinierung Die einzelnen Arbeitsauftr ge bilden entsprechend einen gerichteten Abh ngigkeitsgraphen wel cher deren Beziehungen untereinander abbildet Liu00 Ein Mehrheitsentscheid kann beispiels weise erst nach der Berechnung der zugeordneten Replikate und der Bereitstellung der Ergebnisse durchgef hrt werden Durch die identischen Aktivierungsperioden und das damit verbundene hohe Ma an sequentieller Kopplung ist eine statische Serialisierung der Arbeitsauftr ge jedoch problemlos m glich Zusammen mit dem umfassenden a priori Wissen ber die periodischen Aufgaben und der konzeptbedingten Abwesenheit von komplexen Arbeitsauftr gen ist somit eine konstruktive Ko ordinierung durch eine statische Einplanung und einen geeigneten Phasenversatz m glich und erstrebenswert Eine aufwendige Synchronisierung der Arbeitsauftr ge zum Beispiel durch einen Signalaustausch zwischen den Replikaten und den Mehrheitsentscheidern kann daher entfallen Das resultierende Aufgabensystem ist entsprechend strikt periodisch und kann beispielsweise durch eine Ablauftabelle und eine getaktete Ausf hrung realisiert werden 3 8 Zusammenfassung Die erweiterte Problemanalyse dieses Kapitels zeigt anschaulich wie die praktische Umsetzbarkeit der softwareba
278. on Fehlertoleranz und Regelungsan wendung Deren naive Replikation erweist sich als beraus problematisch da die Verbesserung der Zuverl ssigkeit durch den vergr erten Laufzeitbedarf der redundanten Ausf hrung in direk ter Wechselwirkung mit der nicht funktionalen Eigenschaft Rechtzeitigkeit steht Abbildung 6 1 veranschaulicht den resultierenden negativen Effekt auf die Regelungsanwendung am Beispiel der Fluglageregelung des I4Copters in Kapitel 5 Die G te der Regelung nimmt im replizierten Fall signifikant ab und es kommt zu einem unerw nschten Regelverhalten in Form von Schwin gungen um den Sollwert Hervorgerufen wird diese Abweichung durch den im Vergleich zu der einfachen Ausf hrung deutlich gr eren zeitlichen Abstand zwischen der Parametererfassung und der Stellwertausgabe SC95 G ngige Entwurfsverfahren stimmen die Regelungsanwendung auf ein bestimmtes zeitliches Verhalten ab T r98 AW11 Ihre Vervielfachung f hrt daher zu einer Verletzung der zeitlichen Annahmen und damit potenziell zu der in Abbildung 6 1 exemplarisch dargestellten Herabsetzung der Leistungsf higkeit der Regelungsanwendung Die redundante Auslegung der Regelung stellt dabei kein grunds tzliches Entwurfsproblem dar und ist eine g ngige Ma nahme in sicherheitskritischen Systemen Yeh96 Die Redundanz wird hier blicherweise direkt auf der Anwendungsebene ABK 93 BG97 BKL 10 eingef gt wodurch diese einen integralen Bestandteil des Reglerentwurfs dars
279. on dort ber WLAN an den I4Copter bertragen Nach dem Nachrichtenempfang werden die entpackten Sollwerte der Fluglageregelung zur Ver f gung gestellt In umgekehrter Richtung sendet CopterControl Telemetriedaten zur ck an die Basisstation Die Kommunikation erfolgt bidirektional alle 21 Millisekunden wobei sich die Basisstation grunds tzlich dem Takt des Flugger ts anpassen kann Diese Periodendauer ergibt sich zum einen als Harmonische aus der Periode der Fluglageregelung zum anderen liegt die Zeitspanne zwischen den Steuersignalen damit ausreichend unter der Wahrnehmungsschwelle des Piloten Systemkomposition und Konfiguration Die Anwendungskomponenten des Softwaresystems liegen ohne Ausnahme als C Klassen vor Ihre Aufrufschnittstelle folgt dabei dem bekannten Muster aus Setzen der Eingaben set Durchf hren eines Berechnungsschritts step und dem Abfragen der Ausgaben get F r Projekt Webseite www qgroundcontrol org Abruf 25 04 2014 112 KAPITEL 5 FALLBEISPIEL I4COPTER die Abbildung der Anwendungsobjekte auf Prozessinkarnationen des Betriebssystems kommt eine generische H llenklasse engl wrapper zum Einsatz Diese hierf r genutzten C Templates sorgen zum einen f r die statische Konfiguration und Instantiierung der Anwendungsklassen im Zuge des bersetzungsvorgangs und zum anderen f r eine saubere Kapselung des entstehenden Kontextes beziehungsweise dessen Zuordnung zu dedizierten Schutzdom nen Hi
280. ordert die Verwaltung der Sequenzen sowie deren Abgleich mit der tats chlichen Ausf hrungsreihenfolge eine vertrauensw rdige Pr finstanz F r deren Umsetzung sieht CEP spezifische Hardwareerweiterungen wie beispielsweise einen field programmable gate array FPGA vor Zusammenfassend erweist sich die Codierung der f r den Mehrheitsentscheider wichtigen Ver gleichsoperatoren und bedingten Verzweigungen als nicht trivial Zum einen muss der Vergleich auf bereinstimmung im Allgemeinen auf insgesamt drei codierte Operationen abgebildet werden Die hierf r zur Verf gung stehenden Ans tze lassen sich entweder aufgrund der f r die implizi te Kontrollflusscodierung fehlenden Berechnungsschritte nicht direkt anwenden oder ben tigen durch die abgetrennte Kontrollfluss berwachung eine als fehlerfrei angenommene Pr finstanz Die in Kapitel 2 2 2 untersuchten Techniken der ANBD Codierung weisen dar ber hinaus eine verbleibende Restfehlerrate f r unerkannte Datenfehler auf 3 5 2 Der CORED Mehrheitsentscheider F r die spezifische Aufgabe der Mehrheitsbestimmung erscheinen die zuvor beschriebenen g n gigen Vorgehensweisen daher insgesamt als ungeeignet Der Entwurf des CORED Mehrheitsent scheiders erfolgt stattdessen unter Ausnutzung von dessen spezifischen Eigenschaften sowie der Tatsache dass jede Entscheidung eineindeutig einem bestimmten Kontrollfluss zugeordnet werden kann Weder die Herbeif hrung einer festen Zielsignatur noch die Absp
281. orfusion erfordert jedoch zus tzliche Ma nahmen im regelungstech nischen Entwurf Die Sensortreiber m ssen f r die Einhaltung des Abtasttheorems um geeignete 132 KAPITEL 6 WEITERF HRENDE BETRACHTUNG CORED CONTROL Filter f r die Ratenangleichung engl rate conversion filter erweitert und auf die Periode der jeweils nachfolgenden Regelungsbl cke eingestellt werden An dieser Stelle f gt sich die Mess unsicherheit als Schnittstellenparameter ein da sich diese in Abh ngigkeit von dem Grad der Ratendifferenz und der damit verbundenen berabtastung die Messunsicherheit ver ndert Grunds tzlich ist die Ratenanpassung nicht unkritisch da die enthaltene Messwerthistorie potenziell zu unerw nschten Wechselwirkungen mit der Regelung f hren kann UFH 12 Ein problematisches Verhalten ergibt sich jedoch nur bei einem inhomogenen Fehlerverhalten des eingesetzten Filters Dieses stellt somit kein grunds tzliches Entwurfsproblem dar und kann durch eine geeignete Wahl des Filtertyps g nzlich vermieden werden zum Beispiel durch den Einsatz von Luenberger Beobachtern Lue64 Sensorfusion Die Sensorfusion aggregiert und verarbeitet die von der Sensorebene kommenden Messwerte und stellt die konsolidierten physikalischen Messgr en der Regelung zur Verf gung Die Ebene nimmt somit die Anwendungskomponenten der Signalverarbeitung auf Dies umfasst insbesondere die Fusionsfilter f r die Konsolidierung verschiedener Sensorwerte ber die A
282. oten konsolidiert werden Har06 Das bergeordnete Ziel dieser Arbeit ist daher die selektive und systematische Beeinflussung der nicht funktionalen Eigenschaft Zuverl ssigkeit durch softwarebasierte Redundanz Aus Sicht des Anwendungsentwicklers soll sich diese m glichst transparent und unabh ngig von der Hardware einbringen lassen und gleichzeitig einen umfassenden Schutz vor transienten Fehlern bieten L cken im Redundanzbereich Softwarebasierte Redundanz kann selektiv angewendet werden und bietet gleichzeitig eine ef fektive Fehlererkennung im Rahmen einer replizierten Ausf hrung zum Beispiel mittels der Re plikation von Prozessinkarnationen Das Problem an dieser Stelle sind die L cken zwischen der hierdurch entstehenden Redundanzbereichen Replikation auf Ebene der Software l sst kritische Fehlerstellen SPoF engl single point of failure offen Unreplizierte Bereiche die nicht mehrfach aktiviert werden k nnen und entsprechend ungesch tzt auf der unzuverl ssigen Hardware ausge f hrt werden Treten Fehler an diesen kritischen Stellen auf ist ein Ausfall des Gesamtsystems trotz der umgebenden Redundanzma nahmen m glich Zu den typischen Fehlerstellen eines dreifach redundanten Aufbaus z hlen zum Beispiel die notwendige Aufteilung der Eingangssignale auf die Replikate der Mehrheitsentscheid am Ende der replizierten Ausf hrung sowie die anschlie ende Verteilung der Ausgabesignale Obwohl diese Fehlerstellen blicherweise se
283. plexsystems gegeben Die Kombination von software und hardwarebasierter Redundanz kann somit eine kosteneffiziente Alternative f r die sonst notwendi ge dreifache Hardwareredundanz darstellen Hierf r notwendig ist jedoch die enge Abstimmung zwischen den codierten Anwendungen beispielsweise durch einen synchronen Datenbus Eine sich durch die selektive Anwendbarkeit von CORED er ffnende M glichkeit liegt in der hete rogenen Auslegung der beiden Rechensysteme Neben den notwendigen Mechanismen f r die Ausfallsicherung engl fail over im Fehlerfall ist hierbei vor allem die tats chliche Fffektivit t eine offene Forschungsfrage 7 4 AUSBLICK 143 7 4 4 Ausnutzung der inh renten Fehlertoleranz von Regelungssystemen Das Beispiel der Fluglageregelung des I4Copters veranschaulicht die typischerweise inh rente Redundanz entsprechender Anwendungen Ein transienter Fehler in einem der redundanten Sen sortreiber wird sich in aller Regel nicht schwerwiegend auf den Ausgang der Regelung auswirken Im Zuge der Signalverarbeitung werden die redundanten Messwerte jedoch konsolidiert Entspre chend steigt das Schutzbed rfnis der Anwendung wie in Abbildung 7 1 dargestellt im Verlauf des Berechnungsfortschritts bis zu Stellwertausgabe immer weiter an Im Vergleich dazu ist die Anfor derung an die Rechtzeitigkeit im Zuge der Abtastung der Sensoren sowie bei der Stellwertausgabe besonders hoch In beiden F llen erscheint die Messunsicherheit als g
284. plikate oder die Art der Codierungsvorschrift Die Umsetzung in Form einer konkreten Redundanztechnik erfolgt schlie lich auf einer Implementierungsebene Diese Folge von Entwurfsentscheidungen bestimmt letztlich auf welche Strukturelemente Redundanz angewendet und wie dadurch Fehler erkannt werden k nnen Einsatz eines weiteren Replikats und dreifacher Redundanz TMR zus tzlich Fehlerdiagnose Lokalisierung und Fehlermaskierung erm glicht werden Im Falle der Informationsredundanz und Codierung beschreibt die Strategie die abstrakte Codierungsvorschrift und bestimmt damit wiederum die resultierenden Fehlertoleranzeigenschaften Zum Beispiel erlaubt die Codierung mittels einfacher Parit tsbits lediglich die Erkennung von Einzelbitfehlern Demgegen ber erm gli chen beispielsweise mehrdimensionale Parit tsbits sogenannte Hamming Codes Ham50 neben der Erkennung von Mehrfachfehlern auch die Fehlerkorrektur Die eigentliche Implementierung einer auf einer abstrakten Strategie basierenden Redundanz technik vgl Abbildung 2 2 erfolgt schlie lich auf einer bestimmten Implementierungsebene des Systems Muk08 von der Befehlssatzebene bis hin zur Vollvirtualisierung des Systems Die ein gef gte Redundanz bezieht sich dabei wie schon die Fehlerbetrachtung vgl Kapitel 2 1 1 stets auf die Strukturelemente der f r die Umsetzung gew hlten Ebene Im Falle der Replikation lassen sich entsprechend Instruktionen Berechnungen Prozessinkarnationen
285. r Reduzierung des Fehlerraums Der sich aus der Fehlerinjektion ergebende Fehlerraum ist blicherweise sehr gro und bewegt sich selbst f r die vergleichsweise geringe Gr e des CORED Mehrheitsentscheiders und die angenom menen Einzelbitfehler bereits im Bereich um 10 Ein Gro teil der m glichen Fehler manifestiert sich aus Sicht der Software jedoch als gutm tige Defekte vgl Kapitel 2 1 1 welche sich im Rah men der Ausf hrung nicht auswirken und verdeckt werden Es lassen sich hierbei idempotente und unwirksame Fehler unterscheiden Letztere betreffen Fehlerorte die im weiteren Verlauf nicht ge nutzt oder im Zuge der Ausf hrung berschrieben werden Die Injektion eines Registers zwischen einer lesenden und einer schreibenden Instruktion ist ein Beispiel hierf r Demgegen ber haben zueinander idempotente Fehler zwar einen Effekt auf die Ausf hrung sie resultieren jedoch alle in der selben Fehlerauswirkung Zum Beispiel spielt der Zeitpunkt der Fehlerinjektion zwischen einer schreibenden und einer lesenden Instruktion keine Rolle Es gen gt ein Fehler der entsprechenden quivalenzklasse um die gew nschte Auswirkung zu erreichen Ohne den Verlust der vollst ndigen Abdeckung des Fehlerraums erlaubt FA L die Eliminierung von unwirksamen beziehungsweise idempotenten Fehlern und damit eine Reduzierung des Fehler 90 KAPITEL 4 EFFEKTIVE FEHLERERKENNUNG IMPLEMENTIERUNG UND EVALUATION raums engl fault space pruning auf
286. r fung entfernter Mehrheitsentscheider und damit die Korrektheit des entsprechen den Ausf hrungsstroms F r eine selektive und einfache Umsetzung steht CORED der Anwendung in Form einer Dienstschicht zur Verf gung 3 7 SYSTEMKOMPOSITION 71 Anwendungen Zuverlassiger Arithmetische Schl ssel amp Maskierer Codierung Signaturverwaltung Replikation Abbildung 3 8 bersicht ber die CORED Dienstschicht Die von CORED bereitgestellte Infrastrukturkomponenten und Mechanismen gliedern sich in Form einer Dienstschicht unterhalb der Anwendung auf der Ebene des Betriebssystems ein Diese stellt die f r die Replikation notwendigen Basisfunktionen wie Codierung oder Mehrheitsentscheider bereit Hierzu z hlen ebenfalls Stellvertreter f r die Ein und Ausgabe an g ngige Systemdienste sowie geh rtete Funktionen und Treiber mit codierten Schnittstellen Eine weitere Funktion der Dienstschicht ist die geeignete Verwaltung der Codierungsschl ssel und Signaturen 3 7 1 CoRED Dienstschicht Die CORED Dienstschicht stellt die f r die Absicherung einer sicherheitskritischen Anwendung notwendige Infrastruktur zur Verf gung Sie gliedert sich dabei wie in Abbildung 3 8 dargestellt unterhalb der Anwendung auf der Ebene des Betriebssystems ein Zu den zentralen Funktionen z hlen hierbei die Unterst tzung der Replikation durch die in Kapitel 3 4 eingef hrten Struktur elemente f r die Anbindung der Replikate an di
287. r hinaus kann die einfache berpr fung der Coderaumgrenzen im Allgemeinen eine signifikante 84 KAPITEL 4 EFFEKTIVE FEHLERERKENNUNG IMPLEMENTIERUNG UND EVALUATION Herabsetzung der Zuverl ssigkeit der Codierung verhindern Die untere Schranke f r die Restfeh lerwahrscheinlichkeit Pac in einem 64 Bit Code mit dem Codierungsschltissel A 251 bel uft sich beispielsweise auf n herungsweise 0 3 Prozent vgl Gleichung 4 1 Ohne die Beachtung der bin ren Darstellung ergibt sich hingegen der auch in der Literatur Sch11b zu findende Messwert VON Psac 1 3 Prozent Dieser Wert sinkt durch die in CORED realisierte Umsetzung der arithme tischen Codierung auf 0 0015 Prozent ab Dies entspricht einer Verbesserung der Zuverl ssigkeit um den Faktor 1000 gegen ber g ngigen Implementierungen Bin re Darstellung der Codew rter als Schwachstelle Durch arithmetische Codierung erzeugte Coder ume lassen sich nicht exakt auf Maschinen worte abbilden Die entstehenden L cken werden von der Codierungstheorie nicht erwartet Im Gegensatz zu anderen Ans tzen ber cksichtigt CORED diese in der Implementierung und verhindert so einen signifikanten Verlust an Zuverl ssigkeit sowie unvorhergesehene uner kannte Datenfehler Dar ber hinaus stellt dies die G ltigkeit der Hamming Distanz sicher 4 2 5 Verbesserung der Erkennungsleistung bei berbeanspruchung Die minimale Hamming Distanz eines Codes erlaubt wie erwartet die Bestimmung der Anzahl der
288. r the physical sciences 3 Auflage 320 Seiten McGraw Hill Toronto Canada ISBN 978 0 0711 9926 1 Zitiert auf Seite 129 Bressoud T 1998 TFT A Software System for Application Transparent Fault To lerance Proceedings of the 28th International Symposium on Fault Tolerant Com puting Seiten 128 137 IEEE Computer Society Press Washington DC USA ISSN 0731 3071 doi 10 1109 FTCS 1998 689462 Zitiert auf den Seiten 41 und 42 Broy M 2006 Challenges in Automotive Software Engineering Proceedings of the 28th International Conference on Software Engineering ICSE 06 Seiten 33 42 ACM Press New York NY USA ISBN 1 59593 375 1 doi 10 1145 1134285 1134292 Zitiert auf Seite 9 Br tting W 2005 Physics of organic semiconductors 1 Auflage 658 Seiten Wiley VCH Weinheim ISBN 978 3 527 40550 3 Zitiert auf den Seiten 2 und 3 Bressoud T C und Schneider F B 1996 Hypervisor based fault tolerance ACM Transactions on Computer Systems 14 1 Seiten 80 107 ISSN 0734 2071 doi 10 1145 225535 225538 Zitiert auf Seite 41 Black J Taylor D und Morgon D 1995 A Compendium of Robust Data Structures Proceedings of the 25th International Symposium on Fault Tolerant Computing Seiten 127 129 IEEE Computer Society Press Washington DC USA doi 10 1109 FTCSH 1995 532623 Zitiert auf Seite 33 Cho H Mirkhani S Cher C Y Abraham J und Mitra S 2013 Quantitative evaluation of soft erro
289. r Aufbau eines geschlossenen Redundanzbereiches erfordert jedoch in jedem Fall die l ckenlose Codierung der gesamten Programmausf hrung Konzeptbe dingt ist arithmetische Codierung jedoch auf ganzzahlige Arithmetik beschr nkt Zudem ist der Umfang der zur Verf gung stehenden Operatoren eingeschr nkt und schlie t beispielsweise die Division blicherweise aus Durch die notwendige Nachbildung komplexerer Zahlendarstellungen beziehungsweise arithmetischer Operatoren sind die induzierten Laufzeitkosten erheblich Da fehlerkorrigierende Verfahren f r die Umsetzung in Software nicht zur Verf gung stehen sind zus tzliche Ma nahmen f r die Implementierung eines fehlertoleranten Verhaltens erforderlich Demgegen ber basiert Replikation auf der redundanten Ausf hrung von Strukturelementen Die Anzahl der Replikate bestimmt dabei ob lediglich Fehlererkennung oder Fehlerbehandlung durch Maskierung m glich ist Die Fehlererfassung durch den Relativtest der Ergebnisse ist vollst ndig hinsichtlich des Fehlermodells sofern die Fehlerausbreitung zwischen den Replikaten ausgeschlos sen ist Von entscheidender Bedeutung f r die Effektivit t der Replikation ist dementsprechend die Isolation der redundanten Verarbeitungsstr me sowie die geeignete Vervielf ltigung der Ein gabedaten auf die Replikate Weiterhin stellt der Mehrheitsentscheider am Ende der replizierten Ausf hrung eine kritische Fehlerstelle dar Einen ma geblichen Einfluss auf diese Faktore
290. r Codierung Im Gegensatz zu dem vorangegangenen Beispiel aus der Systemsicherheit l sst sich die Aus wahl geeigneter Codierungsschl ssel nicht vollst ndig losgel st von der technischen Realisierung des CORED Ansatzes betrachten Der Aufbau dieses Kapitels folgt daher nicht dem kanonischen Verlauf von Implementierung zu Evaluation Stattdessen werden die verschiedenen Implemen tierungsebenen schrittweise beleuchtet und evaluiert Die Betrachtung beginnt auf der Ebene der mathematischen Codierungstheorie engl coding theory Ham80 mit der Auswahl der Co dierungsparameter in Kapitel 4 2 und setzt sich ber die Fallstricke bei der bin ren Darstellung der Codierung bis auf die Befehlssatzebene der Hardware in Kapitel 4 3 fort In jedem Schritt kommen dabei jeweils angepasste Methoden f r die Evaluation der Effektivit t zum Einsatz Diese reichen von der rechnerischen Bestimmung der Erkennungsleistung ber deren Messung durch 75 76 KAPITEL 4 EFFEKTIVE FEHLERERKENNUNG IMPLEMENTIERUNG UND EVALUATION Fehlersimulation bis hin zu der Injektion von Bitfehlern in den Hardwarekontext der Anwendung Das Ziel ist letztlich der abschlie ende Nachweis der bereinstimmung von Konzept und Realit t sowohl f r die technische Umsetzung als auch f r die Codierung an sich Dar ber hinaus disku tiert Kapitel 4 4 die Evaluationsergebnisse und deren Verallgemeinerbarkeit beziehungsweise die unvermeidbaren Einschr nkungen 4 1 Erweiterte Fehlerh
291. r injection techniques for robust system design Proceedings of the 50th ACM EDAC IEEE Design Automation Conference DAC 713 Seiten 1 10 ISSN 0738 100X Zitiert auf Seite 99 Corbat F J Merwin Daggett M und Daley R C 1962 An Experimental Time sharing System Proceedings of the AIEE IRE 62 Spring Joint Computer Conference AIEE IRE 62 Spring Seiten 335 344 ACM Press New York NY USA doi 10 1145 1460833 1460871 Zitiert auf Seite 42 Calin T Nicolaidis M und Velazco R 1996 Upset hardened memory design for submicron CMOS technology IEEE Transactions on Nuclear Science 43 6 Seiten 2874 2878 ISSN 0018 9499 doi 10 1109 23 556880 Zitiert auf Seite 6 148 LITERATURVERZEICHNIS CNVO4 Con03 CRAO6 DH12 DHW09 DIN90 DMO2 Dre08 Dre11 Ech90 EFBO1 EJO9 Correia M Neves N F und Verissimo P 2004 How to Tolerate Half Less One Byzantine Nodes in Practical Distributed Systems Proceedings of the 23rd IEEE International Symposium on Reliable Distributed Systems SRDS 04 SRDS 04 Seiten 174 183 IEEE Computer Society Press Washington DC USA ISBN 0 7695 2239 4 Zitiert auf Seite 54 Constantinescu C 2003 Trends and challenges in VLSI circuit reliability Micro IEEE 23 4 Seiten 14 19 ISSN 0272 1732 doi 10 1109 MM 2003 1225959 Zitiert auf Seite 6 Chang J Reis G und August D 2006 Automatic Instruction Level
292. rbeiten und findet daher im Folgenden Anwendung Fehlermodell Auswirkungen transienter Fehler Unabh ngig von der darunter liegenden Hardware lassen sich die symptomatischen Auswir kungen transienter Fehler auf Instruktionsebene in Operator Operanden und Berechnungs fehler einteilen For89 Das Fehlermodell ist daher ein zentraler Aspekt f r die Bewertung softwarebasierter Fehlertoleranz im Allgemeinen und f r den Entwurf des angestrebten L sungsansatzes in Kapitel 3 im Speziellen 2 1 2 Redundanz als Mittel zur Fehlertoleranz Die Grundvoraussetzung f r die Erkennung und gegebenenfalls die Behandlung von Fehlern bezie hungsweise deren Folgen ist Redundanz engl redundancy Diese bezeichnet gem DIN 40041 DIN90 zus tzliche Funktionalit t die nicht f r die Erf llung der eigentlichen Aufgabe des Sys tems notwendig ist Entsprechend ist Redundanz und damit auch jede Art der Fehlertoleranz inh rent mit zus tzlichen Kosten beziehungsweise zus tzlicher Komplexit t behaftet unabh n gig von ihrer Art Implementierung oder der Ebene auf der sie eingesetzt wird Pra96 Redundanzarten Im Verlauf von Kapitel 1 2 wurde Redundanz gem ihrer Umsetzung in Hardware beziehungs weise Software klassifiziert und konkrete Redundanztechniken wie Replikation und Codierung eingef hrt Unabh ngig davon werden im Allgemeinen vier Redundanzarten unterschieden Diese sind Redundanz in Information Zeit Funktion und Struktur
293. rch die g ngigen Entwurfswerkzeuge wie MATLAB SIMULINK welche wie im Falle der Fluglagere gelung des I4Copters typischerweise aus lediglich einer Funktion f r den Regelschritt besteht TewO2 Hintergrund ist der blicherweise angestrebte ganzheitliche Entwurf der Regelungsan wendung welcher alle Teile von der Sensorik bis zur Aktorik einschlie t Diese holistische Betrach tung erlaubt eine globale Optimierung der Signalverarbeitung und Regelung f hrt jedoch h ufig zu einer Verschmelzung unterschiedlicher zeitlicher Dom nen Die zeitlichen Eigenschaften ori entieren sich dabei vorrangig an der Objektdynamik Sowohl die Signalverarbeitung als auch die Regelung werden anschlie end an der hierf r geeignetsten Periode ausgerichtet Vereinfacht aus gedr ckt richten sich sowohl der Entwurf als auch die Ausf hrung der Regelungsanwendung nach der kleinsten Periode innerhalb des Regelsystems Konzeptionell eigenst ndige Bereiche wie die 128 KAPITEL 6 WEITERF HRENDE BETRACHTUNG CORED CONTROL Sensoren oder die Signalverarbeitung Filterung und Fusion bilden somit einen integralen Teil des Gesamtmodells und werden durch die Anwendung geeignet koordiniert KLR94 Tew02 AW11 Entsprechend grobgranular ist jedoch auch die Abbildung auf die Aufgaben des Echtzeitsystems Grobgranulare Umsetzung der Regelungsanwendung F r die Replikation hat dieses Vorgehen jedoch den gravierenden Nachteil dass das genaue zeit liche Verhalten der
294. reller Redundanz gleichgesetzt Ech90 Grundlegende Funktionsweise Die grundlegende Funktionsweise der Replikation ist am Beispiel der dreifachen Redundanz TMR in Abbildung 2 8 dargestellt Der Aufbau eines replizierten Systems erfolgt dabei un abh ngig von der Implementierungsebene stets nach dem gleichen Muster Die Strukturelemente Prozessinkarnationen Algorithmen Instruktionen werden vervielf ltigt und ergeben die zugeh rigen Replikate Diese bilden gemeinsam den Redundanzbereich innerhalb dessen ein Fehlverhal ten einzelner Replikate erkannt und maskiert werden kann Die notwendigen Eingaben werden dabei vor der Ausf hrung der Replikate vervielf ltigt und auf diese verteilt Ebenso erfolgt im Anschluss ein Vergleich der Replikatausg nge mithilfe eines Mehrheitsentscheiders Die Ausgabe ist schlie lich im Falle eines Quorums das Ergebnis der qualifizierenden Mehrheit Da voneinander abweichende Ergebnisse durch den Relativtest konzeptbedingt als Fehlverhal ten eingestuft werden ist im Allgemeinen ein deterministisches Verhalten der einzelnen Replikate erforderlich KDKt 89 Ech90 Dieser Replikdeterminismus engl replica determinism Pol94 ist im Falle der hardwarebasierten synchronen Replikation engl lockstepping durch die Ausf hrung der Replikate im Gleichtakt gegeben Bei der in Software realisierbaren asynchronen Replikation engl redundant multithreading k nnen die Eingaben durch den m glichen zeitlichen Versa
295. rerkennung an Die f r die Codew rter errechneten Vorhersagen f r Psa sind daher als vertikale Referenzlinien eingezeichnet F r A 73 befinden sich der Ausrei er an der Vorderkante bei f 2 w hrend dies f r A 199 an der Hinterkante bei f 15 der Fall ist Ebenso k nnen auch beide Seiten betroffen sein wie f r A 239 Eine m gliche Erkl rung f r die mangelnde Effektivit t einiger Codes in den Grenzf llen liegt in den Abst nden der Codew rter Entsprechen diese der Bitfehlerzahl ergibt sich eine h here Trefferquote f r eine erfolgreiche Mutation der Codew rter Gutm tige und t ckische Codes In den in Abbildung 4 6 gezeigten F llen verhalten sich die Codes durch die Ausrei er t ckisch engl malicious da sie die Vorhersage in bestimmten Situationen verletzen Dies stellt zwar kein grunds tzliches Problem f r die Codierung dar erschwert jedoch die Zuverl ssigkeitsabsch tzung unn tig Dar ber hinaus ist die Aussicht bei einer berbeanspruchung des Codes zun chst auf die Grenzf lle zu treffen gut da die Wahrscheinlichkeit f r Mehrfachbitfehler mit der Anzahl der Bits im Allgemeinen abnimmt MHZA03 LSHCO7 NDO11 Entsprechend ist ein t ckischer 88 KAPITEL 4 EFFEKTIVE FEHLERERKENNUNG IMPLEMENTIERUNG UND EVALUATION Codierungsschl ssel trotz eines gro en Hamming Abstand unter Umst nden weniger geeignet da eine berbeanspruchung zu einer inakzeptabel hohen Restfehlerwahrscheinlichkeit f hrt Gl ckli
296. rf r notwendige Verwaltung der Schl ssel und Signaturen erfolgt durch eine in den Erstellungsprozess engl build process integrier te Werkzeugkette zur Generierung einer nach den in Kapitel 4 2 vorgestellten Auswahlprinzipien besetzten Nachschlagetabelle engl look up table Dar ber hinaus erfolgt die Belegung der Zeit stempel im Sinne eines Rundenanzeigers welcher es dem Verarbeitungsstrom erlaubt zwischen der aktuellen und der vorangegangenen Periode zu unterscheiden Mehrheitsentscheider Einfach CoRed Instruktionen 38 92 Bin rcode Gr e 112 Byte 301 Byte Tabelle 4 2 IA32 Plattform Gr envergleich einfacher versus CORED Mehrheitsentscheider 32 Bit Codew rter F r die Evaluation wurden sowohl der CORED Mehrheitsentscheider als auch sein ungesch tz tes Pendant f r die IA32 bersetzt Hierf r kam der C Compiler der GNU Compilersammlung engl GNU Compiler Collection GCC in der Version 4 7 2 5 Debian Linux zum Einsatz Die Compileroptionen entsprachen dabei mit Ausnahme der Optimierungsstufe 02 volle Optimie rung den Standardeinstellungen Die sich ergebenden Gr enverh ltnisse der jeweiligen Bi n rprogramme sind in Tabelle 4 2 dargestellt Sowohl hinsichtlich der Gr e als auch der Zahl der Instruktionen weist der CORED Mehrheitsentscheider n herungsweise die zweieinhalbfache Gr e des einfachen Entscheiders auf Die f r die Bestimmung des Fehlerraums relevanten Regis teroperationen setzen sich
297. rheitsentscheider Insgesamt schlie t CORED die bislang unvermeidbaren Zuverl ssigkeitsengp sse und agiert somit als W chter der W chter ber die replizierte Ausf hrung der Anwendung Durch die g nzliche Vermeidung von kritischen Fehlerstellen erm glicht CORED die gezielte Beeinflussung der Zuverl ssigkeit der zu sch tzen den Anwendung Die in diesen F llen obligatorische Zuverl ssigkeitsbetrachtung des Systems vereinfacht sich hierdurch entscheidend auf die g ngigen Verfahren f r die Replikation Leistungsf hige Fehlererkennung Die Basis f r die Fehlererkennung in den nichtreplizierbaren Teilen der redundanten Ausf hrung stellt die arithmetische Codierung in Form von ANBD Codes dar Deren konzeptionell vollst ndige 137 138 KAPITEL 7 ZUSAMMENFASSUNG UND AUSBLICK Fehlererkennung kann auf dem Weg von dem theoretischen Entwurf zu der praktischen Realisie rung verloren gehen Die erreichbare Effektivit t h ngt zum einen von der geeigneten Wahl der Codierungsparameter ab vergleichbar der Wahl eines guten Passworts Zum anderen gef hrden auch Schwachstellen in der technischen Umsetzung der Codierung eine zuverl ssige Fehlererken nung Die erstmalige vollst ndige Evaluation aller 16 Bit Codierungsschl ssel zeigt eindrucksvoll dass g ngige Empfehlung wie je gr er desto besser nicht zwangsl ufig zutreffen Die Auswahl der leistungsf higsten f r 32 Bit AN Codes verf gbaren Schl ssel erlaubt CORED die sichere Er
298. rnfalls wirkt sich der Defekt auf den internen Zustand der Funktion regelschritt aus Mitte und es kommt zur Ausl sung eines Fehlers engl error Wird dieser propagiert und nach au en sichtbar unten kommt es schlie lich zum Fehlverhalten engl failure Gegen berstellung grundlegender Entwurfsalternativen f r die softwarebasierte Fehlertoleranz bestehend aus Redundanzart Implementierungsebene Fehlererkennung sowie Fehlerbehandlung Die Grundlagen dienen im Anschluss dazu geeignete Fehlertoleranzma nahmen abzuleiten und die Abdeckung des Fehlermodells sowie den erzielbaren Redundanzbereich zu bestimmen Schlie lich wird der verfolgte L sungsansatz ausgehend von den allgemeinen Ans tzen Replikati on und Codierung in den Kontext verwandter Arbeiten vgl Kapitel 2 2 gesetzt 2 1 Terminologie und Grundlagen In Kapitel 1 wurden bereits einige Begrifflichkeiten wie Fehler oder Redundanz intuitiv eingef hrt Darauf aufbauend wurde der Begriff des transienten Fehlers als Synonym f r transiente Hardwa refehler definiert die sich als Bitfehler manifestieren und im Feld behandelt werden m ssen Der erste Teil dieses Kapitels diskutiert und erweitert die f r diese Arbeit notwendigen Grundlagen im Hinblick auf die Dom ne der softwarebasierten Fehlertoleranz Zu diesem Zweck wird im Folgen den die logische Kette vom Auftreten eines Fehlers ber dessen Charakterisierung und Diagnose mittels Redundanz bis hin zu der Umsetzung eines fehl
299. rogrammz hler Die Injektion von Einzelbitfehlern in den Programmz hler f hrt letztlich zu zuf lligen Spr n gen um eine Zweierpotenz als Adressabstand engl offset Durch die relativ kleine Gr e des Mehrheitsentscheiders f hren diese Spr nge in der Regel aus dem aktuellen Kontext heraus und werden folglich durch die r umliche Isolation entlarvt Dementsprechend ist die Fehlerrate f r 4 3 EVALUATION DER CORED IMPLEMENTIERUNG 95 Doppelbitfehler in allgemeinen Prozessorregistern Super A 58659 Unsicheres A 58 368 Ohne Auswirkung verdeckter Defekt 38639 38639 5 CORED arithmetische Codierung 21596 21519 Hardware Ausnahme 47 47 2 Schutzverletzung Programmcode 471 471 5 Schutzverletzung Speicher 59967 59967 im Termin berschreitung 0 0 Unerkannter Datenfehler 0 77 120 720 120720 Tabelle 4 4 berpr fung der Hamming Distanz auf der Befehlssatzebene durch die Injektion von Doppelbitfehlern Die Erweiterung des Fehlerraums auf Doppelbitfehler zeigt die Auswirkungen eines ung nstig gew hlten Codierungsschl ssels In diesem Beispiel weist das unsichere A 58368 lediglich eine Hamming Distanz von zwei auf Wie erwartet treten in der Folge unerkannte Datenfehler auf Demgegen ber erweist sich das Super A 58 659 weiterhin als absolut zuverl ssig unerkannte Datenfehler mit f nf Prozent f r den einfachen Mehrheitsentscheider vergleichsweise gering Dennoch z hlen m glich Spr nge innerhalb des aktuellen Ausf
300. rs indem sie zu s tzlich den bertrag ber cksichtigt Ein Fehler wird entsprechend als Addition beziehungsweise Subtraktion einer Zweierpotenz aufgefasst Der Abstand zwischen zwei Codew rtern entspricht in 98 KAPITEL 4 EFFEKTIVE FEHLERERKENNUNG IMPLEMENTIERUNG UND EVALUATION Doppelbitfehler z Eingabe Addition MT T Ausgabe Codierung Hardware Einzelbitfehler Bit 4 Bit 3 A Bit 2 aj b C S a Abbildung 4 7 Fehlerbetrachtung am Beispiel einer codierten Addition F r die Bewertung der Effektivit t der Codierung lassen sich unterschiedliche Sichtweisen einnehmen Die Hamming Distanz beschreibt die maximal erkennbare Fehlerzahl am Ende der Berechnung und der Ausgabe des Ergebnisses die Auswirkungen der Addition bleiben hierbei unber cksichtigt Die Fehlerzahl kann jedoch beim Durchlaufen der Hardware ver ndert werden In diesem Beispiel wird ein zweiter Bitfehler durch einen bertrag im Addierer hervorgerufen Die arithmetische Distanz PW72 modelliert daher das Verhalten eines bin ren Addierers und erlaubt in diesem speziellen Fall die Fehlerbetrachtung am Eingang der Folge der minimalen Anzahl fehlerhafter Ausg nge des Addierers die f r eine unerkannte Mu tation erforderlich sind Abstrakt betrachtet entsprechen die fehlerhaften Ausg nge Termen der Form 2 PW72 Ausgehend von den Codew rtern 6 0110 9 1001 ergibt sich beispiels
301. rung der Zuverl ssigkeit genutzt werden Auch erm glicht dies den Einsatz kosteng nstiger Standardhardware in Bereichen in denen dies bisher nicht m glich war beziehungsweise in Zukunft nicht mehr m glich sein wird Problematisch sind jedoch L cken im Redundanzbereich die sich in Form kritischer Fehlerstellen manifestieren und die generelle Anwendbarkeit softwarebasierter Redundanz gef hrden Anwendungsbeispiel Sicherheitskritische Regelungssysteme Regelungssysteme sind heutzutage quasi omnipr sent und erf llen die verschiedensten Aufgaben von der Steuerung gro er Produktionsanlagen und Kraftwerken ber Fahrerassistenzsysteme in Fahrzeugen bis hin zu Anwendungen im Bereich der Medizintechnik Sie stellen damit mutma lich die Mehrheit der in Software realisierten sicherheitskritischen Funktionen und Anwendungen im Feld dar Im Allgemeinen unterscheiden sie sich von anderen Anwendungen durch ihre Bindung an ein physikalisches System und die explizite Abh ngigkeit von der Umwelt Regelungssysteme 1 3 PROBLEMBESCHREIBUNG UND FORSCHUNGSFRAGE 9 erfassen daher den Zustand der Umwelt mittels Sensoren verarbeiten diese Daten und nutzen Aktuatoren zur gezielten Beeinflussung des physikalischen Systems Entsprechend geh ren sie zur Klasse der Echtzeitsysteme da ihre Funktion neben der korrekten Berechnung ma geblich von der rechtzeitigen Bereitstellung der Ergebnisse abh ngt Sicherheitskritische Regelungssysteme stehen nicht nur durch i
302. rung wird verschiedentlich der Einsatz von Primzah len favorisiert vor allem um die Anzahl der m glichen Faktoren zwischen verschiedenen Ver arbeitungsstr men zu reduzieren For89 Oze92 Schllb Dieses von einem mathematischen Standpunkt aus intuitiv plausibel erscheinende Vorgehen bleibt im Grundsatz jedoch weitgehend unbegr ndet In ihrer experimentellen Untersuchung der Codierungseigenschaften verschiedener Schl ssel identifiziert Schiffel Sch11b demgegen ber auch einige zusammengesetzte Zahlen welche eine hnliche oder sogar bessere Fehlererkennungsleistung aufweisen als vergleichbare Primzahlen Wiederum lassen sich aus dieser Analyse jedoch keine eindeutigen Auswahlkriterien f r die Codierungsschl ssel ableiten weshalb Schiffel ebenfalls zu gro en Primzahlen r t Experimentelle Bestimmung der Effektivit t mittels Hamming Distanz Weder die Restfehlerwahrscheinlichkeit als untere Schranke f r die Effektivit t eines Codierungs schl ssels noch der Verweis auf gro e Primzahlen erscheint ein zielf hrendes Auswahlkriterium darzustellen Von einer bin ren Betrachtung des Codes ausgehend ist der einzige Sinn und Zweck des Schl ssels A die Generierung von robusten Bitmustern Die durch die Codierung erzeug ten Codew rter sollen entsprechend ein hohes Ma an Unempfindlichkeit gegen ber Bitfehlern aufweisen Eine allgemeine Kenngr e der Codierungstheorie f r diese Art der Robustheit ist die Hamming Distanz engl hamming d
303. s Beispiel f r Zeitredundanz Die aus der ungenutzten Rechenzeit entstehenden Puffer k nnen im Fehlerfall entsprechend genutzt werden Ebenfalls in die Klasse der Zeitredundanz fallen Algorithmen deren Ergebnis sich mit der Anzahl der Wiederholungen verbessert In der Praxis kommen h ufig Mischformen der genannten Redundanzarten vor So erfordert die Umsetzung von Informationsredundanz mittels Codierung auch zus tzliche Zeit f r deren Berechnung Ebenso umfasst strukturelle Redundanz in Form von Replikation im Allgemeinen auch redundante Informationen und Zeit Die Fehlererkennung basiert dabei jedoch zumeist auf einer der genannten Redundanzarten Koordinierter Einsatz Redundanz Strategie Implementierungsebene Generell erm glicht erst der koordinierte Einsatz von Redundanz die Implementierung von Feh lertoleranz Abbildung 2 2 zeigt exemplarisch den Weg von der grundlegenden Redundanz ber eine Strategie zu deren Nutzung bis hin zu einer spezifischen Implementierung Die Redundanz art gibt lediglich vor womit Fehler erkannt und damit letztlich Fehlertoleranz erreicht werden kann Erst der Entwurf einer darauf aufbauenden Redundanzstrategie beschreibt das Wie und bestimmt damit ma geblich in welchem Umfang Redundanz hinzugef gt und ob dadurch Fehler erkennung Fehlerdiagnose Fehlerbehandlung Fehlerkorrektur oder Fehlermaskierung vgl Kapi tel 2 1 3 erm glicht wird Es existieren beispielsweise verschiedene Strategien zur Repl
304. s Mehrheitsentscheiders erweist sich prinzipiell als vergleichsweise einfach Programmausschnitt 3 2 zeigt dies am Beispiel der Funktion vote f r die drei Varianten engl variants x y und z Die Bestimmung einer qualifizierenden Mehrheit erfolgt hier durch eine Folge von bedingten Verzweigungen engl conditional branch Zeilen 2 3 8 und 10 welche zur Auswahl einer Variante und damit zu deren R ckgabe als Gewinner win f hrt Ist eine Mehrheitsfindung nicht m glich erfolgt die Signalisierung eines erkannten nicht behebbaren Fehlers Grunds tzlich weist der Aufbau des Mehrheitsentscheiders dabei bereits ein gewisses Ma an inh renter Redundanz auf Durch den Vergleich aller Varianten untereinander l sst sich beispielsweise eine Abweichung von y sowohl durch den Vergleich in Zeile 2 wie auch durch den Vergleich in Zeile 8 entdecken 3 5 ZUVERL SSIGE MEHRHEITSENTSCHEIDER 63 1 function VOTE z y z 2 if x y then 3 if x z then 4 return win Alle Ergebnisse identisch 5 else 6 return win x z weicht ab 7 end if 8 else if y z then 9 return win lt y x weicht ab 10 else if x z then 11 return win x y weicht ab 12 else 13 SIGNAL_DUE Keine Entscheidung m glich 14 end if 15 end function Programmausschnitt 3 2 Einfacher Mehrheitsentscheider Funktion vote zur Bestimmung der Mehrheit der drei Varianten x y und z Die Mehrheitsfindung erfolgt durch eine einfache Folge von Vergleichen
305. s Mikrocontrollers ist zudem der mit ann hernd einer Sekunde pro Einzelexperiment enorme Zeitaufwand und die fehlende M glichkeit zur Parallelisierung der Experimente 3Hersteller Webseite www lauterbach de Abruf 18 02 2014 116 KAPITEL 5 FALLBEISPIEL 14COPTER Einfacher Mehrheitsentscheider CoRED Mehrheitsentscheider Datenregister Adressregister Datenregister Adressregister Ohne Auswirkung verdeckter Defekt 1583 882 859 369 2 5 CORED arithmetische Codierung 7056 1556 g 5 Schutzverletzung Hardware Ausnahme 832 6413 1338 14732 UL u Termin berschreitung 0 0 0 0 Unerkannte Datenfehler 634 7 589 7 0 0 x 3049 7884 9253 16657 Tabelle 5 2 Fehlerinjektion von Einzelbitfehlern Evaluation des CORED Mehrheitsentscheiders im l4Copter berpr fung der erwarteten Eigenschaften des CORED Mehrheitsentscheiders A 58 659 durch Fehlerinjektion auf der im l4Copter genutzten TriCore Plattform Die Kampagne deckt dabei den gesamten Fehlerraum f r Einzelbitfehler ab Durch die Harvard Architektur des TriCore untergliedern sich die Ergebnisse der Fehlerinjektion in Daten und Adressregister Insgesamt best tigt sich auch auf der TriCore Plattform das erwartete Verhalten und die Robustheit des CORED Mehrheitsentscheiders Ergebnisse der Fehlerinjektion f r den CORED Mehrheitsentscheider F r die berpr fung der Effektivit t des CORED Mehrheitsentscheiders auf dem TriCore Rechen system wurde wiederum ein Vergl
306. s Mikrocontrollers zur ckgegriffen Diese erlaubt die direkte Injektion von Fehlern in den Hardwarekontext des realen Hardware systems mithilfe eines Hardware Diagnose Programms engl debugger Im konkreten Fall wurde hierf r das Diagnose Programm TRACE32 von Lauterbach genutzt Die Beschreibung der Kampa gne erfolgte hierbei durch die werkzeugspezifische Skriptsprache PRACTICE des TRACE32 Diagnose Werkzeugs Der Testablauf entspricht ansonsten dem Vorgehen in FAIL und umfasst die Durchf h rung eines fehlerfreien Testlaufs das eigentliche Experiment sowie die anschlie ende Auswertung des Resultats Versuchsaufbau und Reduzierung des Fehlerraums Der allgemeine Versuchsaufbau gleicht der IA32 Kampagne aus Kapitel 4 3 und basiert auf demsel ben C Quellcode des CORED Mehrheitsentscheiders sowie der arithmetischen Codierung F r die Evaluierung der Einzelbitfehler auf der Befehlssatzebene wurde wiederum der CORED Mehr heitsentscheider mit seinem ungesch tzten Pendant verglichen Die bersetzung des Quellcodes erfolgte dabei durch den GCC Kreuzkompilierer engl cross compiler f r die TriCore Plattform in der Version 4 5 2 Mac OS X Die Compileroptionen entsprachen dabei mit Ausnahme der Optimierungsstufe 02 volle Optimierung den Standardeinstellungen Die sich ergebenden Gr enverh ltnisse der jeweiligen Bin rprogramme sind in Tabelle 5 1 dargestellt und entsprechen grunds tzlich den Werten der IA32 Plattform aus Kapitel 4 3
307. s herbeizuf hren werden die Signaturen nach der Addition in den Zeilen 7 und 8 geeignet angepasst Durch die vom Ausf hrungspfad unabh ngige Zielsignatur des Wertes y kann dieser anschlie end direkt in weiteren codierten Berechnungsschritten genutzt werden Wird einer der Operanden eine Berechnung oder die Aus f hrungsreihenfolge durch einen transienten Fehler korrumpiert so weicht die Zielsignatur von dem erwarteten Wert ab In der Folge stellt der codierte Werte y mit hoher Wahrscheinlichkeit kein g ltiges Codewort mehr dar Einschr nkungen und Entwurfsalternativen Das beschriebene Entwurfsmuster f r die Codierung der Verzweigungen ist jedoch mit einigen Einschr nkungen und Voraussetzungen behaftet Die bislang bekannten Vergleichsoperatoren f r ANBD Codes beschr nken sich auf die von Forin pr sentierten codierten Gr er Gleich gt be ziehungsweise Kleiner Gleich Bedingungen lt Entsprechend l sst sich der codierte Vergleich auf bereinstimmung x yc lediglich durch die umst ndliche Kombination der beiden be kannten Vergleichsoperatoren lt und gt sowie der codierten Konjunktion e der Einzeler gebnisse erreichen For89 Sch11b Dar ber hinaus erfolgt die Codierung der Verzweigung bei Forin implizit durch Anpassung der Signaturen der beteiligten Operanden und Berechnungen Die berpr fung des Kontrollflusses erfolgt letztlich zusammen mit der generellen Fehlererken nung bei der Decodierung des Berec
308. s verwirft CORED jedoch den angenommenen Perfektionskern aus Replikator und Mehrheitsentscheider und ord net diese bislang als fehlerfrei angenommenen Teile eigenen Fehlerbereichen zu 3 3 CORED Ansatz und Methodik Die erweiterte Problemanalyse in Kapitel 3 1 zeigt anschaulich die sich aus der softwarebasier ten Replikation auf einer unzuverl ssigen Hardwareplattform ergebenden Probleme auf Auf der einen Seite bietet die replizierte Ausf hrung zwar die angestrebte vollst ndige Fehlererfassung und erlaubt dar ber hinaus die anwendungstransparente Umsetzung von Fehlertoleranz auf Ebene des Betriebssystems Auf der anderen Seite erweisen sich die kritischen Fehlerstellen und L cken in der Replikation jedoch als teilweise untersch tzter Fallstrick f r die praktische Umsetzbarkeit softwarebasierter Redundanz Der Kern dieser Problematik liegt in dem notwendigen Vertrauen in die Verl sslichkeit der brigen Bausteine der Replikation Insbesondere die Mehrheitsentscheider als sprichw rtliche W chter ber die Replikation stellen einen ernst zu nehmenden Zuverl ssig keitsengpass dar Ihre Kolokalisierung auf derselben unzuverl ssigen Hardware f hrt entsprechend zu der bereits von Juvenal Satire 6 347 f aufgeworfenen in diesem Fall ernsthaften Frage nach den W chtern der W chter 2Hersteller Webseite www mathworks de products simulink Abruf 18 11 2013 56 KAPITEL 3 DER KOMBINIERTE REDUNDANZANSATZ CORED Fb Fb Fb
309. sagte Restfehlerwahr scheinlichkeit teilweise deutlich und sind daher weniger vorhersagbar Insgesamt konnten f r die untersuchten 32 Bit AN Codes f nf besonders leistungsf hige Super As identifiziert werden kei ne davon eine Primzahl Diese erlauben die sichere Erkennung von bis zu 5 fach Bitfehler wobei zus tzlich drei von ihnen ein gutm tiges Verhalten bei berbeanspruchung aufweisen Dar ber hinaus stellen Schwachstellen in der Implementierung eine weitere Quelle f r einen signifikanten Verlust der Erkennungsleistung dar Dies umfasst dabei sowohl Annahmen hinsicht lich der Abgeschlossenheit des Coderaums durch die Codierungstheorie als auch die Ausnutzung bestimmter Konventionen der Bin rschnittstelle der Hardwareplattform durch den Compiler und das Betriebssystem Die entstehenden Schwachstellen treten ausschlie lich im Fehlerfall zutage und stellen dabei blicherweise Grenzf lle dar Ihre Aufdeckung erfordert daher eine vollst ndi ge Fehlerinjektion des gesamten Fehlerraums auf der Befehlssatzebene und damit letztlich den Nachweis der bereinstimmung zwischen Entwurf und Bin rprogramm Die Evaluationsergebnisse zeigen dass auch die technische Umsetzung von CORED in der Lage ist die arithmetische Codierung bis an ihre Leistungsgrenze zu f hren und dar ber hinaus alle verbleibenden Schwachstellen zu beseitigen Im Vergleich zu g ngigen Ans tzen zeigt sich dies in einer deutlichen Verbesserung der Erkennungsleistung wie
310. sch und veranschaulichen drei typische Muster die bei einer Uberbe anspruchung des Codes entstehen Verletzung der Vorgabe an der Vorderkante Hinterkante oder beidseitig ber die vereinfachte Darstellung hinaus zeigt Abbildung 4 5 die Ergebnisse der Fehlersimu lation als Ganzes In dieser Darstellung berwiegt die enorme Streuung der Messpunkte jedoch zeigen sich auch hier die erl uterten Muster f r die regul re Leistung Die Unzul nglichkeiten der Zweierpotenzen welche als einzige Schl ssel Einzelbitfehler zulassen sind ebenfalls zu erkennen Eine detaillierte Betrachtung der auftretenden Ausrei er erm glicht letztlich nur eine vollst n dige Fehlersimulation aller Fehlermuster Durch den exponentiell wachsenden Aufwand f r die Berechnung basiert die folgende Betrachtung auf 16 Bit Codes und 8 Bit Schl ssel Abbildung 4 6 zeigt nunmehr die konkrete Verteilung der Restfehlerwahrscheinlichkeit in Abh ngigkeit von der Anzahl der Bitfehler am Beispiel der drei dargestellten Codierungsschl ssel 73 199 und 239 Diese stehen repr sentativ f r die typischen Muster welche bei einer berbeanspruchung der arithme tischen Codierung entstehen Zun chst ist die in allen drei F llen vergleichsweise best ndige Erkennungsleistung im mittleren Fehlerbereich gut zu erkennen Dieses Verhalten erkl rt die streuungsarme Kurve f r diese Fehlerklasse in Abbildung 4 4 Im Vergleich dazu steigen die Werte an den Au engrenzen zur zuverl ssigen Fehle
311. scheider auch in Bezug auf m gliche Kontrollfluss fehler eine konzeptionell vollst ndige Fehlererkennung auf Deren Zuverl ssigkeit ist im Folgenden Gegenstand einer eingehenden experimentellen Untersuchung durch Techniken der Fehlerinjek tion engl fault injection des Hardwarekontextes Auch hier ist die Abdeckung des kompletten Fehlerraums das entscheidende Kriterium f r den Nachweis einer zuverl ssigen Fehlererkennung 4 3 EVALUATION DER CORED IMPLEMENTIERUNG 89 Durch die Fehlersimulation wurde bereits der aus 6 5 10 M glichkeiten bestehende Fehlerraum aus Codierungsschl sseln A Werten v und Fehlermustern abgedeckt Der im Zuge der Fehlerin jektion entstehende Fehlerraum ergibt sich nunmehr aus der zeitlichen Abfolge der Instruktionen sowie der m glichen Fehlerstellen in Form von Registern und Speicherzellen Der folgende Abschnitt f hrt hierf r zun chst in den Versuchsaufbau und die elementaren Kon zepte der Fehlerinjektion ein Darauf aufbauend erfolgt die grundlegende Evaluation des CORED Mehrheitsentscheiders durch eine vollst ndige Betrachtung aller m glichen Einzelbitfehler Die Ergebnisse veranschaulichen dar ber hinaus den Einfluss stiller Annahmen der Ausf hrungsumge bung auf die Zuverl ssigkeit des CORED Mehrheitsentscheiders Die Erweiterung des Fehlerraums auf die Klasse der Mehrfachbitfehler erm glicht schlie lich die erneute berpr fung der durch die Fehlersimulation erwarteten Fehlererkennungslei
312. ser potenziell mit jeder Modifikation der Anwendungssoftware Dar ber hinaus legen aktuelle Studien NDO11 den Schluss nahe dass die blicherweise angenommene r umliche und zeitliche Gleichverteilung Muk08 der Fehler in der Praxis nicht gegeben ist Diese Eigenschaft erlaubt es normalerweise die Fehlerwahrscheinlichkeit in Relation zur Ausf hrungszeit zu setzen All dies macht die Risikoanalyse der kritischen Fehlerstellen in der Praxis u erst schwierig und aufwen dig und kann sich daher negativ auf die erzielbare Effektivit t und den Entwicklungsaufwand softwarebasierter Fehlertoleranz auswirken Regelungsanwendungen replizieren Eine weitere Herausforderung liegt in der Einbettung der Regelungsanwendung in die Umwelt und die Abh ngigkeit vom Voranschreiten der Zeit welche hohe Anforderungen an die Echtzeitei genschaften des Systems stellt Die nicht funktionalen Figenschaften Zuverl ssigkeit und Recht zeitigkeit stehen hierbei in einem Spannungsfeld da sie sich gegenseitig beeinflussen k nnen Eine einfache monolithische Replikation der gesamten Regelung ist daher in vielerlei Hinsicht unzweckm ig Auf der einen Seite ist dies durch die Kopplung an die Hardware in Form von Sensorik und Aktuatorik h ufig nicht m glich Auf der anderen Seite werden durch die Replikation die zeitlichen Eigenschaften des Systems deutlich ver ndert Allem voran ist hier das Laufzeitver halten zu nennen Der klassische Regelungsentwurf st tzt sich
313. sforderung liegt hierbei in der geeigneten Bewertung und berpr fung des Replikatzustands da sich b sartige Defekte und Fehler nicht zwangsl ufig bis an die Au engrenzen des betroffenen Replikats ausbreiten m ssen Sie sind somit f r den regul ren Mehrheitsentscheid nicht erkennbar Im konkreten Fall der Fluglageregelung des I4Copters erlaubt eine geeignete Konfiguration des Quellcode Genera tors von MATLAB SIMULINK ein direktes Auslesen und Setzen des Anwendungszustands durch entsprechende Zugriffsfunktionen Der notwendige Zustandsvergleich l sst sich dabei auf das bekannte CORED Schema abbilden Die Replikate werden um einen weiteren Ausgang erweitert welcher den jeweiligen Zustand in codierter Form ausgibt Dieser wird bei bereinstimmung gesi chert und dient im Fehlerfall als codierter Eingabeparameter f r das Bereitschaftsreplikat Diese Art der Umsetzung erh lt somit die Fehlererkennung durch CORED auch f r den notwendigen Zustandstransfer zwischen Normalbetrieb und Fehlerbehandlung 5 3 Erweiterung des Redundanzbereichs ber Systemgrenzen Die Absicherung der Fluglageregelung des I4Copters zeigt anschaulich die Anwendungsm glich keiten von CORED innerhalb eines Rechensystems auf Die bislang erforderlichen Eing nge be ziehungsweise Ausg nge des Redundanzbereichs beschr nken sich jedoch auf den Einsatz von Replikatoren und Stellvertretern Um dar ber hinaus auch die in Kapitel 3 4 beschriebenen codier ten Eing nge beziehun
314. sgew hlt sowie die Berechnung der dynamischen Signatur in Zeile 8 korrekt durchgef hrt Das Fehlverhalten des Mehrheitsent scheiders wird bei der nachfolgenden Decodierung des vermeintlichen Gewinners entlarvt da das Ergebnis der dynamischen Signaturberechnung von der konstanten Signatur Bg abweichen wird gem Gleichung 3 5 gilt an dieser Stelle x y Bx By In der gleichen Art und Weise lassen sich auch beliebige Sequenzfehler erkennen Hierbei springt der Kontrollfluss durch eine Verf lschung des Programmz hlers beziehungsweise von Sprung adressen beliebig In der Folge wird nicht nur das Falsche sondern potenziell auch noch fehlerhaft gerechnet Im zweiten Beispiel springt der Kontrollfluss zwischen zwei Entscheidungszweigen und f hrt so zu einer g nzlich inkonsistenten Ausf hrung Die Auswahl des Gewinners und die Berechnung der dynamischen Signatur in Zeile 5 erfolgen noch korrekt Anschlie end wechselt der Kontrollfluss f lschlicherweise den Zweig wodurch die R ckgabe des Gewinners und der statischen Signatur in Zeile 9 erfolgt Obwohl durch die hier angenommene bereinstimmung aller Varianten grunds tzlich kein abweichendes Ergebnis des Gewinners m glich ist wird das tats chliche Fehlverhalten des CORED Mehrheitsentscheiders auch in diesem Fall korrekt erkannt Wiederum weichen die konstante und die dynamische Signatur voneinander ab 3 6 Fehlertoleranz Grunds tzlich erm glichen die CORED Mehrheitsentsch
315. sierten Replikation unter den Zuverl ssigkeitsengp ssen und kritischen Fehlerstel len der redundanten Ausf hrung leidet Der kombinierte Redundanzansatz CORED l st dieses Problem durch die namensgebende Kombination von softwarebasierter Replikation auf Ebene des Betriebssystems und einer auf ANBD Codes basierenden arithmetischen Codierung der verbleiben den kritischen Fehlerstellen Die Codierung der Datenstr me in Kombination mit der Replikation der Eing nge beziehungs weise der Konsolidierung der Ausg nge erlaubt zun chst die Erweiterung der Fehlererfassung bis an die u ersten Grenzen des in Software realisierbaren Redundanzbereichs Der Einsatz codierter Eing nge beziehungsweise Ausg nge erm glicht zudem die Komposition komplexer An wendungen und dar ber hinaus eine Erweiterung des Redundanzbereiches ber die Grenzen des Rechensystems hinaus Die Weitergabe eines codierten Stellwertes erlaubt beispielsweise die nach gelagerte berpr fung der Korrektheit der replizierten Ausf hrung und des Mehrheitsentscheids bis kurz vor der endg ltigen Verwendung des Wertes durch den Aktor Das Schl sselelement des Ansatzes sind die zuverl ssigen Mehrheitsentscheider welche eine Entscheidung unter der Beibehaltung der arithmetischen Codierung der Varianten erm glichen und dar ber hinaus eine effektive Kontrollfluss berwachung auf Basis der Codierungssignaturen gestatten CORED entwickelt hierf r einen ma geschneiderten Entwurf des Mehrhei
316. skrepanz zwischen den regelungstechni schen Modellannahmen und der Ausf hrungsrealit t auf Diese manifestieren sich in Form von zeitlichen Abweichungen bei der Abtastung der Sensoren so wie beim Setzen der Stellwerte und k nnen zu einer signifikanten Herabsetzung der Regelg te f hren Im Allgemeinen lassen sich die durch die Replikation ver ndernden zeitlichen Eigenschaften nur durch eine geeignete funktio 136 KAPITEL 6 WEITERF HRENDE BETRACHTUNG CORED CONTROL nale Anpassung der Anwendung kompensieren beispielsweise durch Einbringen entsprechender Totzeit Elemente Weiterhin erweist sich die Abbildung der Regelungsanwendung auf Prozessinkar nationen durch den ganzheitlichen Regelungsentwurf als typischerweise grobgranular Hierdurch ist eine Fehlererkennung erst im Anschluss an die Ausf hrung der gesamten Regelung m glich mit entsprechenden Konsequenzen f r die erzielbare Fehlererkennungslatenz Zur L sung dieser Probleme bleibt letztlich nur die Minimierung der Modellabweichungen zwi schen Regelung und Ausf hrung Die Erweiterung von CORED zu CORED CONTROL f hrt zu diesem Zweck eine anwendungsgewahre Schnittstelle ein um die geeignete R ckkopplung der zeitlichen Eigenschaften ohne die Notwendigkeit einer funktionalen Anpassung der Regelungsan wendung zu erm glichen Diese umfasst neben Messgr e und Messwert den zeitlichen Versatz der Quelle im Sinne der Eingabelatenz oder alternativ die sich hieraus ergebende Messunsicher
317. ss an die eigentliche Durchfiihrung eines Experiments wird dessen Ausgang durch die Clients wiederum in der Datenbank abgelegt Die Bewertung basiert schlie lich auf einem Vergleich mit dem Ergebnis des initial durchgef hrten fehlerfreien Testlaufs Grunds tzlich klassi fizieren sich die Auswirkungen der Fehlerinjektion gem der bekannten Fehlerfolgen Ohne Auswirkung Der durch den injizierten Fehler verursachte Defekt wird im weiteren Verlauf verdeckt Diese Auswirkung deutet entsprechend auf Redundanzen in der Anwendung hin Erkannte Fehler Diese Klasse fasst alle Arten der Fehlersignalisierung zusammen welche ei ne gegebenenfalls auch sp tere Behandlung der Fehlersituation erlauben Entsprechend untergliedern sich die erkannten Fehler in CoRED arithmetische Codierung Der Fehler wurde durch die arithmetische Codierung bei der n chsten Verwendung beziehungsweise berpr fung des Wertes erkannt Hardwareausnahme Die Hardware signalisiert ihrerseits einen unzul ssigen Vorgang oder Fehler wie zum Beispiel eine Division durch null engl division by zero oder eine unzul ssige Instruktion engl illegal instruction Schutzverletzung Programmcode Speicher Der injizierte Fehler f hrt zu einer durch die Hardware beziehungsweise das Betriebssystem erkennbaren Verletzung engl ac cess violation der r umlichen Isolation des Prozesses Dies umfasst Spr nge aus dem lokalen Programmcode engl out of scope jumps oder unzul ss
318. stung 4 3 1 Fehlerinjektion auf der Befehlssatzebene Die Injektion von Fehlern auf der Befehlssatzebene erm glicht die gezielte Verf lschung von In struktionen und Speicherzellen als den kleinsten Strukturelementen der Software KKA95 BPO3 Die Fehlerinjektion auf dieser Ebene erlaubt folglich die direkte berpr fung des in Kapitel 2 1 1 eingef hrten Fehlermodells durch die Erzeugung fehlerhafter Operanden Operatoren und Berech nungsergebnissen Jedes Einzelexperiment setzt sich hierf r zusammen aus Fehlermuster Fehlerort Register oder Instruktion und Zeitpunkt AAA 90 Das Fa L Fehlerinjektionswerkzeug F r die Evaluation auf der Befehlssatzebene wurde das FAIL Fehlerinjektionswerkzeug SHK 12 genutzt Dieses basiert auf dem Bochs Emulator Law96 und erlaubt die strukturierte und repro duzierbare Injektion von Fehlern in den Hardwarekontext im Zuge der Ausf hrung der Software Die Beschreibung einer Fehlerinjektionskampagne engl fault injection campagain erm glicht da bei die automatisierte Generierung von Einzelexperimenten zur systematischen Abdeckung des gesamten Fehlerraums Die technische Umsetzung von FAIL untergliedert sich in einen Server f r die Verwaltung der Kampagne engl campaign manager sowie einer Menge an Clients welche unabh ngig voneinander die Einzelexperimente durchf hren Durch die m gliche Verteilung der Aufgaben auf mehrere Rechner sind somit auch umfangreiche Kampagnen sinnvoll durchf hrba
319. sungsansatzes 11 Fehlerausbreitung Vom Bitfehler zum Systemversagen 21 Entwurfsentscheidungen bei der Implementierung von Fehlertoleranz 26 Die Grenzen der Fehlertoleranz Der Redundanzbereich 27 F r den L sungsansatz prinzipiell unzweckm ige Fehlertoleranzma nahmen 32 Grundlegendes Prinzip von Codierungsverfahren 2 2 222222 33 Beispiel einer Codierungsvorschrift oaoa 34 Entwurfsalternativen f r die Darstellung von Codew rtern 35 Strukturelle Redundanz in Form einer dreifach redundanten Ausf hrung 40 Zuverl ssigkeit eines dreifach redundanten Systems 2 2 2 2 222 49 Entwurfsalternativen eines dreifach redundanten Systems 50 bersicht ber den CORED Ansatz 2 ee 56 Verschiedene Arten der Eingangsreplikation in CORED 58 Typische Abweichung der Eingangssignale eines Sensorsystems 60 Akzeptanzmaskierer f r die Eingangsreplikation nichtdeterministischer Quellen 61 Fehlertolerante Auslegung des CORED Mehrheitsentscheiders 70 bersicht ber die CORED Dienstschicht 2 222222 eee ee ee 71 Die Restfehlerwahrscheinlichkeit im Verh ltnis zur Informationsredundanz 77 Minimale Hamming Distanz fiir einen 32 Bit Code mit 16 Bit Codierungsschliisseln 78 Bin re Darstellung nicht systematischer arithmetischer Codes 82 Vereinfachte Darstellung der Fehlersimulation von 1 fach
320. t Yc Zc werden durch die allgemeinen Eigenschaften der ANBD Codierung erkannt Hierf r sind insbesondere die individuellen Variablensignaturen Bx By Bz sowie der rundenba sierte Zeitstempel D relevant Es verbleibt die Klasse der Operatorfehler und entsprechend ein von au en nicht erkennbares Versagen des CORED Mehrheitsentscheiders Die eingesetzten Sprungsi gnaturen Bg und Bay erlauben auch hier eine zuverl ssige Fehlererkennung dieser verbleibenden Fehlerklasse und insbesondere auch der m glichen Kontrollflussfehler des Mehrheitsentscheiders Die Wirkungsweise der Fehlererkennung im Hinblick auf Kontrollflussanomalien illustriert Pro grammausschnitt 3 5 am Beispiel zweier Fehlerszenarien Die korrekte Ausf hrung des falschen Entscheidungszweigs durch einen Sprungfehler geh rt zu den augenf lligen Auswirkungen eines Kontrollflussfehlers In diesem Fall ist die Evaluierung einer bedingten Anweisung bezie hungsweise der daraufhin folgende Sprung fehlerhaft und f hrt so in einen falschen Zweig Dieses Verhalten wird beispielsweise durch transiente Fehler in den f r den Vergleich genutzten Registern oder Merkern verursacht Im konkreten Beispiel x y 2 verzweigt die Bedingung in Zei le 3 x y aufgrund eines transienten Fehlers f lschlicherweise in den if Zweig Im weiteren Verlauf wird der Vergleich in Zeile 4 zu der Annahme f hren dass z den Abweichler darstellt Entsprechend wird die fehlerhafte Variante x als Gewinner au
321. t of the overall fault detection performance in comparison to similar approaches CORED considers the input data acquisition and the output data distribution and thereby features a full input to output protection of safety critical applications which can be even extended over system boundaries Control applications usually possess designated reliability requirements because of their safety related control function and close coupling with the physical environment Therefore the general feasibility of CORED is demonstrated by the example of the mission critical flight control of the 14Copter unmanned aerial vehicle The approach can be applied transparently to the application developer in terms of functional aspects However the redundant execution of the application is inevitably interfering with the temporal properties assumed by the controllers design This poten tially has a negative impact on the control performance and thereby complicates the implementati on of CORED based fault tolerance in safety critical control applications With CORED CONTROL this thesis additionally explores an appropriate application aware interface for CORED in order to support and simplify the mapping of control activities to replicable processes of the underlying real time operating system This interface also enables the feedback of the changing temporal properties to the control application 163 164
322. t zur ckgesetzt Bekannte Einsatzbereiche sind transaktionsbasierte Datenbanksysteme oder auch die bereits erw hnten Kommuni kationsprotokolle Die R ckw rtskorrektur erfordert kein dediziertes Anwendungswissen und kann daher unabh ngig und transparent implementiert werden Zudem ist auch keine strukturelle Redundanz in Form von zus tzlichen Replikaten erforderlich Nachteilig sind die inh renten Kosten des Ansatzes durch die notwendige Erstellung und Verwaltung der R cksetzpunkte sowie der Zeitaufwand f r die Wiederherstellung im Fehlerfall Dar ber hinaus sind lediglich Absoluttests anwendbar was eine vollst ndige Fehlererfassung in der Regel deutlich erschwert Vorw rtskorrektur engl forward error recovery berf hrt die fehlerhaften Komponenten direkt in einen konsistenten Zustand Im Gegensatz zur R ckw rtskorrektur erfordert dies weder Wissen ber die Vergangenheit noch eine Wiederholung des fehlerhaften Abschnitts Die Her stellung des konsistenten Zustands und der Weiterbetrieb des Systems basiert entsprechend alleine auf anwendungsspezifischem Wissen und entsprechenden Fehlfunktionsannahmen Die Einnahme eines sicheren Zustands und die Beendigung engl fail stop beziehungs weise der Neustart engl restart der entsprechenden Funktion sind g ngige Varianten der Vorw rtskorrektur So l sst sich ein fehlerhafter Stellwert einer Regelungsanwendung unter Umst nden dadurch beheben dass dieser im aktuellen Schritt verworfen
323. te k nnen bereits im regul ren Entwurf enthalten sein sofern die Aus f hrungszeit auch im unreplizierten Fall relevant ist Hier gen gt prinzipiell die Anpassung der entsprechenden Zeitkonstante um die Totzeit bis zur Stellwertausgabe auch im replizierten Fall miteinzubeziehen Im Allgemeinen ist eine geeignete Behandlung der durch die Rechenzeit ent stehenden Totzeiten auf einem Rechensystem eher un blich beziehungsweise in hohem Ma e anwendungs und systemspezifisch T r98 Dies gilt im Besonderen auch f r die zeitlichen Ab st nde innerhalb der Echtzeitdatenbasis Insgesamt stellt die Herabsetzung der Regelg te ein generelles Problem der Replikation dar Zu dessen L sung ist eine geeignete Ber cksichtigung der zeitlichen Eigenschaften der Ausf hrung in der Regelungsanwendung zweckm ig Dies bedingt in der Regel jedoch die Anpassung und Erweiterung der bestehenden Anwendung Fehlende R ckkopplung Die Annahmen des regelungstechnischen Entwurfsmodells an das temporale Verhalten des Rechensystems sind auf Betriebssystemebene weder offensichtlich noch existieren in den g ngigen Entwurfsverfahren geeignete Schnittstellen um dieses zu beeinflussen Insgesamt erscheint die fehlende R ckkopplung der zeitlichen Auswirkungen der Replikation zwischen Regelungsanwendung und Ausf hrungsumgebung problematisch 6 1 3 Verschmelzung zeitlicher Dom nen Ein weiteres Problem ergibt sich aus der technischen Umsetzung der Regelungsanwendung du
324. tellt Somit ist eine direkte Ber cksichtigung des zeitlichen Verhaltens der redundanten Regelung m glich Im Gegensatz dazu f hrt CORED die Replikation nachtr glich in Form zus tzlicher Prozessinkarnationen und ohne Kenntnis der Anwendungseigenschaften auf der Ebene des Betriebssystems durch Es ist somit keine R ckkopplung zwischen der eingef gten Redundanz sowie der hierdurch ver nderten 123 124 KAPITEL 6 WEITERF HRENDE BETRACHTUNG CORED CONTROL Zeit sek 0 7 0 5 F 0 4 l l l l 0 3 H N Unerw nschtes Regelverhalten l l l l l Nickwinkel rad 0 2 0 1 o l 0 2 4 6 8 Sollwert Einfache Ausf hrung Replizierte Ausf hrung Abbildung 6 1 Auswirkung der replizierten Ausf hrung auf die Regelg te am Beispiel einer Fluglageregelung Durch den h heren Laufzeitbedarf der replizierten Ausf hrung entsteht ein durch die Regelungsanwendung nicht ber cksich tigter zeitlicher Abstand zwischen Parametererfassung und Stellwertausgabe In der Folge kann es zu einer signifikanten Herabsetzung der Regelg te kommen Im Falle der dargestellten Fluglageregelung zeigt sich folglich ein im Vergleich mit der unreplizierten Variante ausgepr gtes Schwingungsverhalten bei der Anpassung der F hrungsgr e Ergebnis einer Simulation von Modell und Regelstrecke in MATLAB SIMULINK des 4Copter Fluglagereglers Der zeitliche Versatz der beiden Varianten wurde aus Messungen auf der
325. ten der rasanten Leistungssteigerung der Rechensysteme ebenso fortschrittliche Konzepte im Bereich der Systemsoftware wie Mehrprozessbetrieb und Nebenl ufigkeit die Einbeziehung des Betriebs mittels Energie oder auch mit dem Aufkommen leistungsf higer Kommunikationsnetzwerke die Unterst tzung verteilt arbeitender Systeme um nur einige Beispiele zu nennen Die Systemsoftware bildet die Schnittstelle zwischen dem eigentlichen Rechensystem und der Anwendungssoftware Zu ihren zentralen Aufgaben z hlen dabei die Abstraktion von den Im plementierungsdetails der Hardware die Verwaltung der Betriebsmittel sowie die Bereitstellung von Strukturmitteln f r die logische Aufteilung der Anwendungssoftware Zu diesem Zweck stellt die Systemsoftware dem Anwendungsentwickler abstraktere Schnittstellen zur Verf gung welche ihrerseits wiederum h ufig als abstrakte virtuelle Maschinen gesehen werden Die Abstraktion findet blicherweise in dedizierten Schichten Tan06 statt zum Beispiel beginnend auf der Ebene der Hardware beziehungsweise Befehlssatzarchitektur ber das Betriebssystem bis hin zu einer Zahl von darauf aufbauenden Dienstschichten engl middleware Das Ziel jeder Schicht ist es Komplexit t zu verbergen und auf oberster Ebene im Sinne des Anwendungsentwicklers eine optimale Abstraktion zu erreichen Als Vermittler zwischen Anwendung und Rechensystem bildet die Systemsoftware dabei nicht nur die funktionalen sondern auch die nicht funktio
326. ten Luftfahrzeugs I4Copter ist in diesem Zusammenhang ein forderndes und praxisnahes Fallbeispiel f r den Einsatz von CoRED Das hardwaretechnische Herz stellt dabei der in der Fahrzeugelektronik weitverbreitete Infineon TriCore TC1796 Mikrocontroller dar Daran angeschlossen findet sich eine umfangreiche und redundant ausgelegte Inertial Sensorik sowie ein intelligentes Aktorsystem Die Anwendung von CORED auf die Regelungsanwendung des I4Copters geht entsprechend einher mit einem Wechsel der Ausf hrungsplattform Die hierf r angezeigte erneute berpr fung der Effektivit t des CORED Mehrheitsentscheiders auf der Befehlssatzebene zeigt dass die zuver l ssige und vollst ndige Fehlererkennung auch auf der TriCore Plattform gegeben ist Im Gegensatz zu den Untersuchungen auf der IA32 Plattform wurde die Fehlerinjektion im Falle des TriCores mithilfe eines Diagnose Programms auf der realen Hardware durchgef hrt was die Ergebnisse der bisherigen Untersuchungen zus tzlich st tzt und unterstreicht Den eigentlichen Kern des Fallbeispiels stellt jedoch die Replikation der Fluglageregelung dar Die praktische Anwendbarkeit von CORED erweist sich dabei im Allgemeinen als sehr gut Die redundante Auslegung der eigentlichen Regelung erfordert lediglich die Vervielf ltigung der ent sprechenden Prozessinkarnation und den nachgeschalteten Mehrheitsentscheid Die Fallstricke liegen in diesem Beispiel in den Eing ngen in Form der Sensorik und Signalverarbei
327. tencodierung existieren f r die Um setzung von arithmetischer Codierung verschiedene Strategien und Codierungsvorschriften Diese unterscheiden sich vornehmlich in den unterst tzten arithmetischen Operatoren dem erzielbaren Redundanzbereich sowie der tats chlichen Abdeckung des Fehlermodells Tabelle 2 1 gibt einen berblick ber relevante und in Software umsetzbare Varianten sowie deren Eigenschaften Generell gilt f r arithmetische Codierung dass sie auf ganzzahlige Arithmetik beschr nkt ist Es lassen sich entsprechend auch nur ganzzahlige Werte codieren wobei sich andere Darstel lungen zumeist in Software nachbilden lassen Sch11b F r die Realisierung einer effektiven Fehlertoleranz ist zudem die Codierung der gesamten zu sch tzenden Anwendung erforderlich In der Folge m ssen entsprechend alle sicherheitskritischen Berechnungen l ckenlos durch codierte Operatoren darstellbar sein F r alle Varianten gelten die folgenden gemeinsamen Eigenschaften beziehungsweise Bezeichner v bezeichnet den funktionalen uncodierten Wert Datenwort beziehungsweise die Variable mit dem entsprechenden Bezeichner A repr sentiert die f r die Codierung verwendete Konstante den Codierungsschl ssel Ve bezeichnet die codierte Repr sentation Codewort der Variablen v im Folgenden auch codier ter Wert genannt Oc stellt die codierte Variante einer arithmetischen Operation dar Diese erlaubt die Durchf hrung der Berechnung auf
328. tergehende Forschungsfragen und zuk nftige Arbeiten 1 6 Typographische Konventionen In der vorliegenden Arbeit werden verschiedene Schriftbildkonventionen zur Darstellung bestimm ter Termini sowie zur Hervorhebung wichtiger Aussagen verwendet Die Einf hrung neuer Begriffe erfolgt durch Kursivschrift Diese dient dar ber hinaus auch als allgemeines Stilmittel f r die text bezogene Betonung oder Hervorhebung wichtiger Ergebnisse und Aussagen Die Darstellung von Quellcode erfolgt in nichtproportionaler Schrift Eigen und Produktnamen sowie Werkzeuge werden soweit nicht anderweitig vordefiniert durch KAPIT LCHEN gekennzeichnet Dar ber hinaus werden an verschiedenen Stellen im Text Einsch be genutzt Die jeweilige Bedeutung ergibt sich hierbei aus der Gestaltungsform Exzerpt Fasst die wichtigsten Punkte des vorangegangenen Abschnitts zusammen Exkurs Gibt ber essentiellen Punkte hinausgehende Hintergrundinformationen 1 7 Zugeh rige Veroffentlichungen Die in dieser Dissertation enthaltenen Ideen und Ergebnisse wurden zum Teil bereits in den folgen den Publikationen ver ffentlicht 14 KAPITEL 1 EINLEITUNG UND MOTIVATION Elsner C Ulbrich P Lohmann D und Schr der Preikschat W 2010 Consistent Product Line Configuration Across File Type and Product Line Boundaries In K Kang Hg Proceedings of the 14th Software Product Line Conference SPLC 10 Band 6287 von Lecture Notes in Computer Science
329. ternen hat Sie besteht zum gr ten Teil aus Protonen mit einer hohen Teilchenenergie von circa 1GeV Die Flussdichte betr gt rund 36 000 Partikel cm h Sekund re kosmische Strahlung Ab einer H he von rund 20 km kollidieren die Teilchen der Prim rstrahlung mit den in der Atmosph re enthaltenen Atomen Aus einem Proton entsteht dabei in einer Kaskade Millionen Teilchen der sekun d ren kosmischen Strahlung Zu ihnen geh ren haupts chlich Neutronen Pionen und Myonen Die Halbwertszeit der Pionen und Myonen liegt im Bereich von Mikro beziehungsweise Nanosekunden weshalb diese sehr schnell zerfallen Demgegen ber liegt die Halbwertszeit der Neutronen bei ann hernd 15 Minuten wodurch die Kaskade fortgesetzt wird bis die Teilchenenergie nicht mehr f r eine weitere Spaltung ausreicht Der Neutronenfluss variiert dadurch in Abh ngigkeit von der H he wie in Abbildung 1 2 links dargestellt Die folgende Gleichung liefert n herungsweise die Zunahme der Neutronenflussdichte wobei H die H he in Kilometer ist em Flusszunahme ber Meeresspiegel a E Neben der H he spielt noch die St rke des Erdmagnetfelds in Abh ngigkeit des L ngen beziehungs weise Breitengrads eine Rolle Entsprechend genauere Berechnungsmethoden bilden gleichwohl die Basis f r korrespondierende Industriestandards JED06 Terrestrische kosmische Strahlung Unter der terrestrischen kosmischen Strahlung versteht man die Teilchenstrahlung die tats chlic
330. tet Ein gegenteiliges Bild ergibt sich jedoch in den Grenzf llen engl borderline bit errors welche den bergang von der zuverl ssigen Fehlererkennung hin zu einer geringf gigen berbeanspru chung der Codierung darstellen Da die tats chliche Grenze von der Hamming Distanz des jewei ligen Codes abh ngt fasst der Graph entsprechend die Bitfehler von zwei bis vier Bit zusammen und stellt den Bereich zwischen dem jeweils gr ten und kleinsten Messwert dar Abh ngig von dem gew hlten Codierungsschl ssel variiert die Restfehlerwahrscheinlichkeit in diesem Bereich teilweise um ein Vielfaches und ergibt die dargestellte Spanne der Ausrei er Wie schon bei der Bestimmung der Hamming Distanz erschweren diese Ausrei er eine einfache Auswahl geeig neter Codierungsschl ssel Problematisch ist in diesem Zusammenhang vor allem die teilweise berschreitung der vorhergesagten Restfehlerwahrscheinlichkeit als angenommene Schranke 86 KAPITEL 4 EFFEKTIVE FEHLERERKENNUNG IMPLEMENTIERUNG UND EVALUATION Simulation der Restfehlerwahrscheinlichkeit f r alle Werte in 1 2 0 10 T T T T Ti 1 1 __Einzelbitfehler bei A 2 g gt 10 h 2 x 5 lt D g 10 oO 3 u 2 x 3 40 Besser 15 Codierungsschl ssel A 16 F r gutm tige Codierungsschl ssel in 1 2 T 10 77 T Restfehlerwahrscheinlichkeit p 15 2 Codierungsschl ssel A
331. tischer Feh lerinjektion Zu diesem Zweck werden zun chst die Grundlagen der Fehlerinjektion eingef hrt Darauf aufbauend erfolgt eine detaillierte Betrachtung der notwendigen Parametrierung der ein gesetzten arithmetischen Codierungsverfahren Schlie lich wird die Implementierung von CORED schrittweise bis auf die Maschineninstruktionsebene auf ihre Effektivit t hin evaluiert 1 6 TYPOGRAPHISCHE KONVENTIONEN 13 Anwendungsebene Replikation von Regelungsanwendungen Kapitel 5 untersucht die Umsetzbarkeit des Gesamtansatzes anhand einer Fallstudie mit der Fluglageregelung eines Quadrocopters Das System wird zu diesem Zweck entsprechend der CoRED Methodik von Grund auf redundant ausgelegt Dies umfasst die gesamte Kette von der Sensorik ber die Regelungsanwendung bis zur Aktuatorik Die Evaluation erfolgt wiederum mittels systematischer Fehlerinjektion Kapitel6 analysiert die Auswirkungen der Replikation auf die Regelg te der Anwendung Basie rend auf dieser Analyse erweitert dieses Kapitel CORED durch die Einf hrung einer geeigneten Schnittstelle zwischen Regelungsanwendung und Ausf hrungsumgebung sowie einer darauf auf bauenden Regelungsarchitektur f r die Modularisierung der Anwendung zu CORED CONTROL Zusammenfassung und Ausblick Kapitel 7 fasst die wesentlichen Punkte dieser Arbeit zusammen und bewertet Sie entsprechend der eingangs formulierten Probleme und Ziele Dar ber hinaus gibt dieses Kapitel einen Ausblick auf wei
332. triebssystem Weiterhin senkt die feingranulare Aufteilung der Regelungsanwendung die Latenz bis zu der Erkennung von Fehlern und erm glicht dar ber hinaus die individuelle Behandlung von besonders kritischen beziehungsweise unkritischen Pfaden in der Regelungsanwendung 1 5 Kapiteluberblick Diese Arbeit gliedert sich in zwei wesentliche Themenkomplexe Zum einen in die Systemebene und die Eliminierung der kritischen Fehlerstellen in softwarebasierter Redundanz Zum anderen die Anwendungsebene und die Umsetzung der Fehlertoleranz im Kontext von sicherheitskritischen Regelungsanwendungen Systemebene Fehlertoleranzbausteine Kapitel 2 f hrt zun chst in die Grundlagen softwarebasierter Fehlertoleranz ein und erl utert die f r diese Arbeit relevanten Begrifflichkeiten und Techniken Im weiteren Verlauf werden verwandte Arbeiten vorgestellt und diskutiert welche sich f r die Umsetzung der angestrebten Ziele und Anforderungen eignen Kapitel3 charakterisiert zun chst die kritischen Fehlerstellen in der softwarebasierten Replika tion Darauf aufbeuend entwickelt dieses Kapitel den kombinierten Redundanzansatz CORED engl Combined Redundancy und damit das R stzeug f r die gezielte Beeinflussung der Zuver l ssigkeit auf der Systemebene Hierzu z hlt insbesondere der Entwurf des CORED Mehrheitsent scheiders und der zugeh rigen Replikationsinfrastruktur Kapitel4 zeigt die Effektivit t des kombinierten Redundanzansatzes mittels systema
333. tsentscheiders 3 8 ZUSAMMENFASSUNG 73 als codierte Operation welche sich nahtlos in die bestehende Codierung einf gen l sst Dies erlaubt die sichere berpr fung des Ergebnisses im Zuge der nachfolgenden Verwendung Die CoRED Mehrheitsentscheider stellen letztlich die erforderlichen W chter ber die W chter dar und erm glichen eine Fehlererkennung in der Replikationsinfratruktur und damit letztlich die vollst ndige Beseitigung der Zuverl ssigkeitsengp sse Aus Sicht des Anwendungsentwicklers f gt sich CORED als Dienstschicht auf Ebene des Be triebssystems ein Ausgehend von einem replizierbaren Prozesssystem mit definierten Eing ngen und Ausg ngen sind dabei keine weiteren Schritte notwendig Die arithmetische Codierung der Datenfl sse wie auch die hierf r notwendige Verwaltung der Codierungsschl ssel und Signaturen sind ebenso Teil der Dienstschicht und die m glicherweise notwendige Emulation der System schnittstellen und Treiber Durch die Eliminierung der kritischen Fehlerstellen erm glicht CORED die gezielte Beeinflussung der Zuverl ssigkeit der zu sch tzenden Anwendung Dabei reduziert sich die Zuverl ssigkeitsbetrachtung auf die g ngigen Verfahren f r die Replikation wie sie in Kapitel 3 1 2 vorgestellt wurden 74 KAPITEL 3 DER KOMBINIERTE REDUNDANZANSATZ CORED Von der Theorie in die Praxis Effektive Fehlererkennung Implementierung und Evaluation Der Entwurf des CORED Ansatzes im vorangegangen
334. tung Hier erweist sich ausgerechnet das gezielt redundant ausgelegte Sensorsystem als hinderlich f r eine transparente Replikation Die Gr nde liegen vor allem in dem nichtdeterministischen Verhalten der Messwerte untereinander Dieses erfordert den Einsatz eines Akzeptanzmaskierers an den Eing ngen und f hrt somit zum einen zu einer Auftrennung von Messwertabfrage und Signalver 122 KAPITEL 5 FALLBEISPIEL I4COPTER arbeitung Zum anderen setzt dies einen geeigneten Akzeptanztest voraus welcher im konkreten Fall zun chst nicht zug nglich war obwohl er durch die Sensorfusion grunds tzlich vorhanden ist Die entsprechende Anpassung der Signalverarbeitung stellt jedoch eine allgemeine Vorausset zung f r deren Replikation dar und ist nicht spezifisch f r CORED Die durch CORED induzierten Kosten sind vergleichsweise klein F r die replizierte Fluglage regelung nur FlightControl ergeben sich zus tzliche Laufzeitkosten von unter einem Prozent im Vergleich zu einem funktions quivalenten regul ren TMR System Dar ber hinaus bietet der Duplexbetrieb mit Bereitschaftsreplikat ein gro es Einsparungspotential Die Replikation ist hierbei optimistisch und f hrt das dritte Replikat lediglich im Fehlerfall aus Der notwendige Zustandsver gleich l sst sich dabei in idealer Weise auf das regul re CORED Schema abbilden Die Zust nde des Duplexsystems werden zu Ausg ngen und somit zu einem regul ren Teil des Mehrheitsentscheids Der fehl
335. twarebasierte Redundanz durch Replikation von Prozessinkarnationen auf Ebene des Betriebssystems Das Ziel ist es den Redundanzbereich auszudehnen und die kriti schen Fehlerstellen in der softwarebasierten Redundanz zu eliminieren ohne dabei die Selektivit t des Grundansatzes zu verlieren Der Ansatz unterscheidet dabei in Datenfl sse zwischen gesch tz ten Dom nen und die zwingend notwendigen Mehrheitsentscheider engl voter Eine ad quate L sung f r die Absicherung der Datenfl sse ist der Einsatz fehlererkennender Codes Die eigentli che Herausforderung liegt in den Mehrheitsentscheidern da diese zus tzlich ber einen eigenen Kontrollfluss verf gen F r eine vollst ndige Fehlererkennung m ssen diese daher um zus tzli che Ma nahmen zur Kontrollfluss berwachung erweitert werden Das Ziel des Ansatzes ist es eine geeignete Kombination aus redundanter Ausf hrung und Codierungstechniken in Daten und Kontrollfl ssen zu finden und ihre Eignung hinsichtlich einer durchgehenden Fehlererkennung gegen ber transienten Fehlern nachzuweisen Beitrag dieser Arbeit Diese Arbeit eliminiert im Allgemeinen die kritischen Fehlerstellen in softwarebasierter Re dundanz und erm glicht so die systematische und vollst ndige Beeinflussung der Zuver l ssigkeit unabh ngig von der Hardware Der Ansatz vereinfacht zudem im Speziellen die funktionale wie temporale Abbildung von Echtzeitregelungsanwendungen durch die Einf h rung einer anwendungsor
336. tz voneinander abweichen Liest die Anwendung beispielsweise den Wert eines Zeitgebers so wird die replizierte Ausf hrung mit hoher Wahrscheinlichkeit zu unterschiedlichen Zeitwerten und damit potenziell zu korrekten jedoch abweichenden Ergebnissen f hren Um dies zu vermeiden ist daher eine geeignete und konsistente Replikation der Eing nge zwingend erforderlich Kop97 Im Kontext softwarebasierter Fehlertoleranz wird die mehrfache Ausf hrung von Instruktionen oder Instruktionsfolgen teilweise auch der zeitlichen Redundanz zugerechnet und als Temporal 2 2 VERWANDTE ARBEITEN 41 oder Time Redundancy bezeichnet GRRVO6a Dieser Betrachtung folgend werden nicht die Struk turelemente sondern die Ausfiihrungszeit repliziert und die Fehlererkennung entsprechend der temporalen Diversit t zugerechnet Im Rahmen dieser Arbeit wird die replizierte Ausf hrung unabh ngig von der konkreten Implementierung als strukturelle Redundanz angesehen Allgemeine Fehlertoleranzeigenschaften Die Fehlererkennung beruht bei der Replikation im Gegensatz zur Codierung alleine auf dem Vergleich der Ausgaben der redundanten Ausf hrung Entscheidend ist das Fehlverhalten an den Au engrenzen der Replikate welches sich im Zuge eines Relativtests aufdecken l sst Der entste hende Redundanzbereich entspricht folglich dem Replikationsbereich vgl Abbildung 2 8 und ergibt sich aus den vervielf ltigten Strukturelementen Die erzielbare Fehlererfassung im Rahmen
337. tzeitsystem F r die Replikation bietet sich diese Transformation insbesondere wegen des geforderten Replikdeter minismus an welcher sich in einem taktgesteuerten System vergleichsweise einfach umsetzen l sst Der RTSC bernimmt als Eingabe ein Quellsystem zusammen mit einer Beschreibung von dessen spezifischen Echtzeiteigenschaften in Form eines Systemmodells Die Replikation einzelner Anwendungsteile erfolgt durch eine geeignete Annotation der Systembeschreibung automatisiert im Zuge des Transformationsprozesses Erweiterte Transformation von Regelungsanwendungen Eine herausragende Eigenschaft des RTSC ist die Analyse der Abh ngigkeiten und zeitlichen Eigen schaften des Quellsystems ebenso wie die des erzeugten Zielsystems Die f r CORED CONTROL 142 KAPITEL 7 ZUSAMMENFASSUNG UND AUSBLICK Schutzbed rfnis 0 5 7 2E Echtzeitbed rfnis Schutz Echtzeitbed rfnis 05 1 Regelungszyklus Abbildung 7 1 Inh rente Fehlertoleranz versus zeitliche Anforderungen der I4Copter Fluglageregelung Dieses schematische Beispiel veranschaulicht die angenommene inh rente Fehlertoleranz der Fluglageregelung im Vergleich zu ihren zeitlichen Anforderungen Das Schutzbed rfnis steigt im Zuge der Verrechnung der redundanten Messwerte konti nuierlich an Demgegen ber sind die zeitlichen Anforderungen allem im Zuge des Abtastens beziehungsweise Setzens sehr hoch w hrend sie in der Berechnungsphase auf einem niedrigen N
338. tzenden Elemente der Anwendung Erwartungsgem existiert durch die historische Entwicklung im Bereich fehlertoleranter Sys teme sowie die m glichen Umsetzungsalternativen aus Redundanzart Redundanzstrategie und Implementierungsebene eine Vielzahl von Ans tzen die geeignet sind transiente Fehler zu erken nen und gegebenenfalls auch zu behandeln Bislang wurden jedoch keine Arbeiten ver ffentlicht die sich dediziert mit den L cken beziehungsweise den kritischen Fehlerstellen in softwarebasierter Redundanz befassen Vielmehr ist dies eine inh rente Eigenschaft jeder Redundanztechnik und ein wichtiger wenn auch wenig expliziter Aspekt bei der Implementierung von Fehlertoleranz im Allgemeinen Die zu untersuchenden Fehlertoleranzeigenschaften definieren und verfeinern sich schrittweise ausgehend von der Redundanzart ber die Redundanzstrategie bis hin zur kon kreten Redundanztechnik Entsprechend orientiert sich der verbleibende Teil dieses Kapitels an der bekannten Einteilung der Redundanzarten und beleuchtet die verwandten Arbeiten jeweils 2 2 VERWANDTE ARBEITEN 31 ausgehend von den Gemeinsamkeiten und allgemeinen Fehlertoleranzeigenschaften bis zu den Spezifika der jeweiligen Implementierung Im Hinblick auf die Ziele dieser Arbeit sind vor allem die folgenden Aspekte fiir die weitere Betrachtung verwandter Arbeiten von Bedeutung Fehlertoleranzeigenschaften und Effektivit t Erm glicht die dem Ansatz zugrunde liegende Redunda
339. udem der Zusammenhang zwischen dem gew hlten A und der resultierenden Restfehlerwahr scheinlichkeit p a auf der Befehlssatzebene berpr ft Die Ergebnisse dieser Untersuchung sind in Tabelle 4 5 dargestellt In dieser Auswahl weisen alle Schl ssel einen minimalen Hamming Abstand von zwei auf Entsprechend berstrapazieren die injizierten Doppelbitfehler die entste henden Codes Diese zeigen sich wie erwartet anf llig f r unerkannte Datenfehler wobei ihre Zahl erheblich schwankt Die Korrelation zwischen der simulierten Restfehlerwahrscheinlichkeit und der gemessenen Zahl unerkannter Datenfehler ist mit 99 86 Prozent sehr hoch Die Zahlen st tzen somit die in Kapitel 4 2 5 vorhergesagte Streuung der Restfehlerwahrscheinlichkeit in Ab h ngigkeit des gew hlten As auch f r die konkrete Umsetzung des CORED Mehrheitsentscheiders Ausblick auf schwerwiegendere Mehrfachbitfehler Durch die geeignete Wahl der Codierungsschl ssel lassen sich mit CORED prinzipiell bis zu 5 fach Bitfehler in 32 Bit Codes zuverl ssig erkennen Ein entsprechender Nachweis ist jedoch aufgrund der mit der Bitfehlerzahl dramatisch zunehmenden Gr e des Fehlerraums kaum mehr m glich Dieser vergr ert sich von 3 59 10 f r 3 Bit auf 2 90 10 im Falle der 5 fach Bitfehler Um den noch einen gewissen Einblick in die Dom ne der Mehrfachbitfehler zu gewinnen wurden die Experimente f r 3 fach bis 5 fach Bitfehler mit einer zuf lligen Generierung der Fehlerm
340. udem existiert f r die R ckkopplung der Ausf hrungszeit kein direkter Zusammenhang zwischen Prozess inkarnation und Modellelementen der Regelung 6 1 4 Grundannahmen Der Fokus dieser Arbeit liegt auf der effektiven und weitgehend transparenten Replikation von Regelungsanwendungen Durch die Wechselwirkung zwischen der Zuverl ssigkeit und dem Zeit verhalten erweitert sich die Betrachtung nunmehr auf die Regelungsanwendung selbst Das Ziel ist letztlich die Bereitstellung eines f r die Replikation optimal geeigneten Prozesssystems der Anwen dung Des Weiteren soll die R ckkopplung der ver nderten zeitlichen Ausf hrungseigenschaften an die Regelung eine geeignete Kompensation ohne nderungen des regelungstechnischen Ent wurfs erm glichen Im weiteren Verlauf ergeben sich hierf r die folgenden Grundannahmen Eigenschaften der Regelungsanwendung Die Regelungsanwendung ist nach den g ngigen Entwurfsprinzipien f r die zeitdiskrete Regelung entworfen und entsprechend auf eine festgelegte Regelperiode optimiert Das Regelungsmodell umfasst dabei alle Teile der Regelstrecke von der Sensorik und Signalverarbeitung ber die eigent liche Regelung bis zur Ausgabe des Stellwerts Die zeitlichen Dom nen der einzelnen Teilaufgaben der Regelung sind jedoch weiterhin sichtbar und erlauben somit grunds tzlich eine Modularisie rung des Regelungsmodells unter zeitlichen Gesichtspunkten 6 2 CORED CONTROL ANWENDUNGSSCHNITTSTELLE 129 Beachtu
341. ufbau zuverl ssiger Systeme aus unzuverl ssigen Komponenten Die hierf r notwendige aktive Fehlererkennung beziehungsweise Fehlertoleranz erfordert in jedem Fall die Einbringung von Redundanz sei es auf Ebene der Hardware oder der Software Auf der anderen Seite f hrt gerade die Leistungsf higkeit der Hard ware zu immer neuen Anwendungsfeldern wie auch zur Konsolidierung mehrerer Anwendungen mit unterschiedlichen Schutzbed rfnissen auf einem System Hardwarebasierte Fehlertoleranz ist in vielen Bereichen aufgrund der fehlenden Selektivit t und der hohen direkten wie indirekten Kosten nicht zweckm ig Im Gegensatz dazu hat softwa rebasierte Fehlertoleranz engl software implemented hardware fault tolerance den Vorteil dass sie selektiv und unabh ngig von der Hardware angewendet und auch nachtr glich in das Sys tem eingebracht werden kann Im Rahmen dieser Arbeit wird sie zur gezielten Beeinflussung der Zuverl ssigkeit auf Ebene der Systemsoftware genutzt Problematisch sind in diesem Zusam menhang der eingeschr nkte Redundanzbereich beziehungsweise die kritischen Fehlerstellen wie zum Beispiel die Mehrheitsentscheider in g ngigen softwarebasierten Fehlertoleranzverfahren Diese Einschr nkungen haben mitunter weitreichende Auswirkungen auf die praktische Umsetz barkeit der entsprechenden Ans tze vgl Kapitel 1 3 Der in dieser Arbeit verfolgte L sungsansatz zielt daher darauf ab diese kritischen Fehlerstellen zu eliminieren und
342. ufteilung der Signal verarbeitung im I4Copter Fallbeispiel in Kapitel 5 2 2 hinaus gliedern sich auch die Beobachter f r die Rekonstruktion der nicht beobachtbaren Messgr en auf dieser Ebene ein Die von der Sensorik bereitgestellten zeitlichen Informationen werden nun f r die Anpassung der Messunsicherheit der jeweiligen Werte genutzt Hierdurch stimmen die Modellannahmen der Fusion beziehungsweise Zustandsrekonstruktion mit den tats chlichen Ausf hrungsbedingun gen berein Ein durch die Replikation entstehender zeitlicher Versatz l sst sich somit ebenso ber cksichtigen wie voneinander abweichende Abtastraten der einzelnen Messquellen Aus re gelungstechnischer Sicht sind die Elemente der Signalverarbeitung um Schnittstellen f r die ent sprechende Ber cksichtigung der zeitlichen Abweichungen und der intern ohnehin verwendeten Messunsicherheit zu erweitern Regelung Am Ende der Sensorfusion steht eine konsistente und den zeitlichen Gegebenheiten angepasste Echtzeitdatenbasis der beobachtbaren wie nicht beobachtbaren Me gr en bereit Diese werden nun f r die Berechnung der eigentlichen Regelungsalgorithmen auf der Regelungsebene heran gezogen Durch die Auftrennung der Regelung lassen sich die einzelnen Teilregler wiederum mit der f r sie optimalen Ausf hrungsperiode betreiben Im Falle der Fluglageregelung des I4Copters aus Kapitel 5 lassen sich beispielsweise die Regler f r die Fluglage und die Flugh he nunmehr getrennt vo
343. um on High Assurance Systems Engineering HASE 14 IEEE Computer Society Press Miami Florida USA doi 10 1109 HASE 2014 14 1 7 ZUGEH RIGE VER FFENTLICHUNGEN 15 In Ulbrich et al 2010 2011 2012a 2012c habe ich den Hauptbeitrag zum Entwurf der Imple mentierung sowie der Evaluation geleistet und war der Hauptautor der Publikation In Ulbrich et al 2012b und Hoffmann et al 2014 habe ich den Hauptbeitrag zum Entwurf einen ma geb lichen Beitrag zu der Implementierung und einen signifikanten Beitrag zur Evaluation geleistet und war der Hauptautor der Publikation In Elsner et al 2010 und Stillkerich et al 2011 war ich Nebenautor der Publikation und habe einen ma geblichen Betrag bei der Evaluation geleis tet In Schmid Sobolev und Ulbrich 2010 habe ich den Hauptbeitrag zum Entwurf und der Implementierung geleistet und war Nebenautor des Patents 16 KAPITEL 1 EINLEITUNG UND MOTIVATION Teil Systemebene Fehlertoleranzbausteine Softwarebasierte Fehlertoleranz In der Einleitung wurden bereits die Ursachen sowie Auswirkungen transienter Fehler skizziert Durch den technologischen Fortschritt nimmt zwar die Leistungsf higkeit und Parallelit t der Hard ware stetig zu Gleichzeitig ist jedoch davon auszugehen dass ihre Zuverl ssigkeit unabh ngig von den einzelnen Fehlerursachen immer weiter abnehmen wird Die Herausforderungen beim Entwurf sicherheitskritischer Anwendungen liegen einerseits im A
344. und die Berech nung im n chsten Schritt von einem Initialzustand von Neuem beginnt Wie schon bei der R ckw rtskorrektur kommen Absoluttests f r die Fehlererkennung zur Anwendung Die Feh lerbehebung ist nicht transparent durchf hrbar da sie ma geblich von den Eigenschaften der Anwendung abh ngt 30 KAPITEL 2 SOFTWAREBASIERTE FEHLERTOLERANZ Maskierung engl error masking compensation nutzt strukturelle Redundanz um den fehlerhaf ten Zustand und die betroffenen Komponenten zu verdecken Die Maskierung erfolgt dabei durch einen Maskierer eine zus tzliche Instanz die stellvertretend ein fehlerfreies Ergebnis ausw hlt und zur ckliefert Eine bekannte Realisierung hierf r ist der Mehrheitsentschei der Maskierer in einem dreifach redundanten Aufbau Der gro e Vorteil dieser Art der Fehlerbehandlung liegt in der Anwendbarkeit der Relativtests Durch die vollst ndige Fehler erfassung ist grunds tzlich ein beliebiges Fehlverhalten der Replikate maskierbar Da sowohl Maskierer als auch Relativtests anwendungsunabh ngig sind l sst sich die Fehlermaskierung vergleichsweise einfach implementieren Sie vermeidet dar ber hinaus den m glicherweise indeterministischen Wiederholungsbetrieb der R ckw rtskorrektur Nachteilig ist der hohe Aufwand f r die strukturelle Redundanz Im Kontext transienter Fehler sind die genannten Arten der Fehlerbehandlung im Allgemeinen ausreichend f r die Implementierung von Fehlertoleranz Auf eine R
345. ung kann die Anf lligkeit moderner Hardware gegen ber transienten Fehlern in vielen Anwendungsfeldern nicht mehr vernachl ssigt werden Hier sind insbesondere Konsumg ter wie Fahrzeuge oder Medizinger te zu nennen zehn Kilometern beispielsweise ist die Flussdichte um den Faktor 300 h her als auf Normalh hen null NHN Die in Flugzeugen eingesetzten Rechensysteme sind daher blicherweise gegen ber transienten Fehlern abgesichert zum Beispiel durch eine redundante Auslegung Yeh96 Zus tzlich zu den umweltbedingten Einfl ssen unterliegt die Ausfallrate durch transiente Fehler einer technologiebedingten Zunahme Diese Entwicklung l sst sich sehr anschaulich am Beispiel der ionisierenden Strahlung erl utern Die Fehlerursache ist hier eine Ladungsverschiebung inner halb des Halbleitermaterials die Wirkungsweise ionisierender Partikel erl utert der Exkurs auf Seite4 Damit sich ein Fehler tats chlich manifestieren kann muss die eingebrachte Ladung die zuvor bereits genannte kritische Ladung Q ri bersteigen Diese ergibt sich aus der Kapazit t ei ner Speicherzelle und deren Versorgungsspannung und liegt bei g ngigen Fertigungstechnologien im Bereich weniger Femtocoulomb fC Im Zuge der voranschreitenden Miniaturisierung sinken typischerweise sowohl die Versorgungsspannung als auch die Kapazit t wodurch immer weniger Elektronen f r die Darstellung der Schaltungszust nde zur Verf gung stehen Dementsprechend reicht auch eine im
346. ung und Replikataus f hrung erfolgen kann Da die Replikate einen unterbrechungsfreien Durchlauf aufweisen ist in diesem Fall jedoch eine zeitliche Abfolge zwischen berpr fung und Freigabe herzustellen zum Beispiel durch Einf hrung einer zus tzlichen Prozessinkarnation f r die Ausf hrung der Akzep tanztests Aufgrund der Einzelfehlerannahme und unter Duldung von falsch positiven Resultaten engl false positive l sst sich der Test jedoch in den Fehlerbereich des Mehrheitsentscheiders schieben Die berpr fung erfolgt hierbei auf einer vierten Kopie des Gewinners Abbildung 3 7 rechts Im Fehlerfall l sst sich der Mehrheitsentscheider direkt wiederholen 3 7 Systemkomposition In der Summe stellt CORED eine zuverl ssige Replikationsplattform zur Verf gung Durch die Eli minierung der kritischen Fehlerstellen ist eine gesonderte Betrachtung dieser Stellen nicht l nger notwendig Entsprechend l sst sich die f r die Anwendung sichtbare Fehlerrate gezielt reduzieren und damit die Zuverl ssigkeit erh hen F r die Umsetzung ist lediglich eine redundante Aus f hrung der Anwendung notwendig F r die Klasse der Regelungsanwendungen ist eine solche Replikation in der Regel einfach und transparent durchf hrbar ber das Eingangsbeispiel aus Abbildung 3 3 hinaus lassen sich dabei auch komplexere Anwendungen aus den CORED Struk turelemente zusammensetzen Insbesondere der codierte Transfer des Ergebnisses erlaubt hierbei auch die berp
347. us tzlicher Hardwareredundanz Analog zu den vorangegangenen compilergest tzten Verfahren auf der Befehlssatzebene l sst sich die Transformation ebenso auf dem Programmquellcode RRTV99 RRVTO1 NSV04 durch f hren Die erzielbaren Fehlertoleranzeigenschaften sind dabei weitgehend identisch Replikation auf Instruktionsebene hat den Nachteil der fehlenden Isolation zwischen den re plizierten Verarbeitungsstr men Die Replikate teilen sich einen gemeinsamen Hardwarekontext und sind entsprechend anf llig f r Kontrollflussfehler Die Fehlererfassung ist daher grunds tzlich unvollst ndig Der Redundanzbereich schlie t weiterhin jede Art von Peripherie und asynchronen Ereignissen aus Von Vorteil ist hingegen die feingranulare selektive Anwendbarkeit auf beliebige Teile des Systems Insgesamt zeigt sich die Replikation auf Instruktionsebene jedoch als wenig geeignet f r eine Implementierung der angestrebten Fehlertoleranzeigenschaften 2 3 Zusammenfassung F r die Auswahl und die Beurteilung geeigneter Fehlertoleranzma nahmen ist zun chst ein tiefe res Verst ndnis der Fehlersymptomatik und der Fehlerausbreitung unumg nglich Transiente Feh ler manifestieren sich initial in den kleinsten Strukturelementen der Software den Maschinen anweisungen Durch einen simplen Bitfehler in einem Register kann es durch Fehlerfortpflanzung schlie lich zu einem beobachtbaren Versagen der sicherheitskritischen Anwendung kommen Die hierbei entstehende
348. us problematisch f r die technische Umsetzung der arithmetischen Codierung So verweist Schiffel Sch11b aufgrund der Darstellung explizit auf den Einsatz von Fehlersimulation engl fault simulation vgl Kapitel 4 2 5 anstelle der Hamming Distanz um die Erkennungsleistung eines bestimmten Codierungsschl ssels zu ermitteln Abweichende Ergebnisse in der Literatur Tats chlich weichen die im vorangegangenen Abschnitt gefundenen Ergebnisse f r die Hamming Minimaldistanz teilweise von den Werten in der Literatur ab Die von Schiffel Sch11b f r eine geringe Zahl an Schl sseln durchgef hrten Experimente weisen mitunter Restfehlerwahrschein lichkeiten f r Fehlermuster aus die nach der Hamming Distanz gleichsam als fehlerfrei erwartet werden Diese Abweichungen stellen im Umkehrschluss die G ltigkeit und Anwendbarkeit der Hamming Distanz in Frage und verhindern damit potenziell auch die Auswahl eines geeigneten As f r die Erkennung einer bestimmten Zahl von Bitfehlern Fine Wiederholung der von Schiffel durchgef hrten Experimente mittels Fehlersimulation ergab die selben Abweichungen in der er warteten Restfehlerwahrscheinlichkeit und f hrte zu unerkannten Datenfehlern die gem der Hamming Minimaldistanz nicht h tten auftreten d rfen Fallstrick Bin re Darstellung Die Ursachen hierf r lassen sich auf die bin re Darstellung der Codew rter und deren Abbildung auf Maschinenworte zur ckf hren Abbildung 4 3 zeigt dies am Beisp
349. usammenhang f r eine erhebliche Streuung in der Erkennungsleistung und verhindert damit eine einfache Auswahl anhand der Schl sselgr e Eine L sung bietet der in CORED verfolgte zweistufige Prozess aus Hamming Distanz und Restfehlerwahrscheinlichkeit Gutm tigkeit der Codierungsschl ssel Entscheidend f r dessen Anwendbarkeit ist die Ber ck sichtigung der Coderaumgr en in der technischen Umsetzung der arithmetischen Codierung CORED erlaubt letztlich eine vollst ndige und zuverl ssige Fehlererkennung in den Codew rtern bis zur minimalen Hamming Distanz des jeweiligen Codes und verhindert dar ber hinaus einen unn tigen Verlust der Erkennungsleistung 4 3 Evaluation der CORED Implementierung Die Fehlersimulation beleuchtet bislang den Schritt vom theoretischen Entwurfskonzept zu einer technisch quivalenten Umsetzung der arithmetischen Codierung Transiente Fehler in Codew r tern werden durch CORED im Zuge der Decodierung bis zu einer Bitfehlerzahl von d 1 sicher erkannt Diese Betrachtung beschr nkt sich jedoch ausschlie lich auf den Datenfluss von der Codierung bis zur Decodierung Fiir einen analogen Funktionsnachweis des CORED Mehrheits entscheiders ist jedoch zus tzlich dessen Kontrollfluss von entscheidender Bedeutung Hierf r ausschlaggebend ist letztlich das durch den Compiler erzeugte Bin rprogramm engl binary sowie dessen Ausf hrung auf einer spezifischen Plattform Grunds tzlich weist der CORED Mehrheitsent
350. uss nahe dass die bestehenden Ans tze den allgemeinen Entwurfsvorgaben der Codierungstheorie folgen und die bin re Darstel lung entsprechend nicht oder nur unzureichend ber cksichtigen CORED l st diesen Fallstrick hingegen durch die fallspezifische Begrenzung der Codew rter auf den tats chlichen Coderaum Dies f hrt letztlich zu der in Programmausschnitt 4 1 hervorge hobenen zus tzlichen berpr fung der Coderaumgrenzen in Zeile 5 der Decodierungsfunktion decode oben Die Obergrenze v max l sst sich hierbei vorab aus der Gr e des Ursprungs raums dem Codierungsschl ssel sowie der eingesetzten Signaturen berechnen Dar ber hinaus m ssen zus tzlich auch die Sprungsignaturen des CORED Mehrheitsentscheiders entsprechend ber cksichtigt werden da diese wie in Kapitel 4 2 3 beschrieben durch CORED als eigenen Code aufgefasst werden Daher muss diese CORED spezifische Erweiterung des Mehrheitsentscheiders in gleicher Weise vor einem berlauf beziehungsweise Unterlauf des Coderaums der Signaturen gesch tzt werden Zu diesem Zweck f hrt CoRED die in Zeile 23 hervorgehobene berpr fung in die apply Funktion unten des CORED Mehrheitsentscheiders ein Durch die Ber cksichtigung der bin ren Darstellung der Codew rter im Entwurf der arith metischen Codierung werden letztlich die Ergebnisse der Hamming Distanz best tigt weshalb diese tats chlich ein valides Kriterium f r die Auswahl des Codierungsschl ssels darstellt Dar be
351. uster durchgef hrt Hierbei wurden die Fehlerorte und Zeitpunkte vollst ndig beibehalten und lediglich die Anzahl der generierten Fehlermuster pro Injektionspunkt reduziert Tabelle 4 6 zeigt die Ergeb nisse der resultierenden Kampagnen Um die Vergleichbarkeit der Versuchsreihen zu erm glichen sind die Werte nunmehr in Prozent angegeben Wie erwartet zeigen sich auch im Falle der Mehr fachbitfehler keine unerkannten Datenfehler f r den Codierungsschl ssel A 58 659 mit dp 6 Mit der Fehlerzahl sinkt jedoch auch die Abdeckung des Fehlerraums von anf nglich 16 13 Prozent auf 0 04 Prozent bei den 5 fach Bitfehlern ab Entsprechend eignen sich diese statistischen Ex perimente lediglich als Indikator f r das erwartete Verhalten jedoch nicht als Nachweis f r die Abwesenheit von unerkannten Datenfehlern In der Praxis angekommen Insgesamt verh lt sich der CORED Mehrheitsentscheider auch in der konkreten Umsetzung entwurfsgem Die Fehlerinjektion zeigt die vollst ndige Fehlererfassung f r Einzel und Dop pelbitfehler Zudem best tigen die Ergebnisse der Fehlerinjektion den in der Fehlersimulation gezeigten Einfluss der Codierungsparameter Die Evaluation ist jedoch plattformspezifisch und muss entsprechend bei einem Wechsel der Ausf hrungsumgebung wiederholt werden 4 4 DISKUSSION DER ERGEBNISSE 97 Mehrbitfehler in Registern A 58659 3 Bit 4 Bit 5 Bit Ohne Auswirkung verdeckter Defekt 33 742 33 605 33 544 5
352. ux and energy spectrum of cosmic ray induced neutrons on the ground IEEE Transactions on Nuclear Science 51 6 Seiten 3427 3434 ISSN 0018 9499 doi 10 1109 TNS 2004 839134 Zitiert auf Seite 4 Goldberg R P 1973 Architectural principles for virtual computer systems Dis sertation Division of Engineering and Applied Sciences Harvard University Zitiert auf Seite 8 Goloubeva O Rebaudengo M Reorda M und Violante M 2003 Soft error detection using control flow assertions Proceedings of the 18th IEEE International Symposium on Defect and Fault Tolerance in VLSI Systems Seiten 581 588 IEEE Computer Society Press Washington DC USA ISSN 1550 5774 doi 10 1109 DFTVS 2003 1250158 Zitiert auf Seite 32 Goloubeva O Rebaudengo M Reorda M S und Violante M 2006 Software Implemented Hardware Fault Tolerance 1 Auflage 228 Seiten Springer Verlag New York NY USA ISBN 0 387 26060 9 Zitiert auf den Seiten 7 24 und 41 150 LITERATURVERZEICHNIS GRRVO6b GSVPO3 Ham50 Ham80 Han01 Har06 HDL13 Heill HG93 HG13 HHJ90 Hig07 Goloubeva O Rebaudengo M Reorda M S und Violante M 2006 Software Implemented Hardware Fault Tolerance Springer Verlag Secaucus NJ USA ISBN 0387260609 Zitiert auf Seite 52 Gomaa M Scarbrough C Vijaykumar T und Pomeranz I 2003 Transient fault recovery for chip multiprocessors Proceedings of
353. verl ssigkeit der Eingabereplikation die Gesamtzuverl ssigkeit gem Gleichung 3 1 Grenzen der Replikation Die initiale Replikation der Eingaben sowie die finale Ausgabe der Ergebnisse bilden die nat rlichen Grenzen der Replikation Beide Endpunkte liegen jedoch bereits au erhalb des Redundanzbereichs Unabh ngig davon stellt die Eingabereplikation innerhalb der redun danten Ausf hrung in jedem Fall eine kritische Fehlerstelle dar Die Auswirkungen auf die Gesamtzuverl ssigkeit entsprechen denen des Mehrheitsentscheiders Innerhalb der replizierten Ausf hrung stellt die Replikation der Eingabedaten einen mit den Mehrheitsentscheidern vergleichbaren Zuverl ssigkeitsengpass dar Wiederum l sst sich das Pro blem durch weitere Replikationsstufen nicht l sen und es bleibt nur die Verbesserung der Zuver l ssigkeit der entsprechenden Komponenten Dar ber hinaus wird die Replikation zwar durch die initiale Eingabe sowie die finale Ausgabe in nat rlicher Weise begrenzt allerdings beginnt der Redundanzbereich erst mit den Replikaten Der Eingangsreplikator wie auch die bermitt lung der Ausgaben liegen au erhalb und stellen ihrerseits kritische Fehlerstellen dar Eine nahtlose Verkn pfung verschiedener Anwendungen und Replikationsdom nen ist so nicht m glich Sch90 3 1 2 Fehlererfassung und Zuverl ssigkeit Wie bereits erw hnt bietet die Replikation eine vollst ndige Fehlererfassung Da die Art und Schwere der auftretenden Fehl
354. waltung im Zuge des Erstellungsprozesses Die fiir das Fallbeispiel notwendigen Anpassungen beschranken sich auf die unvermeidbare Behandlung der nichtdeterministischen Sensoreing nge 5 2 3 Evaluation der CORED Implementierung Grunds tzlich wurde die Effektivit t der Fehlererkennung sowohl der arithmetischen Codierung als auch des CORED Mehrheitsentscheiders bereits in Kapitel 4 gezeigt Die Ergebnisse der Feh lersimulation gelten hierbei unabh ngig von der gew hlten Hardware Plattform beziehungsweise des durch den Compiler erzeugten Bin rprogramms Daher dient die erneute Injektion von Feh lern auf der Befehlssatzebene des TriCore TC1796 in diesem Zusammenhang der berpr fung der erwarteten Eigenschaften auf der f r den I4Copter genutzten Ausf hrungsplattform Das Vorgehen entspricht dabei weitgehend dem aus Kapitel 4 3 Fehlerinjektion mithilfe des Diagnose Programms F r die Durchf hrung der Fehlerinjektion auf Befehlssatzebene scheidet das FA L Werkzeug im Falle des TriCores aus da die Unterst tzung dieser Hardwareplattform durch den FAIL Unter bau engl back end bislang noch unvollst ndig umgesetzt und erprobt ist Um dennoch eine 5 2 REPLIKATION DER FLUGLAGEREGELUNG 115 entsprechende Fehlerinjektionskampagne f r die Revalidierung der Erkennungsleistung der arith metischen Codierung und des CoRED Mehrheitsentscheiders zu erm glichen wurde daher auf die OCDS Schnittstelle engl on chip debug support Inf07 de
355. weiteren Verarbeitung zugef hrt werden k nnen Die Datencodierung ist daher nicht in der Lage das Fehlermodell aus Kapitel 2 1 1 abzudecken und beispielsweise Operator oder Berechnungsfehler effektiv zu erkennen Zudem beschr nkt sich der Redundanz bereich auf die Verweildauer der Daten im Speicher bis zu ihrer Verwendung Arithmetische Codierung Im Gegensatz dazu erlaubt die Arithmetische Codierung engl arithmetic coding die Durchf h rung von Berechnung auf Codew rtern ohne deren vorherige Decodierung beziehungsweise den Verlust der Schutzeigenschaften PW72 Rao74 Sie unterscheidet sich von der reinen Daten codierung durch die Bereitstellung zus tzlicher arithmetischer Operatoren O welche direkt auf den Codew rtern des Zielraums arbeiten Abbildung 2 5 zeigt dies exemplarisch anhand einer codierten Addition zweier g ltiger Codew rter und der R ckgabe eines wiederum g ltigen Codewortes als Ergebnis Eine fehlerhafte Ausf hrung dieser codierten arithmetischen Operationen f hrt analog der Mutation eines Codewortes mit hoher Wahrscheinlichkeit zu ei nem ung ltigen Codewort als Ergebnis Arithmetische Codierung ist daher grunds tzlich geeignet transiente Fehler in der eigentlichen Programmausf hrung zu erkennen und damit potenziell das gesamte Fehlermodell abzudecken Aufgrund ihrer Eigenschaften sind arithmetische Codierungsverfahren von hoher Relevanz f r die in dieser Arbeit angestrebten Ziele Wie schon bei der Da
356. y domain cause the trouble A majority voter is a case in point which in itself cannot be redundant but is mandatory for redundancy schemes Although these components are usually considered as relatively small and short in terms of execution time their shape and quantity is highly application specific Therefore systematically improving the actual reliability by dint of software based fault tolerance tends to be very difficult In simple terms software based redundancy suffers from the causality dilemma of monitoring itself keeping with Juvenal s critical demand But who can watch the watchmen Satire 6 p 347 sq To solve this problem this thesis develops the Combined Redundancy CORED approach This holistic software based fault tolerance scheme is based on redundant execution of the safety critical application s processes Moreover it prevents redundancy shortages by selectively applying arithmetic coding techniques to cover any gaps in the replicated execution Thereby CORED eli minates all remaining single points of failures and acts as the watchman of the watchmen it thus offers the redundancy tools for a systematic improvement of the non functional property reliability at the operating system level An exhaustive experimental evaluation of CORED s building blocks and the employed arithmetic coding from the design to the machine dependent implementa tion satisfactorily shows the absence of errors and a significant improvemen
357. ypothese Bislang definieren das Fehlermodell in Kapitel 2 1 1 sowie die grundlegende Fehlerhypothese in Kapitel 3 2 1 die Art der auftretenden transienten Fehler beziehungsweise deren H ufigkeit im Sinne der einzelnen Fehlerbereiche Der CORED Entwurf bietet in diesem Zusammenhang konzep tionell eine vollst ndige Fehlererfassung Dessen ungeachtet unterscheiden sich transiente Fehler jedoch auch in ihrem Schweregrad Dieser gibt letztlich an wie stark ein Strukturelement der Software verf lscht wurde Der Inhalt eines Registers kann beispielsweise durch eine Vielzahl von verschiedenen Fehlermustern engl fault pattern betroffen sein von einem einfachen Einzelbitfeh ler bis hin zu einer kompletten Inversion des gesamten Registerinhalts Entsprechende Messungen zeigen hierbei eine klare H ufung minder schwerer Fehlermuster Maiz et al MHZA03 ermit teln in praktischen Experimenten f r 90 und 130 nm Strukturbreiten in der Summe eine ber 95 prozentige Wahrscheinlichkeit f r Einzelbitfehler Entsprechend f hren lediglich unter f nf Prozent der transienten Fehler zu Mehrfachbitfehlern mit maximal f nf verf lschten Bits Diese Ergebnisse stehen in bereinstimmung mit weiteren Untersuchungen MW79 KKA95 LSHC07 unter anderem auch einer breit angelegten Studie von Nightingale et al NDO11 zu den durch Hardware verursachten Absturzursachen in Arbeitsplatzrechnern Die dem CoRED Ansatz zugrundeliegende Fehlerhypothese erweitert sich entsprech
358. z zu dem ungesch tzten Original werden die Verarbeitungsstr me durch die Replikationsans tze in unterschiedlicher Weise aufgeteilt Die Techniken unterscheiden sich hierbei im Wesentlichen durch die Art der Aufteilung und Zusammenf hrung der Str me 1d und st Die eingewobenen Funktionen faultDet bzw voter dienen dem Vergleich der verschiedenen Verarbeitungsstr me Prinzipiell identisch ist hingegen die eigentliche Adressberechnung add im Mittelteil EDDI OSMO2b dupliziert sowohl die Ausf hrung als auch die Daten Register und Spei cher Aus diesem Grund sind spezielle Umsetzungsfunktionen addrCompare f r die Adressen zu den replizierten Daten notwendig Die Fehlererkennung beruht auf dem Vergleich der redun danten Daten vor der Speicherung Die erzielbare Fehlererfassung ist l ckenhaft und umfasst im weitesten Sinne Operatorfehler Da beide Verarbeitungsstr me auf demselben Hardwarekon text ausgef hrt werden sind Kontrollflussfehler kaum erkennbar Die Evaluation OSMO2b zeigt entsprechend auch in erheblichem Umfang unerkannte Datenfehler In vielerlei Hinsicht gleicht SWIFT RCV 05b EDDI es dupliziert jedoch nur die Instruktionen und schlie t den Speicher unter der Annahme entsprechender Hardwareredundanz aus dem Redundanzbereich aus Hier durch er brigt sich eine aufwendige Adressumsetzung allerdings m ssen die Daten im Gegenzug w hrend der Ausf hrung dupliziert werden Auch SWIFT f hrt die Verarbeitungsstr me auf dem
359. zu einer Verschlechterung der Zu verl ssigkeit um Gr enordnungen f hren Die folgende erweiterte Problemanalyse dient daher der Identifikation von kritischen Fehlerstellen und L cken im Redundanzbereich der Replikation 3 1 ERWEITERTE PROBLEMANALYSE 49 Vergr erter Ausschnitt 0 5 R 0 975 7 Zuverl ssigkeit Gesamtsystem Reys Annahme Mehrheitsentscheider perfekt 3 R 1 a 0 0 95 4 0 5 Zuverl ssigkeit Replikat Rrep Einfachsystem Riep Repliziertes System Rim Abbildung 3 1 Zuverlassigkeit eines dreifach redundanten Systems Die Gesamtzuverl ssigkeit Rsys bestimmt sich aus der Zuverl ssigkeit der Replikate Rep sowie der des Mehrheitsentscheiders engl voter Ry Die Gesamtzuverlassigkeit des 3 fachen Systems bertrifft die des Einfachsystems erst ab Rrep gt 0 5 und unter der Annahme eines perfekten Mehrheitsentscheiders links Hingegen verschlechtert sich Rs s dramatisch mit der sinkenden Zuverl ssigkeit des Mehrheitsentscheiders rechts In diesem Beispiel ist der Mehrheitsentscheider zehnmal zuverl ssiger als die Replikate Entsprechen sich Ry und Rep ist das 3 fach System in jedem Fall unzuverl ssiger als das Einfachsystem 3 1 1 Kritische Fehlerstellen in der Replikation Im Allgemeinen wird die berlebenswahrscheinlichkeit eines Systems mittels der Zuverl ssigkeits funktion R t angegeben Diese dient im Folgenden als illustratives Ma
360. zwischen den Komponenten sind durch gemeinsamen Speicher realisiert 5 2 Replikation der Fluglageregelung Die Fluglageregelung repr sentiert den sicherheitskritischen Kern des I4Copters und markiert da mit auch den Ausgangspunkt f r die im Folgenden n her beschriebene exemplarische Anwendung des CORED Ansatzes Hierzu erfolgt zun chst die Bereitstellung der Dienstschicht auf der TriCore Ausf hrungsplattform Damit einher geht die Anpassung der genutzten Treiber und Systemfunk tionen sowie die eigentliche Replikation der Prozessinkarnationen der Anwendung Die erneute Evaluation dient im Anschluss der berpr fung der erwarteten Eigenschaften des CORED Mehr heitsentscheiders Abschlie end wirft dieses Kapitel einen Blick auf die m gliche Erweiterung des Redundanzbereichs ber die Grenzen des TriCore Rechensystems hinaus 5 2 1 Umsetzung der CoRED Dienstschicht Grunds tzlich entspricht die CORED Dienstschicht im I4Copter der in Kapitel 3 7 1 vorgestellten Basisimplementierung aus Replikationsinfrastruktur Schl sselverwaltung und Strukturelementen f r die Eingabe und Ausgabe Replikation und Komposition Die CORED Dienstschicht gliedert sich in den Konfigurations und Erstellungsprozess des I4Copters ein und erg nzt diesen durch die bereits erw hnten M glichkeiten der mehrfachen Instantiierung 5 2 REPLIKATION DER FLUGLAGEREGELUNG 113

Download Pdf Manuals

image

Related Search

DissertationPeterUlbrich

Related Contents

Guía del usuario de HP Photosmart 8200 series  Timex Clock 75071T User's Manual  Asrock 775I48 motherboard  Manual  ザルトリウス マイクロウェーブ式電子水分計 LMA200PM  Refrigerator Kühlschrank Réfrigérateur Koelkast FBI 5851  取扱説明書  Oracle FLEXCUBE Investor Servicing  

Copyright © All rights reserved.
Failed to retrieve file