Sie sind auf Seite 1von 10

Graphentheoretische Beschreibung der Petrinetze

Eldar Sultanow
eldar.sultanow @hpi.uni-potsdam.de
Hasso-Plattner-Institut an der Universität Potsdam

Zusammenfassung. Abläufe lassen sich durch Graphen darstellen. Beispiele für Abläufe aus dem
alltäglichen Leben sind Geschäftsvorgänge und Computer-Kommunikation. Sie enthalten einzelne,
wohlunterscheidbare Ereignisse oder Aktivitäten, bei denen Informationen erzeugt, benutzt, oder
verändert werden. Desweiteren gibt es Bedingungen, die für diese Ereignisse notwendig oder
hinreichend sind, damit sie stattfinden. Die Ereignisse können jeweils voneinander abhängig sein,
unabhängig nebeneinander stattfinden oder unvorhersehbar eintreten. Diese Eigenschaften lassen
sich mit Petrinetzen formal darstellen. Sie sind eine Modellierungssprache, die für verschiedene
Ebenen der Abstraktion verwendet wird. Einfache Vertreter sind das B/E- und S/T-System. Mit
Petrinetzen beschreiben wir nichtsequenzielle, verteilte Systeme, die Darstellung von Kontroll- und
Datenfluss, kausale Abhängigkeiten, Nichtdeterminismus und Nebenläufigkeit. Unter Verwendung
von Petrinetzen werden Systemeigenschaften nachgewiesen und Korrektheitsbeweise durchgeführt.

Keywords: Petrinetz, Netzgraph, Stellen- i x = { y | ( y, x) ∈ F } .


Transitions-System, Sequenzgraph.
Und wir definieren alle Ausgangsknoten eines
Knoten x als Nachbereich:
1 Petrinetze
x i = { y | ( x, y ) ∈ F } .
Die Geschichte der Petrinetze begann im Jahre
1962 mit der Dissertation von Carl Adam Petri Also gelten als Vorbereich einer Transition alle
über die „Kommunikation mit Automaten“ im Stellen, die einen Pfeil auf diese Transition haben.
Institut für instrumentelle Mathematik in Bonn. Und als Nachbereich einer Transition gelten alle
Petrinetze dienen zur Beschreibung nebenläufiger, Stellen, die einen Pfeil von dieser Transition weg
kommunizierender Prozesse und sind ein auf sich haben. Wenn xi > 1 ist, nennt man x
Systemmodell für Vorgänge, Organisationen und
Geräte, bei welchen geregelte Flüsse, insbesondere vorwärtsverzweigt, entsprechend gilt bei i x > 1 ,
Nachrichtenflüsse, eine Rolle spielen [1]. x ist rückwärtsverzweigt. Ein Netzgraph ist
schlicht, wenn keine zwei Knoten denselben Vor-
1.1 Netzgraph und denselben Nachbereich haben. Wenn also gilt:
1.1.1 Definition ∀x, y : i x =i y ∧ xi= y i → x = y .
Ein Netzgraph ist ein gerichteter Graph. Formal
1.1.3 Teilnetze
ausgedrückt ist der Netzgraph ein Tripel
N = ( S , T , F ) mit zwei Eigenschaften: Ein Netz N ′ = ( S ′, T ′, F ′) ist ein Teilnetz des
Netzes N = (S , T , F ) , wenn für die
1. S ∩ T = ∅ , das heißt es gibt zwei
unterschiedliche Knotentypen Knotenmengen S ′ ⊆ S ,T ′ ⊆ T und die
2. F ⊆ ( S × T ) ∪ (T × S ) , es gibt also keine Flussrelation F ′ = F ∩ (( S ′ × T ′) ∪ (T ′ × S ′)) gilt.
Relation zwischen Knoten gleichen Typs. Die Stellen und Transitionen, die über Kanten mit
dem Restnetz verbunden sind, heißen auch Rand
Die Elemente der Menge S heißen Stellen, die der
des Teilnetzes. Der Rand Rand ( N ′, N ) zwischen
Menge T heißen Transitionen. F ist die
Flussrelation, ihre Elemente sind wieder Typel und dem Teilnetz N ′ und dem Netz N ist definiert als
bilden die Kanten in dem Netzgraph. Die Stellen Rand ( N ′, N ) = { x ∈ S ′ ∪ T ′ ( x i∪ i x ) (S ′ ∪ T ′) ≠ ∅ }
werden graphisch als Kreise, die Transitionen als Der Vor- und Nachbereich des Knoten x ist
Rechtecke dargestellt. Zwischen den Knoten bezogen auf das Netz N . Stellenberandet wird ein
gezeichnete Pfeile kennzeichnen die Flussrelation. Teilnetz N ′ genannt, wenn für den Rand
Rand ( N ′, N ) ⊆ S ′ gilt. Analog dazu wird ein
1.1.2 Vor- und Nachbereiche
Teilnetz als transitionsberandet bezeichnet, wenn
Die Menge aller Eingangsknoten eines Knoten x
bezeichnen wir als Vorbereich:

-1-
der Rand die Eigenschaft Rand ( N ′, N ) ⊆ T ′
erfüllt [5].

1.1.4 Beispiel für ein Netzgraph


Wir definieren den in Abbildung 1 dargestellten
Netzgraphen:
S = {s1 , s2 , s3 }
T = {t1 , t2 }
F = {( s1 , t1 ), ( s1 , t2 ), ( s2 , t1 ), ( s2 , t2 ), (t1 , s3 ), (t2 , s3 )}

