Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte...

43
Einführung in Eingebettete Systeme Vorlesung 14 Bernd Finkbeiner 04/02/2015 [email protected] Prof. Bernd Finkbeiner, Ph.D. [email protected] 1

Transcript of Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte...

Page 1: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

Einführung in

Eingebettete Systeme

Vorlesung 14 Bernd Finkbeiner04/02/2015 [email protected]

Prof. Bernd Finkbeiner, Ph.D. [email protected]

1

Page 2: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

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 UhrBessere Note zählt 2

Page 3: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

!Sei x die Zeit bis zum ersten Ausfall des Systems, x ist eine Zufallsvariable

!Sei f(x) die Dichtefunktion von x

Zuverlässigkeit: f, F

f(x)λ

x

!Verteilungsfunktion: F(t) = Wahrscheinlichkeit dass das System zur Zeit t fehlerhaft ist:

F(t) = Pr(T≤t)

Beispiel: Exponentialverteilung

F(t)1

t

Beispiel: Exponentialverteilung

f(x)=λe-λx

3

Page 4: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

!Zuverlässigkeit R(t) = Wahrscheinlichkeit dass die Zeit bis zum ersten Ausfall größer ist als t:R(t)=Pr(T>t), t≥0

Zuverlässigkeit: R(t)

Beispiel: Exponentialverteilung R(t)1

t1/λ

~0.37R(t)=e-λt;

4

Page 5: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

Fehlerrate

Die Fehlerrate zur Zeit t ist die Wahrscheinlichkeit, dass das System zwischen der Zeit t und der Zeit t+Δt ausfällt:

