Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Vorlesung “Modellierung”“Modellierungsmethoden der Informatik”
Wintersemester 2011/12
Prof. Barbara KonigUbungsleitung: Dr. Sander Bruggink
Barbara Konig Modellierung 1
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Motivation: Petrinetze
Petrinetze sind ein Formalismus zur Modellierung vonnebenlaufigen Systemen mit folgenden Eigenschaften:
Vorstellung von Systemubergangen, bei denen gemeinsameRessourcen konsumiert und neu erzeugt werden konnen.
Einfache Modellierung von raumlicher Verteilung derRessourcen, Nebenlaufigkeit, Parallelitat und(Zugriffs-)Konflikten.
Intuitive graphische Darstellung.
Petrinetze werden in der Praxis vielfach benutzt. In UML sindsie abgewandelt als sogenannte Aktivitatsdiagramme (engl.activity diagrams) eingegangen.
Eingefuhrt wurden Sie in der Doktorarbeit von Carl AdamPetri: “Kommunikation mit Automaten”, Bonn, 1962.
Barbara Konig Modellierung 92
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Motivation: Petrinetze
Parallelitat versus Nebenlaufigkeit:
Parallelitat
Zwei Ereignisse finden parallel statt, wenn sie gleichzeitigausgefuhrt werden.
Nebenlaufigkeit
Zwei Ereignisse sind nebenlaufig, wenn sie parallel ausgefuhrtwerden konnen (jedoch nicht mussen), das heißt, wenn zwischenihnen keine kausale Abhangigkeit besteht.
Das bedeutet: Nebenlaufigkeit ist der allgemeinere Begriff.
Barbara Konig Modellierung 93
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Motivation: Petrinetze
Anwendungen fur Petrinetze:
Modellierung von Buroablaufen (work flow, businessprocesses)
Modellierung und Analyse von Web Services
Beschreibung von graphischen Benutzeroberflachen
Prozessmodellierung bei Betriebssystemen
Ablaufbeschreibungen in ingenieurwissenschaftlichenAnwendungen
. . .
Barbara Konig Modellierung 94
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Motivation: Petrinetze
Beispiel fur ein Petrinetz:
Notation:
Stellen (dargestellt als Kreise): Mogliche Platze fur Ressourcen
Marken (dargestellt als kleine ausgefullte Kreise): Ressourcen
Transitionen (dargestellt durch Rechtecke): Systemubergange
Barbara Konig Modellierung 95
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Motivation: Petrinetze
Darstellung einer Transition:
Vorbedingung (Stellen, aus denenMarken konsumiert werden)
Nachbedingung (Stellen, in denenMarken erzeugt werden)
Das Entfernen der Marken der Vorbedingung und Erzeugen derMarken der Nachbedingung nennt man Schalten bzw. Feuern derTransition.
Barbara Konig Modellierung 96
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Motivation: Petrinetze
Barbara Konig Modellierung 97
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Motivation: Petrinetze
Barbara Konig Modellierung 97
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Motivation: Petrinetze
Barbara Konig Modellierung 97
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Motivation: Petrinetze
Barbara Konig Modellierung 97
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Motivation: Petrinetze
Barbara Konig Modellierung 97
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Motivation: Petrinetze
Barbara Konig Modellierung 97
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Motivation: Petrinetze
Barbara Konig Modellierung 97
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Motivation: Petrinetze
Barbara Konig Modellierung 97
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Motivation: Petrinetze
Barbara Konig Modellierung 97
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Motivation: Petrinetze
Barbara Konig Modellierung 97
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Motivation: Petrinetze
Barbara Konig Modellierung 97
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Motivation: Petrinetze
Barbara Konig Modellierung 97
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Motivation: Petrinetze
Barbara Konig Modellierung 97
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Beispiel: Dining Philosophers
Wir betrachten das Beispiel der Dining Philosophers (speisendePhilosophen):
Es sitzen drei Philosophen um einen runden Tisch, zwischen jezwei Philosophen liegt eine Gabel.Philosophen werden von Zeit zu Zeit hungrig und benotigenzum Essen beide benachbarte Gabeln.Jeder Philosoph nimmt zu einem beliebigen Zeitpunkt beideGabeln nacheinander auf (die rechte zuerst), isst und legtanschließend beide Gabeln wieder zuruck.
P2P1
P3
F2F3
F1
Barbara Konig Modellierung 98
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Beispiel: Dining Philosophers
Modellierung alsPetrinetz:
In dem Netz ist einDeadlock(Verklemmung)erreichbar, d.h.,eine Markierung,bei der keineTransition mehrgeschaltet werdenkann.
E1
W1
E2
F1H1
W2
H2
W3
H3
E3
F2
F3
Barbara Konig Modellierung 99
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Definitionen
Petrinetz (Definition)
Ein Petrinetz ist ein Tupel N = (S , T , •(), ()•, m0), wobei
S eine Menge von Stellen und
T eine Menge von Transitionen ist.
Außerdem gibt es fur jede Transition t zwei Funktionen•t : S → N0, t• : S → N0, die angeben, wieviele Marken t auseiner Stelle entnimmt und in eine Stelle legt.
m0 : S → N0 ist die Anfangsmarkierung (oder initialeMarkierung).
Der Wert •t(s) bzw. t•(s) wird auch als Gewicht bezeichnet.
Barbara Konig Modellierung 100
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Definitionen
Markierung
Eine Markierung ist eine Abbildung m : S → N0, die festlegt,wieviele Marken in jeder Stelle liegen.Falls eine Reihenfolge s1, . . . , sn der Stellen fixiert wurde, kann eineMarkierung m auch durch ein Tupel (m(s1), . . . ,m(sn)) dargestelltwerden.
Barbara Konig Modellierung 101
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Darstellung
Eine andere Definition stellt die Verbindungen zwischen Stellenund Transitionen und die dazugehorigen Gewichte als Graph dar:
F ⊆ (S ∪ T )× (N0\{0})× (S ∪ T ) (Flussrelation),
wobei nur Kanten der Form (s, n, t) (von Stelle zu Transition) und(t, n, s) (von Transition zu Stelle) mit s ∈ S , t ∈ T erlaubt sind.
Zusammenhang zur eingefuhrten Notation:
(s, n, t) ∈ F ⇐⇒ •t(s) = n 6= 0
(t, n, s) ∈ F ⇐⇒ t•(s) = n 6= 0
Manchmal werden auch unbeschriftete Kante eingefuhrt, denendann mit Hilfe einer Funktion W ein Gewicht zugeordnet wird.
Barbara Konig Modellierung 102
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Darstellung
Graphische Darstellung:
Stellen werden als Kreise, Transitionen als Quadrate oderRechtecke, Marken als kleine schwarze ausgefullte Kreisedargestellt
Kanten zwischen Stellen und Transitionen werden als Pfeiledargestellt.
Das Gewicht als Kantenbeschriftung kann weggelassenwerden, falls es den Wert eins hat. Die Kante wird ganzweggelassen, falls das Gewicht den Wert 0 hat.
Barbara Konig Modellierung 103
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Darstellung
Wir betrachten den Zusammenhang zwischen der mathematischenNotation und der graphischen Darstellung genauer:
s1 s2
t1
2
t3
s3
t2
Stellenordnung: s1, s2, s3
S = {s1, s2, s3}T = {t1, t2, t3}•t1(s1) = 1 •t1(s2) = 1 •t1(s3) = 0
t1•(s1) = 0 t1
•(s2) = 0 t1•(s3) = 2
oder: •t1 = (1, 1, 0) t1• = (0, 0, 2)
. . .
m0(s1) = 1 m0(s2) = 2 m0(s3) = 0
oder: m0 = (1, 2, 0)
Barbara Konig Modellierung 104
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Darstellung
Wir betrachten den Zusammenhang zwischen der mathematischenNotation und der graphischen Darstellung genauer:
s1 s2
t1
2
t3
s3
t2
Stellenordnung: s1, s2, s3
Alternative Darstellung (mit Flussrelati-on):
S = {s1, s2, s3}T = {t1, t2, t3}F = {(s1, 1, t1), (s2, 1, t1), (t1, 2, s3),
(s3, 1, t2), (t2, 1, s1),
(s3, 1, t3), (t3, 1, s2)}m0 = (1, 2, 0)
Barbara Konig Modellierung 104
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Dynamik
Relationen und Operationen auf Markierungen:
Seien m, m′ : S → N0 zwei Markierungen, d.h. Abbildungen vonStellen auf naturliche Zahlen.
Ordnung
Es gilt m ≤ m′, falls fur alle s ∈ S gilt: m(s) ≤ m′(s).
In diesem Fall sagt man, dass m durch m′ uberdeckt wird.
Barbara Konig Modellierung 105
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Dynamik
Addition
Wir definieren m′′ = m ⊕m′, wobei m′′ : S → N0 mitm′′(s) = m(s) + m′(s) fur alle s ∈ S .
Subtraktion
Wir definieren m′′ = m m′, wobei m′′ : S → N0 mitm′′(s) = m(s)−m′(s) fur alle s ∈ S . Dabei gilt n − k = 0, fallsn, k ∈ N0, n < k (modifizierte Subtraktion).
Barbara Konig Modellierung 106
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Dynamik
Weitere Definitionen:
Aktivierung
Eine Transition t ist unter einer Markierung m aktiviert, falls•t ≤ m gilt. (D.h., falls genug Marken vorhanden sind, um dieTransition zu schalten.)
Schalten
Sei m eine Markierung und t eine Transition, die fur m aktiviertist. Dann kann t schalten, was zu der Nachfolgemarkierungm′ = m •t ⊕ t• fuhrt. Symbolisch m[t〉m′.
Barbara Konig Modellierung 107
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Dynamik
Weitere Definitionen:
Erreichbarkeit
Eine Markierung m heißt erreichbar in einem Netz, falls es eineFolge von Transitionen t1, . . . , tn gibt mit m0[t1〉m1 . . . mn−1[tn〉m,wobei m0 die Anfangsmarkierung ist.
In diesem Fall schreibt man auch m0[t1 . . . tn〉m oder m0[t〉m mitt = t1 . . . tn.
Die Sequenz t heißt auch Schaltfolge. Auch die leere Schaltfolget = ε is moglich. In diesem Fall andert sich die Markierung nicht(m[ε〉m, fur jede Markierung m).
Barbara Konig Modellierung 108
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Dynamik
s1 s2
t1
2
t3
s3
t2
Die Markierung m2 = (1, 1, 1) ist inzwei Schritten erreichbar:
•t1 = (1, 1, 0) ≤ (1, 2, 0) = m0
m1 = m0 •t1 ⊕ t1• = (1, 2, 0)
(1, 1, 0)⊕ (0, 0, 2) = (0, 1, 2)
•t2 = (0, 0, 1) ≤ (0, 1, 2) = m1
m2 = m1 •t2 ⊕ t2• = (0, 1, 2)
(0, 0, 1)⊕ (1, 0, 0) = (1, 1, 1)
Es gilt also: m0[t1〉m1[t2〉m2
Barbara Konig Modellierung 109
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Dynamik
Zustandsubergangsdiagramm eines Petrinetzes
Sei N = (S , T , •(), ()•, m0) ein Petrinetz. Dann besteht das zu Ngehorende Zustandsubergangsdiagramm aus folgendenKomponenten:
Menge der Beschriftungen L: Menge aller Transitionen
Zustandsmenge Z : Menge aller erreichbaren Markierungen
Ubergangsmenge U: (m, t, m′) ∈ U ⇐⇒ m[t〉m′.Startzustand z0: die Anfangsmarkierung m0
Das Zustandsubergangsdiagramm eines Petrinetzes heißt auchErreichbarkeitsgraph.
Barbara Konig Modellierung 110
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Dynamik
Beispiel: Bestimme den Erreichbarkeitsgraph fur das folgendeBeispielnetz
s1 s2
t1
2
t3
s3
t2
Barbara Konig Modellierung 111
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Dynamik
Erreichbarkeitsgraph fur das Beispielnetz:
��
(1, 2, 0)
t1
��
(0, 1, 2)t3 //
t2
##GGGG
GGGG
G(0, 2, 1)
t3 //
t2pp
(0, 3, 0)
(1, 1, 1)t2 //
t1
��
t3
DD
(2, 1, 0)
t1
��
(0, 0, 3)
t3
MM
t2
// (1, 0, 2)t2
//
t3
ccGGGGGGGGG
(2, 0, 1)t2
//
t3pp
(3, 0, 0)
Barbara Konig Modellierung 112
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Dynamik
Frage: Wie kann ein beliebiges Zustandsubergangsdiagramm in einPetrinetz umgewandelt werden, das als Erreichbarkeitsgraph wiederdas ursprungliche Zustandsubergangsdiagramm besitzt?
Idee:
Zustande werden zu Stellen
Ubergange werden zu Transitionen
die Stelle, die den Anfangszustand darstellt, ist als einzige zuBeginn markiert
Aber:
das entstandene Petrinetz enthalt keinerlei Nebenlaufigkeit
bei der Umwandlung
Petrinetz → Zustandsubergangsdiagramm → Petrinetz
wird das zweite Petrinetz im allgemeinen viel großer als daserste
Barbara Konig Modellierung 113
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Dynamik
Beispiel: Umwandlung eines Zustandsubergangsdiagramms in einPetrinetz
c
e bd
aa
bd e
c
Bemerkung: Die Konstruktion funktioniert immer dann, wenn jedeBeschriftung im Zustandsubergangsdiagramm hochstens einmalvorkommt.
Barbara Konig Modellierung 114
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Beschranktheit
Sichere, beschrankte und unbeschrankte Netze
Sei N ein Petrinetz. Das Netz N heißt
beschrankt, wenn es eine Konstante c ∈ N0 gibt, so dass furjede erreichbare Markierung m und jede Stelle s gilt, dassm(s) ≤ c .
sicher (oder auch 1-sicher), wenn
Fur jede Transition t und fur jede Stelle s gilt •t(s) ≤ 1und t•(s) ≤ 1, d.h., alle Gewichte sind hochstens 1 undfur jede erreichbare Markierung m und jede Stelle s gilt,dass m(s) ≤ 1.
unbeschrankt, falls es fur jede Konstante c ∈ N0 eineerreichbare Markierung m und eine Stelle s gibt mit m(s) > c .
Aufgabe: Finde ein Beispiel fur ein unbeschranktes Netz.
Barbara Konig Modellierung 115
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetz-Beispiel: Keksautomat
Wir modellieren einen Keksautomaten mit folgenden Bestandteilen:
extern: Einwurfschlitz, Entnahmefach
intern: Keksspeicher, Kasse, Signalweiterleitung (der Einwurfeiner Munze soll ein Signal erzeugen, das die Ausgabe einesKekses triggert)
Nach: “Petrinetze – Modellierungstechnik, Analysemethoden,Fallstudien” von W. Reisig
Barbara Konig Modellierung 116
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetz-Beispiel: Keksautomat
Munze einwerfen
Einwurfschlitz Signal
Einwurf moglich kein Signal
Kasse
Entnahmefach
Schachtel entnehmen
Keksspeicher
Barbara Konig Modellierung 117
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetz-Beispiel: Keksautomat
Ist der Keksautomat so in Ordnung?
Problem: Sobald der Keksspeicher leer ist, kann immer noch eineMunze eingeworfen werden, die dann nicht zuruckgegeben wird.
Es gibt verschiedene Losungen fur dieses Problem: Ruckgabe derMunze, Keks-Zahler, . . .
Barbara Konig Modellierung 118
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Lebendigkeit und Verklemmungen
Wir betrachten nun Begriffe wie Lebendigkeit und Deadlock (=Verklemmung).
(Starke) Lebendigkeit
Ein Petrinetz N heißt (stark) lebendig, wenn es fur jede Transitiont und fur jede erreichbare Markierung m eine Markierung m′ gibt,die von m erreichbar ist und unter der t aktiviert ist.
Fur den Erreichbarkeitsgraph bedeutet dies: von jedem Knoten desGraphen aus ist ein Ubergang erreichbar, der mit der Transition tbeschriftet ist.
Barbara Konig Modellierung 119
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Lebendigkeit und Verklemmungen
Schwache Lebendigkeit
Ein Petrinetz N heißt schwach lebendig, wenn es fur jede Transitiont eine erreichbare Markierung m gibt, unter der t aktiviert ist.
Fur den Erreichbarkeitsgraph bedeutet dies: fur jede Transition gibtes mindestens einen Ubergang, der mit der Transition t beschriftetist.
Barbara Konig Modellierung 120
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Lebendigkeit und Verklemmungen
Verklemmung
Ein Petrinetz N enthalt ein Deadlock oder eine Verklemmung,wenn es eine erreichbare Markierung m gibt, unter der keineTransition aktiviert ist.
Fur den Erreichbarkeitsgraph bedeutet dies: es gibt einen Knoten,von dem aus es keinen Ubergang gibt.
Ein Netz, das keine Verklemmung enthalt, heißt verklemmungsfrei.
Barbara Konig Modellierung 121
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Lebendigkeit und Verklemmungen
Eigenschaften der (starken) Lebendigkeit
Fur Netze, deren Transitionsmenge nicht leer ist, gilt: jedes (stark)lebendige Netz ist sowohl verklemmungsfrei, als auch schwachlebendig.
Barbara Konig Modellierung 122
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Lebendigkeit und Verklemmungen
Beispiele fur Lebendigkeit und Verklemmungen:
Ein Beispiel fur ein (stark)lebendiges Netz . . .
Barbara Konig Modellierung 123
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Lebendigkeit und Verklemmungen
Ein Beispiel fur einschwach lebendiges undverklemmungsfreies Netz,das jedoch nicht (stark)lebendig ist . . .
Barbara Konig Modellierung 124
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Lebendigkeit und Verklemmungen
Ein Beispiel fur einverklemmungsfreies Netz,das jedoch nicht schwachlebendig ist . . .
Barbara Konig Modellierung 125
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Lebendigkeit und Verklemmungen
Ein Beispiel fur einschwach lebendiges Netz,das jedoch eineVerklemmung enthalt . . .
Barbara Konig Modellierung 126
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Lebendigkeit und Verklemmungen
Ein Beispiel fur ein Netz,das eine Verklemmungenthalt und das auch nichtschwach lebendig ist . . .
Barbara Konig Modellierung 127
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Lebendigkeit und Verklemmungen
Uberblick uber die verschiedenen Netzklassen (unter derVoraussetzung, dass jedes Netz mindestens eine Transitionenthalt):
verklemmungs-freie Netze
schwach lebendigeNetze
Netzelebendigestark
alle Petrinetze
Barbara Konig Modellierung 128
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Uberdeckbarkeitsgraph
Beobachtung: Ein Petrinetz ist unbeschrankt genau dann, wennsein Erreichbarkeitsgraph unendlich groß ist.
Gibt es in diesem Fall trotzdem noch eine graphische Darstellung,die “in gewisser Weise” alle erreichbaren Markierungenreprasentiert?
Uberdeckbarkeitsgraph
Barbara Konig Modellierung 129
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Uberdeckbarkeitsgraph
Zugrundeliegende Ideen:
Das Verhalten von Petrinetzen ist “monoton”, d.h., jedeSchaltfolge ist auch dann noch moglich, wenn man zusatzlicheMarken hinzufugt.
Wenn im Erreichbarkeitsgraph zwei Markierungen m, m′existieren, so dass gilt:
m ist echt kleiner als m′ (in Zeichen m < m′, d.h.,m ≤ m′ und m 6= m′) undes gibt einen Pfad von m zu m′,
dann kann man die Transitionsfolge von m zu m′ noch einmalschalten und erhalt wiederum eine großere Markierung m′′.
Barbara Konig Modellierung 130
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Uberdeckbarkeitsgraph
Konstruktion des Uberdeckbarkeitsgraphen
Fuhre zunachst wie gewohnt die Konstruktion desErreichbarkeitsgraphen aus.
Sobald eine neue Markierung m′ hinzugefugt wird, wobei eseine Vorgangermarkierung m mit m < m′ gibt . . .
m0 m′m
. . . ersetze m′ durch eine (ω-)Markierung m mit folgendenEigenschaften:
m(s) = m′(s), falls m(s) = m′(s), undm(s) = ω, falls m(s) < m′(s), wobei s ∈ S .
Mache dann mit der Konstruktion weiter, solange bis keineMarkierungen mehr hinzugefugt werden konnen.
Barbara Konig Modellierung 131
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Uberdeckbarkeitsgraph
Bemerkungen:
Die neu erzeugten besonderen ω-Markierungen ordnen einerStelle “unendlich” viele Marken (reprasentiert durch ω).
Dies nimmt das wiederholte Schalten der Transitionsfolge vonm zu m′ vorweg, die in den ω-Stellen beliebig viele Markenproduzieren kann.
Fur ω-Markierungen gilt beim Schalten von Transitionen:ω + k = ω und ω − k = ω. Außerdem gilt ω als großer alsjede naturliche Zahl.
Der englische Name fur Uberdeckbarkeitsgraphen ist coverabilitygraphs.
Barbara Konig Modellierung 132
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Uberdeckbarkeitsgraph
Beispiel:
s1
t2
t1
s3
s2
t3
Reihenfolge der Stellen:s1, s2, s3
��
(1, 0, 0)t3 //
t1
��
(0, 0, 0)
(0, 1, 0)
t2
��
(1, 0, ω)t3 //
t1
��
(0, 0, ω)
(0, 1, ω)
t2
ZZ
Barbara Konig Modellierung 133
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Uberdeckbarkeitsgraph
Eigenschaften des Uberdeckbarkeitsgraphen (I)
Die Konstruktion des Uberdeckbarkeitsgraphen terminiertimmer nach endlich vielen Schritten.
ω-Markierungen treten genau dann auf, wenn das Netzunbeschrankt ist. (D.h., der Uberdeckbarkeitsgraph kann auchdazu verwendet werden, um zu uberprufen, ob ein Netzunbeschrankt ist.)
Barbara Konig Modellierung 134
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Uberdeckbarkeitsgraph
Eigenschaften des Uberdeckbarkeitsgraphen (II)
Sei N ein Netz und G der dazugehorige Uberdeckbarkeitsgraph.Dann gilt:
Fur jede erreichbare Markierung m von N gibt es einenKnoten m′ in G , mit m ≤ m′.Fur jeden Knoten m′ in G und jedes i ∈ N0 gibt es eineerreichbare Markierung m in N, so dass fur alle Stellen s gilt:
m(s) = m′(s), falls m′(s) 6= ωm(s) ≥ i , falls m′(s) = ω.
Frage: Ist fur eine ω-Markierung m′ in G vielleicht sogar jedeMarkierung m von N mit m ≤ m′ erreichbar?
Barbara Konig Modellierung 135
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Uberdeckbarkeitsgraph
Nein! Gegenbeispiel:
s1
t1
s2
2
Reihenfolge der Stellen:s1, s2
��
(1, 0)
t1
��
(1, ω)
t1
HH
Die Markierung (1, 1) ist kleiner als (1, ω), ist aber in dem Netznicht erreichbar.
Barbara Konig Modellierung 136
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Kausalitat, Nebenlaufigkeit, Konflikt
Wichtige Begriffe bei Petrinetzen sind Nebenlaufigkeit, Konfliktund Kausalitat. Wir beschaftigen uns damit etwas genauer.
Kausalitat
In einem Petrinetz N ist die Transition t1 notwendige Bedingungfur das Schalten von t2 genau dann, wenn fur alle Schaltfolgen tgilt:
falls m0[tt2〉m fur eine Markierung m, dann enthalt t dieTransition t1.
Barbara Konig Modellierung 137
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Kausalitat, Nebenlaufigkeit, Konflikt
Beispiel fur Kausalitat:
t1
t2
t3
t4
t1 ist eine notwendige Bedingung fur t4,
aber t2 ist keine notwendige Bedingung fur t4. Denn nichtjede Schaltfolge, die zu t4 fuhrt, enthalt t2 (z.B. t = t1t3).Das gleiche gilt fur t3.
Barbara Konig Modellierung 138
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Kausalitat, Nebenlaufigkeit, Konflikt
Eigenschaften der Kausalitat
Wenn t1 eine notwendige Bedingung fur t2 ist, und t2 einenotwendige Bedingung fur t3 ist, dann ist t1 eine notwendigeBedingung fur t3. (Transitivitat)
Barbara Konig Modellierung 139
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Kausalitat, Nebenlaufigkeit, Konflikt
Nebenlaufigkeit
Eine Menge T ′ = {t1, . . . , tn} ⊆ T von Transitionen heißtnebenlaufig (aktiviert) unter der Markierung m, wenn
•t1 ⊕ · · · ⊕ •tn ≤ m.
D.h., die Markierung m enthalt genug Marken, um alleTransitionen “gleichzeitig” zu feuern.
Eigenschaften der Nebenlaufigkeit
Wenn die Transitions-Menge T ′ unter der Markierung mnebenlaufig ist, so ist auch jede Teilmenge von T ′ unter mnebenlaufig.
Barbara Konig Modellierung 140
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Kausalitat, Nebenlaufigkeit, Konflikt
Beispiele fur Nebenlaufigkeit:
t1
t2
t3
t4
Die Menge {t2, t3} ist nebenlaufig unter der Anfangsmarkierung.
Barbara Konig Modellierung 141
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Kausalitat, Nebenlaufigkeit, Konflikt
t2t1 t3
Die Menge T ′ = {t1, t2, t3}ist nebenlaufig unter derAnfangsmarkierung.
Barbara Konig Modellierung 142
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Kausalitat, Nebenlaufigkeit, Konflikt
t2t1 t3
Die Mengen {t1, t2} {t2, t3}und {t1, t3} sind allenebenlaufig unter derAnfangsmarkierung. Dies giltjedoch nicht fur {t1, t2, t3}.
Barbara Konig Modellierung 143
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Kausalitat, Nebenlaufigkeit, Konflikt
t1 t3t2
Die Mengen {t1, t3} und{t2, t3} sind alle nebenlaufigunter der Anfangsmarkierung.Dies gilt jedoch nicht fur dieMengen {t1, t2} und{t1, t2, t3}.
Dieses Beispiel zeigt auch, dass Nebenlaufigkeit nicht transitiv ist:t1 ist nebenlaufig zu t3, t3 ist nebenlaufig zu t2, jedoch sind t1 undt2 nicht nebenlaufig.
Barbara Konig Modellierung 144
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Kausalitat, Nebenlaufigkeit, Konflikt
Nebenlaufigkeit (Konsequenzen)
Wenn eine Menge T ′ von Transitionen nebenlaufig unter einerMarkierung m ist, so ist jede beliebige Anordnung dieserTransitionen eine Schaltfolge ausgehend von m.
Das heißt, fur jede Sequenz t, in der jede Transitionen aus T ′
genau einmal vorkommt, gibt es eine Markierung m′ mit m[t〉m′.Die Markierung m′ ist durch T ′ eindeutig bestimmt.
Barbara Konig Modellierung 145
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Kausalitat, Nebenlaufigkeit, Konflikt
Nebenlaufige Transitionen fuhren daher in Erreichbarkeitsgraphenzu Strukturen, die die Form eines Quadrats (Diamond) oder(hoherdimensionalen) Wurfels haben.
Beispiel fur ein Quadrat:
t1 t2
s1 s2 (1, 1)t1 //
t2
��
(0, 1)
t2
��
(1, 0)t1 // (0, 0)
Barbara Konig Modellierung 146
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Kausalitat, Nebenlaufigkeit, Konflikt
Beispiel fur einen Wurfel:
t1 t2
s2s1 s3
t3
(1, 1, 1)t1 //
t2
��
t3 %%KKKKKKKKK(0, 1, 1)
t2
��
t3 %%KKKKKKKKK
(1, 1, 0)t1 //
t2
��
(0, 1, 0)
t2
��
(1, 0, 1)t1 //
t3 %%KKKKKKKKK(0, 0, 1)
t3 %%KKKKKKKKK
(1, 0, 0)t1 // (0, 0, 0)
Barbara Konig Modellierung 147
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Kausalitat, Nebenlaufigkeit, Konflikt
Frage: Wenn jede Anordnung von Transitionen in T ′ eineSchaltfolge darstellt, ist dann T ′ automatisch nebenlaufig (untereiner Markierung m)?
Nein! Gegenbeispiel:
t1 t2
Barbara Konig Modellierung 148
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Kausalitat, Nebenlaufigkeit, Konflikt
Schlinge
Ein Schlinge (oder Schleife) in einem Netz N besteht aus einerTransition t und einer Stelle s mit •t(s) > 0 und t•(s) > 0.
Graphisch:t s
n
m
Fur schlingenfreie Netze gilt:
Sei N ein schlingenfreies Netz, sei m eine Markierung und T ′ eineMenge von Transitionen, so dass jede Anordnung der Transitionenin T ′ von m aus schaltbar ist. Dann ist T ′ nebenlaufig.
Barbara Konig Modellierung 149
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Kausalitat, Nebenlaufigkeit, Konflikt
Konflikt
Zwei Transitionen t, t ′ ∈ T stehen unter der Markierung m inKonflikt genau dann wenn:
t und t ′ sind beide unter m aktiviert und
die Menge {t, t ′} ist unter m nicht nebenlaufig.
Anschaulich: nur eine der beiden Transitionen kann schalten.
Das liegt immer daran, dass sie eine gemeinsame Stelle in denVorbedingungen haben. D.h., es gibt eine Stelle s mit •t(s) ≥ 1und •t ′(s) ≥ 1.
Barbara Konig Modellierung 150
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Kausalitat, Nebenlaufigkeit, Konflikt
Beispiel fur einen Konflikt:
t1 t2 t3
Unter der Anfangsmarkierung steht t1 in Konflikt mit t2.Außerdem steht t2 in Konflikt mit t3.
Jedoch steht t1 nicht in Konflikt mit t3 (keine Transitivitat derKonfliktrelation).
Barbara Konig Modellierung 151
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Kausalitat, Nebenlaufigkeit, Konflikt
Bemerkung: auf bestimmten Arten von azyklischen Netzen(sogenannte Occurrence-Netze) kann man Begriffe wie Kausalitat,Nebenlaufigkeit und Konflikt noch klarer herausarbeiten.
Zwei Transitionen sind in solchen Netzen immer entweder kausalabhangig, nebenlaufig oder in Konflikt, unabhangig von derMarkierung.
Barbara Konig Modellierung 152
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Kurze Einfuhrung in Matrizen und Vektorrechnung:
Matrix
Seien m, n ∈ N0. Eine m×n-Matrix C (uber den ganzen Zahlen Z)besteht aus m · n Eintragen
Ci ,j ∈ Z fur i ∈ {1, . . . ,m}, j ∈ {1, . . . , n}
Sie wird folgendermaßen dargestellt:
C =
C1,1 . . . C1,n
.... . .
...Cm,1 . . . Cm,n
Barbara Konig Modellierung 153
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Bemerkungen:Eine m×n-Matrix besteht also aus m Zeilen der Lange n, oder –anders ausgedruckt – aus n Spalten der Lange m.
Dabei heißt m Zeilendimension und n Spaltendimension der Matrix.
Eine Matrix, fur die m = n gilt, heißt quadratisch. Die Matrizen,die wir im folgenden betrachten werden, sind nichtnotwendigerweise quadratisch.
Barbara Konig Modellierung 154
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Spaltenvektor
Ein Spaltenvektor (oder Vektor) ~u der Dimension n ist einen×1-Matrix, d.h., er hat folgendes Aussehen.
~u =
u1
...un
Wir betrachten im folgenden immer Spaltenvektoren mit Eintragenaus Z.
Barbara Konig Modellierung 155
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Bemerkungen:
Gegeben sei eine Markierung m = (m(s1), . . . ,m(sn)). Dannentspricht dieser Markierung der Spaltenvektor
~m =
m(s1)...
m(sn)
Spaltenvektoren kann man – wie Markierungen – addieren.Dabei werden die Komponenten paarweise addiert:u1
...un
+
v1
...vn
=
u1 + v1
...un + vn
Barbara Konig Modellierung 156
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Matrizen konnen miteinander mulipliziert werden. Wir betrachtenzunachst die Multiplikation einer Matrix mit einem Spaltenvektor.
Multiplikation einer Matrix mit einem Spaltenvektor
Sei C eine m×n-Matrix und ~u ein Spaltenvektor der Dimension n.Dann ist C · ~u folgender Spaltenvektor:
C ·~u =
C1,1 . . . C1,n
.... . .
...Cm,1 . . . Cm,n
·u1
...un
=
C1,1 · u1 + · · ·+ C1,n · un
. . .Cm,1 · u1 + · · ·+ Cm,n · un
Das heißt, in der i-ten Zeile des Spaltenvektors steht der Eintrag∑n
j=1 Ci ,j · uj .
Barbara Konig Modellierung 157
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Zeilenvektor
Ein Zeilenvektor u der Dimension n ist eine 1×n-Matrix, d.h., erhat folgendes Aussehen.
u =(u1 . . . un
)Wir betrachten im folgenden immer Zeilenvektoren mit Eintragenaus Z.
Barbara Konig Modellierung 158
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Zeilenvektoren und Tupel:Im folgenden werden wir Zeilenvektoren im wesentlichen mitn-Tupeln gleichsetzen. Eine Markierung m = (m(s1), . . . ,m(sn)),d.h., ein Tupel aus Nn
0 schreiben wir auch als folgendenZeilenvektor:
m =(m(s1) . . . m(sn)
)
Barbara Konig Modellierung 159
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Multiplikation einer Matrix mit einem Zeilenvektor
Sei C eine m×n-Matrix und u ein Zeilenvektor der Dimension m.Dann ist u · C folgender Zeilenvektor der Dimension n:
u · C =(u1 . . . um
) ·C1,1 . . . C1,n
.... . .
...Cm,1 . . . Cm,n
=(u1 · C1,1 + · · ·+ um · Cm,1 . . . u1 · C1,n + · · ·+ um · Cm,n
)Das heißt, in der j-ten Spalte des Zeilenvektors steht der Eintrag∑n
i=1 ui · Ci ,j .
Barbara Konig Modellierung 160
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Merkregel:
Die Multiplikation einer m×n-Matrix mit einer n×1-Matrix(Spaltenvektor der Dimension n) ergibt eine m×1-Matrix(Spaltenvektor der Dimension m).
Die Multiplikation einer einer 1×m-Matrix (Zeilenvektor derDimension m) mit einer m×n-Matrix ergibt eine 1×n-Matrix(Zeilenvektor der Dimension n).
Barbara Konig Modellierung 161
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Wir betrachten nun die Inzidenzmatrix (oder einfach Matrix) einesPetrinetzes.
Sei S = {s1, . . . , sm} die Stellenmenge, T = {t1, . . . , tn} dieTransitionsmenge des Petrinetzes N.Die Inzidenzmatrix C von N ist eine m × n-Matrix mit Eintragender Form:
Ci ,j = tj•(si )− •tj(si ) ∈ Z
Dabei handelt es sich um die herkommliche Subtraktion (nicht diemodifizierte) und das Ergebnis liegt in den ganzen Zahlen.
Der Eintrag Ci ,j gibt an, wie sich die Anzahl der Marken in Stellesi andert, wenn die Transition tj geschaltet wird.
Barbara Konig Modellierung 162
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Beispiel fur eine Matrix:
s1 s2
t1
2
t3
s3
t2
Berechnung der Matrix-Eintrage:
t1 t2 t3
s1 C1,1 = 0− 1 C1,2 = 1− 0 C1,3 = 0− 0s2 C2,1 = 0− 1 C2,2 = 0− 0 C2,3 = 1− 0s3 C3,1 = 2− 0 C3,2 = 0− 1 C3,3 = 0− 1
Resultierende Matrix:
C =
−1 1 0−1 0 12 −1 −1
Barbara Konig Modellierung 163
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
s2
s1
s3
t1 s2
s1
s3
t1
Die beiden Netze sind verschieden, haben aber dieselbeInzidenzmatrix:
C =
−101
Dieses Phanomen kann nicht auftreten, wenn wir nur schlingenfreieNetze betrachten.
Barbara Konig Modellierung 164
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Angenommen, es gibt eine Schaltfolge, bei der die Transition tjuj -mal geschaltet wird (uj ∈ N0). Wie kann man die dadurchverursachte Anderung der Markierung mit Hilfe der Inzidenzmatrixbestimmen?
Man multipliziert die Spalte j , die fur die Transition tj steht,mit uj .Damit erhalt man den Effekt des uj -maligen Schaltens von tjfur jede einzelne Stelle.
Man addiert alle Werte der Zeile i , die fur die Stelle si steht,auf.Damit erhalt man den Effekt des Schaltens aller Transitionenfur eine einzelne Stelle.
Multiplikation der Matrix mit einem Vektor!
Barbara Konig Modellierung 165
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Sei
~u =
u1
...un
der sogenannte Schaltvektor, der angibt, wie oft jede Transitiongeschalten werden soll.
Schaltvektor fur das Beispielnetz: t1 und t2 werden zweimalgeschalten, t3 einmal (dieser Schaltvektor ist von derAnfangsmarkierung aus realisierbar, z.B. durch die Schaltfolget1t2t3t1t2).
~u =
221
C · ~u =
2 · (−1) + 2 · 1 + 1 · 02 · (−1) + 2 · 0 + 1 · 1
2 · 2 + 2 · (−1) + 1 · (−1)
=
0−11
Barbara Konig Modellierung 166
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
D.h., die Schaltfolge hat den Effekt, die Anzahl der Marken inStelle s1 gleichzulassen, in s2 um eins zu verringern und in s3 umeins zu erhohen.
Wenn wir diese Anderung zu dem Spaltenvektor addieren, der derAnfangsmarkierung entspricht, ergibt sich:
~m0 + C · ~u =
120
+
0−11
=
111
Barbara Konig Modellierung 167
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Markierungsgleichung
Fur jede erreichbare Markierung m gibt es einen Schaltvektor ~u mit
~m = ~m0 + C · ~uDas heißt, jede erreichbare Markierung kann in obiger Formdargestellt werden.
Aber: nicht jede Markierung, die so dargestellt werden kann, istauch erreichbar.
Barbara Konig Modellierung 168
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
s2
s1
s3
t1
C =
−101
1
00
+
−101
· (1) =
001
Diese Markierung ist jedochnicht erreichbar, da t1 nichtaktiviert ist.
Barbara Konig Modellierung 169
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
t1
s1
s3
s2
t2
C =
−1 0−1 11 −1
1
00
+
−1 0−1 11 −1
·(11
)=
000
Diese Markierung ist jedochnicht erreichbar, da dieSchaltfolgen t1t2 und t2t1
beide nicht moglich sind.
Barbara Konig Modellierung 170
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Die Markierungsgleichung kann also nicht dazu genutzt werden,um zu zeigen, dass eine bestimmte Markierung erreichbar ist.
Aber: man kann damit manchmal zeigen, dass eine Markierungnicht erreichbar ist.
Beispiel: Ist in folgendem Netz die Markierung m = (2, 2, 0)erreichbar?
s1 s2
t1
2
t3
s3
t2
Wir uberprufen, ob die Gleichung220
=
120
+
−1 1 0−1 0 12 −1 −1
·u1
u2
u3
eine Losung in den naturlichenZahlen hat.
Barbara Konig Modellierung 171
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Losen eines Gleichungssystems
Hier sieht man leicht durch Addition aller Gleichungen, dass dasGleichungssystem keine Losung hat.
2 = 1 −u1 +u2
2 = 2 −u1 +u3
0 = 2u1 −u2 −u3
4 = 3 Widerspruch!
Das heißt, die Markierung m = (2, 2, 0) ist nicht erreichbar.
Barbara Konig Modellierung 172
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Achtung: Als Losungen des Gleichungssystem interessieren uns hierLosungen in den in den naturlichen Zahlen.
Daher ist das zum Losen von Gleichungssystemen ublicherweiseverwendete Gaußsche Eliminationsverfahren nur begrenzteinsetzbar. In manchen Fallen muss es noch durch andereTechniken (z.B. Losungsverfahren fur diophantische Gleichungen)erweitert werden.
In unserem Fall werden wir die Beispiele jedoch immer so wahlen,dass die entstehenden Gleichungssysteme einfach zu losen sind.
Barbara Konig Modellierung 173
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Aufgabe: Stelle die Markierungsgleichung fur folgendes(unbeschrankte) Netz auf.
s1
2
t1
t2
s3s2
Kann man mit Hilfe der Markierungsgleichung uberprufen,dass die Markierung (1, 20, 0) nicht erreichbar ist?Kann das gleiche Ergebnis auch mit demUberdeckbarkeitsgraph erzielt werden?
Barbara Konig Modellierung 174
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Wir kommen nun zu einer weiteren Verwendung vonInzidenzmatrizen: sogenannte T- und S-Invarianten.
T-Invariante
Gegeben sei ein Netz N und seine m×n-Inzidenzmatrix C . EinSpaltenvektor ~u der Dimension n heißt T-Invariante, falls
C · ~u = ~0
Dabei ist ~0 ein Spaltenvektor, der nur Eintrage der Form 0 hat.
Bedeutung: eine T-Invariante beschreibt mogliche Schaltfolgen, dieeine Markierung unverandert lassen. Im Erreichbarkeitsgraph ergibtsich dann ein Kreis.
Barbara Konig Modellierung 175
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Bemerkung zu T-Invarianten:
Wie bei der Markierungsgleichung mussen solche Schaltfolgennicht notwendigerweise realisierbar sein.
Wenn es einen Kreis im Erreichbarkeitsgraphen gibt, soentspricht dieser aber auf jeden Fall einer T-Invariante.
Wie bei der Markierungsgleichung interessieren uns hier nurT -Invarianten mit Eintragen aus N0.
Barbara Konig Modellierung 176
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Aufgabe: Bestimme die T-Invarianten des folgenden Netzes:
s1 s2
t1
2
t3
s3
t2
Welche Bedeutung haben die T-Invarianten fur denErreichbarkeitsgraph?
Erreichbarkeitsgraph
Barbara Konig Modellierung 177
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
S-Invariante
Gegeben sei ein Netz N und seine m×n-Inzidenzmatrix C . EinZeilenvektor v der Dimension m heißt S-Invariante, falls
v · C =(0 . . . 0
)
Barbara Konig Modellierung 178
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Bedeutung: sei ~m eine erreichbare Markierung. Dann gilt nach derMarkierungsgleichung, dass es einen Schaltvektor ~u gibt mit:
~m = ~m0 + C · ~u
Wenn man die Gleichung auf beiden Seiten von links mit vmultipliziert, so erhalt man:
v · ~m = v · ~m0 + v · C · ~u = v · ~m0 + 0 = v · ~m0
Also gilt v · ~m = v · ~m0 fur jede S-Invariante v und fur jedeerreichbare Markierung m.
Eine Markierung, die diese Gleichung nicht erfullt, kann dahernicht erreichbar sein!
Barbara Konig Modellierung 179
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Aufgabe: Bestimme die S-Invarianten des folgenden Netzes:
s1 s2
t1
2
t3
s3
t2
Kann man mit Hilfe der S-Invarianten uberprufen, ob dieMarkierung (2, 2, 0) erreichbar ist?
Barbara Konig Modellierung 180
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Lose die Gleichung(v1 v2 v3
) ·−1 1 0−1 0 12 −1 −1
=(0 0 0
).
Es ergibt sich folgendes Gleichungssystem:
−v1 −v2 +2v3 = 0v1 −v3 = 0
v2 −v3 = 0
Durch Vereinfachung erhalten wir v1 = v2 = v3, d.h., die Losungensind genau die Zeilenvektoren, bei denen alle Eintrage gleich sind.Sie sind also alle von der Form
v =(v1 v1 v1
)= v1 ·
(1 1 1
)All diese Vektoren ergeben aquivalente S-Invarianten, wirbetrachten daher nur die S-Invariante v =
(1 1 1
).
Barbara Konig Modellierung 181
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Fur eine allgemeine Markierung m = (m1, m2, m3) desBeispielnetzes gilt also:
v · ~m = m1 + m2 + m3 = 3 = v · ~m0
Die Gleichung besagt, dass die Summe der Marken in den dreiStellen konstant bzw. invariant ist und immer drei betragt.
Im allgemeinen haben Invarianten die Form
v1 ·m1 + · · ·+ vm ·mm = k ,
wobei v1, . . . , vm, k ∈ Z Konstanten sind.
Barbara Konig Modellierung 182
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Fur die spezielle Markierung m = (2, 2, 0) ergibt sich:
2 + 2 + 0 = 4 6= 3
D.h., diese Markierung ist in dem Netz auf jeden Fall nichterreichbar (ausgehend von der Anfangsmarkierung).
Barbara Konig Modellierung 183
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Bemerkungen:
Bei der Losung des Gleichungssystems zur Berechnung vonS-Invarianten sind prinzipiell auch Losungen außerhalb dernaturlichen Zahlen (negative Zahlen, Bruche, etc.) interessant.
Da es sich jedoch um ein homogenes Gleichungssystemhandelt (auf der rechten Seite steht der Nullvektor), kannman durch Multiplikation mit dem Hauptnenner (kleinstesgemeinsames Vielfaches der Nenner) zumindest immer eineDarstellung aller Losungen als Vielfaches von ganzzahligenVektoren erhalten.
Es gibt im allgemeinen unendlich viele S-Invarianten:insbesondere sind alle Vielfache einer S-Invariante wiederS-Invariante. Diese Vielfachen liefern jedoch keine zusatzlichenInformationen uber das Netz.
Barbara Konig Modellierung 184
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Aufgabe: Bestimme die S-Invarianten des folgenden Netzes:
s2
t1
3
2
s1
Kann man mit Hilfe der S-Invarianten uberprufen, ob dieMarkierung (0, 5) erreichbar ist?
Barbara Konig Modellierung 185
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Lose die Gleichung(v1 v2
) · (−23
)=(0 0
).
Es ergibt sich folgendes Gleichungssystem:
−2v1 +3v2 = 0
Durch Vereinfachung erhalten wir v1 = 32 · v2.
D.h., die Losungen sind von der Form v = v2 ·(
32 1
)Wenn man nur Losungen in den ganzen Zahlen betrachten will, somultipliziert man mit dem Hauptnenner 2 und erhalt:
v = ` · (3 2), fur ` ∈ Z.
Im folgenden betrachten wir nur die S-Invariante, die man erhalt,wenn man ` = 1 setzt.
Barbara Konig Modellierung 186
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Fur eine erreichbare Markierung m = (m1, m2) des Beispielnetzesgilt also:
v · ~m = 3 ·m1 + 2 ·m2 = 12 = v · ~m0
Fur die spezielle Markierung m = (0, 5) erhalten wir:
v · ~m = 3 · 0 + 2 · 5 = 10 6= 12
und damit ist diese Markierung nicht erreichbar.
Barbara Konig Modellierung 187
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Aufgabe: Bestimme die S-Invarianten des folgenden Netzes:
s4
t4
s3
t1
s1
t2 t3
s2
s5
Kann man mit Hilfe der S-Invarianten uberprufen, ob dieMarkierung (0, 0, 1, 1, 1) erreichbar ist?
Barbara Konig Modellierung 188
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Aufgabe: Mit Hilfe des folgenden Beispiels soll gezeigt werden,dass Invarianten auch fur unbeschrankte Netze sehr nutzlich seinkonnen. Bestimmen Sie dazu die S-Invarianten des folgendenNetzes:
s1
s3
t1
s2
2
Barbara Konig Modellierung 189
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Aufgabe: Wir hatten mit Hilfe der Markierungsgleichung gezeigt,dass die Markierung (1, 20, 0) in folgendem Netz nicht erreichbarist.
s1
2
t1
t2
s3s2
Kann man das gleiche Ergebnis auch mit Hilfe von S-Invariantenerzielen?
Barbara Konig Modellierung 190
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Bemerkungen:
Fur beschrankte Netze sind folgende Techniken zum Testen derNicht-Erreichbarkeit geeignet. Sie werden der Reihe nachaufwandiger und exakter:
1 S-Invarianten
2 Markierungsgleichung
3 Erreichbarkeitsgraph(exakt, kann auch zur Uberprufung der Erreichbarkeitverwendet werden).
Barbara Konig Modellierung 191
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Bemerkungen:
Auch fur unbeschrankte Netze ist die Markierungsgleichungaufwandiger und exakter als S-Invarianten.
Der Uberdeckbarkeitsgraph ist jedoch, im Gegensatz zumErreichbarkeitsgraph, keine exakte Technik und erlaubt nurbegrenzt Aussagen uber die Erreichbarkeit von Markierungen.
Barbara Konig Modellierung 192
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Fur unbeschrankte Petrinetze haben wir also bisher nurapproximative, unvollstandige Methoden fur dasErreichbarkeitsproblem. Es gilt jedoch:
Entscheidbarkeit des Erreichbarkeitsproblems
Es gibt ein Verfahren, das fur ein gegebenes (unbeschranktes) NetzN und eine Markierung m entscheidet, ob m in N erreichbar ist.(Mayr, 1984)
Barbara Konig Modellierung 193
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Invarianten
Dieses Verfahren ist jedoch extrem aufwandig und in derPraxis derzeit nicht einsetzbar.
Die obige Aussage bedeutet jedoch auch, dass Petrinetzenicht zu den machtigsten Berechnungsmodellen gehoren. Esgibt namlich Berechnungsmodelle, fur die dasErreichbarkeitsproblem nicht entscheidbar ist.
Anders ausgedruckt: Petrinetze sind nicht Turing-machtig ( Vorlesung “Berechenbarkeit und Komplexitat”).
Das liegt vor allem daran, dass Petrinetze keine Nulltestsfolgender Form erlauben: “Die Transition t kann nur feuern,wenn in der Stelle s keine Marken liegen.”
Barbara Konig Modellierung 194
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Fallstudien (Wechselseitiger Ausschluss)
Wir betrachten nun noch einige großere Fallstudien . . .
Zunachst behandeln wir das Konzept des wechselseitigenAusschlusses (engl. mutual exclusion oder mutex).
Wir betrachten zwei Akteure, die jeweils einen kritischenBereich haben.
Beide Akteure durfen nicht gleichzeitig in ihren kritischenBereich kommen, da sie sich dort gegenseitig behindern undunerwunschtes Verhalten auslosen wurden (z.B. indem beideAkteure in dieselbe Datei schreiben).
Es darf sich also immer hochstens ein Akteur im kritischenBereich befinden.
Barbara Konig Modellierung 195
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Fallstudien (Wechselseitiger Ausschluss)
Ursprungliches System:
K1NK 1
nk1
k1
kritischer Bereich
NK 2K2
nk2
k2
Bedeutung der Stellen: K1 (krit. Bereich Akteur 1), NK 1
(nicht-krit. Bereich Akteur 1), K2 (krit. Bereich Akteur 2), NK 2
(nicht-krit. Bereich Akteur 2)
Barbara Konig Modellierung 196
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Fallstudien (Wechselseitiger Ausschluss)
Erweitertes System mit Mechanismen zum wechselseitigen Aus-schluss:
K1NK 1
nk1
k1
NK 2K2
k2
nk2
S
Bedeutung der Stellen: K1 (krit. Bereich Akteur 1), NK 1
(nicht-krit. Bereich Akteur 1), K2 (krit. Bereich Akteur 2), NK 2
(nicht-krit. Bereich Akteur 2), S (Hilfsstelle, sog. Semaphor)
Barbara Konig Modellierung 196
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Fallstudien (Wechselseitiger Ausschluss)
Wir mochten zeigen, dass in den Stellen K1, K2 niemalsgleichzeitig Marken liegen.
Reihenfolge der Stellen: K1, NK 1, K2, NK 2, S
Reihenfolge der Transitionen: k1, nk1, k2, nk2
Inzidenzmatrix:
C =
1 −1 0 0−1 1 0 00 0 1 −10 0 −1 1−1 1 −1 1
Barbara Konig Modellierung 197
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Fallstudien (Wechselseitiger Ausschluss)
Wir bestimmen die S-Invarianten, nach der Gleichung
v · C =(0 . . . 0
)Entstehendes Gleichungssystem:
v1 −v2 −v5 = 0−v1 +v2 +v5 = 0
v3 −v4 −v5 = 0−v3 +v4 +v5 = 0
Barbara Konig Modellierung 198
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Fallstudien (Wechselseitiger Ausschluss)
Vereinfacht ergibt sich:
v1 = v2 + v5
v3 = v4 + v5
Das heißt, die Losungen haben genau die Form:(v2+v5 v2 v4+v5 v4 v5
)= v2 ·
(1 1 0 0 0
)+ v4 ·
(0 0 1 1 0
)+ v5 ·
(1 0 1 0 1
)fur v2, v4, v5 ∈ Z. Die drei Vektoren bilden eine Basis desLosungsraums.
Barbara Konig Modellierung 199
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Fallstudien (Wechselseitiger Ausschluss)
Fur uns ist vor allem der letzte Vektor interessant. Fur jedeerreichbare Markierung m = (m1, m2, m3, m4, m5) muss gelten:
m1 + m3 + m5 = v · ~m = v · ~m0 = 1
Angenommen, in der Stelle K1 liegt mehr als eine Marke (m1 ≥ 1)und in der Stelle K2 liegt mehr als eine Marke (m3 ≥ 1).
Dann gilt:2 ≤ m1 + m3 + m5 = 1,
was ein Widerspruch ist.
Also liegt in den Stellen K1, K2 zusammen immer hochstens eineMarke.
Barbara Konig Modellierung 200
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Fallstudien (Speisende Philosophen)
Wir kommen nochmal auf die speisenden Philosophen zuruck:
Diesmal sitzen nur zwei Philosophen an einem Tisch (damitdas Beispiel nicht zu groß wird).
Einer davon ist ein Linkshander (und nimmt die linke Gabelzuerst), der andere ein Rechtshander (und nimmt die rechteGabel zuerst).
Barbara Konig Modellierung 201
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Fallstudien (Speisende Philosophen)
Petrinetz: links- und rechtshandige Philosophen
w1
e1
h1
F1 F2
E2
W1 E1
W2
H2
H1
h2w2
e2
Reihenfolge derStellen:F1, F2, H1, H2,W1, W2, E1, E2
Reihenfolge derTransitionen:w1, e1, h1,w2, e2, h2
Barbara Konig Modellierung 202
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Fallstudien (Speisende Philosophen)
Zu zeigen: in diesem Netz gibt es keine Verklemmung, bei derbeide Philosophen im Wartezustand sind.D.h., folgende Markierung soll nicht erreichbar sein:
m = (0, 0, 0, 0, 1, 1, 0, 0)
Dazu betrachten wir die Inzidenzmatrix des Netzes:
C =
−1 0 1 −1 0 10 −1 1 0 −1 1−1 0 1 0 0 00 0 0 −1 0 11 −1 0 0 0 00 0 0 1 −1 00 1 −1 0 0 00 0 0 0 1 −1
Barbara Konig Modellierung 203
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Fallstudien (Speisende Philosophen)
Eine S-Invariante ist
v =(1 0 0 0 1 1 1 1
)Und es gilt:
v · ~m0 = 1 v · ~m = 2
Daraus folgt v · ~m0 6= v · ~m. Damit ist m nicht erreichbar und eskann daher kein Deadlock dieser Form geben.
Barbara Konig Modellierung 204
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Weitere Arten von Netzen
Wir betrachten zuletzt noch zwei weitere Arten von Netzen:
Netze mit Kapazitaten
Attributierte Netzeauch bekannt unter den Namen: Netze mit individuellenMarken, Pradikat-Transitions-Netze, engl. coloured Petri nets
Barbara Konig Modellierung 205
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Weitere Arten von Netzen
Netze mit Kapazitaten
Ein Petrinetz mit Kapazitaten besteht aus einem (herkommlichen)Petrinetz N (mit Stellenmenge S) und einer Kapazitatsfunktionk : S → N0. Fur die Anfangsmarkierung m0 muss gelten: m0 ≤ k .
Intuition: die Stelle s darf hochstens k(s) Marken enthalten.Kapazitaten werden neben die Stellen geschrieben.
Schalten von Transitionen bei Kapazitaten
Eine Transition t kann unter einer Markierung m schalten, wenngilt:
1 •t ≤ m
2 und m •t ⊕ t• ≤ k .
D.h., eine Transition darf nur dann schalten, wenn dadurch dieKapazitaten nicht uberschritten werden.
Barbara Konig Modellierung 206
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Weitere Arten von Netzen
Beispielnetz mit Kapazitaten
s2s1
2 1
t1
t2
t3
Erreichbarkeitsgraph
// (1, 1)t3 //
t2
��
(1, 0)
t1
��
(2, 0)
t1
DD
(0, 1)
t2
DD
t3 // (0, 0)
Insbesondere: unter der Anfangsmarkierung (1, 1) ist die Transitiont1 nicht schaltbar.
Barbara Konig Modellierung 207
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Weitere Arten von Netzen
Umwandlung eines Netzes mit Kapazitaten in ein Netz ohneKapazitaten
1 Fuge zu jeder Stelle s eine sogenannte Komplementstelle shinzu. In der Anfangsmarkierung enthalt s genauk(s)−m0(s) Marken.Idee: die Summe der Marken in der Stelle und derKomplementstelle ergibt immer die Kapazitat.
2 Falls eine Transition in der Summe Marken aus einer Stelleherausnimmt (n = t•(s)− •t(s) < 0) fuge eine Kante von tnach s mit Gewicht −n ein.
3 Falls eine Transition in der Summe Marken in eine Stellehineinlegt (n = t•(s)− •t(s) > 0) fuge eine Kante von s nacht mit Gewicht n ein.
Barbara Konig Modellierung 208
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Weitere Arten von Netzen
Mit dieser Konstruktion ist fur jedes Paar s, s von Stellensichergestellt, dass
m(s) + m(s) = k(s) fur jede erreichbare Markierung s;
eine Transition t nur schaltbar ist, wenn die Kapazitat derStellen in der Nachbedingung noch nicht ausgeschopft ist.Das wird dadurch uberprufen, dass die benotigte Kapazitatuber die Komplementstellen abgefragt wird.
Barbara Konig Modellierung 209
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Weitere Arten von Netzen
Umgewandeltes Beispielnetz
s1 s2
s2s1t1
t2
t3
Reihenfolge der Stellen: s1, s1, s2, s2
Erreichbarkeitsgraph
// (1, 1, 1, 0)t3 //
t2
��
(1, 1, 0, 1)
t1
��
(2, 0, 0, 1)
t1
DD
(0, 2, 1, 0)
t2
DD
t3 // (0, 2, 0, 1)
Barbara Konig Modellierung 210
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Weitere Arten von Netzen
Bei attributierten Netzen (oder coloured nets) haben die MarkenFarben. Die Transitionen geben an, Marken welcher Farbeentnommen und erzeugt werden sollen.
Beispielsweise entnimmt folgende Transition eine blaue und einerote Marke und erzeugt zwei grune Marken.
2×
Barbara Konig Modellierung 211
Einfuhrung in die ModellierungPetrinetze
Unified Modeling Language (UML)
Grundlagen und ErreichbarkeitsgraphenEigenschaften von Petrinetzen, UberdeckbarkeitsgraphenInzidenzmatrizen und Invarianten
Petrinetze: Weitere Arten von Netzen
Farben konnen dabei auch Elemente eines bestimmten Datentypssein (z.B. Zahlen). Die Transitionen werden dabei symbolischannotiert und an den Transitionen konnen auch Bedingungenstehen.
Beispielsweise hat folgendes Netz naturliche Zahlen als “Farben”.Die Transition entnimmt der ersten Stelle eine naturliche Zahl xund der zweiten Stelle eine Zahl y . In die Stelle der Nachbedingungwird dann die Zahl x + y gelegt. Die Transition darf nur schalten,wenn x > 3.
27
45
x + yx
yx > 3
Barbara Konig Modellierung 212