Abbildung 3. Stellenberandete Abstraktion


In Abbildung 3 ist ein Beispiel der
stellenberandeten Abstraktion oder umgekehrt, die
Verfeinerung einer Stelle illustriert. Dagegen ist in
Abbildung 4 ein Beispiel für die Vergröberung
Abbildung 1. Beispiel eines Netzgraphen eines transitionsberandeten Teilnetzes
beziehungsweise die Verfeinerung einer Transition
Dieser Netzgraph ist nicht schlicht, wegen dargestellt. Zusammenfassend können wir sagen,
dass als Abstraktion ein stellenberandetes Netz als
it1 =it2 = {s1 , s2 } und t1 i= t2 i= {s3 } . eine Stelle und ein transitionsberandetes Netz als
eine Transition betrachtet wird.
1.1.5 Schlinge
Zwei Knoten s und t bilden eine Schlinge, falls
( s, t ) ∈ F und (t , s) ∈ F ist. Zwischen beide
Knoten gibt es einen vorwärts und einen rückwärts
gerichteten Pfeil. Eine Schlinge ist also eine Kante,
bei der Anfangs- und Endknoten zusammenfallen. Abbildung 4. Transitionsberandete
Abstraktion
1.1.6 Vergröberung und Verfeinerung von
Netzgraphen
1.1.7 Einbettung und Restriktion von
Die Vergröberung ist eine lokale Abstraktion. Es Netzgraphen
werden mehrere Knoten zu einer Stelle oder Die Erweiterung eines Modells um Systemteile
Transition zusammengefasst, die diese erfolgt durch Hinzufügen neuer Kanten und
Knotenmenge ersetzt. Dabei muss das neu Knoten. Man bezeichnet diesen Vorgang als
entstandene Netz immer noch bipartit sein. Somit Einbettung. Im Gegensatz zur Verfeinerung
darf eine Menge von Knoten nur zusammengefasst werden hier Knoten nicht durch andere ersetzt,
werden, falls alle Knoten am Rand vom gleichen sondern neue Knoten und Kanten hinzugefügt. Die
Typ sind. Und genau von diesem Typ muss dann Restriktion ist das Gegenstück zur Einbettung.
der Knoten sein, der diese Menge ersetzt. Die Durch sie werden Knoten und Kanten aus einem
Verfeinerung wird benutzt, um die innere Struktur Netz entfernt. Die Einbettung wie die Restriktion
einer Transition oder Stelle genauer zu können bedeutende Auswirkungen auf das
konkretisieren. Auch hier muss die bipartite Verhalten des durch das Modell beschriebenen
Eigenschaft der Petrinetze erhalten bleiben. Ob Systems haben.
und wann man Verfeinerung beziehungsweise
Vergröberung einsetzt, hängt jeweils vom 1.1.8 Faltung und Entfaltung von
gewünschten Abstraktionsgrad ab. Grundsätzlich Netzgraphen
wird das System am Anfang möglichst grob Ein aus gleichstrukturierten Teilnetzen
modelliert und später Schritt für Schritt verfeinert, bestehender Netzgraph kann in sofern vereinfacht
bis das Gesamtmodell alle Aspekte des Systems werden, indem man diese gleichen Teilnetze
beinhaltet. einfach „aufeinander legt“. Es dürfen aber nur
Knoten gleichen Typs übereinandergelegt werden.
Desweiteren müssen alle Relationsbeziehungen
erhalten bleiben und die Teilnetze isomorph sein.

-2-
Jedoch müssen hier die Teilnetze nicht wie bei der - K :S → 0 ∪ {∞} , die Kapazitäten der
Vergröberung am Netzrand Knoten gleichen Typs Stellen eventuell unbeschränkt sind
aufweisen. Diese Abstraktion nennt man Faltung.
Entsprechend wird das Verdoppeln von Teilnetzen - W : F → Kantengewicht ist
als Entfaltung bezeichnet, wobei zwei - M0 : S → ∪ {∞} Startmarkierung ist,
0
gleichstrukturierte Teilnetze entstehen. In dem
Beispiel aus Abbildung 5 werden die beiden wobei gilt: ∀s ∈ S : M 0 ( s ) ≤ K ( s )
Transitionen t1 und t2 zu einer Transition t12 und Bei der grafischen Darstellung werden die
Zustände der Stellen dadurch ausgedrückt, indem
die zwei Stellen s2 und s3 zu einer Stelle s23
man die Anzahl M(s) der Marken einer Stelle als
zusammengelegt. Punkte in den Stellenkreis zeichnet. Und die
Kantengewichte werden an die Kanten
geschrieben. Unbeschriftete Kanten haben ein
Gewicht von eins. Die Kapazitäten werden an die
Stellen geschrieben. Unbeschriftete Stellen haben
eine Kapazität von unendlich.

1.2.2 Erzeuger-Verbraucher-Beispiel für ein


