1 / 17

Fehlertoleranz

Fehlertoleranz. Pleiten, Pech und Pannen der Informatik WS01/02 Christian Teufel. Einführung. The Patriot Missile Failure 25.02.1991 - Golfkrieg Amerikanische Patriot-Rakete verfehlt irakische Scud-Rakete. 28 Todesopfer – 100 Verletzte.

edolie
Download Presentation

Fehlertoleranz

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fehlertoleranz Pleiten, Pech und Pannen der Informatik WS01/02 Christian Teufel

  2. Einführung The Patriot Missile Failure 25.02.1991 - Golfkrieg Amerikanische Patriot-Rakete verfehlt irakische Scud-Rakete. 28 Todesopfer – 100 Verletzte Verfehlte Scud-Rakete trifft amerikanische Kaserne. Ursache - Rundungsfehler Ungenaue Berechnung der Zeit seit Systemstart, da interne Uhr in zehntel Sekunden rechnet. Christian Teufel

  3. Einführung The Patriot Missile Failure Berechnung der verstrichenen Zeit in sec = Systemuhr * 1/10. Binärdarstellung von 1/10: 0.0001100110011001100110011001100... 24bit Register kürzte Binärdarstellung auf: 0.00011001100110011001100 => approx. Fehler 9,5*10^(-8) Nach 100 Betriebstunden Fehler von 9.5*10^(-8)*3.6*10^6=0.34s v(Scud) = 6034km/h => Scud ca. 0,57km weiter als berechnet. Folge: Scud - Rakete außerhalb des „Aufspührsystems“! Christian Teufel

  4. Einführung Einsatzorte fehlertoleranter Systeme Anwendungen mit extremer Lebensdauer z.B. Raumfahrt Sicherheitskritische Anwendungen z.B. Medizintechnik Verlängerung der Wartungsintervalle z.B. räumlich weitverteilt Hohe Anforderungen an Verfügbarkeit z.B. Telekommunikation Christian Teufel

  5. Überblick • Einführung • Fehler - Grundbegriffe - Klassifizierung - Umgang • Fehlertoleranz - Fehlerentdeckung - Fehlerbehebung, Fehlerkompensation - Redundanz • Techniken der Fehlertoleranz - Hardware - Software • Fazit Christian Teufel

  6. Fehler - Grundbegriffe fault Fehler(ursache) Grund, der das System zu einem inkorrekten macht. z.B. Designfehler error Fehl(er)zustand Fehlerauswirkung Lokalisierbare Aus- wirkung im Systemzustand. z.B. Fehlerhafte Werte in Variablen failure Versagen Sichtbare Abweichung vom Normalen Verhalten. z.B. Flugzeugabsturz Christian Teufel

  7. Fehler - Klassifikation Wann gerät er in das System? Warum wurde er gemacht? Worin liegt sein Ursprung? Fehler Wer hat ihn gemacht? Wie lange dauert seine Wirkung an? Wo ist er lokalisiert? Was sind seine Auswirkungen? Christian Teufel

  8. Fehler - Umgang • Zur Entwicklungszeit: • Formale Methoden • Software Engineering • Reviews, Testen • Lokalisierung • Analyse • Behebung • Zur Laufzeit: • Fehlerentdeckung • Fehlerlokalisierung • Fehlermeldung • Fehlerbehebung Fehlertoleranz Fehlervermeidung Christian Teufel

  9. Fehlerentdeckung Replikation Umkehrungstests Konsistenztests Zeitüberprüfung Codierungstests Diagnoseläufe Ergebnisvergleiche Probe Datenstrukturtests Erkennung von Deadlines Prüfsummen Speichertests Christian Teufel

  10. Fehlerbehebung und -kompensation Rückwärtsfehlerbehebung Vorwärtsfehlerbehebung Fehlerkompensation (Fehlermaskierung) Rücksprung zu gespeicherten Rücksetzpunkten. Allgemein, systematisch, aufwändig wegen Fehlerlokalisierung. Korrigierende Vorausberechnung. erfordert Schadensbestimmung, sehr speziell. Funktionsausfall wird behoben nicht aber der Fehlzustand. Erfordert Redundanz. (Schnell, benötigt n-von-m System, teuer.) Christian Teufel

  11. Redundanz Redundanz: Teil des Systems, der bei Fehlerfreiheit nicht notwendig wäre. Strukturelle Redundanz: Vervielfältigung von Komponenten (baugleiche/ alternative Entwürfe). Zeitliche Redundanz: Zusätzliche Zeit für wieder- holte Ausführung (retry). Funktionale Redundanz: Zusätzliche, unterstützende Komponenten (Sensoren). Informationsredundanz: Zusätzliche Information (Prüfbits, Zähler). Ausnahmebetrieb: dynamische Redundanz Normalbetrieb: statische Redundanz Christian Teufel

  12. Techniken - Hardware Triple Modular Redundancy (TMR) 1 2 Voter Eingabe Ausgabe 3 Christian Teufel

  13. Techniken - Hardware Reservekomponenten fault detection 1 switch 2 „heiße“ Reserve Christian Teufel

  14. Techniken - Hardware Selbstprüfende Paare 1 Ausgabe 2 Vergleich Fehlermeldung Eingabe 1 Vergleich 2 Vergleich Christian Teufel

  15. Techniken - Software recovery blocks 1 Akzeptanz- test passed failed 2 Akzeptanz- test passed failed 3 Akzeptanz- test passed failed Christian Teufel

  16. Techniken - Software n-version programming 1 2 Voter Eingabe Ausgabe 3 Christian Teufel

  17. Fazit Fehlertoleranz sollte nur ein zusätzliches Verfahren sein und nicht andere Verfahren zur Konstruktion korrekter Systeme ersetzen. Fehlertoleranz erhöht die Systemkomplexität deutlich. Fehlertoleranz ist im allgemeinen teuer. Murphys Gesetz – wenn etwas schiefgehen kann, dann wird es auch schiefgehen – gilt immer! Christian Teufel

More Related