Bedingte Wahrscheinlichkeit (“vorausgesetzt das System funktioniert zur Zeit t ");

P(A|B)=P(AB)/P(B)

5

230 6 Evaluierung und Validierung

λ(t) =f(t)R(t)

=λe−λt

e−λt= λ (6.22)

Die Fehlerraten werden haufig in der Einheit FIT (failure in time) gemessen.Ein FIT entspricht dabei einem erwarteten Fehler in 109 Stunden. Die Fehler-raten vieler echter Systeme sind allerdings nicht konstant. Manche folgen dersogenannten ”Badewannen“-Kurve (s. Abb. 6.13). Danach sind die Fehlerra-ten zunachst hoher (”Fruhausfalle“), werden dann annahernd konstant undsteigen spater aufgrund von Alterungserscheinungen wieder an.

t

( )tλ

1.Ph

ase

2.Phase 3.Phase

Abb. 6.13. Badewannenkurve der Fehlerraten

Definition: Unter der mittleren Zeit bis zum Fehler (Mean Time ToFailure (MTTF)) verstehen wir die mittlere Zeit bis zu einem Fehler unterder Annahme, dass das System zunachst funktioniert. Diese Zeit ergibt sichals Erwartungswert der Zufallsvariablen x:

MTTF = E{x} =! ∞

0xf(x)dx (6.23)

Fur die Exponentialverteilung ergibt sich beispielsweise

MTTF =! ∞

0xλe−λxdx (6.24)

Das Integral konnen wir mit Hilfe der Produktregel ("

uv′ = uv −"

u′v mitu = x und v′ = λe−λx ) bestimmen. Dann ergibt sich aus der Gleichung 6.24:

MTTF = −[xe−λx]∞0 +! ∞

0e−λxdx (6.25)

= − 1λ

[e−λx]∞0 = − 1λ

[0 − 1] =1λ

(6.26)

Die mittlere Zeit bis zu einem Fehler ist damit sinnvollerweise gleich demKehrwert der Fehlerrate.

“Badewannenkurve” der Fehlerraten

6.7 Risiko- und Verlasslichkeits-Analyse 229

R(t) = 1 − F (t) (6.17)

f(x) = −dR(t)dt

(6.18)

Fur die Exponentialverteilung ergibt sich R(t) = e−λt. Abb. 6.12 zeigt dieseFunktion. Nach einer Zeit t = 1/λ betragt die Wahrscheinlichkeit, dass dasSystem funktioniert, noch ca. 37%.

0R(t)

t1

1/!~0,37

Abb. 6.12. Zuverlassigkeit bei Exponentialverteilung

Definition: Die Fehlerrate λ(t) ist die Wahrscheinlichkeit dafur, dass einSystem im Zeitintervall zwischen t und t + ∆t ausfallt.

λ(t) = lim∆t→0

Pr(t < x ≤ t + ∆t|x > t)∆t

(6.19)

Dabei ist Pr(t < x ≤ t + ∆t|x > t) die bedingte Wahrscheinlichkeit dafur,dass das System im Zeitintervall ausfallt, unter der Annahme, dass es zurZeit t noch funktioniert. Fur bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/Pr(B), wobei Pr(AB) die Wahrscheinlichkeitdes Verbundereignisses AB ist. In diesem Fall ist Pr(B) die Wahrscheinlich-keit, dass das System zur Zeit t noch funktioniert, also R(t). Damit folgt ausGleichung 6.19:

λ(t) = lim∆t→0

F (t + ∆t) − F (t)∆tR(t)

(6.20)

=f(t)R(t)

(6.21)

Fur die Exponentialverteilung ergibt sich5:

5 Diese Beziehung bildet eine gewisse Motivation dafur, die Konstante der Expo-nentialverteilung und die Ausfallrate mit demselben Buchstaben zu bezeichnen.

6.7 Risiko- und Verlasslichkeits-Analyse 229

R(t) = 1 − F (t) (6.17)

f(x) = −dR(t)dt

(6.18)

Fur die Exponentialverteilung ergibt sich R(t) = e−λt. Abb. 6.12 zeigt dieseFunktion. Nach einer Zeit t = 1/λ betragt die Wahrscheinlichkeit, dass dasSystem funktioniert, noch ca. 37%.

0R(t)

t1

1/!~0,37

Abb. 6.12. Zuverlassigkeit bei Exponentialverteilung

Definition: Die Fehlerrate λ(t) ist die Wahrscheinlichkeit dafur, dass einSystem im Zeitintervall zwischen t und t + ∆t ausfallt.

λ(t) = lim∆t→0

Pr(t < x ≤ t + ∆t|x > t)∆t

(6.19)

Dabei ist Pr(t < x ≤ t + ∆t|x > t) die bedingte Wahrscheinlichkeit dafur,dass das System im Zeitintervall ausfallt, unter der Annahme, dass es zurZeit t noch funktioniert. Fur bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/Pr(B), wobei Pr(AB) die Wahrscheinlichkeitdes Verbundereignisses AB ist. In diesem Fall ist Pr(B) die Wahrscheinlich-keit, dass das System zur Zeit t noch funktioniert, also R(t). Damit folgt ausGleichung 6.19:

λ(t) = lim∆t→0

F (t + ∆t) − F (t)∆tR(t)

(6.20)

=f(t)R(t)

(6.21)

Fur die Exponentialverteilung ergibt sich5:

5 Diese Beziehung bildet eine gewisse Motivation dafur, die Konstante der Expo-nentialverteilung und die Ausfallrate mit demselben Buchstaben zu bezeichnen.

Beispiel: Exponentialverteilung

Page 6: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

Mean Time to Failure MTTF

MTTF ist damit gleich dem Kehrwert der Fehlerrate.

6

230 6 Evaluierung und Validierung

λ(t) =f(t)R(t)

=λe−λt

e−λt= λ (6.22)

Die Fehlerraten werden haufig in der Einheit FIT (failure in time) gemessen.Ein FIT entspricht dabei einem erwarteten Fehler in 109 Stunden. Die Fehler-raten vieler echter Systeme sind allerdings nicht konstant. Manche folgen dersogenannten ”Badewannen“-Kurve (s. Abb. 6.13). Danach sind die Fehlerra-ten zunachst hoher (”Fruhausfalle“), werden dann annahernd konstant undsteigen spater aufgrund von Alterungserscheinungen wieder an.

t

( )tλ

1.Ph

ase

2.Phase 3.Phase

Abb. 6.13. Badewannenkurve der Fehlerraten

Definition: Unter der mittleren Zeit bis zum Fehler (Mean Time ToFailure (MTTF)) verstehen wir die mittlere Zeit bis zu einem Fehler unterder Annahme, dass das System zunachst funktioniert. Diese Zeit ergibt sichals Erwartungswert der Zufallsvariablen x:

MTTF = E{x} =! ∞

0xf(x)dx (6.23)

Fur die Exponentialverteilung ergibt sich beispielsweise

MTTF =! ∞

0xλe−λxdx (6.24)

Das Integral konnen wir mit Hilfe der Produktregel ("

uv′ = uv −"

u′v mitu = x und v′ = λe−λx ) bestimmen. Dann ergibt sich aus der Gleichung 6.24:

MTTF = −[xe−λx]∞0 +! ∞

0e−λxdx (6.25)

= − 1λ

[e−λx]∞0 = − 1λ

[0 − 1] =1λ

(6.26)

Die mittlere Zeit bis zu einem Fehler ist damit sinnvollerweise gleich demKehrwert der Fehlerrate.

230 6 Evaluierung und Validierung

λ(t) =f(t)R(t)

=λe−λt

e−λt= λ (6.22)

Die Fehlerraten werden haufig in der Einheit FIT (failure in time) gemessen.Ein FIT entspricht dabei einem erwarteten Fehler in 109 Stunden. Die Fehler-raten vieler echter Systeme sind allerdings nicht konstant. Manche folgen dersogenannten ”Badewannen“-Kurve (s. Abb. 6.13). Danach sind die Fehlerra-ten zunachst hoher (”Fruhausfalle“), werden dann annahernd konstant undsteigen spater aufgrund von Alterungserscheinungen wieder an.

t

( )tλ

1.Ph

ase

2.Phase 3.Phase

Abb. 6.13. Badewannenkurve der Fehlerraten

Definition: Unter der mittleren Zeit bis zum Fehler (Mean Time ToFailure (MTTF)) verstehen wir die mittlere Zeit bis zu einem Fehler unterder Annahme, dass das System zunachst funktioniert. Diese Zeit ergibt sichals Erwartungswert der Zufallsvariablen x:

MTTF = E{x} =! ∞

0xf(x)dx (6.23)

Fur die Exponentialverteilung ergibt sich beispielsweise

MTTF =! ∞

0xλe−λxdx (6.24)

Das Integral konnen wir mit Hilfe der Produktregel ("

uv′ = uv −"

u′v mitu = x und v′ = λe−λx ) bestimmen. Dann ergibt sich aus der Gleichung 6.24:

MTTF = −[xe−λx]∞0 +! ∞

0e−λxdx (6.25)

= − 1λ

[e−λx]∞0 = − 1λ

[0 − 1] =1λ

(6.26)

Die mittlere Zeit bis zu einem Fehler ist damit sinnvollerweise gleich demKehrwert der Fehlerrate.

230 6 Evaluierung und Validierung

λ(t) =f(t)R(t)

=λe−λt

e−λt= λ (6.22)

Die Fehlerraten werden haufig in der Einheit FIT (failure in time) gemessen.Ein FIT entspricht dabei einem erwarteten Fehler in 109 Stunden. Die Fehler-raten vieler echter Systeme sind allerdings nicht konstant. Manche folgen dersogenannten ”Badewannen“-Kurve (s. Abb. 6.13). Danach sind die Fehlerra-ten zunachst hoher (”Fruhausfalle“), werden dann annahernd konstant undsteigen spater aufgrund von Alterungserscheinungen wieder an.

t

( )tλ

1.Ph

ase

2.Phase 3.Phase

Abb. 6.13. Badewannenkurve der Fehlerraten

Definition: Unter der mittleren Zeit bis zum Fehler (Mean Time ToFailure (MTTF)) verstehen wir die mittlere Zeit bis zu einem Fehler unterder Annahme, dass das System zunachst funktioniert. Diese Zeit ergibt sichals Erwartungswert der Zufallsvariablen x:

MTTF = E{x} =! ∞

0xf(x)dx (6.23)

Fur die Exponentialverteilung ergibt sich beispielsweise

MTTF =! ∞

0xλe−λxdx (6.24)

Das Integral konnen wir mit Hilfe der Produktregel ("

uv′ = uv −"

u′v mitu = x und v′ = λe−λx ) bestimmen. Dann ergibt sich aus der Gleichung 6.24:

MTTF = −[xe−λx]∞0 +! ∞

0e−λxdx (6.25)

= − 1λ

[e−λx]∞0 = − 1λ

[0 − 1] =1λ

(6.26)

Die mittlere Zeit bis zu einem Fehler ist damit sinnvollerweise gleich demKehrwert der Fehlerrate.

Beispiel: Exponentialverteilung

Page 7: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

MTTF, MTTR and MTBF

MTTR = mean time to repair (mittlere Zeit zur Reparatur) MTBF = mean time between failures = MTTF + MTTR

7

Verfügbarkeit

6.7 Risiko- und Verlasslichkeits-Analyse 231

Definition: Unter der mittleren Zeit zur Reparatur (Mean Time ToRepair (MTTR)) verstehen wir die mittlere Zeit bis zur Reparatur einesFehlers unter der Annahme, dass das System zunachst defekt ist. Die MTTRist der Erwartungswert der Verteilungsfunktion, welche die fur eine Reparaturbenotigten Zeiten beschreibt.Definition: Unter der mittleren Zeit zwischen Fehlern (Mean Time Bet-ween Failures, (MTBF)) verstehen wir die mittlere Zeit zwischen zwei Feh-lerereignissen.Die MTBF ergibt sich als Summe der MTTF und der MTTR (s. Abb. 6.14).Die Zeichnung spiegelt dabei nicht wieder, dass es sich bei allen Großen umstatistische Werte handelt und dass daher konkrete Fehlerereignisse zu ande-ren Zeiten auftreten konnten.

MTBFt

MTBF

MTTR

MTTF

fehlerhaftfunktionsfähig

Abb. 6.14. Zur Definition von MTTF, MTTR und MTBF

Bei vielen Systemen werden Reparaturen nicht betrachtet. Außerdem solltedie MTTR sehr viel kleiner sein als die MTTF. Deswegen werden in vielenPublikationen leider die Begriffe MTBF und MTTF weitgehend synonym be-nutzt.Definition: Unter der Verfugbarkeit (availability) verstehen wir den Anteilder Zeit, zu der wir uber ein System verfugen konnen, an der Gesamtzeit.Die Verfugbarkeit ist im Prinzip von der Zeit abhangig, uber welche wir dieNutzung des Systems betrachten und wird daher als Funktion A(t) model-liert. Es wird allerdings haufig nur die Verfugbarkeit A = limt→∞A(t) furgroße Zeiten betrachtet. A kann einfach aus dem Quotienten von MTTF undMTBF berechnet werden:

Availability A = limt→∞

A(t) =MTTFMTBF

Beispielsweise hatte ein System, dass im Mittel 999 Tage benutzt werdenkann und dann jeweils einen Tag lang repariert wird, eine Verfugbarkeit vonA = 0, 999.Erlaubte Ausfalle von Systemen konnen in der Großenordnung von einemFehler in 109 Stunden (1 FIT) liegen. Das ist bis zu 1000 mal weniger als

6.7 Risiko- und Verlasslichkeits-Analyse 231

Definition: Unter der mittleren Zeit zur Reparatur (Mean Time ToRepair (MTTR)) verstehen wir die mittlere Zeit bis zur Reparatur einesFehlers unter der Annahme, dass das System zunachst defekt ist. Die MTTRist der Erwartungswert der Verteilungsfunktion, welche die fur eine Reparaturbenotigten Zeiten beschreibt.Definition: Unter der mittleren Zeit zwischen Fehlern (Mean Time Bet-ween Failures, (MTBF)) verstehen wir die mittlere Zeit zwischen zwei Feh-lerereignissen.Die MTBF ergibt sich als Summe der MTTF und der MTTR (s. Abb. 6.14).Die Zeichnung spiegelt dabei nicht wieder, dass es sich bei allen Großen umstatistische Werte handelt und dass daher konkrete Fehlerereignisse zu ande-ren Zeiten auftreten konnten.

MTBFt

MTBF

MTTR

MTTF

fehlerhaftfunktionsfähig

Abb. 6.14. Zur Definition von MTTF, MTTR und MTBF

Bei vielen Systemen werden Reparaturen nicht betrachtet. Außerdem solltedie MTTR sehr viel kleiner sein als die MTTF. Deswegen werden in vielenPublikationen leider die Begriffe MTBF und MTTF weitgehend synonym be-nutzt.Definition: Unter der Verfugbarkeit (availability) verstehen wir den Anteilder Zeit, zu der wir uber ein System verfugen konnen, an der Gesamtzeit.Die Verfugbarkeit ist im Prinzip von der Zeit abhangig, uber welche wir dieNutzung des Systems betrachten und wird daher als Funktion A(t) model-liert. Es wird allerdings haufig nur die Verfugbarkeit A = limt→∞A(t) furgroße Zeiten betrachtet. A kann einfach aus dem Quotienten von MTTF undMTBF berechnet werden:

Availability A = limt→∞

A(t) =MTTFMTBF

Beispielsweise hatte ein System, dass im Mittel 999 Tage benutzt werdenkann und dann jeweils einen Tag lang repariert wird, eine Verfugbarkeit vonA = 0, 999.Erlaubte Ausfalle von Systemen konnen in der Großenordnung von einemFehler in 109 Stunden (1 FIT) liegen. Das ist bis zu 1000 mal weniger als

Page 8: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

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

Page 9: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

Letzte Woche: Blockanalyse

! Ziel: bestimme die Zuverlässigkeit eines Systems aus der Zuverlässigkeit seiner Komponenten

! Serielle Komposition:

! Parallele Komposition:

9

Page 10: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

Berechnung der Zuverlässigkeit

! Annahme: Ausfälle verschiedener Komponenten sind statistisch unabhängig

! Serielle Komposition

! Parallele Komposition

10

Page 11: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

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

Page 12: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

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

Page 13: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

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 OR-Gatter.

! 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

Page 14: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

Beispiel: Warnlampe für Bremsflüssigkeit

Neil Storey: Safety-critical computer systems

14

Page 15: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

Direkte Analyse

Basisereignisse

Wert (0/1) des Top-Level-Ereignisses

15

8

- 15 -BF - ES

Direct Analysis

where

denotes the occurrence of the base events, and

denotes the value of the top event

Problem: combinatorial explosion!

¦ ��

�����n

ii

p

n

i

pi

pi tRtRpFT

}1,0{ 1

1 ))())(1()((1&

&

),...,( 1 nppp &

)( pFT &

- 16 -BF - ES

Equivalence

� Two fault trees are equivalent if the associated logical formulas are equivalent.

� E.g., (A � (B � C) � (C � (A � B))) Ł (C � (A � B))

8

- 15 -BF - ES

Direct Analysis

where

denotes the occurrence of the base events, and

denotes the value of the top event

Problem: combinatorial explosion!

¦ ��

�����n

ii

p

n

i

pi

pi tRtRpFT

}1,0{ 1

1 ))())(1()((1&

&

),...,( 1 nppp &

)( pFT &

- 16 -BF - ES

Equivalence

� Two fault trees are equivalent if the associated logical formulas are equivalent.

� E.g., (A � (B � C) � (C � (A � B))) Ł (C � (A � B))

8

- 15 -BF - ES

Direct Analysis

where

denotes the occurrence of the base events, and

denotes the value of the top event

Problem: combinatorial explosion!

¦ ��

�����n

ii

p

n

i

pi

pi tRtRpFT

}1,0{ 1

1 ))())(1()((1&

&

),...,( 1 nppp &

)( pFT &

- 16 -BF - ES

Equivalence

� Two fault trees are equivalent if the associated logical formulas are equivalent.

� E.g., (A � (B � C) � (C � (A � B))) Ł (C � (A � B))

Page 16: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

Minimale Schnitte

Logisch betrachtet: Disjunktive Normalform (DNF) = Disjunktion von Konjunktionen von Basisereignissen.

Beispiel: C (single point failure) und A ∧ B sind minimale Schnitte.

16

Page 17: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

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

Page 18: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

14. Validierung

18

Ziel:

! Überblick über Verfahren aus dem Bereich Testen und Verifikation

Page 19: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

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

Page 20: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

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

Page 21: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

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

Page 22: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

Beispiel

▪ 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

/1

0

"

/10

111

1/0 1/0

0 errorno errora

b

c

d

e

i

f

g

h

1

Page 23: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

Aufgabe

23

Geben Sie ein Testmuster an, welches das folgende Schaltnetz auf einen stuck-at-zero-Fehler auf Eingabe A testet.

Aufgabe 5: Schaltnetze (7+18 Punkte)

a) Geben Sie ein Testmuster an, welches das folgende Schaltnetz auf einen Stuck-at-Zero-Fehler auf Eingabe A testet.

A

B

C

D

X

b) Geben Sie ein Schaltnetz mit 6 Gattern fur den folgenden Ausdruck an. Zulassig sindausschließlich binare UND-Gatter, binare ODER-Gatter und unare NICHT-Gatter.

C · (A+B +D) + A ·D · (B + B · C)

8

Page 24: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

Lösung

24

Aufgabe 5: Schaltnetze (7+18 Punkte)

a) Geben Sie ein Testmuster an, welches das folgende Schaltnetz auf einen Stuck-at-Zero-Fehler auf Eingabe A testet.

