Kleine Formelsammlung zu Ereignisgesteuerte Systeme

Werbung
Kleine Formelsammlung zu
Ereignisgesteuerte Systeme
Florian Franzmann∗
30. August 2007
Inhaltsverzeichnis
1 Systemeigenschaften
1.1 Zeitgetrieben . . . . . . . . .
1.2 Ereignisgetrieben . . . . . . .
1.3 Zeitfreies Modell . . . . . . .
1.4 Zeitbehaftetes Modell . . . .
1.5 Ereignisgesteuertes System .
1.6 Zeitdiskrete Simulation . . . .
1.7 Ereignisgesteuerte Simulation
.
.
.
.
.
.
.
2 Sprachen und Automaten
2.1 Endlicher Automat . . . . . . .
2.2 Zustandsautomat . . . . . . . .
2.3 Zustandsautomat mit Ausgang
2.4 Hierarchischer Automat . . . .
2.4.1 Transition . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3 Boole-Shannon-Zerlegung
3.1 Operationen . . . . . . . . . . . . . . .
3.1.1 RESTRICT fx=k . . . . . . .
3.1.2 APPLY . . . . . . . . . . . . .
3.2 Quantoren . . . . . . . . . . . . . . . .
3.3 Mengenoperationen . . . . . . . . . . .
3.4 Relationen . . . . . . . . . . . . . . . .
3.5 Häufige Fragestellungen . . . . . . . .
3.5.1 Vergleich von Spezifikation und
3.5.2 Ist Zustand x ∈ X erreichbar? .
∗
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
Implementierung
. . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
1
1
1
2
2
2
.
.
.
.
.
2
2
2
3
3
3
.
.
.
.
.
.
.
.
.
3
3
3
4
4
4
4
5
5
5
[email protected]
1
3.6
Verifikation von Zustandsautomaten (in CTL) . . . . . . . . . . . . . . . .
4 Petrinetze
4.1 Netzgraph . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1 Vorbereich . . . . . . . . . . . . . . . . . . .
4.1.2 Nachbereich . . . . . . . . . . . . . . . . . . .
4.2 Eigenschaften von Transitionen . . . . . . . . . . . .
4.2.1 tot . . . . . . . . . . . . . . . . . . . . . . . .
4.2.2 aktivierbar . . . . . . . . . . . . . . . . . . .
4.2.3 lebendig . . . . . . . . . . . . . . . . . . . . .
4.3 Stellen-Transistion-Netz mit Kantengewicht . . . . .
4.3.1 Definition . . . . . . . . . . . . . . . . . . . .
4.3.2 Kapazitätsbeschränkung durch Gegenkanten
4.4 Dynamische Eigenschaften von S-T-Netzen . . . . .
4.4.1 regulär . . . . . . . . . . . . . . . . . . . . . .
4.4.2 reversibel . . . . . . . . . . . . . . . . . . . .
4.4.3 sicher . . . . . . . . . . . . . . . . . . . . . .
4.4.4 tot . . . . . . . . . . . . . . . . . . . . . . . .
4.4.5 deadlockfrei/schwach lebendig . . . . . . . . .
4.4.6 lebendig . . . . . . . . . . . . . . . . . . . . .
4.5 Verifikation von Petri-Netzen . . . . . . . . . . . . .
4.5.1 Lineare Algebra . . . . . . . . . . . . . . . .
4.6 Zustandsbäume . . . . . . . . . . . . . . . . . . . . .
4.6.1 sicher . . . . . . . . . . . . . . . . . . . . . .
4.6.2 deadlockfrei . . . . . . . . . . . . . . . . . . .
5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
5
5
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
8
8
8
5 Spezielle Netzstrukturen
5.1 Zustandssystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Synchronisationsgraph . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
8
8
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6 Zeitbehaftete Modelle
8
6.1 Zeitbehafteter Zustandsautomat . . . . . . . . . . . . . . . . . . . . . . . 8
6.2 Zeitbehaftete Petrinetze . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
7 Zufallsprozesse
7.1 Bedingte Wahrscheinlichkeit . . .
7.2 Stochastische Unabhängigkeit . .
7.3 Markow-Prozeß . . . . . . . . . .
7.4 Stochastischer Zustandsautomat
.
.
.
.
11
11
11
11
11
Hierarchischer Automat – Basiszustand . . . . . . . . . . . . . . . . . . .
Hierarchischer Automat – Sequenzieller Zustand . . . . . . . . . . . . . .
3
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Abbildungsverzeichnis
1
2
2
Kleine Formelsammlung zu Ereignisgesteuerte Systeme
3
4
5
Hierarchischer Automat – Paralleler Zustand . . . . . . . . . . . . . . . . 4
Semantik zeitbehafteter Zustandsautomaten . . . . . . . . . . . . . . . . . 9
Semantik zeitbehafteter Petrinetze . . . . . . . . . . . . . . . . . . . . . . 10
1 Systemeigenschaften
1.1 Zeitgetrieben
• Zustandsübergang findet zu jedem Takt statt
• Zeit t ist natürliche und unabhängige Variable
1.2 Ereignisgetrieben
• Ereignis e ∈ E ist instantan und asynchron
• Zeit ist keine natürliche Variable
1.3 Zeitfreies Modell
• Sequenz von Ereignissen wird ohne Information über die Zeitpunkte spezifiziert
1.4 Zeitbehaftetes Modell
• Systemeingang wird als zeitbehaftete Sequenz von Ereignissen spezifiziert
1.5 Ereignisgesteuertes System
• ereignisgetrieben
• diskreter Zustandsraum
• asynchrones Auftreten von Ereignissen
• Zeit diskret oder kontinuierlich
1.6 Zeitdiskrete Simulation
• simulierte Zeit wird in gleichmäßige Intervalle aufgeteilt
• Simulationsaufwand auch dann, wenn kein Ereignis auftritt
1.7 Ereignisgesteuerte Simulation
• überspringt Intervalle, in denen das System ruhig ist
3
X
(a) Blockdiagramm
B
(b) Baumdiagramm
Abbildung 1: Hierarchischer Automat – Basiszustand
2 Sprachen und Automaten
2.1 Endlicher Automat
5-Tupel (E, X, f, x0, F) mit
• E endliches Alphabet
• X endliche Zustandsmenge
• f Übergangsfunktion f : X × E → X
• x0 Anfangszustand x0 ∈ X
• F Menge von Endzuständen
2.2 Zustandsautomat
5-Tupel (E, X, Γ, f, x0) mit
• E abzählbares Alphabet
• X abzählbare Zustandsmenge
• Γ (x) Menge zulässiger Ereignisse im Zustand x
• f Übergangsfunktion f : X × E → X nur definiert für e ∈ Γ (x)
• x0 ist Anfangszustand x0 ∈ X
2.3 Zustandsautomat mit Ausgang
7-Tupel (E, X, Γ, f, x0, Y, g) mit Zustandsautomat (E, X, Γ, f, x0) und
• Y abzählbarer Ausangsmenge
• g Ausgangsfunktion g : X × E → Y nur definiert für e ∈ Γ (x)
4
Kleine Formelsammlung zu Ereignisgesteuerte Systeme
A
X
Y
Z
B
(a) Blockdiagramm
(b) Baumdiagramm
Abbildung 2: Hierarchischer Automat – Sequenzieller Zustand
A
B
C
X
Y
(a) Blockdiagramm
Abbildung 3: Hierarchischer Automat – Paralleler Zustand
5
2.4 Hierarchischer Automat
2.4.1 Transition
event[condition]/action
Zustandsübergang tritt auf, wenn event eintritt und condition erfüllt ist. Beim Zustandsübergang wird action ausgeführt
3 Boole-Shannon-Zerlegung
3.1 Operationen
3.1.1 RESTRICT fx=k
Löschen der zu x = k gehörigen Kanten und Anwendung von Vereinfachungsregeln.
3.1.2 APPLY
f<op>g = x · (fx=0<op>gx=0) + x · (fx=1<op>gx=1)
3.2 Quantoren
∃x : f ↔ fx=0 + fx=1
∃x1, x2 : f ↔ ∃x1 : (∃x2 : f)
∀x : f ↔ f
· f
x=0
x=1
∀x1, x2 : f ↔ ∀x1 : (∀x2 : f)
3.3 Mengenoperationen
σ(e) ⇒ binäre Repräsentation von e
a ∈ A ↔ ψA(σ(a))
c ∈ A ∩ B ↔ c ∈ A · c ∈ B ↔ ψA(σ(c)) · ψB(σ(c))
c ∈ A ∪ B ↔ c ∈ A + c ∈ B ↔ ψA(σ(c)) + ψB(σ(c))
c ∈ A − B ↔ c ∈ A · c ∈ B ↔ ψA(σ(c)) · ψB(σ(c))
3.4 Relationen
Relation R ⊆ A × B.
r ∈ R ↔ ψR(σ(a), σ(b))
6
Kleine Formelsammlung zu Ereignisgesteuerte Systeme
3.5 Häufige Fragestellungen
3.5.1 Vergleich von Spezifikation und Implementierung
• Durch wiederholte Anwendung des APPLY-Operators umwandeln in OBDDs
• Vergleich der OBDDs
3.5.2 Ist Zustand x ∈ X erreichbar?
• Zustandsmenge und Übertragungsrelation als OBDDs
3.6 Verifikation von Zustandsautomaten (in CTL)
X im nächsten Schritt
F irgendwann
G für alle Zeit
E für mindestens eine Berechnung
A für alle Berechnungen
p1 U p2 p1 gilt bis p2 gilt
AG EF es soll immer möglich sein“
”
4 Petrinetze
4.1 Netzgraph
Ein 3-Tupel
N = (S, T, F)
mit
S∩T =∅
F ⊆ (S × T ) ∪ (T × S) ist die Flußrelation, S die Menge der Stellen, T die Menge der
Transistionen.
4.1.1 Vorbereich
•x := {y(y, x) ∈ F}
also alle Knoten, von denen eine Kante nach x führt.
7
4.1.2 Nachbereich
x• := {y(x, y) ∈ F}
also alle Knoten, zu denen eine Kante von x führt.
4.2 Eigenschaften von Transitionen
4.2.1 tot
Transistion ist unter keiner Folgemarkierung aktiviert.
4.2.2 aktivierbar
Transistion ist unter mindestens einer Folgemarkierung aktiviert.
4.2.3 lebendig
Transistion ist ausgehend von allen Folgemarkierungen aktivierbar.
4.3 Stellen-Transistion-Netz mit Kantengewicht
4.3.1 Definition
Ein 5-Tupel (S, T, F, W, M0) mit
• (S, T, F) ist Netzgraph
• Kantengewichte W : F → N0
• Markierung M : S → N0; M0 Anfangsmarkierung
• Zustand ist die Markierung M. Zustandsraum ist X = N0.
4.3.2 Kapazitätsbeschränkung durch Gegenkanten
Füge Stelle s ′ mit M0(s ′ ) = K(s) − M0(s) hinzu. Füge für jede Kante (s, t) bzw. (t, s)
eine Kante (t, s ′ ) bzw. (s ′ , t) hinzu mit gleichem Kantengewicht.
4.4 Dynamische Eigenschaften von S-T-Netzen
4.4.1 regulär
Regulär bezüglich γ : S → Z, falls
∀M ∈ [M0i :
X
s∈S
8
γ(s)M(s) = konst.
Kleine Formelsammlung zu Ereignisgesteuerte Systeme
4.4.2 reversibel
Von jedem erreichbaren Zustand aus kann der Anfangszustand erreicht werden.
∀M ∈ [M0i : M0 ∈ [Mi
4.4.3 sicher
Alle möglichen Folgezustände sind beschränkt:
∀M ∈ [M0i , s ∈ S : M(s) ≤ B(s)
4.4.4 tot
Falls alle Transitionen tot sind.
4.4.5 deadlockfrei/schwach lebendig
Falls es unter keiner Folgemarkierung tot ist.
4.4.6 lebendig
Falls alle Transitionen lebendig sind.
4.5 Verifikation von Petri-Netzen
4.5.1 Lineare Algebra
Struktur Inzidenzmatrix A ∈ Z|S|×|T| mit A = (ast).
ast = W(t, s) − W(s, t)
Markierungen
sj.
Vektor M = (mj)1≤j≤|S| mit mj = M(sj) ist Zahl der Marken in Stelle
Schalten von Transitionen
ui =
Schaltvektor U = (ui)1≤i≤|T| mit
0 falls ti nicht schaltet
1 falls ti schaltet
Zustandsgleichung
M ′ = f(M, t) = M + AU
Ui ist die Zahl der nötigen Feuerungen von ti.
9
Nachweis bestimmter Eigenschaften
Regularität
Reversibilität
regulär ⇔ ∃ Invariante IS 6= 0 mit Is · A = 0.
reversibel ⇔ ∃ Invariante IT 6= 0 mit A · IT = 0.
4.6 Zustandsbäume
4.6.1 sicher
Das Netz ist sicher, falls der Erreichbarkeitsbaum kein ∞“ enthält.
”
4.6.2 deadlockfrei
Das Netz ist deadlockfrei, falls der Erreichbarkeitsgraph keine Knoten ohne wegführende
Kanten enthält.
5 Spezielle Netzstrukturen
5.1 Zustandssystem
Ein Zustandssystem ist ein S-T-Netz mit
• W(f) = 1 für alle Kanten f ∈ F
• | • t| = |t • | = 1 für alle Transitionen t ∈ T
P
• M0 ist eine reguläre Markierung, d. h. s∈S M0(s) = 1
5.2 Synchronisationsgraph
Ein S-T-Netz heißt Synchronisationsgraph (markierter Graph), wenn gilt
• W(f) = 1 fr alle Kanten f ∈ F
• | • s| = |s • | = 1 für alle Stellen s ∈ S
6 Zeitbehaftete Modelle
6.1 Zeitbehafteter Zustandsautomat
Ein 6-Tupel (E, X, Γ, f, x0, V) mit
• Zustandsautomat (E, X, Γ, f, x0)
• Zeitstruktur V = {ve : e ∈ E}
• Zeitsequenzen ve = (ve,1, ve,2, . . . ) mit ve,k ∈ R mit ve,k ≥ 0.
10
Kleine Formelsammlung zu Ereignisgesteuerte Systeme
—
Initialisierung:
Ereigniszahlen:
Lokale Zeit:
Anfangszustand:
Ereignisliste:
Ne
t
x
L
:=
:=
:=
:=
1
0
x0
∅
∀e ∈ E
Ereignisse zufügen:
L := L ∪ {(e, t + ve,Ne ) : (e 6∈ L)}
Ereigniszahlen inkrementieren:
Ne := Ne + 1 ∀e ∈ E : (e 6∈ L)
Lokale Zeit bestimmen:
t := min{ti : (ei, ti) ∈ L}
Aktuelles Ereignis bestimmen:
ea ∈ {(ei, ti) ∈ L : ti = t}
J
ea ∈ Γ (x)
N
BREAK
L := L \ {ea, t}
:= Nea + 1
L := L ∪ (ea, t + vea ,Ne a )
Nea
Zustandsübergang:
x := f(x, ea)
Ereignisse entfernen:
L := L \ {(ea, t)} \ {(ek, tk) : (tk = t)}
Abbildung 4: Semantik zeitbehafteter Zustandsautomaten
11
—
Initialisierung:
Ereigniszahlen:
Lokale Zeit:
Anfangszustand:
Nj
τ
M
:=
:=
:=
1
0
M0
für alle tj ∈ T
Ereignisse
hinzufügen:
L := L ∪ (tj, τ + vj,Nj ) : tj neu aktiviert
Ereigniszahlen inkrementieren:
Nj := Nj + 1 für alle neu aktivierten Transitionen
Neue lokale Zeit bestimmen:
τ := min {τj : (tj, τj) ∈ L}
Aktuelle Transition bestimmen:
ta ∈ {(tj, τj) ∈ L : τi = τ}
Zustandsübergang:
M := M + AUa
Transitionen aus Liste entfernen:
L := L \ {(tj, τj) : •tj ∩ •ta 6= ∅} ∧ tj nicht aktiviert in M
Abbildung 5: Semantik zeitbehafteter Petrinetze
6.2 Zeitbehaftete Petrinetze
Ein zeitbehaftetes Petrinetz ist ein 6-Tupel (S, T, F, W, M0, V) mit
• einem S-T-Netz (S, T, F, W, M0)
• einer Menge V = {vj : tj ∈ T } von Zeitsequenzen vj = (vj,1, vj,2, . . . ) mit vj,k ≥ 0
Eine Transition feuert vj,k Zeiteinheiten nach ihrer k-ten Aktivierung. Außerdem:
• Ereigniszahlen Nj ∈ {1; 2; 3; . . . }, tj ∈ T , die aussagen wie oft eine Transition aktiviert wurde
• Ereigniszeiten τj ∈ R, tj ∈ T , die angeben wann eine Transition zum nächsten Mal
feuern kann
12
Kleine Formelsammlung zu Ereignisgesteuerte Systeme
7 Zufallsprozesse
7.1 Bedingte Wahrscheinlichkeit
Wahrscheinlichkeit, daß B eintritt unter der Bedingung, daß A bereits eingetreten ist:
P[A|B] =
P[A ∩ B]
; P[A] 6= 0
P[A]
7.2 Stochastische Unabhängigkeit
P[A ∩ B] = P[A] · P[B]
7.3 Markow-Prozeß
Die gesamte Vergangenheit ist im aktuellen Zustand summiert:
P X(tk+1) ≤ xk+1X(tk) = xk, . . . , X(t0) = x0 = P X(tk+1) ≤ xk+1X(tk) = xk
∀t0 ≤ · · · ≤ tk+1
Markow-Prozesse mit diskretem Zustandsraum heißen Markow-Ketten.
7.4 Stochastischer Zustandsautomat
Ein 6-Tupel (E, ℵ, Γ, p, p0, G) mit
• der abzählbaren Ereignismenge E
• dem abzählbaren Zustandsraum ℵ
• der Menge erlaubter Ereignisse Γ (x) ⊆ E
x∈ℵ
• den Übergangswahrscheinlichkeiten p(x ′ ; x, e ′ ) ∀x, x ′ ∈ ℵ und e ′ ∈ E und p(x ′ ; x, e ′ ) =
0 ∀e ′ 6∈ Γ (x)
• der Dichtefunktion p0(x) = P [X0 = x] des Anfangszustands X0 und der stochastischen Zeitstruktur definiert durch Gi(t), i ∈ E
13
Herunterladen