Bachelorarbeit Carl von Ossietzky Universität Oldenburg 9. Januar 215 en 1
Gliederung en en 2
kurze gehen zurück auf Carl Adam Petri (1962). s 1 t 1 s 2 t 2 t 3 2 s 3 Abbildung : Beispiel Petrinetz... sind ein Instrument zur Abbildung diskreter Systeme.... besitzen Transitionen und Stellen... bewegen Token en 3
kurze gehen zurück auf Carl Adam Petri (1962). s 1 s 2 t 1 t 3 2 t 2 s 3 Der Zustand eines s ist seine aktuelle Tokenbelegung. Hier:,2, en Abbildung : Beispiel Petrinetz 3
Einsatzgebiete von n z.b. Workflow Management (1998) Maschinensysteme (24) Bioinformatik (25) Deadlock prevention (214)... Zusammenfassend werden in vielen verschiedenen Bereichen angewendet. en 4
Analyse von n Es gibt einige Eigenschaften von n, deren Analyse Aussagen über die beschriebenen Vorgänge treffen lässt, wie z.b.... Erreichbarkeit Beschränktheit Lebendigkeit... einige mehr Für derartige Untersuchung gibt es verschiedene Mittel u.a. den en. en 5
Der repräsentiert die Zustände eines s als Vektoren. Dabei gilt: Dimension(Vektor)=Anzahl Stellen. en 6
Der repräsentiert die Zustände eines s als Vektoren. Dabei gilt: Dimension(Vektor)=Anzahl Stellen. s 2 t 1 s 1 t 2 das Beispiel Petrinetz initial: en t 3 2 s 3 6
Schaltvorgang Das Schalten von Transitionen bewegt Token analog Pfeilanzahl durch das Netz: s 2-1 t 1 +1 s 1 t 2 : t 1 1 1 en t 3 2 s 3 Abbildung : Schalten von t 1 6
Schaltvorgang Wenn ein Zustand echt größer als ein vorheriger ist wird der betroffene Wert durch (Omega) ersetzt. wird als unendlicher großer Tokenwert interpretiert. s 2 t 1 t 3 +2 s 1 t 2 s 3 : t 1 1 1 t 3 en Abbildung : Schalten von t 3 6
Vollständiger das Beispiel: t 1 2 1 t 1 1 t 3 t 3 t 3 t 3 t 3 t 1 1 1 t 1 2 t 3 en t 3, t 2 t 2 t 2 t 3, t 2 t 1 t 1 1 t 3 6
Eigenschaften des en Pro: Beschränktheit einer Stelle ist direkt abzulesen. Sicherheit einer Stelle ist direkt abzulesen. Contra: schon bei kleinem Petrinetz relativ groß durch Omega kann eine genaue Veränderung bzw. Bedeutung der Tokenanzahl nicht mehr abgelesen werden. Es ist nicht ersichtlich ob sich die Tokenanzahl um 1 oder mehr erhöht. Es ist nicht ersichtlich wie viele Token eine Transition von der Omega-Stelle benötigt. en 7
Eigenschaften des en Idee: Nutze Konzepte von n, um Zustände des en zusammenzufassen (Platz sparen) und um Änderungen, bzw. Bedingungen genau zu dokumentieren (Informationen erhalten). en 7
Zustandsdiagramme... sind 1987 von David Harel eingeführt worden. sind ähnlich zu endlichen Automaten. können ganz viele tolle Sachen. Hier aber ausschließlich Übergangsbeschriftungen von Interesse. en 8
Zustandsdiagramme... Abbildung : Zustandsdiagramm Übergangsbeschriftung Trigger Signal, das den Übergang auslöst. Guard Bedingung, die den Übergang bewacht. Action Aktion, die beim Übergang ausgeführt wird. en 8
Beispiel Zustandsdiagramm Abbildung : Beispieldiagramm Tür en 9
Im Bezug zu n Jeder Stelle s i eines s wird eine Variable k i zugeordnet, die die aktuelle Anzahl der Token auf s i repräsentiert. Abbildung : Transitionsübergang ti Transition, die geschaltet wird. kj>=x ti benötigt x Token auf s j. en kj-=x, kl+=z Veränderung der Tokenanzahl auf Stellen s j, s l um x bzw. z. 1
Idee: Nutze Konzepte von n, um Zustände des en zusammenzufassen (Platz sparen) und um Änderungen, bzw. Bedingungen genau zu dokumentieren (Informationen erhalten). Erhalte damit das neue Instrument des en (engl.: Behavior-Analysis-Graph [BAG]). en 11
... zum Beispiel Petrinetz t 3 /k 3 += 2, t 2 [k 3 1]/k 3 = 1 t 3 /k 3 += 2 k 1 t k 1 k 1 2 1 /k 1 += 1 t 1 1 /k 1 += 1 k 3 k 3 k 3 k 1 :=, k 3 := en t 3 /k 3 += 2, t 2 [k 2 1]/k 3 = 1 12
Aufbau im Detail Guards Mit einen Guard werden Zustände zusammengefasst. t 3 /k 3 += 2, t 2 [k 3 1]/k 3 = 1 t 3 t 3, t 2 t 3 t 2 k 1 :=, k 3 := k 1 2 k 3 en 13
Aufbau im Detail Actions Durch Actions wird die Veränderung genau festgehalten. t 3, =? t 3 t 3 /k 3 += 2, t 2 [k 3 1]/k 3 = 1 k 1 :=, k 3 := k 1 2 k 3 en 13
Aufbau im Detail Actions Durch eine Initialisierungs-action werden die Variablen initialisiert. t 3, =? t 3 t 3 /k 3 += 2, t 2 [k 3 1]/k 3 = 1 k 1 :=, k 3 := k 1 2 k 3 en 13
Aufbau im Detail Triggers Ein Trigger bedeutet, wie im en, einen Zustandswechsel durch Schalten einer Transition. 1 1 t 1 2 k 1 t k 1 1 1 /k 1 += 1 k 3 k 3 en 13
BAG vs. Größe Graphen zum Beispiel: BAG t3/k3 += 2, t2[k3 1]/k3 = 1 k3 k1 :=, k3 := k1 k1 k1 t1/k1 += 1 t1/k1 += 1 2 1 k3 t3/k3 += 2, t2[k2 1]/k3 = 1 3 Zustände, 5 Übergänge t3/k3 += 2 k3 t3 t3, t2 t1 1 1 t2 t2 t3, t2 t1 1 t1 2 t3 t3 t3 t3 1 2 t1 t1 1 9 Zustände, 17 Übergänge t1 t3 t3 en 14
BAG vs. Größe Der ist nie größer und i.d.r. deutlich kleiner als ein korrespondierender. Platzersparnis Beschränktheit, Sicherheit einer Stelle sind schneller abzulesen. Stark verhaltensändernde Transitionen sind einfacher auszumachen. t 3 /k 3 += 2, t 2 [k 3 1]/k 3 = 1 t 3 /k 3 += 2 k 1 t k 1 k 1 2 1 /k 1 += 1 t 1 1 /k 1 += 1 k 3 k 3 k 3 k 1 :=, k 3 := en t 3 /k 3 += 2, t 2 [k 2 1]/k 3 = 1 14
BAG vs. Größe Leider kann dies auch in seltenen Fällen zu größerer Unübersichtlichkeit führen: t5[k 4 1]/k 2 += 2, k 4 = 1, k 1 += k 1, t2[k 1 2 1]/k 2 = 1, k 3 += 1, t1[k 2 k 2 2][k 1 1]/k 2 = 2, k 2 += 2, k 1 = k 3 1, t3[k 3 1]/k 3 = 1, k 4 += 1, t4[k 4 k 2]/k 4 1 += 1, k 4 = 2, k 4 += 1 k 1 :=, k 2 :=, k 3 :=, k 4 := 1 en 14
BAG vs. Analysefähigkeit Mit einem BAG können alle Aussagen eines en über ein Petrinetz ebenfalls getroffen werden. Zusätzlich werden die exakten Änderungen der Tokenanzahlen festgehalten. Es können erweiterte Aussagen z.b. hinsichtlich der Erreichbarkeit eines Zustands getroffen werden. Der BAG kann mit allen vorhandenen Analysetools Zustandsdiagramme untersucht werden. en 14
Der... kann deutlich stärkere Aussagen über ein Petrinetz treffen. ist in den meisten Fällen dem en vorzuziehen. Im Zuge meiner Bachelorarbeit... sind diese Aussagen auf deutlich formalere Weise belegt. wurde ein Algorithmus zur Konstruktion eines BAG aus einem beliebigen Petrinetz eingeführt. ist der Prototyp BAGGINS entstanden, der diese Konstruktion vollautomatisch durchführt. en 15
Carl Adam Petri: Kommunikation mit Automaten,TH Darmstadt, Juli 1962, Dissertation David Harel: Statecharts: A visual formalism for complex systems, In: Science of Computer Programming vol. 8, 1987 W. M. P. d. Aalst: THE APPLICATION OF PETRI NETS TO WORKFLOW MANAGEMENT, In: Journal of Circuits, Systems and Computers 8, 1998 Ina Koch, Björn H. Junker, Monika Heiner: Application of Petri net theory for modelling and validation of the sucrose breakdown pathway in the potato tuber, In: Bioinformatics 21, 25 en ZhiWu Li, MengChu Zhou: Elementary siphons of Petri nets and their applicati- on to deadlock prevention in flexible manufacturing systems, In: Systems, Man and Cybernetics, Part A: Systems and Humans, IEEE Transactions on 34, 24 16