Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Beweisgraphen - aber wozu?

Ähnliche Präsentationen


Präsentation zum Thema: "Beweisgraphen - aber wozu?"—  Präsentation transkript:

0 Beweisgraphen Seminar: Analyse von Petrinetzmodellen WS 2007/08
Humboldt Universität zu Berlin Institut für Informatik Beweisgraphen Seminar: Analyse von Petrinetzmodellen WS 2007/08 Dozent: Peter Massuthe Vortrag: Mike Herzog

1 Beweisgraphen - aber wozu?
Betrachten Verhalten von Petrinetzen Normalerweise Modelchecking Häufig Formeln der Form G(p→Fq) Mit Beweisgraphen effizienter möglich G(pFq) := Leads-to Formel

2 Beweisgraphen - Beispiel
c d e b a A B C D E N2 = c d d e? AB AD CB BE A CD E c e? e AE Beweisgraph für N2 ⊨ A ↦ E

3 Beweisgraphen - Eigenschaften
gerichteter Graph G (genauer: „Netzwerk“) mit je einer ausgezeichneten Quelle p und einer Senke q Knoten sind Zustandsformeln in N Kantenbeschriftungen sind Transitionen in N enthält min 1 Pfad von p nach q kreisfrei, zusammenhängend bildet Halbordnungsrelation Für jeden Knoten r mit den Nachfolgern r1, r2, r3, ... gilt: r ↦ (r1  r2  r3  ...)

4 Leads-to Formeln Zustandsformeln p Sagen c A C
M ⊨ p („die Markierung M erfüllt p“), gdw. M(p) ≥ 1 w ⊨ p ↦ q („der Ablauf w erfüllt p leads-to q“), gdw. Zu jedem i mit Mi ⊨ p existiert ein j mit j ≥ i und Mj ⊨ q N ⊨ p ↦ q („das Netz N erfüllt p leads-to q“), gdw. Jeder Ablauf w des Netzes gilt w ⊨ p ↦ q c A C Leads-to Formeln habe ich eben schon heimlich benutzt Zustandsformeln heissen P in Anlehnung an Stellen Ablauf := eine Folge von Transitionen

5 Leads-to Formeln - Beispiele
N2 ⊨ A ↦ C N2 ⊨ AB ↦ CD N2 ⊨ A ↦ E N2 ⊨ D ↦ D ¬AB ↦ AD c d e b a A B C D E N2 =

6 Effekt einer Transition auf eine Markierung - Beispiel
Teilmarkierung Wissen oft nicht über gesamtes Netz Bescheid. Ist unter Umständen nicht nötig. „Effekt von t auf L“ am Beispiel eff(AB, d) = D eff(AB, e) = AE „Teilmarkierung“ ebenfalls bereits benutzt Wieder erst Beispiel, dann Definition... Überschrift falsch A D d B e E C

7 Effekt einer Transition auf eine Markierung - Definition
Definition: Sei N = (P,T,F) ein Netz, sei t  T und sei L eine Markierung. Dann ist die Markierung eff(L, t) := max(L(p) + t(p), 0) der Effekt von t auf L. Lemma: Sei N = (P,T,F) ein Netz, sei t  T, sei M ―t→ M‘ ein Schritt von N und sei L ≤ M. Dann gilt: 1. eff(L, t) ≤ M‘. 2. Falls L = M, gilt eff(L, t) = M‘ max(), weil t Marken von Plätzen konsumieren könnte, die nicht Teil von L sind Lemma sagt, dass wir keines Falls mehr Marken in das Netz bringen. Wg Monotonie des Schaltens kommt also kein Verhalten dazu

8 Die Pick-up Regel - Idee
Lemma: N ⊨ t ↦ Vu(t) eff(t, u) N ⊨ AB ↦ D  AE N ⊨ d ↦ eff(d, d)  eff(d, e) Das Lemma ist so wichtig, dass ich es oben stehen lasse... A D d B e E C

9 Die Pick-up Regel - Erweitert
Lemma: N ⊨ t ↦ Vu(t) eff(t, u) AC ↦ ... nicht mit Lemma ableitbar, da für kein t gilt AC = t. Es gilt aber dennoch N ⊨ AC ↦ (CD  CE  AF) Beobachtung: AC ist „progress prone“ d D prone: (engl.) geneigt, -anfällig, A e E B C f F

10 Die Pick-up Regel - Allgemeiner
Lemma: N ⊨ t ↦ Vu(t) eff(t, u) Allgemeineres Lemma: Sei N = (P, T, F) ein Netz, sei Q  P progress prone. Dann gilt N ⊨ Q ↦ VuQ eff(Q, u). d D _Ändern: N inkl M0_ A e E B C f F

