Petri-Netz-Synthese Synthese von Petri-Netz-Modellen (Regionentheorie 1) Rico Bergmann 03.12.2007 03.12.2007 Rico Bergmann 1 Einführung Interface-Synthese für embedded systems, z.B. in Fahrzeugtechnik Haushaltselektronik Unterhaltungselektronik 03.12.2007 Rico Bergmann 2 Einführung Modellierung In einer „einfachen Sprache“ modellieren Eigenschaften prüfen Bei PNen: kleinere Netze finden Algorithmen Sind Deadlocks vorhanden? ... 03.12.2007 Rico Bergmann 3 Das Problem (informell) Finde zu einem gegebenem System (in Form eines Transitionssystems) ein Petri-Netz mit demselben Verhalten. 03.12.2007 Rico Bergmann 4 Begriffe Sei P = (S, T, F, M0) ein Petri-Netz Wir betrachten nur elementare beschriftete System-Netze Schleifenfrei: ∀t ∈ T : •t ∩ t • = ∅ (• x = • y ∧ x• = y•) ⇒ x = y Einfach: Ohne isolierte Transitionen M0 ⊆ S 03.12.2007 Rico Bergmann 5 Begriffe Elementare Transitionssysteme (eTS) T = ( K , L, G, k0 ), G ⊆ ( K × L × K ), k0 ∈ K Endlicher gerichteter Graph Kanten-beschriftet (L) Initialisiert (k0) Zusätzlich: nur erreichbare Knoten Keine „Self-Loops“ Keine Mehrfachkanten 03.12.2007 Rico Bergmann 6 Begriffe Zur Erinnerung: Finde zu einem gegebenem System (in Form eines Transitionssystems) ein Petri-Netz mit demselben Verhalten. Graphisomorphismus T und T‘ seien eTS Bijektive Abb. f:KK‘ heißt Isomorphismus f (k0 ) = k0 ′ ( h, l , k ) ∈ G ⇔ ( f (h), l , f (k )) ∈ G′ Notation: T ≅ T‘ 03.12.2007 Rico Bergmann 7 Abstecher: Graphisomorphie Liegt das Graphismorphie-Problem in P oder NP? Vermutlich ist es nur schwer lösbar Aber: wir haben es einfach Spezialfall: wir suchen einen speziellen Isomorphismus 03.12.2007 Rico Bergmann 8 Das Problem (formal) Sei T=(K, L, G, k0) ein eTS Dann ist ein ePN P=(S, T, F, M0) gesucht Mit ER(P) ≅ T ER(P) ... Erreichbarkeitsgraph von P Das synthetisierte PN soll klein sein Falls es P gibt, bez. wir T als abstrakten Zustandsgraphen 03.12.2007 Rico Bergmann 9 Regionen Sei T eTS R, Teilmenge der Knoten von T, heißt Region gdw. Für Kanten (h,l,k), (h‘,l,k‘) mit gleichem Label l gilt: h∈R und k∉R, dann h‘∈R und k‘∉R (exiting event) h∉R und k∈R, dann h‘∉R und k‘∈R (entering event) ∅ und K heißen triviale Regionen Reg(T) .. Menge aller Regionen von T 03.12.2007 Rico Bergmann 10 Regionen Beispiel a 1 2 d c b 3 4 b d c 03.12.2007 5 Rico Bergmann 11 Petri-Netz-Synthese Idee: Regionen Plätze Ein m-generiertes ePN ist sy(T,m):= (m,L,F,c0), m.. Menge von Regionen Wobei für R∈m, l∈L gilt (R,l)∈F gdw. R∈°l (l,R)∈F gdw. R∈l° R∈c0 gdw. k0∈R °l ..Menge der Regionen mit l als exiting event (l° analog) 03.12.2007 Rico Bergmann 12 PN-Synthese Beispiel D={3,5} d C={1,4} B C ... a D c I H G F 03.12.2007 b Rico Bergmann A J E 13 PN-Synthese Isomorphismus Falls T abstrakter Zustandsgraph, dann Existiert genau ein Isomorphismus f Von T nach ER[sy(T, reg(T))] Mit f(k)={R∈reg(T) | k∈R} Beweisidee: Zeige für jeden bel. Isomorphismus g gilt: g=f 03.12.2007 Initialzustände per Definition Induktiv über erreichbare Zustände: (h,l,k)∈G, f(h)=g(h) ⇒ f(k) = g(k) Rico Bergmann 14 PN-Synthese Beispiel T4 1a 2 b 3 c 4 d 03.12.2007 Rico Bergmann 15 Reduced Petri Nets Problem: ePN können sehr groß werden (exponentiell) Lösung: Verkleinerte ePN: Jedes Event tritt auf p1, p2 Plätze des ePN es existiert eine Markierung M mit p1∈M, p2∉M oder p1∉M, p2∈M 03.12.2007 Rico Bergmann 16 Reduced Petri Nets Idee zur Verkleinerung: Weglassen überflüssiger Plätze m⊆reg(T) ist zulässig, gdw. sy(T, reg(T)) und sy(T, m) „isomorph“ R∈reg(T) ist redundant, falls m\{R} zulässig 03.12.2007 Rico Bergmann 17 Redundante Regionen Charakterisierung redundanter Regionen: R sei Region, dann bezeichne R‘ := K \ R R und R‘ sind Regionen R ist redundant R, Ri Regionen, R = R1 ∩ R2, R‘ = R3 ∩ R4 R ist redundant R, Ri Regionen, R = R1 ∪ R2, R‘ = R3 ∪ R4 R ist redundant R, Ri Regionen, R = R1 ∩ R2,für alle (h,l,k)∈R×L×R‘ gilt k∉R1 und k∉R2 R ist redundant 03.12.2007 Rico Bergmann 18 Zusammenfassung PN-Synthese Geg. eTS T Konstruiere ein ePN P zu T Isomorphismus zwischen P und T Entferne redundante Regionen Ausgabe: „kleines“ ePN 03.12.2007 Rico Bergmann 19 Ausblick PN-Synthese Geg. eTS T Konstruiere ein ePN P zu T Isomorphismus zwischen P und T Entferne redundante Regionen Ausgabe: „kleines“ ePN 03.12.2007 Rico Bergmann 20