Einführung in Eingebettete Systeme Vorlesung 14 04/02/2015 Bernd Finkbeiner [email protected] Prof. Bernd Finkbeiner, Ph.D. [email protected] 1 Klausur ▪ ▪ ▪ ▪ ▪ Mittwoch, 11.02.2015 16:00 - 18:00 Uhr Hörsaal III, Gebäude E1 3 90 Minuten bitte Studierendenausweis und Personalausweis mitbringen ▪ “Closed book” (Ausnahme: 1 Blatt DIN A4 doppelseitig handschriftlich beschrieben.) ▪ Wiederholungsmöglichkeit: End-of-Semester Klausur 25.3.2015, 10:00-12:00 Uhr 2 Bessere Note zählt Zuverlässigkeit: f, F ! Sei x die Zeit bis zum ersten Ausfall des Systems, x ist eine Zufallsvariable ! Sei f(x) die Dichtefunktion von x Beispiel: Exponentialverteilung f(x) λ f(x)=λe-λx x ! Verteilungsfunktion: F(t) = Wahrscheinlichkeit dass das System zur Zeit t fehlerhaft ist: F(t) = Pr(T≤t) Beispiel: Exponentialverteilung 1 F(t) t 3 Zuverlässigkeit: R(t) ! Zuverlässigkeit R(t) = Wahrscheinlichkeit dass die Zeit bis zum ersten Ausfall größer ist als t: R(t)=Pr(T>t), t≥0 Beispiel: Exponentialverteilung 1 R(t)=e-λt; R(t) ~0.37 t 1/λ 4 ~0,37 Dabei ist P r(t < x ≤ t + ∆t|x > t) die bedingte Wahrscheinlichkeit dafür, dass ausfällt, unter der Annahme, dass es zur t 1/! das System im Zeitintervall Zeit t noch funktioniert. Für bedingte Wahrscheinlichkeiten gilt die allgemeiAbb. 6.12. Zuverlässigkeit bei Exponentialverteilung ne Formel P r(A|B) = P r(AB)/P r(B), wobei P r(AB) die Wahrscheinlichkeit des Verbundereignisses 230 AB ist.6 In diesem und FallValidierung ist P r(B) die WahrscheinlichEvaluierung keit, dasWahrscheinlichkeit System zur Zeit tdaf noch funktioniert, also R(t). Damit folgt aus Die Fehlerrate λ(t) dass ist die ür, dass ein Die Fehlerrate zur Zeit t ist die Wahrscheinlichkeit, λe−λtdass das f (t) Gleichung tintervall zwischen t und t6.19: + ∆t ausfällt. =λ = λ(t) = 0 Fehlerrate e−λt System zwischen der Zeit t und der Zeit t+ΔtR(t) ausfällt: Die Fehlerraten werden häufig in der Einheit FIT (failure in time) gem P r(t < x ≤ t + ∆t|x > t) F (t + ∆t) − F (t) 9 Ein FIT dabei einem erwarteten Fehler in 10(6.20) Stunden. Die (6.19) λ(t) = lim λ(t) = entspricht lim ∆t→0 ∆t ∆t→0 ∆tR(t)sind allerdings nicht konstant. Manche folg raten vieler echter Systeme sogenannten f (t) Badewannen“-Kurve (s. Abb. 6.13). Danach sind die Fe Wahrscheinlichkeit (6.21) = ächst ”höherdaf t < Bedingte x ≤ t + ∆t|x > t) die bedingte Wahrscheinlichkeit ten zun ( ür, Frühausfälle“), werden dann ann ähernd konsta P(A|B)=P(AB)/P(B) R(t) ” (“vorausgesetzt das System em im Zeitintervall ausf ällt, unter der steigen Annahme, es zurvon Alterungserscheinungen wieder an. späterdass aufgrund nktioniert. Für bedingte gilt die allgemeifunktioniert zur ZeitWahrscheinlichkeiten t "); 5 Für r(B), die Exponentialverteilung ergibt sich : A|B) = P r(AB)/P wobei P r(AB) die Wahrscheinlichkeit λ (t ) eignisses AB ist. In diesem Fall ist P r(B) die WahrscheinlichSystem zur Zeit t noch funktioniert, also R(t). Damit folgt aus Beispiel: Exponentialverteilung 9: 5 F (t + ∆t) − F (t) λ(t) = lim ∆t→0 ∆tR(t) f (t) = R(t) entialverteilung ergibt sich5 : 1.Phase Diese Beziehung bildet eine gewisse Motivation dafür, die Konstante der Exponentialverteilung und die Ausfallrate mit demselben Buchstaben zu bezeichnen. (6.20) 2.Phase 3.Phase t Abb. 6.13. Badewannenkurve Fehlerraten “Badewannenkurve” derderFehlerraten (6.21) Definition: Unter der mittleren Zeit bis zum Fehler (Mean Ti 5 Failure (MTTF)) verstehen wir die mittlere Zeit bis zu einem Fehle hme, dass das System ächst funktioniert. Diese Zeit der mittleren Zeitzun bis zum Fehler (Mean Time To sich tergibt rtungswert x: bis zu einem Fehler unter verstehen der wirZufallsvariablen die mittlere Zeit Abb. 6.13.zun Badewannenkurve derDiese Fehlerraten das System ächst funktioniert. Zeit ergibt sich Mean Time to Failure MTTF ! ∞ der Zufallsvariablen x: MTTF = E{x} = xf (x)dx (6.23) Unter der mittleren Zeit bis zum Fehler (Mean Time To 0 ! ∞ TF)) verstehen wir die mittlere Zeit bis zu einem Fehler unter Exponentialverteilung ergibt sich beispielsweise MTTF = E{x} zun = ächst xf (x)dx (6.23) dass das System funktioniert. Diese Zeit ergibt sich 0! ∞ swert der Zufallsvariablen x: MTTF = xλe−λx dx (6.24) 0 alverteilung ergibt sich beispielsweise " ′ " ′ ! ∞ ! ∞ gral können wir mit Hilfe der−λx Produktregel ( uv = uv − u v mit MTTF = xλe (6.24)6.24:(6.23) ′ −λx d v = λe MTTF ) bestimmen. ergibt aus der Gleichung = E{x}Dann = dx xfsich (x)dx 0 0 " " ! ∞( uv ′ = uv − u′ v mit Beispiel: Exponentialverteilung n wir mit Hilfe der Produktregel −λx entialverteilung ergibt sich beispielsweise −λx MTTF = Dann −[xe−λx ]∞ dx Gleichung 6.24: (6.25) 0 + sich e ) bestimmen. ergibt aus der 1 λ ! ∞ 0 1 λ [0 dx − 1] = [e−λx ]∞ = −−λx =− = MTTF xλe 0 ! MTTF = −[xe−λx ]∞ 0 + 0∞ e−λx dx 1 λ (6.26)(6.24) (6.25) " ′ ere Zeit bis zu einem Fehler gleich "dem 0 ist damit sinnvollerweise ′ önnen wir ist mit Hilfe der Produktregel ( uv = uv − u v derMTTF Fehlerrate. damit gleich dem Kehrwert der Fehlerrate. 1 1 1 mit (6.26) 1] = sich aus der Gleichung [e−λx ]∞ − [0 − = λe−λx=)−bestimmen. ergibt 6.24: 0 =Dann λ λ λ bis zu einem Fehler ist damit !sinnvollerweise gleich dem ∞ rrate. −λx −λx ∞ 6 nutzt. Definition: Unter der mittleren Zeit zur Reparatur (Mean Time To Definition: Unterverstehen der Verfwir ügbarkeit (availability) den Anteil Repair (MTTR)) die mittlere Zeit bis zurverstehen Reparaturwir eines der Zeit, zu der der Annahme, wir über ein verfzun ügen können, Fehlers unter dassSystem das System ächst defekt an ist.der Die Gesamtzeit. MTTR ist Erwartungswert welche für eine Reparatur Dieder Verf ügbarkeit istder imVerteilungsfunktion, Prinzip von der Zeit abhdie ängig, über welche wir die ben ötigten des Zeiten beschreibt. Nutzung Systems betrachten und wird daher als Funktion A(t) model- MTTF, MTTR and MTBF MTTR = Unter mean time to repair Definition: der mittleren Fehlern (Mean Bet-A(t) für liert. Es wird allerdings häufigZeit nurzwischen die Verfügbarkeit A =Time limt→∞ (mittlere zur wir Reparatur) ween (MTBF))Zeit verstehen die mittlere zwischen zwei FehgroßeFailures, Zeiten betrachtet. A kann einfach aus demZeit Quotienten von M T T F und lerereignissen. MTBF mean time between failures = MTTF + MTTR M T BF = berechnet werden: Die MTBF ergibt sich als Summe der MTTF und der MTTR (s. Abb. 6.14). Die Zeichnung spiegelt dabei nicht wieder, dass es sich MTTF bei allen Größen um Availability = lim A(t) Fehlerereignisse = Verfügbarkeit statistische Werte handelt und dass A daher konkrete zu andet→∞ MTBF ren Zeiten auftreten könnten. Beispielsweise hätte ein System, dass im Mittel 999 Tage benutzt werden kann und dann jeweils einen Tag lang repariert wird, eine Verfügbarkeit von MTTR A = 0, 999. funktionsfähig Erlaubte Ausfälle von Systemen können in der Größenordnung von einem fehlerhaft Fehler in 109 Stunden (1 FIT) liegen. Das ist bis zu 1000 mal weniger als MTTF MTBF MTBF t Abb. 6.14. Zur Definition von MTTF, MTTR und MTBF Bei vielen Systemen werden Reparaturen nicht betrachtet. Außerdem sollte 7 Fehler-Modus und Effekt-Analyse (FMEA) ! FMEA beginnt bei den Komponenten und versucht, deren Zuverlässigkeit abzuschätzen. Der erste Schritt besteht im Aufstellen einer Tabelle der Komponenten, möglicher Fehler, Fehlerwahrscheinlichkeiten und Auswirkungen auf das Systemverhalten. ! Mit dieser Information wird die Zuverlässigkeit des Systems bottom-up bestimmt. 8 Letzte Woche: Blockanalyse ! Ziel: bestimme die Zuverlässigkeit eines Systems aus der Zuverlässigkeit seiner Komponenten ! Serielle Komposition: ! Parallele Komposition: 9 Berechnung der Zuverlässigkeit ! Annahme: Ausfälle verschiedener Komponenten sind statistisch unabhängig ! Serielle Komposition ! Parallele Komposition 10 Approximation: Minimale Schnitte ! Ein minimaler Schnitt ist eine minimale Menge von Komponenten so dass ihr gleichzeitiger Ausfall einen Systemausfall produziert: ist eine untere Schranke für die Zuverlässigkeit R(t) des Systems. ! Minimale Schnitte mit einer einzelnen Komponente sind single point failures. 11 Approximation: Minimale Pfade ! Ein minimaler Pfad (tie set) ist eine minimale Menge von Komponenten, so dass das System funktioniert wann immer die Komponenten funktionieren ! ist eine obere Schranke für die Zuverlässigkeit R(t) des Systems. 12 Fault tree Analysis (FTA) ! FTA ist eine top-down Methode zur Analyse von Risiken. Die Analyse beginnt mit einem Schaden, und untersucht dann mögliche Szenarien die zum Auftreten dieses Schadens führen können. ! FTA benutzt typischerweise eine graphische Darstellung mit Symbolen für AND- und ORGatter. ! OR-Gatter werden benutzt, wenn eines der beschriebenen Szenarien alleine schon den Schaden auslösen kann. ! AND-Gatter werden benutzt, wenn mehrere Ereignisse zusammen auftreten müssen. 13 Beispiel: Warnlampe für Bremsflüssigkeit Neil Storey: Safety-critical computer systems 14 DirectAnalysis Analysis Direct Direct Analysis Direkte Analyse 1 11 n n pi 1 p 1 pi i ( FT ( )p ) (1(1 RRp(it())t )) 1RpR(it()t ) ) ) (( nFT FT ( p ( p) (1i 1 Ri (t ))i Ri (t ) i ) {0n,1} n p p p{{00,1,1}}n i pi i i 1i 1 where where where p ( p1p,..., p ) ) Basisereignisse the occurrence of the base events, denotes the occurrence of the baseand events, and 1 ,..., p p ( p(1 ,..., pnnp) n denotes denotes the occurrence of the base events, and FT FT((pp) ) FT ( p) denotes the value of the top event denotes the Top-Level-Ereignisses value of the top event Wert (0/1) des denotes the value of the top event Problem: combinatorial explosion! Problem: combinatorial explosion! Problem: combinatorial explosion! BF - ES BF - ES - 15 15 - 15 Minimale Schnitte Logisch betrachtet: Disjunktive Normalform (DNF) = Disjunktion von Konjunktionen von Basisereignissen. Beispiel: C (single point failure) und A ∧ B sind minimale Schnitte. 16 Grenzen kombinatorischer Modelle ! Die Annahme, dass die Ausfallwahrscheinlichkeit unabhängig vom Systemzustand ist, ist oft falsch. Beispiel: Kalte Reserve ! Ausfall während Standby unwahrscheinlich ! Ausfall während Aktivierung ist wahrscheinlich ⇒ Zustandsbasierte Modelle (z.B. Markov-Ketten) erlauben genauere Aussagen 17 14. Validierung Ziel: ! Überblick über Verfahren aus dem Bereich Testen und Verifikation 18 Motivation ! Eingebettete Systeme sind oft sicherheitskritisch. Die Anforderungen an die Produktqualität sind daher oft höher als bei nicht-kritischen Systemen. ! Der Test von eingebetteten Systemen in ihrer physikalischen Umgebung kann gefährlich sein. 19 Testen Erzeugung von Testmustern Anwendung von Testmustern Beobachtung des Systementwurfs Vergleich der Ergebnisse ! ! ! ! ! Testmuster werden in der Regel auf Grundlage von Fehlermodellen erzeugt. ! Die Qualität der Testmuster kann mit Hilfe der Fehlerabdeckung bestimmt werden. 20 Hardware Fehlermodelle ! Stuck-at-Fehlermodell: ein internes Signal einer Schaltung ist immer mit 0 oder 1 verbunden ! Stuck-open-Fehlermodell: ein offener Transistor kann sich wie ein Speicher verhalten ! Verzögerungsfehler: Schaltkreis arbeitet funktional korrekt aber mit veränderter Verzögerung 21 Beispiel a b c 0/1" no error f 0 1 d g error 0/1 h 1/0 1 1/0 i 1 e ▪ Können wir einen stuck-at-one Fehler bei a finden (s-a-1(a)) ? ▪ ▪ ▪ ▪ ▪ ▪ f='1' wenn der Fehler auftritt ⇒ a='0', b='0' um sicherzustellen, dass f='0' falls kein Fehler g='1' damit der Fehler bei h sichtbar wird c='1' damit g='1' (alternativ d='1') e='1' damit der Fehler bei i sichtbar wird ⇒ Bei Eingabe a='0', b=‘0’, c=‘1’, e='1' Ausgabe i='1' wenn Schaltkreis in Ordnung Ausgabe i='0' wenn Fehler 22 Aufgabe Aufgabe 5: Schaltnetze (7+18 Punkte) Geben Sie ein Testmuster an, welches das folgende Schaltnetz auf einen stuck-at-zero-Fehler aufwelches Eingabe testet.Schaltnetz auf einen Stuck-ata) Geben Sie ein Testmuster an, das A folgende Zero-Fehler auf Eingabe A testet. A B X C D 23 Lösung Aufgabe 5: Schaltnetze (7+18 Punkte) a) Geben Sie ein Testmuster an, welches das folgende Schaltnetz auf einen Stuck-atZero-Fehler auf Eingabe A testet. A B ⚡ 1/0 1/0 0/1 1 0 1/0 C D 1 1 X 1/0 1 0 b) Geben Sie ein Schaltnetz mit 6 Gattern für den folgenden Ausdruck an. Zulässig sind 24 Zustandsbehaftete Systeme ! Wenn das Testen erst nach dem Systementwurf in Betracht gezogen wird, kann es schwierig sein das System zu testen. ! Beispiel Automaten: 1 E/d 2 Um den korrekten Übergang von 2 nach 3 zu testen, muss das System C/d A/f B/c 3 ! ! ! ! in Zustand 2 gebracht werden A angewendet werden Output f geprüft werden Überprüft werden ob der Folgezustand 3 erreicht wurde 25 Testfreundlicher Entwurf: Scan Design 26 Fehlersimulation ! Typischerweise langsamer als das echte Design ! Echtzeitanforderungen deshalb oft schwierig zu testen ! Echte Systeme oft zu komplex, Datenmengen oft zu groß um genügend zu testen ! Simulation hilft Fehler zu finden, kann aber die Abwesenheit von Fehlern nicht nachweisen 27 Rapid Prototyping/Emulation ! Prototyp: System das rasch entwickelt wurde und sich ähnlich zu dem endgültigen Produkt verhält ! Oft größer, weniger energieeffizient, etc. als endgültiges Produkt ! z.B. mit FPGAs implementiert 28 Fehlerinjektion ! Ein reales System wird verändert und der Effekt auf das Gesamtverhalten wird überprüft ! Injektion von lokalen Fehlern im System ! Fehlern in der Umgebung (z.B. extreme Temperaturen) ! Fehlerinjektion auf Hardware-Ebene, z.B. Manipulation von Anschlüssen ! Fehlerinjektion auf Softwarebene, z.B. Manipulation von Bits im Speicher 29 Modellbasiertes Testen e.g. Stateflow+ Simulink Behavioral model Desired behavior Generation Test cases (input vectors) Coverage criteria Test goals 30 Formale Verifikation ! Mathematischer Beweis dass ein Design korrekt ist ! Voraussetzung: formales Modell und Spezifikation gewünschter Eigenschaften ! Interaktive Verifikation/Proof checking: manueller Beweis, Vollständigkeit und Korrektheit einzelner Beweisschritte maschinell geprüft ! Automatische Verifikation/Model checking: vollständige Traversierung des Zustandsraums 31 Schaltnetzäquivalenz 32 Übersetzung von Schaltnetzen in logische Formeln ! Jedes Gatter wird in eine aussagenlogische Formel übersetzt: ! Das Schaltkreisverhalten enstpricht der Konjunktion aller Formeln. 33 Schaltnetzäquivalenz ! Für zwei gegebene Schaltkreise C und D berechnen wir zunächst die Formeln C , D ! Die Korrespondenz zwischen den Schaltkreisen wird durch Korrespondenzrelationen I und O für die Eingaben und Ausgaben ausgedrückt ! C und D sind genau dann nicht äquivalent wenn die Negation der folgenden Formel erfüllbar ist: 34 Model Checking 35 15. Wrap-Up 36 1. Einleitung 2. Endliche Automaten 3. Microcontroller 4. StateCharts 5. Sensoren und Aktoren 6. Zeitkontinuierliche Modelle 7. Hybride Modelle 8. Kombinatorische Logik 9. Synchrone Schaltwerke 10. VHDL 11. Scheduling 12. Petri-Netze 13. Fehlertoleranz 14. Validierung 37 Analysemodell Widerspruch: Modell fehlerhaft Konstruktionsmodell Analyse Design Modell System [Tabeling 2006] Widerspruch: System fehlerhaft 38 Sensoren Petri-Netze A/D Endliche Automaten Hardware Steuerung Software diskret Schaltungen kontinuierlich Physikalische Umgebung Kommunikation, Nebenläufigkeit D/A Aktoren Differenzialgleichungen Physikalische Umgebung 39 Entwurfsprinzipien für eingebettete Systeme 1. Sicherheitsüberlegungen müssen als der wichtigste Teil der Spezifikation betrachtet werden, sie treiben den gesamten Entwurfsprozess. 2. Präzise Spezifikationen müssen ganz zu Beginn erstellt werden. Diese enthalten Fehler und ihre Wahrscheinlichkeiten. 3. Fehler-Eingrenzungs-Regionen (fault containment regions) müssen betrachtet werden. Fehler in einer Region sollen Fehler in einer anderen Region nicht beeinflussen. Passenger compartment stable Safety-critical & non-safety critical electronics 40 Entwurfsprinzipien für eingebettete Systeme 4. Eine konsistente Verwendung von Zeit und Zuständen muss sichergestellt werden. Ansonsten ist es unmöglich zwischen Ursprungs- und Folgefehlern zu unterscheiden. 5. Wohldefinierte Schnittstellen müssen die Interna der Komponenten verstecken. 6. Es muss sichergestellt sein, dass keine Abhängigkeiten zwischen dem Ausfallen der Komponenten bestehen. source Follow-up t 2 independent brake hose systems 41 Entwurfsprinzipien für eingebettete Systeme 7. Komponenten sollten sich selbst als korrekt funktionierend ansehen, es sei denn, zwei oder mehr andere Komponenten sind der Meinung, dass das Gegenteil der Fall ist (Prinzip des Selbstvertrauens). 8. Fehlertoleranzmechanismen müssen so entworfen sein, dass sie bei der Erklärung des Systemverhaltens keine zusätzliche Schwierigkeit darstellen. Fehlertoleranzmechanismen sollten von der normalen Funktion entkoppelt sein. 9. Das System muss Diagnose-freundlich entworfen sein. Beispielsweise muss es möglich sein vorhandene (aber verdeckte) Fehler zu finden. one of the systems sufficient for braking 42 Entwurfsprinzipien für eingebettete Systeme 10. Die Mensch-Maschine-Schnittstelle muss intuitiv und nachsichtig sein. Die Sicherheit muss trotz menschlicher Fehler gewährleistet sein. airbag 11. Jede Anomalie sollte aufgezeichnet werden. Die Aufzeichnung sollte interne Effekte einschließen, da die Anomalien sonst von Fehlertoleranzmechanismen maskiert werden können. 12. Eingebettete Systeme müssen unter allen Umständen ununterbrochene Dienste leisten (never-give-up Strategie). Pop-up-Fenster, Abschalten etc. ist inakzeptabel. 43