Stellen-Transitions-System
Das in Abbildung 6 gezeigte Stellen-Transitions-
Abbildung 5. Beispiel der Faltung/Entfaltung System lässt sich formal wie folgt beschreiben:
eines Netzgraphen S = {s1 , s2 , s3, s4 , s5 }
1.1.9 Isomorphismus bei Netzgraphen T = {t1 , t2 , t3,t4 }
Da die Wahl der Stellen- und F = {(t1 , s1 ), ( s1 , t2 ), (t2 , s2 ), ( s2 , t1 ), (t2 , s3 ),…
Transitionsbezeichnungen frei wählbar ist, kann es
vorkommen, dass zwei völlig unterschiedlich … ( s3 , t3 ), (t3 , s4 ), ( s4 , t4 ), (t4 , s5 ), ( s5 , t3 )}
aussehende Netzgraphen von der Struktur her K = {( s1 , ∞), ( s2 , ∞), ( s3 , 6), ( s4 , ∞), ( s5 , ∞)}
gleich sind. Äquivalenz zwischen zwei
Netzgraphen N1 und N 2 besteht genau dann, W = {((t1 , s1 ),1), (( s1 , t2 ),1), ((t2 , s2 ),1), (( s2 , t1 ),1),…
wenn eine bijektive, kanten-, stellen- und … ((t2 , s3 ), 2), (( s3 , t3 ),3), ((t3 , s4 ),1),…
transitionserhaltende Abbildung, also ein … (( s4 , t4 ),1), ((t4 , s5 ),1), (( s5 , t3 ),1)}
Isomorphismus zwischen den Netzgraphen
existiert. Die beiden Netzgraphen heißen dann
M 0 = {( s1 ,1), ( s2 , 0), ( s3 , 2), ( s4 , 0), ( s5 ,1)}
isomorph.

1.2 Stellen-Transitions-System
Die bisher betrachteten Netzgraphen bieten noch
keine ausreichende Möglichkeit der
Ablaufmodellierung. Abläufe enthalten Dynamik
und Veränderung. Um diese Möglichkeit der
Veränderung in Netzgraphen einzubauen, müssen
die Netzgraphen noch erweitert werden. Die
Hauptidee dabei ist, dass Stellen verschiedene
Zustände annehmen können, und sich die Zustände Abbildung 6. Beispiel eines Stellen-
in Abhängigkeit der Zustände benachbarter Stellen Transitions-Systems
und Transitionen ändern können. Zeichnerisch
werden diese Zustände als Marken in den Stellen Dieses Erzeuger-Verbraucher-System hat einen
dargestellt. begrenzten Zwischenspeicher. Der eigentliche
Produktionsschritt findet in der Transition t2 statt,
1.2.1 Definition
wobei zwei Einheiten produziert werden. Diese
Ein 6-Tupel Y = ( S , T , F , K , W , M 0 ) heißt gelangen in den Zwischenspeicher s3 , welcher
Stellen-Transitions-System beziehungsweise S/T- eine Kapazität von sechs Einheiten hat. Für jeden
System, falls
Schritt in t3 benötigt der Verbraucher je 3
- ( S , T , F ) ein Netzgraph ist Einheiten aus dem Speicher. Die Startmarkierung

-3-
gibt an, dass es einen Erzeuger und einen sie gelten oder sie gelten nicht. Bedingungen
Verbraucher gibt, und dass bereits zwei Einheiten können Aussagen über beliebig komplexe Systeme
im Speicher liegen. sein und aufgrund von Ereignissen wahr werden
oder ihre Gültigkeit verlieren. Ereignisse
1.2.3 Markierungen und Schaltregeln benötigen bestimmte Vorraussetzungen, also
Damit sich die Zustände ändern können, erfüllte Vorbedingungen, und führen meist zu
beziehungsweise die Marken im Netz wandern, vorher nicht erfüllten Nachbedingungen. Ein
werden Schaltregeln definiert. Eigentlich sieht es Bedingungs-Ereignis-System ist ein S/T-System
nur so aus als würden die Marken wandern, Y = ( S , T , F , K ,W , M 0 )
vielmehr werden n Marken an einer Stelle mit schlingenfreiem, schlichten Netz
entnommen und m Marken einer anderen Stelle N = ( S , T , F ) , K = 1 und W = 1 .
hinzugefügt. Der Eindruck des Wanderns entsteht
Eine Stelle kann also nur eine Marke aufnehmen
nur für den Fall: n = m . Die Markierung des S/T-
und ist anschließend belegt. Stellen werden
Systems ist eine Abbildung
Bedingungen genannt und die Transitionen
M :S → 0 mit ∀s ∈ S : M ( s ) ≤ K ( s ) . entsprechen den Ereignissen. Alle Kantengewichte
sind Eins. So reduziert sich ein Bedingungs-
In einer Markierung M können Transitionen
Ereignis-System auf 4-Tupel:
entweder aktiv oder inaktiv sein. Eine Transition
t ∈ T heißt aktiviert unter M , falls: ( B, E , F , M 0 ) .
In diesem Kontext bezeichnet man eine
- ∀s ∈ it : M ( s) ≥ W ( s, t ) , alle Stellen im
Markierung auch als Fall. Ein B/E-System ist
Vorbereich der Transition besitzen leichter zu verstehen als ein S/T-System, da nur
genügend Marken endlich viele Fälle existieren.
- ∀s ∈ t i : M ( s ) ≤ K ( s ) − W ( s, t ) , in allen
Stellen des Nachbereiches der Transition 1.2.5 Vollständigkeit und Widerspruchs-
freiheit
ist ausreichend Platz für Marken
Da in einem B/E-System die Stellen nur zwei
Ist eine Transition t aktiviert, so können aus dem
Zustände haben können, ist es einfach, für eine
Vorbereich die entsprechenden Marken
Bedingung ein Komplement also Gegenteil zu
entnommen und in den Nachbereich eingefügt
definieren. Es gilt folgender Satz: Eine Bedingung
werden. So entsteht aus einer Markierung M eine
b′ ∈ B eines B/E-Systems heißt Komplement ¬b
Folgemarkierung M ′ . Wir sagen dann, t schaltet
der Bedingung b ∈ B , falls
von M nach M ′ .
ib = b′i und ib′ = bi .
⎧ M (s) − W (s, t ) falls s ∈it , s ∉ t i Der Vorbereich einer Bedingung ist jeweils der
⎪M (s) + W (t , s) falls s ∈ t i, s ∉it
⎪ Nachbereich ihres Komplements und umgekehrt.
M ′(s, t ) = ⎨
⎪M (s) − W (s, t ) + W (t , s) falls s ∈ t i∩it
Ergänzt man ein vorhandenes B/E-System um
⎪⎩ M (s) sonst
nicht vorhandene Komplemente für alle
Bedingungen, spricht man von Vervollständigung.
Diese Aktivierungsbedingungen zusammen mit Ein System heißt widerspruchsfrei, falls in allen
der Definition der Folgemarkierung werden als möglichen Fällen für alle Paare b und ¬b gilt,
Schaltregel bezeichnet. In dem Erzeuger- dass genau einer der beiden Bedingungen markiert
Verbraucher-Beispiel aus Abbildung 6 ist die ist (Abbildung 7).
Transition t3 genau dann aktiviert, wenn im
Speicher s3 mindestens drei Marken sind, und die
Stelle s5 markiert ist. Da die Stelle s4 im
Nachbereich eine unendliche Kapazität hat, spielt
ihre Markierung keine Rolle. Die Stelle s3 im
Nachbereich der Transition t2 dagegen ist in ihrer
Kapazität beschränkt, und t2 kann nur schalten, Abbildung 7. vervollständigtes und
falls höchstens vier Marken in s3 liegen. widerspruchsfreies B/E-System
1.2.4 Bedingungs-Ereignis-Systeme 1.2.6 Schaltfolgen und Häufigkeitsvektoren
Ein Bedingungs-Ereignis-System ist ein In Abhängigkeit wie viele Transitionen in einer
eingeschränktes Stellen-Transitions-System. Markierung aktiviert sind, kann es keine, eine oder
Bedingungen haben nur zwei Zustände, entweder mehrere mögliche Folgemarkierungen geben, die