A

B

C

D

X

b) Geben Sie ein Schaltnetz mit 6 Gattern fur den folgenden Ausdruck an. Zulassig sindausschließlich binare UND-Gatter, binare ODER-Gatter und unare NICHT-Gatter.

C · (A+B +D) + A ·D · (B + B · C)

8

1/0 1/0

1/0

1/0

0/10

0

1

11

1

Page 25: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

Zustandsbehaftete Systeme

! Wenn das Testen erst nach dem Systementwurf in Betracht gezogen wird, kann es schwierig sein das System zu testen.

! Beispiel Automaten:

25

2

1

3A/f

B/cC/d

E/d

Um den korrekten Übergang von 2 nach 3 zu testen, muss das System

! in Zustand 2 gebracht werden ! A angewendet werden ! Output f geprüft werden ! Überprüft werden ob der

Folgezustand 3 erreicht wurde

Page 26: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

Testfreundlicher Entwurf: Scan Design

26

Page 27: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

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

Page 28: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

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

Page 29: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

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

Page 30: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

Modellbasiertes Testen

30

Test cases (input vectors)

Test goals

Desired behavior

Coverage criteria

Behavioralmodel

e.g. Stateflow+ Simulink

Generation

Page 31: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

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

Page 32: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

Schaltnetzäquivalenz

