Folien

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