-4-
ihrerseits wiederum Folgemarkierungen haben kann, sobald unendliche Kapazitäten existieren,
können. Eine solche Reihe von möglichen unendlich groß werden. Das muss sie aber nicht,
Folgemarkierungen heißt Schaltfolge. Deren erste wir sehen es im Beispiel aus Abbildung 8.
Markierung ist immer die Startmarkierung M 0 .
Formal können wir eine Schaltfolge als Tupel
hintereinander schaltender Transitionen schreiben:
f = (t2 , t1 , t1 , t5 , t3 …) . Abbildung 8. System mit endlicher
Der Häufigkeitsvektor h = (h1 , h2 ,… , hn ) Erreichbarkeitsmenge
beschreibt für eine Schaltfolge f die Anzahl der
Sei Startmarkierung M 0 = {( s1 , 2), ( s2 , 0), ( s3 , 0)}
Schaltungen pro Transition, wobei hi die Anzahl
und man berechnet alle weiteren möglichen
der Vorkommnisse der Transition ti in f angibt. Markierungen, dann ergibt sich folgende
Zu einem Häufigkeitsvektor können mehrere Erreichbarkeitsmenge:
Schaltfolgen existieren. Aber allen Permutationen M 0 = {( s1 , 2), ( s2 , 0), ( s3 , 0)}
einer Schaltfolge ist genau ein Häufigkeitsvektor
M 1 = {( s1 ,1), ( s2 ,1), ( s3 , 0)}
zugeordnet. So ist (2, 2, 2,1) Häufigkeitsvektor
für folgende zwei Schaltfolgen des Erzeuger- M 2 = {( s1 , 0), ( s2 , 2), ( s3 , 0)}
Verbraucher-Systems aus Abbildung 6: M 3 = {( s1 ,1), ( s2 , 0), ( s3 ,1)}
f1 = (t2 , t1 , t2 , t3 , t4 , t3 , t1 ) M 4 = {( s1 , 0), ( s2 ,1), ( s3 ,1)}
f 2 = (t2 , t1 , t2 , t3 , t4 , t1 , t3 ) M 5 = {( s1 , 0), ( s2 , 0), ( s3 , 2)}
Sei Y ein Stellen-Transitions-System mit einer
Zur Verdeutlichung des Zusammenhangs zwischen
Startmarkierung M 0 . Eine Markierung aus der
den Markierungen benutzt man einen gerichteten
Menge Erreichbarkeitsgraphen, der als Knoten die
M = {( si , k ) ∈ S × i = 1, 2,… , n} Markierungen trägt und als Kanten zwischen den
Markierungen die schaltenden Transitionen. Zu
lässt sich auch als Vektor m darstellen, dessen i -
dem S/T-System aus Abbildung 8 gehört der in
te Komponente die Markenzahl der Stelle si ist: Abbildung 9 dargestellte Erreichbarkeitsgraph.
m = ( M ( s1 ), M ( s2 ),… , M ( sn )) .
Für eine erreichbare Markierung m und ein
Häufigkeitsvektor h gilt:
m = m0 + h ⋅ C T
Hierbei ist C die Inzidenzmatrix und m0 die als Abbildung 9. Erreichbarkeitsgraph
Vektor dargestellte Startmarkierung von Y . Der
Schaltfolge f = (t2 , t1 , t2 , t3 ) des Erzeuger- Ein von M 0 ausgehender Pfad im Erreichbarkeits-
Verbraucher-Systems ist der Häufigkeitsvektor graphen entspricht einer Schaltfolge. Die
Berechnung einer Erreichbarkeitsmenge lässt sich
(1, 2,1, 0) zugeordnet. Es ergeben sich die vier
mittels der Breitensuche eines Suchbaumes
Folgemarkierungen nach jedem Schaltschritt: durchführen. Die Wurzel des Suchbaumes
(0,1, 4, 0,1), (1, 0, 4, 0,1), (0,1, 6, 0,1), (0,1,3,1, 0)
entspricht der Startmarkierung M 0 . Jede neu
Und die letzte Markierung erhalten wir unter
Verwendung der Gleichung: gefundene Markierung wird in die
Erreichbarkeitsmenge aufgenommen bis alle
⎛ 1 −1 0 0 0 ⎞ Folgemarkierungen in dieser Erreichbarkeitsmenge
⎜ −1 1 2 0 0 ⎟
(0,1,3,1, 0) = (1, 0, 2, 0,1) + (1, 2,1, 0) ⋅ ⎜ ⎟ vorhanden sind. Würde man mittels Tiefensuche
⎜ 0 0 −3 1 −1 ⎟ nach den Markierungen suchen, könnte es
⎜ ⎟
⎝ 0 0 0 −1 1 ⎠ passieren das nicht alle Markierungen gefunden
werden. Die Größe der Erreichbarkeitsmenge
1.2.7 Erreichbarkeit hängt weniger von der Anzahl der Kanten und
Alle Markierungen einer Schaltfolge sind Knoten ab, als von den Stellenkapazitäten und
erreichbare Markierungen des Systems. Und die Kantengewichten. Erreichbarkeitsmengen von
Menge aller erreichbaren Markierungen aller B/E-Systemen lassen sich naturgemäß schneller
möglichen Schaltfolgen ist die Erreichbarkeits- berechnen, da jeweils Kapazität und
menge des Systems. Die Erreichbarkeitsmenge Kantengewicht nicht größer als Eins sind.

