3) Linearzeit-Eigenschaften · GPS: Linearzeit-Eigenschaften — Liveness 149 Beispiel wieder mal...
Transcript of 3) Linearzeit-Eigenschaften · GPS: Linearzeit-Eigenschaften — Liveness 149 Beispiel wieder mal...
3) Linearzeit-Eigenschaften
GPS: Linearzeit-Eigenschaften — Einfuhrung 129
Linearzeit-Eigenschaften
Erinnerung: endliche Trace-Fragmente = Worter
Def.: Σω bezeichnet Menge aller unendlichen Worter (Sequenzen)uber Alphabe Σ
Def. 20
Linearzeit-Eigenschaft ist ein P ⊆ (2AP)ω.
“Eigenschaft” hier implizit definiert uber Menge aller Objekte, diediese besitzen
in diesem Kapitel: alle LTS total
GPS: Linearzeit-Eigenschaften — Einfuhrung 130
Linearzeit-Eigenschaften und Zustande
sei T = (S ,−→, I , L) LTS, s ∈ S , P Linearzeit-Eigenschaft
Def. 21
T , s |= P gdw. Tr(s) ⊆ P
T |= P gdw. ∀s ∈ I : T , s |= P
oft geschrieben: s |= P statt T , s |= P
beachte: Zustand identifiziert uber Menge der Traces aller seinerausgehenden Pfade
existentielle Quantifizierung ebenso moglich, hier nicht betrachtet
GPS: Linearzeit-Eigenschaften — Einfuhrung 131
Examples
AP = Zustandsnamen im Beispiel des Getrankeautomaten
1 P1 = {A0A1 . . . | ∃i ∈ N,Ai = {getraenkA}}
T
?|= P1
2 P2 = {A0A1 . . . | ∀i : Ai = {bezahlen} ⇒ ∃j > i ,Aj ⊆
{getraenkA, getraenkB}}
T
?|= P2
3 P3 = “zwischen je zwei bezahlen-Zustanden wurde einGetrank serviert”
T
?|= P3
GPS: Linearzeit-Eigenschaften — Einfuhrung 132
Lin.zeit-Eigenschaften und Trace-Inklusion
Thm. 6seien T1, T2 LTS,
Tr(T1) ⊆ Tr(T2) ⇐⇒ ∀P ⊆ (2AP)ω : T2 |= P ⇒ T1 |= P
Beweis: “=⇒” klar
“⇐=” Angenommen Tr(T1) �⊆ Tr(T2).
Setze P := Tr(T2). Beachte:
1 T2 |= P trivialerweise
2 es gibt ρ ∈ Tr(T1) mit ρ �∈ Tr(T2) und somit ρ �∈ P
Also gilt T1 �|= P .
intuitiv: je mehr Traces es gibt, desto schwieriger ist es, eineLinearzeiteigenschaft zu erfullen
GPS: Linearzeit-Eigenschaften — Einfuhrung 133
Lin.zeit-Eigenschaften und Trace-Aquivalenz
Kor. 7seien T1, T2 LTS
Tr(T1) = Tr(T2) ⇐⇒ ∀P ⊆ (2AP)ω : T1 |= P ⇔ T2 |= P
heißt: Linearzeit-Eigenschaften konnen trace-aquivalente Modellenicht unterscheiden
GPS: Linearzeit-Eigenschaften — Invarianten 134
Invarianten
im folgenden: Klassen von Linearzeiteigenschaften (LZE)
1 Invarianten
2 Safety
3 Liveness
4 Fairness
Def. 22
LZE Pinv ⊆ (2AP)ω ist Invariante, falls es aussagenlogisches ϕ gibt,
so dass
Pinv = {A0A1 . . . | ∀i ∈ N : Ai |= ϕ}
GPS: Linearzeit-Eigenschaften — Invarianten 135
Erreichbare Zustande
sei T LTS mit Zustand s
Def. 23
Post∗(s) ist kleinste Menge, fur die gilt:
• s ∈ Post∗(s), und
• ∀s � ∈ Post∗(s) : Post(s �) ⊆ Post
∗(s)
welcher Algorithmus verbirgt sich hinter dieser Definition?Breitensuche!
Post∗(s) = alle, von s aus erreichbaren Zustande
leicht erweiterbar zu: Post∗(T ) = alle, von einem Zustand in T
aus erreichbaren Zustande
GPS: Linearzeit-Eigenschaften — Invarianten 136
Invarianten uberprufen
sei Pinv Invariante mit Invariantenbedingung ϕ
Lemma 8
Sei T = (S ,−→, I , L) LTS.
T |= P gdw. ∀s ∈ Post∗(I ) : L(s) |= ϕ
Beweis: Ubung
beachte: Breitensuche liefert kurzesten Trace, der P verletzt
GPS: Linearzeit-Eigenschaften — Safety 137
Safety
intuitiv: Safety = “nie passiert etwas schlechtes”
Def.: Seien v ,w ∈ Σ∗ ∪ Σω.
v � w gdw. ∃u ∈ Σ∗∪ Σω.w = vu
≺ ist strikter Anteil von �
Def. 24
LZE P ⊆ (2AP)ω ist Safety-Eigenschaft, gdw.
∀σ ∈ (2AP)ω \ P : ∃σ ≺ σ mit P ∩ {σ�| σ ≺ σ�
} = ∅
σ heißt schlechtes Prafix
GPS: Linearzeit-Eigenschaften — Safety 138
Schlechte Prafixe
Def. 25Sei P Saftey-Eigenschaft.
BadPref (P) = {σ ∈ (2AP)∗ | ∀σ ∈ (2AP)ω : σσ �∈ P}
σ ist minimales schlechtes Prafix, falls
∀σ�∈ (2AP)∗ : σ�
≺ σ =⇒ σ��∈ BadPref (P)
beachte: Definition macht nur fur Safety-Eigenschaften Sinn
GPS: Linearzeit-Eigenschaften — Safety 139
Beispiele
System: Getrankeautomat (wie oben)
Bsp.:1 “nach Bezahlen erhalt man ein Getrank im nachsten Schritt”
2 “Summe der eingezahlten Betrage ist immer gleich derSumme der Preise der ausgegebenen Getranke”
werden Eigenschaften erfullt?
gibt es schlechte Prafixe?
GPS: Linearzeit-Eigenschaften — Safety 140
Regulare Safety-Eigenschaften
Def. 26
Safety-Eigenschaft P heißt regular, falls BadPref (P) regulareSprache uber dem Alphabet 2AP ist.
Bsp.:
1 P = “nach Bezahlen erhalt man Getrank im nachsten Schritt”
ist regular
BadPref (P) = Σ∗{bezahlen}
�Σ \ {getraenk}
�Σ∗
2 P = “Summe Einzahlung = Summe Auszahlung”
ist nicht regular
GPS: Linearzeit-Eigenschaften — Safety 141
Safety-Eigenschaften und Invarianten
Thm. 9
a) Fur alle LZE P gilt: P ist Invariante =⇒ P ist regulare
Safety-Eigenschaft.
b) Es gibt LZE P, die (regulare) Safety-Eigenschaft, aber nicht
Invariante ist.
Beweis: Ubung.
GPS: Linearzeit-Eigenschaften — Safety 142
Beispiel
System: Ampel
AP = {rot, gelb, gruen}
Anforderungen:
• “immer ist mindestens ein Licht an und niemals drei”
• “wenn zwei Lichter an sind, dann sind dies Rot und Gelb”
• “vor jeder Rot-Phase findet immer eine Grun-Phase statt”
sind dies Invarianten / Safety-Eigenschaften / regulareSafety-Eigenschaften?
wie sehen dann NFAs fur BadPref (P) jeweils aus?
GPS: Linearzeit-Eigenschaften — Safety 143
Safety-Eigenschaften uberprufen
Def.: Trfin(T ) = endliche Tracefragmente von T
Lemma 10Sei P Safety-Eigenschaft, T totales LTS.
T |= P gdw. Trfin(T ) ∩ BadPref (P) = ∅
Beweis: Ubung.
liefert Charakterisierung, aber noch nicht notwendigerweiseAlgorithmus
GPS: Linearzeit-Eigenschaften — Safety 144
NFA mit bewachten Transitionen
Def.: AL(V ) = Menge aller aussagenlogischen Formeln uberVariablenmenge V
Def. 27
Nicht-deterministischer, bewachter, endlicher Automat (NFA) ist
(hier) ein A = (Q,AP , q0, δ,F ), wobei
• Q endliche Zustandsmenge, q0 ∈ Q Anfangszustand, F ⊆ Q
Endzustandsmenge
• Alphabet ist 2AP
• Transitionsrelation ist endliches δ ⊆ Q × AL(AP)× Q
GPS: Linearzeit-Eigenschaften — Safety 145
Laufe bewachter NFAs
aussagenlogische Formeln in Transitionsrelation reprasentierensymbolisch mehrere Alphabetsymbole
qA
−→ p gdw. ∃ϕ ∈ AL(AP) mit (q,ϕ, p) ∈ δ und A |= ϕ
NFAs akzeptieren Tracefragmente A0, . . . ,An−1
Def. 28Lauf ist Sequenz q0,A0, q1,A1, q2, . . . ,An−1, qn, so dass
∀i = 0, . . . , n − 1 : qiAi−−→ qi+1
akzeptierender Lauf: qn ∈ F
Sprache L(A) = Menge aller endlichen Tracefragmente, fur die es
akzeptierenden Lauf gibt
GPS: Linearzeit-Eigenschaften — Safety 146
Produkt von LTS und NFA
Idee: reduziere Testen von regularer Safety-Eigenschaft aufUberprufung einer Invarianten (nicht im selben System naturlich)
Def. 29
Sei T = (S ,−→, I , L) LTS uber AP, A = (Q,AP , q0, δ,F ) NFA.Produkt ist T ⊗A := (S × Q,−→�, I �, L�) uber atomaren
Propositionen {f}, mit
• I� = {(s0, q) | s0 ∈ I und q0
L(s0)−−−→ q}
• L�(s, q) =
�{f } , falls q ∈ F
∅ , sonst
• (s, q)−→�(t, p) gdw. s −→ t und qL(t)−−−→ p
GPS: Linearzeit-Eigenschaften — Safety 147
Regulare Safety-Eigenschaften uberprufen
Thm. 11Sei T LTS, P regulare Safety-Eigenschaft, AP NFA mit
L(AP) = BadPref (P) undPf = {A0,A1,A2, . . . | ∀i ∈ N : Ai |= ¬f }.
T |= P gdw. T ⊗AP |= Pf
Beweis: Ubung.
GPS: Linearzeit-Eigenschaften — Liveness 148
Liveness-Eigenschaften
beachte: Safety = “niemals passiert etwas schlimmes”
normalerweise leicht zu erfullen, indem Implementierung einfachnichts macht
komplementare Anforderung: Liveness = “irgendwann wird etwasgutes passieren”
Def. 30
P ⊆ (2AP)ω ist Liveness-Eigenschaft, falls
{σ ∈ (2AP)∗ | ∃σ ∈ P mit σ ≺ σ} = (2AP)∗
intuitiv: jedes endliche Prafix hat keine Aussagekraft
GPS: Linearzeit-Eigenschaften — Liveness 149
Beispiel
wieder mal der Getrankeautomat . . .
typische Liveness-Eigenschaften
• “der Automat wird irgendwann Getrank A servieren”
ist nicht erfullt, aber kein endliches Prafix zeigt dies an
• “der Automat wird irgendwann ein Getrank servieren”
• “der Automat serviert unendlich oft ein Getrank”
beachte: bei Linearzeit-Eigenschaften gilt “unendlich oft” =“immer irgendwann”
GPS: Linearzeit-Eigenschaften — Liveness 150
Safety und Liveness
Prop. 12
Ist P Liveness- und Safety-Eigenschaft, so ist P = (2AP)ω.
Prop. 13
Es gibt LZE P, die weder Liveness- noch Safety-Eigenschaft ist.
Prop. 14
Sei P LZE. Dann gibt es Safety-Eigenschaft Psafe und
Liveness-Eigenschaft Plive , so dass P = Psafe ∩ Plive .
GPS: Linearzeit-Eigenschaften — Fairness 151
Liveness und Nebenlaufigkeit
Bsp.: asynchrones Produkt zweier Ampeln
Liveness-Eigenschaft “beide Ampeln sind unendlich oft grun” istnicht erfullt
widerspricht Intuition uber System aus zwei unabhangigen Ampeln
Grund: unfaire Laufe im asynchronen Produkt
sinnvoll: Einschrankung der Laufe auf solche, die gewisseFairness-Bedingungen erfullen
GPS: Linearzeit-Eigenschaften — Fairness 152
Fairness
Def. 31
Sei F = (P1, . . . ,Pn) ∈ (2AP)n Fairness-Constraints. Trace
A0,A1, . . . ist F-fair, falls
∀i = 1, . . . , n.∃∞j .Pi ∩ Aj �= ∅
∃∞ = “es gibt unendlich viele”
Def. 32Sei T LTS, F Fairness-Constraints, P Linearzeit-Eigenschaft.
• TrF (T ) = {σ ∈ Tr(T ) | σ ist F-fair }
• T |=F P gdw. TrF ⊆ P
GPS: Linearzeit-Eigenschaften — Fairness 153
LZE-Eigenschaften: Zusammenspiel
• Jede Invariante ist eine Safety-Eigenschaft.
• Safety und Liveness sind in gewissem Sinne komplementareAnforderungen.
• Fairness-Annahmen konnen notwendig sein, um Liveness zuzeigen.
• Fairness-Annahmen zerstoren Safety-Eigenschaft nicht,solange erstere uberall nicht alle Traces ausschließt.