1 Prinzipen und Komponenten Eingebetteter Systeme (PKES) (11) Zuverlässigkeit und Fehlertoleranz Sebastian Zug Arbeitsgruppe: Embedded Smart Systems
2 Veranstaltungslandkarte Fehlertoleranz, Softwareentwicklung Mikrocontroller Architekturen Sensoren Scheduling Arithmetik Anwendungen Aktoren Kommunikation Energieversorgung
3 Literaturhinweise Peter Marwedel, Eingebettete Systeme Springer 2008 Hermann Kopetz: Real-Time Systems, Design Principles for Distributed Embedded Applications Kluwer Academic Publishers, 1997
4 Fragestellungen an diese Veranstaltung Was ist der Unterschied zwischen einem elektrischen Schaltplan und einem Zuverlässigkeitsschaubild? Warum ist die Fehlertoleranz für eingebettete Systeme von besonderer Bedeutung? Nennen Sie Aspekte der Zuverlässigkeit, auf welche Szenarien finden diese Anwendung? Erläutern Sie die Bedeutung der Begriffe Fault, Error und Failure! Welche Fehler kommen für unseren kleinen Roboter in Betracht? Nennen Sie Beispiele! Was sind die Kenngrößen um die Überlebensfähigkeit eines Systems zu definieren? Wie hängen diese zusammen? Was gibt die Ausfallrate wieder? Welche Aussage trifft die Badwannenkurve? Wie lässt sich der Aspekt der Verfügbarkeit quantifizieren? Wie lassen sich Gesamtzuverlässigkeiten in komplexen Anwendungen ableiten (Serielle/Parallele Schaltung im Zuverlässigkeitsschaubild). Macht ein 2-aus-4 Voter Sinn?
5 Motivation Source: http://blogs.crikey.com.au/ http://feuerwehr-konstanz.schutzbach.com http://www2.mps.mpg.de
6 Quantifizierung des Risikos Flugtechnik Autotechnik Einheiten 10 k 100 Mio Betriebsstunden/Jahr 55 Mio 30000 Mio Kosten/Einheit 65 Mio 20 k Unfälle/Jahr 170 21 Mio Todesfälle/Jahr 350 42 k Todesfälle/10 6 Betriebs.Std. 6,4 0,71 Bediener-Training hoch niedrig Redundante alle flug- Bremsen Komponenten kritischen Systeme Source: Phil Koopman CMU, Lecture 10/98
7 Anforderungsprofile im Hinblick auf die Zuverlässigkeit Zuverlässigkeitsanfordererungen für sicherheitskritische Systeme der Flugzeugtechnik: 10-9 Fehler/h für eine Missionszeit von 10 h. Kann man die Ansätze der Flugzeugtechnik übernehmen? Zu teuer. Unterschiedliche Betriebsbedingung. Schwer durchzusetzende Wartungsintervalle. Schlecht ausgebildete Benutzer. - Anforderungen im Automotive Sektor Anfangszuverlässigkeit: (0 km / 0 h) Fehler: < 500 10-9 im 1. Jahr Fehler: < 1000 10-9 System-Lebenszeit: 3500 h (ca. 5Jahre bei 2h/Tag) Garantie: 1 Jahr, Ersatzteile 10 Jahre Umgebungsbedingungen: - 40 bis +85 o C Vibration: 10 Hz bis 1 khz, zufällig 5g, Sinus 2-5g Shock: 30 g Versorgungsspannung: 8-16V für 1min umgekehrte Polarität 13,5V
8 Definitionen Zuverlässlichkeit (Dependability): "Doing the right thing at the right time!" Die Zuverlässlichkeit (Dependability) eines Systems ist die Qualität einer vom System erbrachten Funktion (Service), in die begründbar und berechtigterweise Vertrauen (reliance) gesetzt werden kann. Die Funktion ist das an der Schnittstelle zu anderen Systemen, die mit dem betrachteten System interagieren, beobachtbare Systemverhalten. Die Qualität bezieht sich auf die Übereinstimmung der erbrachten mit der spezifizierten Systemfunktion. Fragestellungen: Attribute: Fehler: Maße: Welche Aspekte der Verlässlichkeit werden besonders hervorgehoben? Welche Klassen von Fehlern werden berücksichtigt? Wie lässt sich die Verlässlichkeit quantitativ erfassen?
9 Aspekte der Verlässlichkeit Überlebensfähigkeit (Reliability) Zuverlässigkeit im Hinblick auf ein ununterbrochen korrektes Systemverhalten Verfügbarkeit (Availability) Zuverlässigkeit im Hinblick auf momentane Bereitschaft des Systems, d.h. die Wahrscheinlichkeit ein in einem beliebigen Zeitpunkt fehlerfrei anzutreffen. Prozesssicherheit (Safety) Zuverlässigkeit im Hinblick auf die Verhinderung katastrophaler Auswirkungen auf die Umgebung der Ansatz in der Flugzeugindustrie der Ansatz in der Autoindustrie der Ansatz in der industriellen Automatisierung Sicherheit (Security) Zuverlässigkeit im Hinblick auf Vertraulichkeit und Integrität
10 Fehlerklassifizierung kann prinzipiell nicht vollständig vermieden werden. Fehlerursache (Fault) Ausfall einer physischen Komponente, fehlerhaftes Programm(statement) Methoden der Fehlervermeidung bewirkt möglicherweise eine fehlerhafte Änderung des Zustands muss in fehlerfreien Zustand zurückgesetzt werden. Fehler (Error) fehlerhafter Zustand, z.b. Speicherinhalt, Registerinhalt Methoden der Fehlertoleranz bewirkt möglicherweise eine Abweichung vom spezifizierten Verhalten muss unter allen Umständen vermieden werden. Funktionsausfall (Failure) Abweichung vom spezifizierten Systemverhalten Kann vom System nicht mehr behandelt werden.
11 Hierarchische Sicht Defekt (fault) Fehler (error) Ereignis (Fehlerursache) Auswirkungen der Fehlerursache auf den Systemzustand Funktionsausfall Abweichung des Systems von seinem (failure) spezifizierten Verhalten Sensor Mikro controller Netzwerkinterface Defekt -> Fehler -> Funktionsausfall Defekt -> Fehler -> Funktionsausfall
12 Fehlerklassifizierung Kontakt fehler Sensoroffset Motorcrash Falscher Datentyp Sensoroffset Sorry draufgetreten Kalibrierfehler Androidcrash Kontaktfehler Sonneneinstrahlung
13 Modellierung Lebensdauer T Zeit vom Beanspruchungsbeginn (DIN 40 042) bis zum Totalausfall (nicht mehr reparierbar) Ausfallwahrscheinlichkeitsdichte f(t) f(t) ist die Wahrscheinlichkeit, mit der eine Komponente zum Zeitpunkt t ausfällt. f(t) Wahrscheinlichkeitsdichtefunktion t
14 Modellierung Ausfallwahrscheinlichkeit F(t) ist die Wahrscheinlichkeit für eine Komponente bis zum Zeitpunkt T < t i auszufallen. t F t = f t dd 0 Überlebenswahrscheinlichkeit R(t) (Reliability) Wahrscheinlichkeit, dass eine Komponente zum Zeitpunkt t i noch nicht ausgefallen ist. F(t) ist das Komplement zu R(t). R = P(t 0 t i f F) R t = 1 F(t) f(t) F(t) 1 R(t) t 0 t
15 Anderer Ansatz - Ausfallrate Die Ausfallrate ist relativ zum Bestand definiert und beschreibt den Anteil pro Zeitschritt ausfallenden Komponenten vom Gesamtbestand F t + Δt F(t) λ t = lim Δt 0 Δt Änderung 1 R(t) = f(t) R(t) pro aktuelle Gesamtmenge
16 Beispiel Lebenserwartung des Menschen Ausfallwahrscheinlichkeitsdichte f(t) Ausfallrate λ (t) Ausfallwahrscheinlichkeit F(t) Überlebenswahrscheinlichkeit R(t) (Reliability)
17 Konstante Ausfalldichtefunktion Absolute Annahme in der Form Pro Zeitschritt fallen immer 20 Komponenten aus Konstante Wahrscheinlichkeit für den Ausfall der f(t) einer Komponente über der Zeit t R(t) t 0 1 2 3 4 Bestand 100 80 60 40 20 Ausfall 20 20 20 20 20 ausgefallener Anteil 0.2 0.25 0.333 0.5 1
18 Konstante Ausfallrate λ(t) Periode konstanter Ausfallrate λ t 1/h Ausfallrate t R λ = dr dt 1 dd = λ dd R ll(r) = t λ R(t) = e λλ F(t) = 1 e λλ f(t) = λ e λλ t R(t) % F(t) % f(t) %/h Überlebenswahrscheinlichkeit Ausfallwahrscheinlichkeit Ausfallwahrscheinlichkeits dichte t t t
19 Beispiel Für ein elektronisches Bauteil wird eine konstante Ausfallrate angenommen 1500 Teile 20 Ausfälle 1000 Stunden Falsch: 25000 Teile 20000 Stunden 20 AAAAälll 1500TTTTT 1000SSSSSSS = x = x 25000 20000 20 25000 20000 1500 1000 = 6667 Richtig: R t = e λλ ln R t λ = t λ = 9.39 10 6 mit R = 1 20 1500 = 0.986 R 20000 = e λλ = 0.828 (1 0.828) 25000 = 4285
20 Aspekt der Verfügbarkeit Bisherige Betrachtungen zielten auf den Ausfall des Systems und damit die Überlebensfähigkeit Nunmehr soll der Blick auf dem Wechsel von Betriebs- und Wartungsphasen liegen MTTF (Mean Time To Failure) definiert die mittlere Dauer bis zum Ausfall des Systems MMMM = E x = t f(t) dd f(t) f(t) = λ e λλ 0 MMMF λ=ccccc = t λe λλ dd = 1 λ 0 t MMMM = (t dddd t uu ) n Source: Wikipedia
21 Definition der Verfügbarkeit MTTR (Mean Time to Repair) definiert die mittlere Zeit die die Reparatur in Anspruch nimmt. MTBF (Mean Time between Failures) repräsentiert die mittlere Zeitdauer, über die das System korrekt arbeitet. MMMM = MMMM + MMMM Damit ergibt sich die Verfügbarkeit: A = MMMM MMMM = MMMM MMMM + MMMM Source: Wikipedia
22 Fehlerraten einiger Systeme Militärischer Mikroprozessor 0,022 Automotiver Mikroprozessor 0,12 (Daten von 1987) Elektromotor 2,17 1/(10 6 SSSSSSS) Bleibatterie 16,9 Ölpumpe 37,3 Welchen Wahrscheinlichkeit für einen Ausfall besteht für eine Einsatzdauer von einem Jahr? F 1JJJJ = 1 e λλ = 1 e 2.17 10 6 365 24 = 0.018 F 5JJJJJ = 0.091 Welche Verfügbarkeit ist gegeben, wenn eine Reperatur 1 Woche dauert? A = MMMM MMMM = MMMM MMMM + MMMM = 1 λ = 1 λ + 24 7h 460829 460829 + 24 7 = 0.9996
23 Zusammengesetzte Systeme Strukturbasierte Modellierung: identifizierbare unabhängige Komponenten die das System über eine Abhängigkeitsrelation bilden jede Komponente besitzt eine bestimmte Zuverlässigkeit die Konstruktion des Modells basiert auf der Verbindungsstruktur zwischen den Komponenten Schnittstelle Schnittstelle Schnittstelle Komp. Komp. Komp. Komp. Komp.
24 Seriensysteme K 1 K 2 K 3 K n Das System funktioniert nur, wenn alle Komponenten intakt sind. P serie = P (K 1 intakt) und P(K 2 intakt) und... und P(K n intakt) Annahme: Die Eigenschaften (K i intakt) (i=1,..,n) sind unabhängig. Es tritt also keine Störung auf, die alle Komponenten gleichermaßen beeinträchtigt! P serie = P (K 1 intakt) P(K 2 intakt)... P(K n intakt) mit p i : Intaktwahrscheinlichkeit der Komponente i: P serie = p 1 p 2... p n Anzahl der Komponenten Intaktwahrscheinlichkeit 1 2 3 4 0.9 0.81 0.729 0.651
25 Parallele Systeme K 1 Wie wahrscheinlich ist der Fall, dass alle Komponenten gleichzeitig ausfallen? K 2 K n Defektwahrscheinlichkeit = 1 - Intaktwahrscheinlichkeit P parallel = 1 (P (K 1 defekt) und P(K 2 defekt) und...p(k n defekt)) Annahme: Die Eigenschaften (K i defekt) (i=1,..,n) sind unabhängig. Mit p i : Defektwahrscheinlichkeit der Komponente i: P parallel = 1- ((1-p 1 ) (1-p 2 )... (1-p n )) Anzahl der Komponenten Intaktwahrscheinlichkeit 1 2 3 4 0.9 0.99 0.999 0.9999
26 Kombination A 4% B 3% C 5% Wie groß ist die Intaktwahrscheinlichkeit für folgendes System (Ausfallwahrscheinlichkeiten sind angegeben)? Wie ändert sich diese wenn auf Bauteil C verzichtet wird. Variante 1: Variante 2: P = (A B C) (A B C ) (A B C) 0, 97 0, 96 0, 95 = 0, 88464 0, 97 0, 96 0, 05 = 0, 04656 0, 97 0, 04 0, 95 = 0, 03686 Σ = 0, 96806 P = 0.97 (1 (0.05 0.04)) = 0, 96806 entspricht P = A (B C) System ohne Redundanz: 0, 97 0, 95 = 0, 9215 (!)
27 Mechanismen der Zuverlässlichkeit Fehlervermeidung Aufgabe des Entwicklers zu Designzeit, des Betreibers zur Laufzeit - Schirmung von Kabeln - Schulung von Personal Fehlertoleranz - Fähigkeit eines Systems, auch bei einer begrenzten Zahl fehlerhafter Subsysteme eine spezifizierte Funktion zu erfüllen - Mittelwertbildung bei Sensordaten - Multisensorsysteme Alle Mechanismen der Fehlertoleranz beruhen auf Redundanz Informationsredundanz Komponentenredundanz Zeitredundanz Die Wahl der Redundanzmethode ist davon abhängig, welche Fehlerklasse berücksichtigt wird!
28 Mechanismen der Fehlertoleranz (Explizite) Fehlerbehandlung Dynamische Redundanz Fehlererkennung Fehlermaskierung Statische Redundanz Fehlerkorrigierende Codes Fehlerbehandlung Schadensermittlung und Begrenzung Rekonfiguration n-aus-m Mehrheitsentscheidung Recovery
29 Arten der Redundanz Aktive Redundanz: Mehrere Komponenten erbringen dieselbe Dienstleistung nebenläufig. Passive Redundanz: Redundante Komponenten sind nicht an der Erbringung der Dienstleistung beteiligt. Cold Standby: die redundante(n) Komponente(n) werden erst aktiviert, wenn eine aktive Komponente ausgefallen ist. Der Zustand der Berechnung zum Zeitpunkt des Ausfalls der aktiven Komponente muss auf der redundanten Komponente rekonstruiert werden. Hot Standby: die redundante(n) Komponente(n) ist aktiv, erzeugt aber keine Ausgaben. Die redundante Komponente enthält beim Ausfall der aktiven Komponente bereits deren Zustand und kann sie sofort ersetzen.
30 Fehlererkennung Syst. 1 Syst. 2 =1 Ergebnis Fehler A B Y = A B 0 0 0 0 1 1 1 0 1 1 1 0 Ergebnis Syst. 1 Syst. 2 =1 =1 =1 Fehler im Ergebnis Fehler im Vergleicher
31 Fehlermaskierung Syst. 1 Syst. 2 =1 =1 =1 & Fehler 1 Ergebnis Syst. 3 Syst. 4 =1 =1 =1 + & Fehler
32 Beispiel: K-aus-n System Systeme aus n Komponenten von denen mindestens k der Komponenten intakt sind. K 1 K 1 K 2 K 3 K 2 Voter K 1 K 2 K 1 K 3 Voter K 3 K 2 K 3 P = (K 1 K 2 K 3 + K 1 K 2 K 3 +K 1 K 2 K 3 +K 1 K 2 K 3 ) P vvvvv P = (K 3 +3 K 2 (1 K)) P vvvvv Beispiel P= (0,9 3 + 3 0,9 2 (1-0,9)) 0,99 = 0,972 0,99 = 0,96228
34 Auswertung der Evaluationsbögen Positiv Negativ zu wenige Roboter hoher Zeitaufwand für die Studenten fehlender Bezug der Übung zur Vorlesung außerordentliche Breite der Vorlesung