-5-
1.2.8 Inzidenzmatrix und Adjazenzmatrix ⎛0 0 0 0 0 1 −1 0 0 ⎞
⎜ ⎟
Für bestimmte Analysezwecke ist es wichtig von ⎜0 0 0 0 0 −1 1 0 0 ⎟
Stellen-Transitions-Systemen eine Inzidenzmatrix ⎜0 0 0 0 0 0 2 −3 0 ⎟
⎜ ⎟
zu erstellen. Zum Beispiel lassen sich dann ⎜0 0 0 0 0 0 0 1 −1 ⎟
Invarianten berechnen. Inzidenzmatrizen haben für A=⎜ 0 0 0 0 0 0 0 −1 1 ⎟
⎜ ⎟
jede Transition eine Spalte und für jede Stelle eine ⎜ 1 −1 0 0 0 0 0 0 0⎟
Zeile. Die Einträge der Matrix werden wie folgt ⎜ −1 1 2 0 0 0 0 0 0⎟
⎜ ⎟
bestimmt: ⎜ 0 0 −3 1 −1 0 0 0 0 ⎟
⎜0 0 0 −1 1 0 0 0 0 ⎟⎠
cij = W (t j , si ) − W ( si , t j ) ⎝
Ist ein Kantengewicht nicht definiert, da die Es sei A eine (n × n) -Matrix. Wir nennen das
entsprechende Kante in dem jeweiligen S/T- Polynom
System nicht existiert, wird der Wert Null für
f A ( x) = det( x ⋅ E − A)
dieses Kantengewicht gewählt. Der Wert von cij charakteristisches Polynom von A . Hier ist E die
drückt aus, wie viel Marken beim Schalten von t j Einheitsmatrix, eine quadratische Diagonalmatrix,
deren Diagonalelemente alle gleich Eins sind:
der Stelle si hinzugefügt oder abgezogen werden.
⎛1 0 … 0⎞
Bei positiven cij werden Marken hinzugefügt, bei ⎜ ⎟
⎜ 0 1 … 0⎟
E=
negativen cij werden sie der Stelle abgezogen. ⎜ ⎟
⎜ ⎟
Folgende Matrix ist die Inzidenzmatrix für das ⎝0 0 … 1⎠
Erzeuger-Verbraucher Beispiel
Die reellen Nullstellen des charakteristischen
⎛ 1 −1 0 0 ⎞ Polynoms der Matrix A heissen die Eigenwerte
⎜ ⎟ der Matrix A . Weiterhin sei G ein Graph und A
⎜ −1 1 0 0 ⎟ seine Adjazenzmatrix mit den Eigenwerten
C = ⎜ 0 2 −3 0 ⎟ λ1 ≥ … ≥ λn . Dann nennen wir λ1 ≥ … ≥ λn auch
⎜ ⎟
⎜ 0 0 1 −1⎟ Eigenwerte des Graphen G. Ist A′ eine Matrix, die
⎜ 0 0 −1 1 ⎟
⎝ ⎠ sich aus der Adjazensmatrix A ergibt, ähnlich
definiert wie C ′ :
Sei C ′ eine Matrix, die lediglich angibt, zwischen
welchen Knoten eine Kante existiert: aij′ = sgn( aij )
cij′ = sgn(cij ) so sind auch alle Einträge der Matrix A′ nur aus
der Menge {−1, 0,1} .
Alle Einträge der Matrix C ′ sind dann nur
Elemente aus der Menge {−1, 0,1} . Die ⎛ 0 C′ ⎞
A′ = ⎜ T ⎟
⎝ C′
Adjazenzmatrix eines bipartiten Graphen lässt sich 0⎠
durch die Inzidenzmatrix darstellen, wenn wir die
Knoten so anordnen, dass zunächst nur Knoten Kantengewichte bleiben in den Matrizen C ′ und
vom einen Typ und dann die des anderen Typs A′ unberücksichtigt. Für Bedingungs-Ereignis-
stehen. Die Adjazenzmatrix A ist dann eine Systeme gilt:
(n × n) -Matrix, wobei n die Summe aus der C ′ = C beziehungsweise A′ = A ,
Zeilenanzahl und Spaltenanzahl von C ist. Sie denn dort sind die Kantengewichte jeweils Eins.
nimmt folgende Gestalt an:
1.2.9 Invarianten
⎛ 0 C⎞
A=⎜ T ⎟.
Die Erstellung von Invarianten kommt aus dem
⎝C 0⎠ Bereich der linear-algebraischen Netzanalyse. Es
geht dabei um die Frage, ob im Netz Teilmengen
0 bezeichnet hierbei eine Matrix geeigneter von Stellen existieren, deren Gesamtsumme an
Marken stets konstant bleibt. Diese Frage ist
Dimension, die nur aus Nullen besteht. Die
beispielsweise bedeutend für die Modellierung
folgende Matrix ist die Adjazenzmatrix für das in
eines Systems, in dem nichts „verloren“ gehen
Abbildung 6 dargestellte Erzeuger-Verbraucher-
darf. Bei S/T-Systemen, die als Kantengewichte
System.
nur Eins zulassen, bilden alle zu einem Zyklus
gehörenden Stellen eine solche Menge. Hier wird
die Markenanzahl durch unterschiedliche