11 Die Pick-up Regel - Beispiel
Allgemeineres Lemma: N ⊨ Q ↦ VuQ eff(Q, u) N ⊨ Q ↦ VuQ eff(Q, u) mit Q = {AC} N ⊨ AC ↦ VuAC eff(AC, u) mit AC = {d, e, f} N ⊨ AC ↦ eff(AC, d)  eff(AC, e)  eff(AC, f) N ⊨ AC ↦ CD  CE  AF d D A e E B C f F

12 Die Pick-up Regel - (cont.)
Allgemeineres Lemma: N ⊨ Q ↦ VuQ eff(Q, u) B Nach Lemma: BC ↦ E  BF. Wissen aber, dass BC → ¬D. Lösung: lösche „verhinderte Transitionen“ aus Q N12= E b e A C F d f D

13 Die Pick-up Regel Gegeben: Sei N = (P, T, F, M0) ein Netz, sei Q  P.
Gesucht: N ⊨ Q ↦ ... Lösung: Aktiviert Q eine Transition? (Wenn nicht, ist keine Formel ableitbar.) Setze U := Q Nach belieben: Wenn Q die Transition t verhindert, entferne t aus U Es gilt: N ⊨ Q ↦ uU eff(Q, u)

14 Beweisgraphen - Ende 1.Teil
c d e b a A B C D E N2 = c d d e? AB AD CB BE A CD E c e? e AE Beweisgraph für N2 ⊨ A ↦ E

15 Cache Refreshing Beweisgraphen: kreisfreie, gerichtete Graphen mit ausgezeichneter Quelle und Senke Leads-to Formeln: N ⊨ p ↦ q Effekt einer Transition auf eine Markierung Die Pick-up Regel: N ⊨ Q ↦ uU eff(Q, u) Streichen verhinderter Transitionen aus U d e A B C D E B-Graphen: gerichtet, kreisfrei, Quelle, Senke Knoten: (Teil-) Markierungen des zugrunde liegenden Netzes N Kanten: Zustndsübergänge in N / Transitionen Pick-up Regel: Ist Q progress prone? Menge U aus Q• abzüglich verhinderter Transitionen Gliederung: Konzept Fairness... Technik... Evolution von Mutex

16 Fairness • Wenn eine  -Transition unendlich oft aktiviert ist,
wird sie irgendwann feuern. A a b c d B C D E N16 = Der Ablauf AD > BD > BE > BD > BE > ... verletzt Fairness von b. Der Ablauf AD > AE > AD > AE > ... ist nicht unfair bzgl. b aber verletzt Progress von a. Ein Lauf der diesem Modell gerecht wird endet also im Zustand C. Beobachtung: Alle Transitionen sind konflikt-reduziert.

17 Konflikt-reduzierte Transitionen
Definition: Sei N ein Petrinetz, sei t eine Transition von N. t ist konflikt-reduziert, wenn es höchstens einen Platz p in t gibt, für den gilt: { t }  p. p ist dann der Konflikt-Platz von t. Sehen Teil von N.16 (Fairness) Die Aktivierung der Transition hängt (bald) nur noch vom Konflikt-Platz ab. Verbieten sogenannte „Konspiration“ b B D

18 Fairness - (cont.) N16 ⊨ A ↦ C Zu zeigen: B ↦ BD,
denn wegen der Fairness-Annahme für b wird bei der (Teil-) Markierung BD die Transition b dann auch (irgendwann) feuern. Ich zeige B ↦ BD der Einfachheit halber „in-line“. Sobald Fairness ins Spiel kommt sind wir unvollstädig. a c b A B BD BE C

19 Beweistechnik I • „Manchmal muß[!] man Information wegschmeißen“ W.R.
D B N19 = N19 ⊨ AB ↦ CD ist nicht durch stures Anwenden der Pick-up Regel beweisbar. [AB] impliziert A [C] impliziert CB v CD wg Invariante B+D = 1 a b AB A C CD CB

20 Beweistechnik II N20 ⊨ AD ↦ C ist nicht mit Standard-Beweisgraphen beweisbar. Lösung: Konstruieren uns die Invariante D+E = 1. a c b C B A N20 = D E E verhindert c, wg Invariante D+E = 1 c? c b a AD BE B AE A CE C C a a CD

