3) Linearzeit-Eigenschaften · GPS: Linearzeit-Eigenschaften — Liveness 149 Beispiel wieder mal...

26
3) Linearzeit-Eigenschaften

Transcript of 3) Linearzeit-Eigenschaften · GPS: Linearzeit-Eigenschaften — Liveness 149 Beispiel wieder mal...

Page 1: 3) Linearzeit-Eigenschaften · GPS: Linearzeit-Eigenschaften — Liveness 149 Beispiel wieder mal der Getr¨ankeautomat ... typische Liveness-Eigenschaften • “der Automat wird

3) Linearzeit-Eigenschaften

Page 2: 3) Linearzeit-Eigenschaften · GPS: Linearzeit-Eigenschaften — Liveness 149 Beispiel wieder mal der Getr¨ankeautomat ... typische Liveness-Eigenschaften • “der Automat wird

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

Page 3: 3) Linearzeit-Eigenschaften · GPS: Linearzeit-Eigenschaften — Liveness 149 Beispiel wieder mal der Getr¨ankeautomat ... typische Liveness-Eigenschaften • “der Automat wird

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

Page 4: 3) Linearzeit-Eigenschaften · GPS: Linearzeit-Eigenschaften — Liveness 149 Beispiel wieder mal der Getr¨ankeautomat ... typische Liveness-Eigenschaften • “der Automat wird

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

Page 5: 3) Linearzeit-Eigenschaften · GPS: Linearzeit-Eigenschaften — Liveness 149 Beispiel wieder mal der Getr¨ankeautomat ... typische Liveness-Eigenschaften • “der Automat wird

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

Page 6: 3) Linearzeit-Eigenschaften · GPS: Linearzeit-Eigenschaften — Liveness 149 Beispiel wieder mal der Getr¨ankeautomat ... typische Liveness-Eigenschaften • “der Automat wird

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

Page 7: 3) Linearzeit-Eigenschaften · GPS: Linearzeit-Eigenschaften — Liveness 149 Beispiel wieder mal der Getr¨ankeautomat ... typische Liveness-Eigenschaften • “der Automat wird

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 |= ϕ}

Page 8: 3) Linearzeit-Eigenschaften · GPS: Linearzeit-Eigenschaften — Liveness 149 Beispiel wieder mal der Getr¨ankeautomat ... typische Liveness-Eigenschaften • “der Automat wird

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

Page 9: 3) Linearzeit-Eigenschaften · GPS: Linearzeit-Eigenschaften — Liveness 149 Beispiel wieder mal der Getr¨ankeautomat ... typische Liveness-Eigenschaften • “der Automat wird

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

Page 10: 3) Linearzeit-Eigenschaften · GPS: Linearzeit-Eigenschaften — Liveness 149 Beispiel wieder mal der Getr¨ankeautomat ... typische Liveness-Eigenschaften • “der Automat wird

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

Page 11: 3) Linearzeit-Eigenschaften · GPS: Linearzeit-Eigenschaften — Liveness 149 Beispiel wieder mal der Getr¨ankeautomat ... typische Liveness-Eigenschaften • “der Automat wird

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

Page 12: 3) Linearzeit-Eigenschaften · GPS: Linearzeit-Eigenschaften — Liveness 149 Beispiel wieder mal der Getr¨ankeautomat ... typische Liveness-Eigenschaften • “der Automat wird

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?

Page 13: 3) Linearzeit-Eigenschaften · GPS: Linearzeit-Eigenschaften — Liveness 149 Beispiel wieder mal der Getr¨ankeautomat ... typische Liveness-Eigenschaften • “der Automat wird

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

Page 14: 3) Linearzeit-Eigenschaften · GPS: Linearzeit-Eigenschaften — Liveness 149 Beispiel wieder mal der Getr¨ankeautomat ... typische Liveness-Eigenschaften • “der Automat wird

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.

Page 15: 3) Linearzeit-Eigenschaften · GPS: Linearzeit-Eigenschaften — Liveness 149 Beispiel wieder mal der Getr¨ankeautomat ... typische Liveness-Eigenschaften • “der Automat wird

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?

Page 16: 3) Linearzeit-Eigenschaften · GPS: Linearzeit-Eigenschaften — Liveness 149 Beispiel wieder mal der Getr¨ankeautomat ... typische Liveness-Eigenschaften • “der Automat wird

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

Page 17: 3) Linearzeit-Eigenschaften · GPS: Linearzeit-Eigenschaften — Liveness 149 Beispiel wieder mal der Getr¨ankeautomat ... typische Liveness-Eigenschaften • “der Automat wird

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

Page 18: 3) Linearzeit-Eigenschaften · GPS: Linearzeit-Eigenschaften — Liveness 149 Beispiel wieder mal der Getr¨ankeautomat ... typische Liveness-Eigenschaften • “der Automat wird

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

Page 19: 3) Linearzeit-Eigenschaften · GPS: Linearzeit-Eigenschaften — Liveness 149 Beispiel wieder mal der Getr¨ankeautomat ... typische Liveness-Eigenschaften • “der Automat wird

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

Page 20: 3) Linearzeit-Eigenschaften · GPS: Linearzeit-Eigenschaften — Liveness 149 Beispiel wieder mal der Getr¨ankeautomat ... typische Liveness-Eigenschaften • “der Automat wird

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.

Page 21: 3) Linearzeit-Eigenschaften · GPS: Linearzeit-Eigenschaften — Liveness 149 Beispiel wieder mal der Getr¨ankeautomat ... typische Liveness-Eigenschaften • “der Automat wird

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

Page 22: 3) Linearzeit-Eigenschaften · GPS: Linearzeit-Eigenschaften — Liveness 149 Beispiel wieder mal der Getr¨ankeautomat ... typische Liveness-Eigenschaften • “der Automat wird

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”

Page 23: 3) Linearzeit-Eigenschaften · GPS: Linearzeit-Eigenschaften — Liveness 149 Beispiel wieder mal der Getr¨ankeautomat ... typische Liveness-Eigenschaften • “der Automat wird

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 .

Page 24: 3) Linearzeit-Eigenschaften · GPS: Linearzeit-Eigenschaften — Liveness 149 Beispiel wieder mal der Getr¨ankeautomat ... typische Liveness-Eigenschaften • “der Automat wird

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

Page 25: 3) Linearzeit-Eigenschaften · GPS: Linearzeit-Eigenschaften — Liveness 149 Beispiel wieder mal der Getr¨ankeautomat ... typische Liveness-Eigenschaften • “der Automat wird

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

Page 26: 3) Linearzeit-Eigenschaften · GPS: Linearzeit-Eigenschaften — Liveness 149 Beispiel wieder mal der Getr¨ankeautomat ... typische Liveness-Eigenschaften • “der Automat wird

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.