-6-
Kantengewichte weder erhöht noch verringert. ⎛ 6⎞ ⎛0⎞
Diese Stellenmengen nennen wir S-Invarianten. ⎜ ⎟ ⎜ ⎟
⎛ 1 0 −3 1 0 ⎞ ⎜ 3 ⎟ ⎜ 0 ⎟
Ein Beispiel dafür ist die Stellenmenge {s1 , s2 , s3 } ⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜ −1 2 0 0 − 1 ⎟ ⋅ ⎜ 2 ⎟ = ⎜ 0 ⎟
in Abbildung 10 links. ⎜ 0 −2 3 0 0 ⎟ 0
⎝ ⎠ ⎜ ⎟ ⎜0⎟
⎜ 0⎟ ⎜0⎟
⎝ ⎠ ⎝ ⎠
Entsprechend den S-Invarianten lassen sich auch
T-Invarianten für Transitionen berechnen, nur wird
hier die Inzidenzmatrix für das lineare
Gleichungssystem nicht transponiert: Cy = 0 .

1.2.10 Kausalität
Durch Kausalität wird beschrieben, welche
Abbildung 10. Stellen-Invariante bei Zyklus in Ereignisse im Sinne einer notwendigen
S/T-Systemen Voraussetzung stattgefunden haben müssen, bevor
ein anderes Ereignis stattfinden kann. In diesem
Bei S/T-Systemen mit gewichteten Kanten ist ein Sinne unterscheiden wir für das Eintreten von
Zyklus kein hinreichender Beweis für die Existenz Ereignissen zwischen notwendigen und
einer Stellen-Invariante [1]. Hier kann sich die hinreichenden Voraussetzungen.
Markenzahl auch innerhalb eines Zyklus durch
unterschiedliche Kantengewichte ändern. Nun soll
für die gewichtete Version des Netzes der rechten
Seite von Abbildung 10 gelten:
6 ⋅ M ( s1 ) + 3 ⋅ M ( s2 ) + 2 ⋅ M ( s3 ) = 6 .
Die Summe der mit konstanten Faktoren
multiplizierten Markenzahl soll für jede
Markierung genau 6 betragen. Diese Summe lässt
sich auch als Skalarprodukt des Vektors m mit Abbildung 11. kausale Netzsituation
einem anderen Vektor x schreiben:
Im oberen Beispiel von Abbildung 11 ist das
x = (6,3, 2, 0, 0) , x ⋅ m = 6
Schalten der Transition t1 notwendig für das
Im folgenden soll geprüft werden, ob dies für alle
erreichbaren Markierungen m gilt. Wir wissen: Schalten der Transition t2 . Im Gegensatz dazu ist
m = m 0 +C ⋅ h
T das Schalten im unteren Beispiel der Transitionen
Multipliziert man diese Gleichung mit dem Vektor t3 oder t4 hinreichend für das Schalten von t5 .
x , so erhält man
1.2.11 Nebenläufigkeit
x ⋅ m = x ⋅ m 0 + x ⋅ CT ⋅ h
Sind in einer Markierung mehrere Transitionen
Wenn x ⋅ C T = 0 ist, erhält man die gewünschte aktiviert, ist die Reihenfolge, wie sie schalten nicht
Bedingung x ⋅ m = x ⋅ m0 für alle erreichbaren vorgegeben. Wenn sich diese Transitionen durch
Markierungen m . In diesem Zusammenhang ihr Schalten nicht beeinflussen also aktivieren oder
definieren wir die S-Invariante: Ein Vektor deaktivieren, ist das Ergebnis unabhängig der
Schaltfolge immer gleich. Es besteht weder eine
x ∈ n , x ≠ 0 heisst S-Invariante genau dann
notwendige, noch eine hinreichende Kausalität
wenn x ⋅ C T = 0 . S-Invarianten sind also definiert zwischen ihnen. Eine Transitionenmenge ist
als die Lösungen eines linearen Gleichungssystems nebenläufig aktiviert, wenn jede Transitionsfolge
mit der Inzidenzmatrix C . Sie beschreiben eine eine zulässige Schaltfolge ist. Man kann die
Menge von Stellen, deren Gesamtmarkenzahl Transitionen dann gleichzeitig schalten.
immer innerhalb fester Grenzen bleibt, nie null
oder unendlich gross wird. Die triviale Lösung, der
Nullvektor ist keine gültige Invariante. Für ein
S/T-System werden im allgemeinen nur die
erzeugenden S-Invarianten also die Basis des
Lösungsraumes angegeben. Die
Linearkombination von S-Invarianten ergibt
Abbildung 12. nebenläufig aktivierte
wiederum eine S-Invariante. Für das Beispiel in
Abbildung 10 ist die Matrixschreibweise: Transitionen