32

Page 33: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

Übersetzung von Schaltnetzen in logische Formeln

! Jedes Gatter wird in eine aussagenlogische Formel übersetzt:

! Das Schaltkreisverhalten enstpricht der Konjunktion aller Formeln.

33

Page 34: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

Schaltnetzäquivalenz

! Für zwei gegebene Schaltkreise C und D berechnen wir zunächst die Formeln

! 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

�C ,�D

Page 35: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

35

Model Checking

Page 36: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

15. Wrap-Up

36

Page 37: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

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

Page 38: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

38

Analysemodell Konstruktionsmodell

Modell

System

Ana

lyse

Des

ign

Widerspruch: Modell fehlerhaft

Widerspruch:System fehlerhaft

[Tabeling 2006]

Page 39: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

39

Kommunikation,NebenläufigkeitSteuerung

Hardware

Software

A/D

D/A

Aktoren

Sensoren

Physikalische Umgebung

Physikalische Umgebung

Endliche Automaten

Differenzialgleichungen

Petri-Netze

Schaltungen

kont

inui

erlic

hdi

skre

t

Page 40: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

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 compart-

ment stable

Safety-critical & non-safety critical electronics

40

Page 41: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

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.

2 independentbrake hose

systems

t

source

Follow-up

41

Entwurfsprinzipien für eingebettete Systeme

Page 42: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

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

Page 43: Einführung in Eingebettete Systeme · Zeit t noch funktioniert. Fur¨ bedingte Wahrscheinlichkeiten gilt die allgemei-ne Formel Pr(A|B) = Pr(AB)/P r(B), wobei Pr(AB) die Wahrscheinlichkeit

10.Die Mensch-Maschine-Schnittstelle muss intuitiv und nachsichtig sein. Die Sicherheit muss trotz menschlicher Fehler gewährleistet sein.

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.

airbag

43

Entwurfsprinzipien für eingebettete Systeme