Sie sind auf Seite 1von 7

Petrinetze Motivation (1/2)

Petrinetze Motivation (2/2)

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

Petrinetze Beispiel zur Einfhrung (1/2)


Zug ist auf der Strecke Schranke schlieen Schranke ist unten bergang ist gesperrt Zug fhrt weg Signal schaltet auf Freie Fahrt Zug ist auf der Strecke

Petrinetze Beispiel zur Einfhrung (2/2)

s0
Anmeldung Zug passiert Kontakt

Anmeldung Zug passiert Kontakt

Schranke schlieen

Schranke ist unten

bergang ist gesperrt

s2

t1

s4 t2

s5
Signal schaltet auf Freie Fahrt

Zug fhrt weg

t0 s3

t4 t3 s7
Zug hat bergang passiert

s6 t5

Signal rot

Signal grn Zug passiert bergang Schranke ffnen

Zug hat bergang passiert bergang ist frei

s1

Signal rot

Signal grn Zug passiert bergang

s8

Schranke ist oben

Schranke ist oben

Schranke ffnen

bergang ist frei

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

Petrinetze Interpretation (1/2)

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 Interpretation (2/2)


Die Markierungsfunktion M belegt die Stellen aus S mit jeweils einer natrlichen Zahl n, graphisch wiedergegeben als n Markierungspunkte im Kreis der Stelle. Fr unterschiedliche Modellierungsaufgaben werden passende Markierungsfunktionen verwendet: Man unterscheidet als wichtige Klassen Markierungsfunktionen, bei denen gilt M(s) 1 fr alle s S und solche, bei denen diese Bedingung nicht erfllt sein mu. Petrinetze mit einer Markierungsfunktion mit der Eigenschaft M(s) 1 fr alle s S heien Bedingungs-Ereignisnetze (B/E-Netze). Bei Petrinetzen ohne diese Bedingung spricht man von Stellen-Transitionsnetzen (S/T-Netzen).

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

Petrinetze Beispiel eines Markierungsgraphen


M0

Tabelle der Markierungsfunktionen s0 M0 M1 M2 M3 M4 M5 1 1 0 1 0 0 s1 0 0 1 0 0 0 s2 1 0 0 0 1 0 s3 0 1 0 0 0 1 t3 : M5 Transition t3 : M1 t0 : M2 t1 : M3 t2 : M4 M5 t3 M3 t1 M2 t2

t3 M1 t0

M4

Horst Hansen

FHTW Berlin

2006
Petrinetze 11/28

Horst Hansen

FHTW Berlin

2006
Petrinetze 12/28

Petrinetze beschreibbare Eigenschaften

Petrinetze berarbeitetes Beispiel


OH anschalten OH vorhanden t2 OH ausschalten s4 OH ausgebraucht s2

Ein Petrinetz P heit lebendig, wenn es im Markierungsgraph MP zu jeder Markierung M eine nachfolgende Markierung M gibt.

t3 OH okay s3 t0

Vorlesung vorbereitet s0 Vorlesung halten s1 Vorlesung beendet

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

Petrinetze berarbeitetes Beispiel


Tabelle der Markierungsfunktionen s0 M0 M1 M2 M3 M4 M5 1 1 0 1 0 0 s1 0 0 1 0 1 1 s2 1 0 0 0 1 0 s3 0 1 0 0 0 1 s4 0 0 1 1 0 0 Transition t3 : M1 t0 : M2 t1 : M3 t2 : M4 t2 : M0 t1 : M0 t3 : M5 t1 : M1

Petrinetze berarbeitetes Beispiel

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

Petrinetze Eigenschaften von Transitionen (1/3)

Petrinetze Eigenschaften von Transitionen (2/3)

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

Petrinetze Eigenschaften von Transitionen (3/3)

Petrinetze Eigenschaften von Petrinetzen

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

Der Esel vor zwei Heuhaufen

Erzeuger-Verbraucher-Synchronisierung mit unbeschrnktem Puffer t0 t2

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

beide Bnde zurckgeben

beide Bnde zurckgeben

beide Bnde zurckgeben

beide Bnde zurckgeben

Netz mit Anfangsmarkierung

Nach erfolgreicher Ausleihe durch Student1 und Student2

Horst Hansen

FHTW Berlin

2006
Petrinetze 25/28

Horst Hansen

FHTW Berlin

2006
Petrinetze 26/28

Arten von Petrinetzen


Petrinetze mit einer Markierungsfunktion mit der Eigenschaft M(s) 1 fr alle s S heien Bedingungs-Ereignisnetze (B/E-Netze). Bei Petrinetzen ohne diese Bedingung spricht man von Stellen-Transitionsnetzen (S/T-Netzen). Werden unterscheidbare Marken und Prdikate an den in Transition hineinfhrenden Kanten als Schaltbedingungen hinzugefgt, so spricht man von PrdikatTransitionsnetzen. Bei probabilistischen Netzen stehen an den von Transitionen ausgehenden Kanten Wahrscheinlichkeitsangaben. Zeitbehaftete Netze enthalten an den Stellen und Transitionen Zeitangaben, die als Verweildauern und Schaltzeiten interpretiert werden. Hierarchische Netze sind Stellen-Transitionsnetze, fr die der Begriff eines Unternetzes deniert ist. Mit diesen Netzen ist ein modularer Top-Down-Entwurf grerer Netze mglich.

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