-7-
Die Transitionenmenge {t1 , t2 , t3 } ist nebenläufig {M 1 , M 2 ,… , M k } die Menge aller von M 0 aus
aktiviert, denn (t1 , t2 , t3 ) , (t1 , t3 , t2 ) , (t2 , t1 , t3 ) und erreichbaren Markierungen. Das System heißt
so weiter sind zulässige Schaltfolgen. In allen dann B-sicher, falls gilt:
Fällen ist die entstehende Markierung identisch ∀ M i (s) ≤ B(s) .
(Abbildung 12). 1≤i ≤ k
s∈S
1.2.12 Konflikt und Kontakt Eine Stelle heisst beschränkt, wenn die
Wenn mehrere Transitionen aktiviert sind und sich Markenzahl auf ihr nie eine kritischen Grenze
ihre Vorbereiche überschneiden, aber in diesem übersteigt. Gilt für alle Stellen dieselbe Grenze n ,
Vorbereich nicht genug Marken vorhanden sind, spricht man von n -sicher. Also sind alle Stellen
um alle aktivierten Transitionen zu schalten, eines n -sicheren Systems beschränkt. Bei sicheren
stehen diese im Konflikt zueinander. Transitionen Systemen wurde der Vor- und Nachbereich der
stehen also im Konflikt, wenn sie gleichzeitig, aber Stellen korrekt modelliert und die Kapazität kann
nicht nebenläufig aktiviert sind. Es ist dann nicht nie überschritten werden. Das System heisst
festgelegt welche dieser Transitionen schaltet. Hier beschränkt, falls ein n existiert, so dass das
liegt ein lokaler Nichtdeterminismus vor [1]. Im System n -sicher ist. Der zu einem beschränkten
Beispiel aus Abbildung 13 (links) haben die zwei System gehörende Erreichbarkeitsgraph ist
im Verzweigungskonflikt stehenden Transitionen endlich. Und die Sicherheit ist in endlicher Zeit
t1 und t2 eine gemeinsame Eingangsstelle. Wegen berechenbar, falls die Erreichbarkeitsmenge
endlich ist. Man braucht nur für jede Markierung
Markenmangel deaktiviert das Schalten von t1 die überprüfen, ob alle Stellen unterhalb der kritischen
Transition t2 . In Abbildung 13 (mitte) stehen die Grenze liegen. Unendliche Erreichbarkeitsmengen
beiden Transitionen im regulierten Konflikt durch können nicht n -sicher sein. Wäre die Markenzahl
Entscheidungsregel. Ein Markenüberschuss kann an allen Stellen immer kleiner als n , so kann es
den sogenannten Wettbewerbskonflikt hervorrufen nur endlich viele Markierungen geben. Diese Idee
wie in Abbildung 13 (rechts). Man bezeichnet der Überprüfung von Stellen lässt sich auch auf
diesen auch als Kontakt. Kontakt kommt dann vor, Transitionen übertragen. Möchte man zum
wenn im Nachbereich mehrerer Transitionen Beispiel wissen, ob eine Transition nicht häufiger
gemeinsame, kapazitäts-beschränkte Stellen als n -mal schaltet, wird diese Transition auf ihre
liegen. n-Sicherheit überprüft. Die Sicherheit einer
Transition wird über eine extra eingefügte
Beobachtungsstelle erreicht, die eine unendliche
Kapazität hat und bei jedem Schalten der
Transition eine weitere Marke hinzu bekommt
(Abbildung 14).

Abbildung 13. im Konflikt stehende


Transitionen

Um das unvorhersehbare Ausgehen solcher Abbildung 14. Transition t wird durch


