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

Post on 22-Aug-2020

0 views 0 download

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

Einführung in

Eingebettete Systeme

Vorlesung 14 Bernd Finkbeiner04/02/2015 finkbeiner@cs.uni-saarland.de

Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de

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

!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

!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

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

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

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

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

Beispiel: Warnlampe für Bremsflüssigkeit

Neil Storey: Safety-critical computer systems

14

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

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

18

Ziel:

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

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

▪ 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

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

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

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

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

30

Test cases (input vectors)

Test goals

Desired behavior

Coverage criteria

Behavioralmodel

e.g. Stateflow+ Simulink

Generation

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

! 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

35

Model Checking

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

38

Analysemodell Konstruktionsmodell

Modell

System

Ana

lyse

Des

ign

Widerspruch: Modell fehlerhaft

Widerspruch:System fehlerhaft

[Tabeling 2006]

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

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

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

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.

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