21 Wechselseitiger Ausschluss
N21 = q pendingL pendingR criticalL criticalR quietL quietR Beweisgraphen Jeder kann jederzeit von quiet nach pending. Wer pending ist, kommt irgendwann nach critical. Es ist immer höchstens einer critical. Auch: Quietschness; „kann“ heißt insbesondere „muss aber nicht“ Auch: Progress Auch: Safety Zeigen mit Beweisgraph: Pending ↦ Critical

22 • q q • •  •  quiet pending pending quiet avail requested avail
silent silent waiting waiting N.22 Token-Passing Mutex granted critical critical

23 • q •  quiet pending avail requested silent waiting granted critical
Szenario 1: Ich habe Token und will critical werden. Szenario 2: Ich habe Token aber der andere will critical werden. Szenario 3: Ich will critical werden und brauche das Token Szenario 4: Ich habe Token und beide wollen critical werden ->  granted critical

24 N22 ⊨ A ↦ E • q q • •  •  F A L R f n B G H M e m C N a c b h j g D
P F+A+E = 1 C+H+N+G = 1 H+J-D = 0 : zeigen von b nach d F+A-B-C = 0 : zeigen von e nach b C+H-M-Q-K = 0 : zeigen von c nach j (ohne g) d k J K E Q

25 BFNR ABNR BFLN ABLN ENR ELN BFGP ABGP CFKP EGP ACKP CFQ DHKP ACQ CFMR DHQ ACMR CFLM DHMR ACLM DHLM DJNR DJLN DJGP

26 N22 ⊨ A ↦ E • q q • •  •  F A L R f n B G H M e m C N a c b h j g D
P F+A+E = 1 C+H+N+G = 1 H+J-D = 0 : zeigen von b nach d F+A-B-C = 0 : zeigen von e nach b C+H-M-Q-K = 0 : zeigen von c nach j (ohne g) d k J K E Q

27 • q  N22 ⊨ A ↦ E • q  • q   F A C D E L R M N P Q B G H J K c a b
F+A+D+E = 1 C+H+N+G = 1 H+J-D = 0 : zeigen von b nach d F+A-B-C = 0 : zeigen von e nach b C+H-M-Q-K = 0 : zeigen von c nach j (ohne g)

28 Beweisgraph für N22 ⊨ A ↦ E N22 ⊨ H ↦ HM N22 ⊨ A ↦ E k m H HM HQ HK
HKP N22 ⊨ A ↦ E Lemma 25.1: H ↦ HM [H] C+H-K-Q-M = 0 [HK] G+K-P = 0 [HKP] U= { k, j? } P verhindert j wg M+N+P+Q = 1 [HQ] U= { m, j? } Q verhindert j wg M+N+P+Q = 1 Beweis A ↦ E [A] F+A-B-C = 0 [AB] U= { a, b?, c? } B verhindert b wg B+C+D+E = 1 [AC] U= { a?, b} C verhindert a wg B+C+D+E = 1 [H] siehe Lemma 25.1 [HM] U= { j, g? } Fairness-Regel [J] H+J-D = 0 [JD] U= { d } Einsetzen darf keinen Kreis bilden, auch nicht aus Versehen c? b s.o. j d A AC AB E a H HM J JD

29 Streichen verhinderter Transitionen
b EH ACK ABJ N22 ⊨ H ↦ HM BHK BAH BFH BH b? BHM BHQ m N22 ⊨ A ↦ E j BJ Beweis A ↦ E [A] F+A-B-C = 0 [AB] U= { a, b?, c? } B verhindert b wg B+C+D+E = 1 [AC] U= { a?, c} C verhindert a wg B+C+D+E = 1 [H] siehe Lemma 25.1 [HM] U= { j, g? } Fairness-Regel [J] H+J-D = 0 [JD] U= { d } Bei [BH] gälte auch BFH v BAH und BHK v BHQ v BHM c? b s.o. j d A AC AB E a H HM J JD

30 Beweisgraphen - Zusammenfassung
Leads-to Formel Teilmarkierung Pick-up Regel verhinderte Transition Fairness konflikt-reduzierte Transition Teilmarkierung: nutzen Lokalitätsprinzip von Petrinetzen

31 The Lost Slides Slides The

32 Beweisgraphen vs. Erreichbarkeitsgraphen
a b d e g h A D G B E H C F I N = ADG BDG CDG CEG CFG CFH AEG ADH BEG BDH AFG AEH ADI CDH BFG BEH BDI AFH AEI CEH CDI BFH BEI AFI CEI BFI CFI C B A a b N ⊨ A ↦ C


Herunterladen ppt "Beweisgraphen - aber wozu?"

Ähnliche Präsentationen


Google-Anzeigen