Konflikte zu lösen, fügt man konfliktlösende zusätzliche Stelle s überprüft
Elemente dem Netz hinzu, indem man die
Vorbereiche der im Konflikt stehenden 1.2.14 Lebendigkeit
Transitionen so erweitert, dass nicht mehr alle Eine Transition t eines S/T-Systems heißt tot,
beteiligten Transitionen aktiviert werden. wenn sie unter keinen erreichbaren Markierungen
aktiviert ist. Sie heißt aktivierbar, falls sie
1.2.13 Sicherheit und Beschränktheit mindestens unter einer Markierung aktiviert ist.
Formal wird Sicherheit folgendermaßen definiert: Eine Transition ist lebendig, falls für jede
Es sei Markierung gilt, dass diese Transition in
Y = ( S , T , F , K ,W , M 0 ) mindestens einer Folgemarkierung wieder
aktivierbar ist. Diese Begriffe werden nun für das
ein S/T-System und ganze S/T-System definiert:
B:S → 0 ∪ {∞} - Ein S/T-System heißt schwach lebendig
eine Abbildung, die jeder Stelle eine kritischen oder deadlockfrei, falls unter jeder
Markenzahl zuordnet. Weiterhin sei

-8-
erreichbaren Markierung mindestens eine Verhaltensmuster zugrunde liegen muss eingesetzt.
Transition aktiviert ist. Die Verwendung der durch Petrinetze gegebenen
- Ein S/T-System heißt lebendig oder stark mathematischen Abstraktion ermöglicht die
lebendig, wenn alle Transitionen lebendig Wiederverwendung von bereits entwickelten
sind, also alle Transitionen immer wieder Lösungsansätzen. So können beispielsweise
aktiviert werden können. gewonnene Erfahrungen bei der Modellierung von
- Ein S/T-System ist tot, wenn keine beliebigen Arbeitsvorgängen wieder verwendet
Transition aktiviert ist. werden. Ein komplexeres Beispiel für die
Eine tote Markierung wird auch Deadlock genannt. Ablaufmodellierung von allgemeinen Vorgängen
In nebenläufigen Systemen blockieren sich ist das im Anhang dargestellte Kalendersystem.
Prozesse gegenseitig, indem sie aufeinander Jede Markierung dieses Petrinetzes gibt ein
warten. Ein klassisches Beispiel dafür sind 4 Autos entsprechendes Datum an.
an einer Kreuzung ohne Ampel. Es lassen sich
Eigenschaften über die Lebendigkeit eines Literatur
Systems am Erreichbarkeitsgraphen zeigen. Im
Erreichbarkeitsgraphen eines stark lebendigen S/T- [1] Projektgruppe Process Landscaping. Seminar
Systems ist jede Transition mit mindestens einer Petrinetze und Petrinetz-Werkzeuge,
Kante vertreten. Und eine tote Markierung hat im 20.03.2000
Erreichbarkeitsgraphen keine abgehenden Kanten. [2] Martin, Wiederkehr, Feldmeilen. „Petrinetze
und deren Analyseverfahren“, 25.02.2001
1.2.15 Synchronie
[3] Dipl. Ing. Dirk Sackmann. „Operations
In Synchronieaussagen sind Informationen darüber Research“. Fachhochschule Braunschweig/
enthalten, wie oft Ereignisse in Abhängigkeit Wolfenbüttel, Fachbereich Wirtschaft.
anderer Ereignisse eintreten. Zum Beispiel kann Wolfsburg, September 2002
man zeigen, wie abhängig zwei Transitionen t1 , t2 [4] Bruno Müller-Clostermann. „Modelle der
voneinander sind. Dazu überprüft man jede aller Informatik“, 19.09.2000. Universität Essen,
möglichen Schaltfolgen, wie häufig die jeweilige Fachbereich Mathematik und Informatik
Transition geschaltet wurde. Für jede Schaltfolge [5] Dipl. Ing. Markus König. „Planung und
lässt sich dann die Differenz der beiden Werte Steuerung von Arbeitsvorgängen mit Hilfe
bilden. Das Supremum aller Differenzen heißt von Petrinetzen“. Universität Hannover,
Synchronieabstand. Der Synchronieabstand sagt Institut für Bauinformatik
etwas darüber aus, wie stark das eine Ereignis dem
[6] Martina Gruß, Harald Selke. „Über die
anderen „vorauseilt“ oder das andere
explizite Konstruktion von
„hinterherhinkt“. Je kleiner dieser Abstand, desto
Expandergraphen“. Diplomarbeit für den
synchroner beziehungsweise je größer der Abstand
integrierten Studiengang Mathematik im
ist, desto asynchroner sind die Ereignisse. Zwei
Rahmen des Hauptstudiums HS II, März
alternierende Ereignisse haben den
1992
Synchronieabstand von Eins. Ungefähr
gleichzeitig eintretende Ereignisse haben den [7] H. Boseck. „Einführung in die Theorie der
Abstand Zwei. Treten beide Ereignisse nie ein, linearen Vektorräume“. VEB Deutscher
haben sie einen Synchronieabstand von Null. Der Verlag der Wissenschaften, Berlin 1965
Synchronieabstand erfüllt die Eigenschaften einer
Metrik [1]. Anhang

2 Schlussfolgerungen
Petrinetze bieten eine Darstellung von Abläufen,
ohne dass Mehrdeutigkeiten bei der Interpretation
aufkommen. Durch die formale Definition werden
genaue mathematische Analysen und
Korrektheitsbeweise ermöglicht. Das Verstehen
von Abläufen und Entdecken von Denkfehlern
erfolgt durch die schrittweise Simulation.
Petrinetze werden für die Modellierung von in
Software stattfindenden Abläufen, die Darstellung
von geschäftslogischen Prozessen und allgemeinen
Vorgängen, denen nicht zwangsweise ein

-9-
- 10 -