3) Linearzeit-Eigenschaften
GPS: Linearzeit-Eigenschaften Einführung 129 Linearzeit-Eigenschaften Erinnerung: endliche Trace-Fragmente = Wörter Def.: Σ ω bezeichnet Menge aller unendlichen Wörter (Sequenzen) über Alphabe Σ Def. 20 Linearzeit-Eigenschaft ist ein P (2 AP ) ω. Eigenschaft hier implizit definiert über Menge aller Objekte, die diese besitzen in diesem Kapitel: alle LTS total
GPS: Linearzeit-Eigenschaften Einführung 130 Linearzeit-Eigenschaften und Zustände 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 über Menge der Traces aller seiner ausgehenden Pfade existentielle Quantifizierung ebenso möglich, hier nicht betrachtet
GPS: Linearzeit-Eigenschaften Einführung 131 Examples AP =ZustandsnamenimBeispieldesGetränkeautomaten 1 P 1 = {A 0 A 1... i N, A i = {getraenka}} T? = P 1 2 P 2 = {A 0 A 1... i : A i = {bezahlen} j > i, A j {getraenka, getraenkb}} T? = P 2 3 P 3 = zwischen je zwei bezahlen-zuständen wurde ein Getränk serviert T? = P 3
GPS: Linearzeit-Eigenschaften Einführung 132 Lin.zeit-Eigenschaften und Trace-Inklusion Thm. 6 seien T 1, T 2 LTS, Tr (T 1 ) Tr (T 2 ) P (2 AP ) ω : T 2 = P T 1 = P Beweis: = klar = Angenommen Tr (T 1 ) Tr (T 2 ). Setze P := Tr (T 2 ).Beachte: 1 T 2 = P trivialerweise 2 es gibt ρ Tr (T 1 ) mit ρ Tr (T 2 ) und somit ρ P Also gilt T 1 = P. intuitiv: je mehr Traces es gibt, desto schwieriger ist es, eine Linearzeiteigenschaft zu erfüllen
GPS: Linearzeit-Eigenschaften Einführung 133 Lin.zeit-Eigenschaften und Trace-Äquivalenz Kor. 7 seien T 1, T 2 LTS Tr (T 1 )=Tr (T 2 ) P (2 AP ) ω : T 1 = P T 2 = P heißt: Linearzeit-Eigenschaften können trace-äquivalente Modelle nicht unterscheiden
GPS: Linearzeit-Eigenschaften Invarianten 134 Invarianten im folgenden: Klassen von Linearzeiteigenschaften (LZE) 1 Invarianten 2 Safety 3 Liveness 4 Fairness Def. 22 LZE P inv (2 AP ) ω ist Invariante, falls es aussagenlogisches ϕ gibt, so dass P inv = {A 0 A 1... i N : A i = ϕ}
GPS: Linearzeit-Eigenschaften Invarianten 135 Erreichbare Zustände sei T LTS mit Zustand s Def. 23 Post (s) ist kleinste Menge, für 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 Zustände leicht erweiterbar zu: Post (T ) = alle, von einem Zustand in T aus erreichbaren Zustände
GPS: Linearzeit-Eigenschaften Invarianten 136 Invarianten überprüfen sei P inv Invariante mit Invariantenbedingung ϕ Lemma 8 Sei T =(S,, I, L) LTS. T = P gdw. s Post (I ):L(s) = ϕ Beweis: Übung beachte: Breitensuche liefert kürzesten 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 (2 AP ) ω ist Safety-Eigenschaft, gdw. σ (2 AP ) ω \ P : ˆσ σ mit P {σ ˆσ σ } = ˆσ heißt schlechtes Präfix
GPS: Linearzeit-Eigenschaften Safety 138 Schlechte Präfixe Def. 25 Sei P Saftey-Eigenschaft. BadPref (P) = {ˆσ (2 AP ) σ (2 AP ) ω :ˆσσ P} ˆσ ist minimales schlechtes Präfix, falls σ (2 AP ) : σ ˆσ = σ BadPref (P) beachte: Definition macht nur für Safety-Eigenschaften Sinn
GPS: Linearzeit-Eigenschaften Safety 139 Beispiele System: Getränkeautomat (wie oben) Bsp.: 1 nach Bezahlen erhält man ein Getränk im nächsten Schritt 2 Summe der eingezahlten Beträge ist immer gleich der Summe der Preise der ausgegebenen Getränke werden Eigenschaften erfüllt? gibt es schlechte Präfixe?
GPS: Linearzeit-Eigenschaften Safety 140 Reguläre Safety-Eigenschaften Def. 26 Safety-Eigenschaft P heißt regulär, falls BadPref(P) reguläre Sprache über dem Alphabet 2 AP ist. Bsp.: 1 P = nach Bezahlen erhält man Getränk im nächsten Schritt ist regulär BadPref (P) =Σ {bezahlen} Σ \{getraenk} Σ 2 P = Summe Einzahlung = Summe Auszahlung ist nicht regulär
GPS: Linearzeit-Eigenschaften Safety 141 Safety-Eigenschaften und Invarianten Thm. 9 a) Für alle LZE P gilt: P ist Invariante = Pistreguläre Safety-Eigenschaft. b) Es gibt LZE P, die (reguläre) Safety-Eigenschaft, aber nicht Invariante ist. Beweis: Übung.
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 Grün-Phase statt sind dies Invarianten / Safety-Eigenschaften / reguläre Safety-Eigenschaften? wie sehen dann NFAs für BadPref (P) jeweilsaus?
GPS: Linearzeit-Eigenschaften Safety 143 Safety-Eigenschaften überprüfen Def.: Tr fin (T )=endlichetracefragmente von T Lemma 10 Sei P Safety-Eigenschaft, T totales LTS. T = P gdw. Tr fin (T ) BadPref (P) = Beweis: Übung. liefert Charakterisierung, aber noch nicht notwendigerweise Algorithmus
GPS: Linearzeit-Eigenschaften Safety 144 NFA mit bewachten Transitionen Def.: AL(V ) = Menge aller aussagenlogischen Formeln über Variablenmenge V Def. 27 Nicht-deterministischer, bewachter, endlicher Automat (NFA) ist (hier) ein A =(Q, AP, q 0,δ,F ), wobei QendlicheZustandsmenge, q 0 Q Anfangszustand, F Q Endzustandsmenge Alphabet ist 2 AP Transitionsrelation ist endliches δ Q AL(AP) Q
GPS: Linearzeit-Eigenschaften Safety 145 Läufe bewachter NFAs aussagenlogische Formeln in Transitionsrelation repräsentieren symbolisch mehrere Alphabetsymbole q A p gdw. ϕ AL(AP) mit(q,ϕ,p) δ und A = ϕ NFAs akzeptieren Tracefragmente A 0,...,A n 1 Def. 28 Lauf ist Sequenz q 0, A 0, q 1, A 1, q 2,...,A n 1, q n,sodass A i =0,...,n 1:q i i q i+1 akzeptierender Lauf: q n F Sprache L(A) = Menge aller endlichen Tracefragmente, für die es akzeptierenden Lauf gibt
GPS: Linearzeit-Eigenschaften Safety 146 Produkt von LTS und NFA Idee: reduziere Testen von regulärer Safety-Eigenschaft auf Überprüfung einer Invarianten (nicht im selben System natürlich) Def. 29 Sei T =(S,, I, L) LTS über AP, A =(Q, AP, q 0,δ,F ) NFA. Produkt ist T A:= (S Q,, I, L ) über atomaren Propositionen {f}, mit I L(s = {(s 0, q) s 0 Iundq 0 ) 0 q} L {f }, falls q F (s, q) =, sonst (s, q) (t, p) gdw. s t und q L(t) p
GPS: Linearzeit-Eigenschaften Safety 147 Reguläre Safety-Eigenschaften überprüfen Thm. 11 Sei T LTS, P reguläre Safety-Eigenschaft, A P NFA mit L(A P )=BadPref (P) und P f = {A 0, A 1, A 2,... i N : A i = f }. T = P gdw. T A P = P f Beweis: Übung.
GPS: Linearzeit-Eigenschaften Liveness 148 Liveness-Eigenschaften beachte: Safety = niemals passiert etwas schlimmes normalerweise leicht zu erfüllen, indem Implementierung einfach nichts macht komplementäre Anforderung: Liveness = irgendwann wird etwas gutes passieren Def. 30 P (2 AP ) ω ist Liveness-Eigenschaft, falls {ˆσ (2 AP ) σ Pmitˆσ σ} = (2 AP ) intuitiv: jedes endliche Präfix hat keine Aussagekraft
GPS: Linearzeit-Eigenschaften Liveness 149 Beispiel wieder mal der Getränkeautomat... typische Liveness-Eigenschaften der Automat wird irgendwann Getränk A servieren ist nicht erfüllt, aber kein endliches Präfix zeigt dies an der Automat wird irgendwann ein Getränk servieren der Automat serviert unendlich oft ein Getränk 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, soistp =(2 AP ) ω. Prop. 13 Es gibt LZE P, die weder Liveness- noch Safety-Eigenschaft ist. Prop. 14 Sei P LZE. Dann gibt es Safety-Eigenschaft P safe und Liveness-Eigenschaft P live,sodassp = P safe P live.
GPS: Linearzeit-Eigenschaften Fairness 151 Liveness und Nebenläufigkeit Bsp.: asynchrones Produkt zweier Ampeln Liveness-Eigenschaft beide Ampeln sind unendlich oft grün ist nicht erfüllt widerspricht Intuition über System aus zwei unabhängigen Ampeln Grund: unfaire Läufe im asynchronen Produkt sinnvoll: Einschränkung der Läufe auf solche, die gewisse Fairness-Bedingungen erfüllen
GPS: Linearzeit-Eigenschaften Fairness 152 Fairness Def. 31 Sei F =(P 1,...,P n ) (2 AP ) n Fairness-Constraints. Trace A 0, A 1,... ist F-fair, falls i =1,...,n. j.p i A j = = es gibt unendlich viele Def. 32 Sei T LTS, F Fairness-Constraints, P Linearzeit-Eigenschaft. Tr F (T )={σ Tr (T ) σ ist F-fair } T = F P gdw. Tr F P
GPS: Linearzeit-Eigenschaften Fairness 153 LZE-Eigenschaften: Zusammenspiel Jede Invariante ist eine Safety-Eigenschaft. Safety und Liveness sind in gewissem Sinne komplementäre Anforderungen. Fairness-Annahmen können notwendig sein, um Liveness zu zeigen. Fairness-Annahmen zerstören Safety-Eigenschaft nicht, solange erstere überall nicht alle Traces ausschließt.