- Fehlertoleranz
-
In der Technik, besonders in der Datenverarbeitung, bedeutet Fehlertoleranz (von lat. tolerare, erleiden, erdulden), die Eigenschaft eines technischen Systems, seine Funktionsweise auch aufrechtzuerhalten, wenn unvorhergesehen Eingaben oder Fehler in der Hard- oder Software auftreten.
Fehlertoleranz erhöht die Zuverlässigkeit eines Systems, wie es beispielsweise in der Medizintechnik oder in der Luft- und Raumfahrttechnik gefordert ist. Fehlertoleranz ist ebenso eine Voraussetzung für Hochverfügbarkeit, die insbesondere in der Telekommunikationstechnik eine wichtige Rolle spielt.
Inhaltsverzeichnis
Ansätze auf verschiedenen Ebenen
Fehlertoleranz kann auf verschiedenen Ebenen erreicht werden. Je nach Einsatzgebiet (PC, Medizintechnik, Weltraumtechnik usw.) sind verschiedene Ansätze sinnvoll, auch Kombinationen bieten sich oft an.
Fehlertoleranz in Hardware
Hardware, d. h. eine elektronische Schaltung, kann z. B. durch Hinzufügen von Redundanz fehlertolerant gemacht werden.
Laufen z. B. zwei Implementierungen einer Schaltung parallel (dual modular redundancy, DMR), so kann eine Entscheidungseinheit einen Fehler durch Vergleichen der Ausgänge der beiden Komponenten feststellen, jedoch nicht korrigieren.
Fügt man eine weitere Instanz der Komponenten hinzu (triple modular redundancy, TMR), so kann eine Entscheidungseinheit einen Fehler korrigieren. Wird die fehlerhafte Einheit als defekt markiert, ist ein Fehler weiter erkennbar (wie bei DMR).
Fehlertoleranz in Software
Auf Software-Ebene kann Fehlertoleranz durch folgende Maßnahmen erreicht werden:
- Design-Diversität: verschiedene Implementierungen eines Algorithmus laufen parallel
- Daten-Diversität: die Eingabedaten werden leicht modifiziert mehrfach bearbeitet (z. B. gut gegen Rundungsfehler)
- Temporale Diversität: ein Algorithmus wird mit denselben Daten mehrfach aufgerufen (z. B. gut gegen kurzzeitige Hardwarefehler)
Fehlertoleranz in Benutzerschnittstellen
Häufig verursachen fehlerhafte Benutzereingaben, also menschliches Versagen, abnorme Betriebszustände. Fehlertoleranz ist daher eines der Gestaltungsprinzipien für Dialoge nach DIN EN ISO 9241, Abschnitt 110 (Grundsätze der Dialoggestaltung). Ein Dialog ist fehlertolerant, wenn das beabsichtigte Arbeitsergebnis trotz erkennbar fehlerhafter Eingaben entweder mit keinem oder mit minimalem Korrekturaufwand durch den Benutzer erreicht werden kann:
- Unterstützung bei der Entdeckung und Vermeidung von Eingabefehlern (Plausibilisierung)
- Keine Systemabbrüche oder undefinierten Systemzustände
- Fehlererläuterungen zu Korrekturzwecken
- Zusätzlicher Darstellungsaufwand zur Fehlerlokalisierung
- Automatische Fehlerkorrektur mit Information, abschaltbar
- Aufschiebbare Fehlerbehandlungen
- Zusätzliche Erläuterungen auf Anforderung
- Prüfung und Bestätigung vor Ausführung
- Fehlerbehebung ohne Zustandsänderung des Dialogs
Siehe auch: Benutzerfreundlichkeit
Stufen der Fehlertoleranz
In der Regel werden folgende Stufen der Fehlertoleranz unterschieden:
Stufe Verhalten des Systems go System reagiert sicher und korrekt. fail-operational System fehlertolerant ohne Leistungsverminderung fail-soft Systembetrieb sicher, aber Leistung vermindert fail-safe Nur Systemsicherheit gewährleistet fail-unsafe unvorhersehbares Systemverhalten Reaktion und Korrektur von Fehlern
Bei der Reaktion oder Korrektur von Fehlern unterscheidet man die zwei Prinzipien der Vorwärts- und der Rückwärtsfehlerkorrektur.
Vorwärtsfehlerkorrektur
Bei der Vorwärtsfehlerkorrektur versucht das System, so weiterzumachen als ob kein Fehler aufgetreten wäre, indem es etwa fehlerhafte Eingabewerte durch Erfahrungswerte aus der Vergangenheit oder Eingabewerte von korrekt funktionierenden Eingabeschnittstellen ausgleicht oder im Moment des Auftretens eines Fehlers sofort mit korrekt funktionierenden Ersatzsystemen weiterarbeitet. Fehler bleiben bei der Vorwärtsfehlerkorrektur normalerweise unsichtbar für Anwender.
Rückwärtsfehlerkorrektur
Bei der Rückwärtsfehlerkorrektur versucht das System bei Auftreten eines Fehlers in einen Zustand vor diesem Auftreten zurückzukehren, etwa in den Zustand direkt vor einer fehlerhaften Berechnung, um diese Berechnung erneut auszuführen. Genauso ist aber auch ein Zustandswechsel in einen Notbetrieb oder z. B. ein Neustart des Systems möglich. Kann eine fehlerhafte Berechnung erfolgreich wiederholt werden, bleibt auch bei der Rückwärtsfehlerkorrektur der Fehler für den Anwender unsichtbar. Oft ist aber nur ein Weiterbetrieb mit Leistungseinbußen oder eingeschränkter Funktionalität möglich und der Fehler somit sichtbar.
Externe Korrektur
In der Weltraumtechnik wird eine Fehlerkorrektur durch die Auswertung von Satelliten-Telemetriedaten in der Bodenstation durch Systemexperten und Umschaltung der Funktionen durch Telekommandos durchgeführt. Seit den enormen Fortschritten bei der Bord-Datenverarbeitung (schnelle Prozessoren, große Datenspeicher, intelligente Software-Konzepte) wird die Datenauswertung und Umschaltung zur Fehlerkorrektur mehr und mehr autonom vom Satellitensystem selbst ausgeführt. Wegen der erforderlichen umfangreichen Überprüfungsmaßnahmen eines komplexen Bordsystems und dem damit verbundenen Zeit- und Kostenaufwand wird die zunehmende Autonomie in Hinsicht auf Fehlerkorrektur nur in kleinen Schritten realisiert, denn anders als bei Systemen auf der Erde kann eine falsche Fehlerkorrektur zum kompletten Verlust eines Satelliten führen.
Literatur
- Thomas Becker: Transparente Fehlertoleranz in verteilten Systemen. Shaker, ISBN 3-8265-1194-8.
- Jürgen Eich: Fehlertoleranz durch robuste Regelung am Beispiel eines redundanten elektrohydraulischen Stellantriebs. Shaker, ISBN 3-8265-6229-1.
- Stefan Petri: Lastausgleich und Fehlertoleranz in Workstation-Clustern. Shaker, ISBN 3-8265-2471-3.
- Alexander Krautstrunk: Fehlertolerantes Aktorkonzept für sicherheitsrelevante Anwendungen. Shaker, ISBN 3-8322-4203-1.
- Diskussionskreis Fehlertoleranz 2005. Shaker, ISBN 3-8322-4427-1.
- Sergio Montenegro: Sichere und fehlertolerante Steuerungen: Entwicklung sicherheitsrelevanter Systeme. Hanser, ISBN 3-446-21235-3.
- Karsten Grans: Das Duplexsystem mit Rückwärtsbehebung – ein kombiniert redundantes Fehlertoleranzverfahren für verteilte Systeme. Logos, ISBN 3-89722-591-3.
- Klaus Echtle: Fehlertoleranzverfahren. Springer, ISBN 3-54052-680-3. (online)
- Jürgen Stoll: Fehlertoleranz in verteilten Realzeitsystemen – Anwendungsorientierte Techniken. Springer, ISBN 3-54052-331-6.
- Hubert Mäncher: Fehlertolerante dezentrale Prozessautomatisierung. Springer, ISBN 3-54018-754-5.
- Rolf Hedtke: Mikroprozessorsysteme: Zuverlässigkeit, Testverfahren, Fehlertoleranz. Springer, ISBN 3-54012-996-0.
- Winfried Görke, H. Sörensen: Fehlertolerierende Rechensysteme. Springer, ISBN 3-54051-565-8.
- J. Schneider: Fehlerreaktion mit Speicherprogrammierbaren Steuerungen – ein Beitrag zur Fehlertoleranz. Springer, ISBN 3-54058-170-7.
- Franz-Josef Markus: Verteilte dynamische und fehlertolerante Prozeßzuordnung für Multicomputer mit einer integrierten graphischen Entwicklungsumgebung. Tectum, ISBN 3-82881-082-9.
- Uwe Gläser, Uwe Steinhausen: Fehlererkennung und Fehlertoleranz beim assoziativen RAM-Speicher (ARAM). GMD-Forschungszentrum Informationstechnik, ISBN 3-88457-172-9.
- Jürgen Nikolaizik, Boris Nikolov, Joachim Warlitz: Fehlertolerante Mikrocomputersysteme. Verlag Technik, ISBN 3-34100-859-4.
- Sven Nilsson: Konzept und Architektur eines fehlertoleranten Mehrmikrorechner-Systems. ISBN 3-81072-148-4.
- Mario DalCin: Fehlertolerante Systeme: Modelle der Zuverlässigkeit, Verfügbarkeit, Diagnose und Erneuerung. ISBN 3-51902-352-0.
- Lavrentios Servissoglou: TUFT – Tübinger Fehlertoleranz für Nachrichtenaustauschsysteme. ISBN 3-89722-037-7.
- Norbert Becker: Entwurf und Implementierung eines fehlertoleranten Datenerfassungssystems für SPS-Steuerungen. ISBN 3-93121-634-9.
Siehe auch
Weblinks
- Vorlesung Hardwareverifikation und Fehlertoleranz
- Vorlesung Zuverlässigkeit und Fehlertoleranz von Rechensystemen von Ruppert Koch und Max Walter
- Artikel Fehlertoleranz und Sicherheit – Von der Störung zum Fehler und Ausfall bis zum Unfall von Sergio Montenegro
- Die bekanntesten klassischen Ansätze der fehlertoleranten Suche
Wikimedia Foundation.