Verwendungszwecke Simulation Planung Steuerung Anwendungsgebiete Produktion Brokommunikation (speziell Workflowsysteme) Klassische Anwendungen in der Kerninformatik Modellierung von Betriebssystemen Modellierung von gegenseitigem Ausschlu Modellierung von Nebenlufigkeit
Petrinetze dienen zum Modellieren von Systemen, in denen kausale Abhngigkeiten eine vorrangige Bedeutung besitzen.
Horst Hansen
FHTW Berlin
2006
Petrinetze 1/28
Horst Hansen
FHTW Berlin
2006
Petrinetze 2/28
s0
Anmeldung Zug passiert Kontakt
Schranke schlieen
s2
t1
s4 t2
s5
Signal schaltet auf Freie Fahrt
t0 s3
t4 t3 s7
Zug hat bergang passiert
s6 t5
Signal rot
s1
Signal rot
s8
Schranke ffnen
Horst Hansen
FHTW Berlin
2006
Petrinetze 3/28
Horst Hansen
FHTW Berlin
2006
Petrinetze 4/28
Petrinetze Denition
Denition Ein Petrinetz ist ein Graph P = (S, T, F, M), wobei S Menge der Stellen, T Menge der Transitionen, F S T T S Kantenmenge und M: S N0 Anfangsmarkierung heit. Die Menge E = S T ist die Eckenmenge des Graphen. Bemerkung Man unterscheidet verschiedene Arten von Petrinetzen: Stellen-/Transitionsnetze (S/T-Netze) Bedingungs-/Ereignisnetze (B/E-Netze) Die oben denierten Netze sind Stellen-/Transitionsnetze. In Bedingungs-/Ereignisnetzen gilt: M: S { 0, 1 } d.h. die Markierungsfunktion kann nur die Werte 0 oder 1 annehmen.
Horst Hansen FHTW Berlin 2006
Petrinetze 5/28
Interpretation Die Stellen des Graphen reprsentieren Zustnde bzw. Bedingungen (auch Ressourcen) des modellierten Systems; sie werden durch Kreise wiedergegeben. Die Ecken in T bezeichnen Transitionen (Zustandsbergnge) oder Aktivitten und werden graphisch durch Kstchen oder Querstriche angegeben. Die Kantenmenge F reprsentiert kausale oder auch nur zeitliche Abhngigkeiten: Eine Kante s t bedeutet, da die Bedingung s erfllt sein mu, damit die Transition t schalten (oder feuern) kann. s heit in diesem Fall Vorstelle von t. t ist die Menge aller Vorstellen von t. t s bedeutet, da der Zustand s erreicht wird, wenn die Transition t geschaltet hat, s heit dann Nachstelle von t. t ist die Menge aller aller Nachstellen von t. Wenn eine Transition t mehrere Vorstellen besitzt, mssen alle Bedingungen erfllt sein, damit t schalten kann. Wenn eine Transition t mehrere Nachstellen besitzt, so werden durch das Schalten von t alle Nachstellen gleichzeitig erreicht.
Horst Hansen
FHTW Berlin
2006
Petrinetze 6/28
Petrinetze Schaltregel
Aktivitt wird durch Petrinetze in folgender Weise modelliert: Ein Petrinetz mit Anfangsmarkierung M geht von seinem Ausgangszustand (beschrieben durch M) in einen neuen Zustand ber, der durch eine Markierungsfunktion M beschrieben ist.
Ein Zustandsbergang wird durch die folgende Schaltregel beschrieben: Vorbedingung: Eine Transition t kann schalten, wenn fr alle Vorstellen sv gilt M(sv) 1 . Nachbedingung: Wenn eine Transition schaltet, so gilt fr die neue Markierungsfunktion M: M(sv) = M(sv) - 1 fr alle Vorstellen sv von t, M(sn) = M(sn) + 1 fr alle Nachstellen sn von t, M(s) = M(s) fr alle anderen Stellen.
Horst Hansen
FHTW Berlin
2006
Petrinetze 7/28
Horst Hansen
FHTW Berlin
2006
Petrinetze 8/28
Petrinetze Markierungsgraph
Petrinetze Beispiel
Untersuchungen von Petrinetzen werden durch Betrachtung der zugehrigen Markierungsfunktionen angestellt. Der Markierungsgraph MP zu einem Petrinetz P ist dadurch gegeben, da wir jede Markierungsfunktion Mi als Ecke eines Graphen betrachten. s2 OH vorhanden OH ausschalten
OH anschalten t3 OH okay t0 s1 t2 Vorlesung beendet t1 Vorlesung vorbereiten Vorlesung halten Vorlesung vorbereitet s0
s3
Horst Hansen
FHTW Berlin
2006
Petrinetze 9/28
Horst Hansen
FHTW Berlin
2006
Petrinetze 10/28
Petrinetze Markierungsfunktionen
t3 M1 t0
M4
Horst Hansen
FHTW Berlin
2006
Petrinetze 11/28
Horst Hansen
FHTW Berlin
2006
Petrinetze 12/28
Ein Petrinetz P heit lebendig, wenn es im Markierungsgraph MP zu jeder Markierung M eine nachfolgende Markierung M gibt.
t3 OH okay s3 t0
Weitere denierte Begriffe Verklemmung (deadlock) Falle (trap) nebenlufig (concurrently) fair (fair) Kooperation (cooperation) Konkurrenz (competition) Synchronisation (synchronisation)
t1 Vorlesung vorbereiten
In diesem Beispiel werden Verklemmungen dadurch verhindert, da die zwei notwendigen Markierungen in s0 und s3 am Ende der Vorlesung wieder auf die beiden Teile des Netzes verteilt werden.
Horst Hansen
FHTW Berlin
2006
Petrinetze 13/28
Horst Hansen
FHTW Berlin
2006
Petrinetze 14/28
Markierungsgraph
M5 t3 t1 M4 t2 M3 t1
t1 M0 t3 M1
t1 M2
t0
Horst Hansen
FHTW Berlin
2006
Petrinetze 15/28
Horst Hansen
FHTW Berlin
2006
Petrinetze 16/28
Denition tot Eine Transition t heit tot, wenn sie unter keiner Folgemarkierung aktiviert ist. Denition aktivierbar Eine Transition t heit aktivierbar, falls sie unter mindestens einer Folgemarkierung aktiviert ist. Denition lebendig Eine Transition t heit lebendig, falls sie in jeder erreichbaren Markierung aktivierbar ist.
Denition Konikt Zwei Transitionen t0 und t1 stehen im Konikt, wenn die Vorbedingungen fr beide Transitionen gleichzeitig erfllt sind. Denition Nebenlugkeit Wenn es im Markierungsgraphen mehrere Wege von einem Knoten M zum Knoten M gibt, so heien die beteiligten Transitionen nebenlug. (Sie knnen unabhngig voneinander parallel ausgefhrt werden.) Die Wege drcken dabei die verschiedenen Reihenfolgen der Ausfhrung der beteiligten Transitionen aus, die alle zur gleichen Markierung M fhren.
Horst Hansen
FHTW Berlin
2006
Petrinetze 17/28
Horst Hansen
FHTW Berlin
2006
Petrinetze 18/28
Denition fair (fairness) Ein Petrinetz ist unfair fr eine Transition t, wenn es eine unendliche Sequenz von Transitionen gibt, in der t nur endlich oft auftritt, obwohl t unendlich oft transitionsbereit ist. Denition verhungern (starvation) Eine Transition t verhungert, wenn es eine unendliche Sequenz von Transitionen gibt, in der die Transition t niemals auftritt.
Denition: Erreichbarkeit Eine Markierung M eines Petrinetzes heit erreichbar, falls es eine Schaltsequenz der Transitionen gibt, welche die Startmarkierung M0 in diese Markierung M berfhrt. Denition: Lebendigkeit Ein Petrinetz heit lebendig, wenn es zu jeder Markierung M eine nachfolgende Markierung M gibt. Denition: tot Ein Petri-Netz heit tot, falls alle Transitionen tot sind. Denition: todesgefhrdet Ein Petri-Netz heit todesgefhrdet, falls das Petri-Netz unter einer Folgemarkierung tot ist.
Horst Hansen
FHTW Berlin
2006
Petrinetze 19/28
Horst Hansen
FHTW Berlin
2006
Petrinetze 20/28
Petrinetze Beispiele
Petrinetze Beispiele
t0
t1 s
t1 Konikt der Transitionen t0 und t1. Dieses Netz ist als S/T-Netz zu betrachten!
t3
Horst Hansen
FHTW Berlin
2006
Petrinetze 21/28
Horst Hansen
FHTW Berlin
2006
Petrinetze 22/28
Petrinetze Beispiele
Gegenseitiger Ausschlu t0 t2 Problembeschreibung
Petrinetze Beispiele
2 Studenten bentigen ein 2-bndiges Lehrbuch, das nur einmal in der Bibliothek vorhanden ist. s1 s s2 Abfolge der Ereignisse Student 1 leiht sich zunchst nur Band 1 aus. Student 2 leiht sich vorsorglich Band 2 aus. t1 Welche Konikte gibt es? Inwiefern wird hier ein gegenseitiger Ausschlu modelliert? t3 Bevor Student 1 seinen ersten Band zurckgibt, mchte er den zweiten ausleihen. Student 2 gib seinen ausgeliehenen Band nicht zurck, sondern versucht, den ersten Band auszuleihen.
Horst Hansen
FHTW Berlin
2006
Petrinetze 23/28
Horst Hansen
FHTW Berlin
2006
Petrinetze 24/28
Petrinetze Beispiele
Modellierung durch ein Bedingungs-Ereignisnetz Stundent1 Band1 Band2 Band1 ausleihen Stundent2 Verklemmung (Deadlock) Stundent1 Band1 ausleihen
Petrinetze Beispiele
Band1 Band2 Stundent2
Band2 ausleihen
Band2 ausleihen
Band2 ausleihen
Band1 ausleihen
Band2 ausleihen
Band1 ausleihen
Horst Hansen
FHTW Berlin
2006
Petrinetze 25/28
Horst Hansen
FHTW Berlin
2006
Petrinetze 26/28
Eine weitere kurze Darstellung zu Petrinetzen nden Sie im WWW unter http://de.wikipedia.org/wiki/Petrinetz
Horst Hansen
FHTW Berlin
2006
Petrinetze 27/28
Horst Hansen
FHTW Berlin
2006
Petrinetze 28/28