1 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Modellbasierte Zuverlässigkeitsanalyse (Hauptseminar 1: Qualitäts- und Zuverlässigkeitsmangagement) Christoph Rager
2 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Überblick Zuverlässigkeit Fehlerbaumanalyse (FTA) Aufbau Auswertung Grenzen Binary Desicion Diagram (BDD) Definition und Eigenschaften OBDD ROBDD Reduktion Konstruktion Auswertung Bewertung
3 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Bestimmung Zuverlässigkeit eines Systems durch Vorhersage des zukünftigen Verhaltens Zuverlässigkeitsanalysen: Simulationen analytische Methoden Modell des realen Systems als Basis analytische Verfahren: mathematische Methoden als Grundlage z.B. Fehlerbaumanalyse, BDD Zuverlässigkeitsfunktion: R(t) = P{t<T} Ausfallfunktion: F(t) = 1 - R(t)
4 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager FTA ist Verfahren für Zuverlässigkeitsanalyse Fehlerbaum (FT: fault tree): strukturiertes Logikdiagramm Basisereignisse (BE) Top- Ereignis (TE) Konstruktion: -Top- Down- Verfahren -zu jedem TE eigener FT Analyse: qualitativ: -Bestimmung der minimal cutsets (MCS) -Sortierung der MCS quantitativ: -Berechnung der Eintrittswahrscheinlichkeit des TE
5 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Bestimmung MCS mit Hilfe Boolescher Algebra TE = E 1. E 2 E 1 = A + E 3 E 3 = B + C E 2 = C + E 4 E 4 = A. B +. TE B C BC A A E2E2 E3E3 E4E4 E1E
6 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Vereinfachung FT durch MCS Top- Down- Verfahren: Terme nacheinander einsetzen nach TE auflösen TE CA. B AB TE = C + A. B. +
7 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Vereinfachung FT durch MCS Top- Down- Verfahren: Terme nacheinander einsetzen nach TE auflösen TE CA. B AB TE = C + A. B + beide Bäume besitzen die selben MCS!.
8 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Durchführung FTA mit zunehmender Größe des FT schwieriger Probleme: Rechenzeit steigt exponentiell mit Anzahl der Knoten bei Bestimmung MCS: -Abbruchfehler bei Berechnung Eintrittswahrscheinlichkeit TE: -kein effizienter Algorithmus -Schätzung selten eintretender Ereignisse
9 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Durchführung FTA mit zunehmender Größe des FT schwieriger Probleme: Rechenzeit steigt exponentiell mit Anzahl der Knoten bei Bestimmung MCS: -Abbruchfehler bei Berechnung Eintrittswahrscheinlichkeit TE: -kein effizienter Algorithmus -Schätzung selten eintretender Ereignisse Lösungsmöglichkeit durch neuen Algorithmus, basierend auf Binary Decision Diagrams (BDD)
10 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager BDD ist gerichteter, azyklischer Graph mit genau einer Wurzel Eigenschaften: genau zwei Knoten ohne ausgehende Kanten jeder andere Knoten hat zwei ausgehende Kanten jeder Knoten mit Variable x i markiert Darstellung: 1- Kante als durchgezogene Linie 0- Kante gestrichelt Senken als Rechteck Knoten als Kreise x2 x1 x2 x3 10
11 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager OBDD hält eine vorgegebene Variablenordnung von Wurzel zur Senke ein Ordered BDD Variablen in jedem Pfad in selber Reihenfolge Darstellung von Schaltfunktionen mit Hilfe Shannon- Zerlegung: f = x i. f x i + x i. f x i f x i : positiver Cofaktor (x i = 1) f x i : negativer Cofaktor (x i = 0)
12 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager OBDD für gegebene Schaltfunktionen nicht eindeutig bestimmt Forderung an Darstellung: minimal Redundanzfreiheit Arten von Redundanzen: 0- und 1- Nachfolgeknoten eines Knotens v identisch bestimme Teilgraphen treten mehrfach auf Anwendung von Reduktionsregeln ROBBD (Reduced Ordered BDD) als Ergebnis
13 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager kanonischen Darstellung von Schaltfunktionen durch zwei Reduktionsregeln Eliminationsregel (Deletion Rule): 0- und 1- Nachfolgeknoten eines Knotens v identisch Vorgehen: -Knoten v eliminieren -in Knoten v eingehenden Kanten auf Nachfolgeknoten umleiten x2 x3
14 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager kanonischen Darstellung von Schaltfunktionen durch zwei Reduktionsregeln Eliminationsregel (Deletion Rule): 0- und 1- Nachfolgeknoten eines Knotens v identisch Vorgehen: -Knoten v eliminieren -in Knoten v eingehenden Kanten auf Nachfolgeknoten umleiten x2 x3
15 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager kanonischen Darstellung von Schaltfunktionen durch zwei Reduktionsregeln Isomorphieregel (Merging Rule): bestimme Teilgraphen treten mehrfach auf: -Knoten u und v mit gleicher Variable markiert -1- bzw. 0- Kante von u und v haben jeweils gleichen Nachfolger Vorgehen: -Knoten u oder v eliminieren -in diesen Knoten eingehenden Kanten auf verbleibenden umlenken x2 x3 x2 x3
16 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager kanonischen Darstellung von Schaltfunktionen durch zwei Reduktionsregeln Isomorphieregel (Merging Rule): bestimme Teilgraphen treten mehrfach auf: -Knoten u und v mit gleicher Variable markiert -1- bzw. 0- Kante von u und v haben jeweils gleichen Nachfolger Vorgehen: -Knoten u oder v eliminieren -in diesen Knoten eingehenden Kanten auf verbleibenden umlenken x2 x3 x2 x3 x2 x3
17 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Reduktionsrichtung von unten nach oben Anwendung Eliminationsregel Anwendung Isomorphieregel
18 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Konstruktion von BDD auf zwei unterschiedlichen Wegen Schaltfunktion als Ausgangspunkt: schrittweise Erstellung BDD mit Hilfe der Shannon- Zerlegung Äquivalenztest parallel dazu keine Reduktion erforderlich FT als Ausgangspunkt: vollständigen Entscheidungsbaum aufstellen: -TE als Anfangspunkt -logische Verknüpfung der Ereignisse durch boolesche Algebra Reduktion
19 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Konstruktion BDD zum TE = AB + C (Variablenordnung: A < B < C) TE CA. B AB. +
20 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Konstruktion BDD zum TE = AB + C (Variablenordnung: A < B < C) Schritt 1: AB A 10 B 10 und
21 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Konstruktion BDD zum TE = AB + C (Variablenordnung: A < B < C) Schritt 1: AB A 01 B 10 B 10 und
22 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Konstruktion BDD zum TE = AB + C (Variablenordnung: A < B < C) Schritt 1: AB A 01 B 10 B 10 und A 0 B X = X 0. X = 0
23 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Konstruktion BDD zum TE = AB + C (Variablenordnung: A < B < C) Schritt 1: AB Schritt 2: AB + C A 0 B 10 C 10 C 10 oder
24 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Konstruktion BDD zum TE = AB + C (Variablenordnung: A < B < C) Schritt 1: AB Schritt 2: AB + C A 0 B 10 C 10 C 10 oder A B 1 C 10 C X = X = X
25 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Konstruktion BDD zum TE = AB + C (Variablenordnung: A < B < C) Schritt 1: AB Schritt 2: AB + C Schritt 3: Reduktion A B 1 C 10 C 10
26 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Konstruktion BDD zum TE = AB + C (Variablenordnung: A < B < C) Schritt 1: AB Schritt 2: AB + C Schritt 3: Reduktion A B C C 10 A B 1 C 10 C 10
27 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Konstruktion BDD zum TE = AB + C (Variablenordnung: A < B < C) Schritt 1: AB Schritt 2: AB + C Schritt 3: Reduktion A B C C 10
28 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Konstruktion BDD zum TE = AB + C (Variablenordnung: A < B < C) Schritt 1: AB Schritt 2: AB + C Schritt 3: Reduktion A B C 10 A B C C 10
29 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Konstruktion BDD zum TE = AB + C (Variablenordnung: A < B < C) jeder Pfad vom Wurzelknoten zur Senke 1 löst das TE aus A B C 10
30 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Konstruktion BDD zum TE = AB + C (Variablenordnung: A < B < C) jeder Pfad vom Wurzelknoten zur Senke 1 löst das TE aus A B C 10
31 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Auswertung FT effizient mit Hilfe BDD Bestimmung der minimalen Lösungen: jeder Pfad von Wurzel zur Senke 1 ist Lösung Lösungen nicht minimal minimale Lösung mit Hilfe Algorithmus (Rauzy) Ermittlung der Eintrittswahrscheinlichkeit des TE: exakte Resultate (kein Abbruch) mit Hilfe der Shannon- Zerlegung: p (f) = p (x = 1) * p (f {x = 1} ) + p (x = 0) * p (f {x = 0} )
32 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Bewertung des BDD- Ansatzes Vorteile ggü. FTA: exakte Berechnungen -keine Abbruchfehler -keine Schätzungen Bewältigung großer Anzahl von cutsets schnellere Berechnung Softwarepakete erhältlich (z.B. Aralia...) Nachteile: Verlagerung Komplexität auf Erstellung Größe BDD abhängig von Variablenordnung Anwendung: symbolische Verifizierung von Digitalschaltkreisen Modellierung technischer Systeme (Kraftwerke, Flugzeuge...)
33 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Quellenangabe Buchacker, K.: Definition und Auswertung erweiterter Fehlerbäume für die Zuverlässigkeitsanalyse technischer Systeme Fault Tree Handbook with Aerospace Applications (NASA) Rauzy, A.: New algorithms for fault trees analysis Meinel, C., Theobald, T.: Algorithmen und Datenstrukturen im VLSI- Design
34 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Vielen Dank für die Aufmerksamkeit!
35 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Backup
36 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Berechnung der Wahrscheinlichkeit des TE bei oder- Verknüpfung P(Q) = P(A) + P(B) – P(AB) Näherung bei kleinen Wahrscheinlichkeiten: P(A), P(B) < P(AB) klein gegenüber P(A) + P(B) P(Q) = P(A) + P(B) Q AB +
37 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Reduktion eines OBDD (1) x2 x1 x2 x3 10 id: 1 id: 4 id: 2 id: 3 id: 5 id: 6
38 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Reduktion eines OBDD (2) x2 x1 x2 x3 10 id: 1 id: 4 id: 2 id: 3 id: 5 id: 6 x2 x1 x2 10 id: 1 id: 4 id: 2 id: 5 id: 6
39 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Reduktion eines OBDD (3) x2 x1 x2 10 id: 1 id: 4 id: 2 id: 5 id: 6
40 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Reduktion eines OBDD (4) x2 x1 x2 10 id: 1 id: 4 id: 2 id: 5 id: 6 x1 x2 10 id: 1 id: 2 id: 5 id: 6
41 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Reduktion eines OBDD (5) x1 x2 10 id: 1 id: 2 id: 5 id: 6
42 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Reduktion eines OBDD (6) x2 10 id: 2 id: 5 id: 6 x1 x2 10 id: 1 id: 2 id: 5 id: 6
43 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Konstruktion BBD mit Schaltfunktion als Ausgangspunkt Geg.: f(x 1, x 2, x 3 ) = x 1 (x 2 + x 3 )
44 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Konstruktion BBD mit Schaltfunktion als Ausgangspunkt Geg.: f(x 1, x 2, x 3 ) = x 1 (x 2 + x 3 ) Unterfunktionen von x 1 berechnen: f x 1 = x 2 + x 3 f x 1 = 0 x1 0
45 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Konstruktion BBD mit Schaltfunktion als Ausgangspunkt Geg.: f(x 1, x 2, x 3 ) = x 1 (x 2 + x 3 ) Unterfunktionen von x 1 berechnen: f x 1 = x 2 + x 3 f x 1 = 0 Unterfunktionen von x 2 berechnen: f x 1 x 2 = x 3 f x 1 x 2 = 1 + x 3 = 1 x1 x2 10
46 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Konstruktion BBD mit Schaltfunktion als Ausgangspunkt Geg.: f(x 1, x 2, x 3 ) = x 1 (x 2 + x 3 ) Unterfunktionen von x 1 berechnen: f x 1 = x 2 + x 3 f x 1 = 0 Unterfunktionen von x 2 berechnen: f x 1 x 2 = x 3 f x 1 x 2 = 1 + x 3 = 1 Unterfunktionen von x 3 berechnen: f x 1 x 2 x 3 = 1 f x 1 x 2 x 3 = 0 0 x1 x2 1 x3
47 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Operationen auf BDD (exemplarisch) binäre Operationen: Verknüpfung mehrerer BDD mit boolescher Algebra Voraussetzung: -gleiche Variablenordnung der Funktionen Anwendung: -Erstellung großer BDD -einfache Veränderung bestehender BDD Algorithmen: Äquivalenztest: -Test, ob zwei gegebene OBBD die gleiche Fkt. Darstellen Auswertung: -Durchlauf des OBDD von der Wurzel zur Senke
48 Friedrich-Alexander-Universität Erlangen-Nürnberg Christoph Rager Speicherverwaltung Situation: große OBBD aus Vielzahl von kleinen OBBD aufgebaut kleine OBDD nur eine vorübergehende Zeit von Bedeutung nicht benötigte OBBD sollen entfernt werden Problematik beim sofortigen Löschen: tote Knoten evtl. für spätere Berechnungen noch benötigt Knoten kann nur gelöscht werden, wenn zugleich alle seine Vorgänger gelöscht werden Strategie: Garbage Collection Speicherplatz eines toten Knotens wird nicht sofort freigegeben warten bis Umstrukturierungsaufwand in gutem Verhältnis zum Gewinn an Speicherplatz