Sie sind auf Seite 1von 10

Graphentheoretische Beschreibung spezielle Strukturen

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

Zusammenfassung. Abläufe wie beispielsweise Geschäftsvorgänge oder Computer-


Kommunikation 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. Solche Eigenschaften lassen sich mit Petrinetzen formal darstellen. Sie sind eine
Modellierungssprache, die für verschiedene Ebenen der Abstraktion verwendet wird.

Keywords: Strukturen, Sequenzen. unterhalb der Hauptdiagonalen befindet sind alle 1.


Die übrigen Elemente der Matrix sind Null:
1 Sequenzen 1 falls i  j  0

Eine Sequenz ist eine linear geordnete Folge von cij   1 falls i  j  1
zeitlich hintereinander schaltenden Transitionen. 0
Für Sequenzen existiert genau eine Schaltfolge.  sonst
Die Algorithmen arbeiten auf sogenannten
Sequenzen. Die Wurzel einer Sequenz ist der
Vorbereich der zuerst schaltenden Transition. s1 t1 s2 t2 s3 t3

Diese Transition ist unter der Startmakierung Abbildung 1. erste Form


immer aktiviert. In einer Sequenz lassen sich den
Transitionen Sequenzpunkte zuordnen. Es handelt Bei der in Abbildung 1 dargestellten ersten Form
sich hierbei um Punkte zwischen zwei unmittelbar
ist s1 die Wurzel. Und ausschliesslich der Wurzel
nacheinander schaltenden Transitionen.
sind hierbei alle Stellen die Sequenzpunkte:
P : T T  N
Zwischen derartige Transitionen einer Sequenz t i 1 g  gti  p(ti 1 , ti )  P
existiert immer ein Sequenzpunkt. siS , t iT
1 i  | S |
1.1 Erste Form
Die erste Form der Sequenzen ist eine Kette von 1.2 Zweite Form
Transitionen, dessen erstes Glied die aktivierte
Transition ist (Abbildung 1). Für diese Netze gilt: Die zweite Form der Sequenzen ist ein Netz
bestehend aus 4n Transitionen und 4n  1
x, y : gx gy  xg y g  x  y Stellen.
x : gx  1  xg  1  1 1 0 0 0 0 0 0 
 
 1 0 1 0 0 0 0 0 
Somit ist die erste Form der Sequenzen ein  1 1 1 0 0 0 0 0 
schlichtes Netz mit der zusätzlichen Eigenschaft,  
 0 1 0 1 0 0 0 0 
dass jeder Knoten höchstens einen Vorgänger und  0 0 1 1 0 0 0 0 
höchstens einen Nachfolger hat.  
 0 0 1 0 1 0 0 0 
 1 0 0 0 C   0 0 1 1 1 0 0 0 
   
 1 1 0 0  0 0 0 1 0 1 0 0 
C  0 1 O 0  0 0 0 0 1 1 0 0 
   
1  0 0 0 0 1 0 1 0 
0 0 O  
0 0 0 1   0 0 0 0 1 1 1 0 

0 0 0 0 0 1 0 O
Die Diagonalelemente der Inzidenzmatrix sind -1  
0 0 0 0 0 0 O O
und Elemente der Diagonalen, die sich genau

-1-
Hier lässt sich die Inzidenzmatrix nicht auf so Dann werden die gerichteten Kanten von N auf
einfache Art und Weise beschreiben wie die der die Kanten, welche in  N die gleiche Richtung
ersten Form, da Sequenzen der zweiten Form
komplexer sind. Es fällt jedoch auf, dass ähnlich haben abgebildet F  E :
der Inzidenzmatrix von der ersten Form nur die {( s, t ) | ( s, t )  F}  {(vs , vt ) | (vs , vt )  E, s,t  ¥ }
Elemente nahe der Diagonalen ungleich Null sind.
Solche Matrizen werden auch Sparse Matrizen {(t , s) | (t , s)  F }  {(vt , vs ) | (vt , vs )  E, s,t  ¥ }
genannt. Die Wurzel der in Abbildung 2 Der gerichtete Graph  N ist das nicht-bipartite
dargestellten zweiten Form ist s3 . Anders als bei Abbild des Netzgraphen N .
der ersten Form sind hier die Stellen zwischen den
Transitionen nicht Sequenzpunkte. Sequenzpunkte 2.1 Relation und Adjazenzmatrix
in der zweiten Form sind unter anderem
stellenberandete Teilnetze. Zum Beispiel ist das Wir geben uns zwei Mengen A und B vor, zum
aus s2 , s3 und t1 bestehende Teilnetz der Beispiel A  {a1 , a2 , a3} und B  {b1 , b2 } . Unter
Sequenzpunkt p(t2 , t3 )  P . dem Kreuzprodukt von A und B versteht man
die Menge aller geordneten Paare ( a, b) , wobei a
s2 s6 s10
t1 t3 t5 t7
aus A und b aus B stammt:
A  B  {(a, b) | a  A  b  B}
s1 s5 s9 s13 „Geordnet sein“ heißt, dass beispielsweise das
s3 s7 s11 Paar (b1 , a1 ) nicht Element von A  B sondern
B  A ist. Eine Teilmenge R  A  B heißt
t2 t4 t6 t7
s4 s8 s12
Relation zwischen A und B . Die n -te Potenz
einer Relation R  A  A , n  ¥ ist:
Abbildung 2. zweite Form
{(a, a) | a  A} falls n  0
R n   n 1
2 Nicht-bipartites Abbild vom R R sonst
Netzgraph Die transitive Hülle einer Relation R ist die
Sei N  ( S , T , F ) ein Netztgraph. Man kann N Relation R  :
auf einen gerichteten Graphen  N  (V , E ) , R   Ui¥ Ri
wobei V eine endliche Menge von Knoten und
Und die reflexive Hülle von R ist die Relation
E  V 2 eine binäre Relation ist, abbilden:
R  R 0  R .
A : N  N
Eine Relation R auf einer endlichen geordneten
Somit wird die Bipartitheit von N aufgehoben. Menge A  {a1 ,K , an } lässt sich durch eine
Jedes geordnete Paar (v1 , v2 )  E ist eine boolesche n  n -Matrix M R  (mij ) mit
gerichtete Kante, die von v1 nach v2 verläuft:
1 falls (ai , a j )  R
 (v1 , v2 )  (v2 , v1 )
mij  
0 sonst
( v1 ,v2 )E
darstellen. Zum Beispiel hat die
Relation
v1  v2
R  {(b, c), (b, d ), (c, a), (c, d ), ( d , d )} auf der
Die Abbildung A muss so gewählt sein, dass die Menge A  {a, b, c, d } die Matrixdarstellung
Kanteninformationen erhalten bleiben und das Bild
von N ist ein gerichteter Graph ist, welcher N 0 0 0 0
entpricht mit der Ausnahme, dass er nur noch  
0 0 1 1
Knoten eines Typs enthält. Wir bilden die Knoten MR   .
1 0 0 1
S , T  N auf die von  N ab, S  T  V :  
0 0 0 1
{s, t | s  S , t  T }  {v | v  V }
Die Matrix M R wird Adjazenzmatrix genannt. Ein
{s1 ,K , sm , t1 ,K , tn }  {v1 ,K , vn  m }
endlicher (gerichteter) Graph   (V , E ) mit einer
nichtleeren Kantenmenge E  {e1 ,K , en } und der

-2-
Knotenmenge V  {v1 ,K , vm } kann auch durch Die Zahl an der Stelle (i, j ) steht für die
eine Adjazenzmatrix M   (mij ) dargestellt Gesamtzahl der in  vorhandenen Pfade zwischen
den Knoten vi und v j . Anhand der
werden, weil E eine Relation ist:
Erreichbarkeitsmatrix kann einfach entschieden
1 falls (vi , v j )  E
mij   werden, welcher Knoten von allen anderen
0 sonst erreichbar ist und von welchem Knoten aus alle
anderen erreichbar sind. Der Knoten, der in seiner
Bei ungerichteten Graphen sind die Einträge der
Spalte nur Einträge grösser als Null hat, ist von
Adjazenzmatrix symmetrisch zur Hauptdiagonalen
allen erreichbar und der Knoten, der in seiner Zeile
mij  m ji oder M   M T .
nur Einträge hat, die grösser als Null sind, erreicht
i , j¥ alle anderen Knoten. Sei M k die k -te Potenz der
Adjazenzmatrix von  , sie beschreibt dann die
2.2 Valenz und Covalenz Adjazenzmatrix des Graphen (V , E k ) . Die
Sei   (V , E ) ein endlicher gerichteter Graph. Multiplikation der Potenzen
n
M n  (mij ) n   (mik ) n 1 (mkj )
Die Menge:
val (v)  {v  V | (v, v)  E}
k 1
heißt Valenz von v und die Menge:
coval (v)  {v  V | (v, v)  E} (mij ) n  1  vi  coval n (v j )
heißt Covalenz von v . Es gilt: hat folgende Interpretation für die Pfade in  : Es
 v, n0 gibt einen Pfad der Länge n von vi nach vk

coval (v)   coval (v),
n
n 1 genau dann, wenn es einen Pfad der Länge 1 von
 coval (coval n 1 (v)), n 1 vk nach v j gibt. Die Matrix M 2 hat an der Stelle

 (i, j ) einen von Null verschiedenen positiven
coval  (v)  Ucoval n (v) Eintrag, wenn es einen Pfad der Länge 2 zwischen
n 0
den jeweiligen Knoten in  gibt. Dieser Eintrag
steht für die Anzahl der Pfade der Länge 2
2.3 Pfade und Erreichbarkeitsmatrix zwischen den jeweiligen Knoten. Das gilt analog
Wir geben uns einen endlichen Graphen für die Matrix M 3 (Pfade der Länge 3) und M k
  (V , E ) vor. Sei M  seine Adjazenzmatrix. (Pfade der Länge k ). Seien M  , L Matritzen,
Eine Kante ist ein Pfad der Länge 1. Ein Pfad
die sich aus M  und L wie folgt ergeben:
zwischen zwei Knoten vi , v j V ist eine Folge
von Kanten (vi , vi1 ), (vi1 , vi2 ), (vi2 , vi3 ),K , (vik , v j ) , mij  sgn(mij ) , lij  sgn(lij )
die paarweise benachbart sind und somit beide Es gilt der Zusammenhang:
Knoten miteinander verbindet. Wir definieren eine 
Abbildung L  U M n
P : V  V  ¥  {0,1} , n 1

Und für einen endlichen Graphen  gilt zusätzlich


die aussagt, ob es einen Pfad der Länge n
zwischen zwei Knoten vi , v j V in  gibt mit: !n  ¥ M   M 2 K  M k  M n
k n
1 falls vi  coval n (v j )
P (vi , v j , n)  
0 sonst 3 Isomorphismus bei
Die Menge aller Pfade beliebiger Länge in  ist
Netzgraphen
die transitive Hülle E  von E . E  lässt sich Seien N1 , N 2 Netzgraphen und 1 ,  2 ihre
durch die Erreichbarkeitsmatrix L  (lij ) nicht-bipartiten Abbilder. Die zwei Netzgraphen
darstellen: N1 und N 2 sind isomorph, falls die
 Adjazenzmatrix von 1 durch gleichzeitiges
lij   P (vi , v j , k ) Vertauschen von i -ten Zeilen und i -ten Spalten in
k 0

-3-
die Adjazenzmatrix von  2 transformiert werden wandern in den Zwischenspeicher s3 , welcher
kann. eine Kapazität von sechs Einheiten hat. Der
Verbraucher benötigt für jeden Schritt in t3 je 3
3.1 Isomorphismus bei Stellen- Einheiten aus dem Speicher. Die Startmarkierung
Transitions-Systemen gibt an, dass es einen Erzeuger und einen
Zwei Stellen-Transitions-Systeme sind isomorph, Verbraucher gibt, und dass schon zwei Einheiten
wenn die Inzidenzmatrix des einen Systems durch im Speicher liegen.
Vertauschen von Zeilen und Spalten in die des s1 s5
zweiten Systems transformiert werden kann.
s3
3.1.1 Definition
t1 t2 t3 t4
Ein 6-Tupel Y  ( S , T , F , K ,W , M 0 ) heißt 2 3
6
Stellen-Transitions-System beziehungsweise S/T- s2 s4
System, falls
Erzeuger Speicher Verbraucher
- ( S , T , F ) ein Netzgraph ist
- K : S  ¥ 0  {} , die Kapazitäten der Abbildung 5. Beispiel eines Stellen-
Stellen eventuell unbeschränkt sind Transitions-Systems
- W : F  ¥ Kantengewicht ist 3.1.3 Markierungen und Schaltregeln
- M 0 : S  ¥ 0  {} Startmarkierung ist, Damit sich die Zustände ändern können,
beziehungsweise die Marken im Netz wandern,
wobei gilt: s  S : M 0 ( s )  K ( s )
werden Schaltregeln definiert. Eigentlich sieht es
Bei der grafischen Darstellung werden die nur so aus als würden die Marken wandern,
Zustände der Stellen dadurch ausgedrückt, indem vielmehr werden n Marken an einer Stelle
man die Anzahl der Marken einer Stelle M(s) als entnommen und m Marken einer anderen Stelle
Punkte in den Stellenkreis zeichnet. Die hinzugefügt. Der Eindruck des Wanderns entsteht
Kantengewichte werden an die Kanten nur für den Fall: n  m . Die Markierung des S/T-
geschrieben. Unbeschriftete Kanten haben ein Systems ist eine Abbildung
Gewicht von eins. Die Kapazitäten werden an die
Stellen geschrieben. Unbeschriftete Stellen haben
M : S  ¥ 0 mit s  S : M ( s )  K ( s ) .
eine Kapazität von unendlich. In einer Markierung M können Transitionen aktiv
oder inaktiv sein. Genauer gesagt heißt eine
3.1.2 Erzeuger-Verbraucher-Beispiel für ein Transition t  T aktiviert unter M , falls:
Stellen-Transitions-System
Das in Abbildung 5 gezeigte Stellen-Transitions-
- s  gt : M ( s )  W ( s, t ) , alle Stellen im
System lässt sich formal wie folgt beschreiben: Vorbereich der Transition besitzen
genügend Marken
S  {s1 , s2 , s3, s4 , s5}
- s  t g : M ( s )  K ( s)  W ( s, t ) , in allen
T  {t1 , t2 , t3,t4 } Stellen im Nachbereich der Transition ist
F  {(t1 , s1 ), ( s1 , t2 ), (t2 , s2 ), ( s2 , t1 ), (t2 , s3 ),K ausreichend Platz für Marken
K ( s3 , t3 ), (t3 , s4 ), ( s4 , t4 ), (t4 , s5 ), ( s5 , t3 )} Ist eine Transition t aktiviert, so können aus dem
Vorbereich die entsprechenden Marken
K  {( s1 , ), ( s2 , ), ( s3 , 6), ( s4 , ), ( s5 , )} entnommen und in den Nachbereich eingefügt
werden. So entsteht aus einer Markierung M eine
W  {((t1 , s1 ),1), (( s1 , t2 ),1), ((t2 , s2 ),1), (( s2 , t1 ),1), K
neue Folgemarkierung M  . Wir sagen dann, t
K ((t2 , s3 ), 2), (( s3 , t3 ),3), ((t3 , s4 ),1),K schaltet von M nach M  .
K (( s4 , t4 ),1), ((t4 , s5 ),1), (( s5 , t3 ),1)}  M ( s )  W ( s, t ) falls s gt , s  t g
M 0  {( s1 ,1), ( s2 , 0), ( s3 , 2), ( s4 , 0), ( s5 ,1)}  M ( s)  W (t , s) falls s  t g, s gt

M ( s, t )  
Dieses Erzeuger-Verbraucher-System hat einen  M ( s)  W ( s, t )  W (t , s) falls s  t ggt
begrenzten Zwischenspeicher. In der Transition t2  M ( s) sonst
findet der eigentliche Produktionsschritt statt, Diese Aktivierungsbedingungen sowie die
wobei zwei Einheiten produziert werden. Diese Definition der Folgemarkierung wird als
Schaltregel bezeichnet. In dem Erzeuger-

-4-
Verbraucher-Beispiel aus Abbildung 5 ist die b gilt, dass genau einer der beiden Bedingungen
Transition t3 genau dann aktiviert, wenn im markiert ist (Abbildung 16).
Speicher s3 mindestens drei Marken sind, und die
Stelle s5 markiert ist. Da die Stelle s4 im
Nachbereich 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 15. vervollständigte und
falls höchstens vier Marken in s3 liegen.
widerspruchsfreie B/E-System
3.1.4 Bedingungs-Ereignis-Systeme
3.1.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
sie gelten oder sie gelten nicht. Bedingungen
ihrerseits wiederum Folgemarkierungen haben
können Aussagen über beliebig komplexe Systeme
können. Eine solche Kette von möglichen
sein und aufgrund von Ereignissen wahr werden
Folgemarkierungen nennen wir Schaltfolge, deren
oder ihre Gültigkeit verlieren. Ereignisse
benötigen bestimmte Vorraussetzungen, also erste Markierung immer die Startmarkierung M 0
erfüllte Vorbedingungen, und führen meist zu ist. Formal können wir eine Schaltfolge als Tupel
vorher nicht erfüllten Nachbedingungen. Ein hintereinander schaltender Transitionen schreiben:
Bedingungs-Ereignis-System ist ein S/T-System f  (t2 , t1 , t1 , t5 , t3 K ) .
Y  (S , T , F , K ,W , M 0 ) Der Häufigkeitsvektor h  (h1 , h2 ,K , hn )
mit schlingenfreiem, schlichten Netz beschreibt für eine Schaltfolge f die Anzahl der
N  ( S , T , F ) , K  1 und W  1 .
Schaltungen pro Transition, wobei hi die Anzahl
Eine Stelle kann also nur eine Marke aufnehmen
und ist dann belegt. Stellen werden Bedingungen der Vorkommnisse der Transition ti in der
genannt und die Transitionen entsprechen den Schaltfolge f angibt. Zu einem Häufigkeitsvektor
Ereignissen. Alle Kantengewichte sind Eins. So
können mehrere Schaltfolgen existieren. Aber
reduziert sich ein Bedingungs-Ereignis-System auf
allen Permutationen einer Schaltfolge ist genau ein
4-Tupel:
Häufigkeitsvektor zugeordnet. So ist (2, 2, 2,1)
( B, E , F , M 0 ) .
Häufigkeitsvektor für folgende zwei Schaltfolgen
In diesem Kontext wird eine Markierung auch als des Erzeuger-Verbraucher-Systems aus Abbildung
Fall bezeichnet. Ein B/E-System ist leichter zu 5:
verstehen als ein S/T-System, da nur endlich viele
f1  (t2 , t1 , t2 , t3 , t4 , t3 , t1 )
Fälle existen.
f 2  (t2 , t1 , t2 , t3 , t4 , t1 , t3 )
3.1.5 Vollständigkeit und Widerspruchs- Sei Y ein Stellen-Transitions-System mit einer
freiheit
Startmarkierung M 0 . Eine Markierung
Da in einem B/E-System die Stellen nur zwei
Zustände haben können, ist es einfach, für eine M  ( si , k )  S  ¥ i  1, 2,K , n
Bedingung ein Komplement also Gegenteil zu lässt sich auch als Vektor m darstellen, dessen i -
definieren. Es gilt folgender Satz: Eine Bedingung
te Komponente die Markenzahl der Stelle si ist:
b  B eines B/E-Systems heisst Komplement
b der Bedingung b  B , falls m  ( M ( s1 ), M ( s2 ),K , M ( sn )) .
gb  bg und gb  bg. Für eine erreichbare Markierung m und ein
Der Vorbereich einer Bedingung ist jeweils der Häufigkeitsvektor h gilt:
Nachbereich ihres Komplements und umgekehrt. m  m0  C T  h
Ergänzt man ein vorhandenes B/E-System um
nicht vorhandene Komplemente für alle Hierbei ist C die Inzidenzmatrix und m0 die als
Bedingungen, spricht man von Vervollständigung. Vektor dargestellte Startmarkierung von Y . Der
Ein System heißt widerspruchsfrei, falls in allem Schaltfolge f  (t2 , t1 , t2 , t3 ) des Erzeuger-
möglichen Fällen für alle möglichen Paare b und
Verbraucher-Systems ist der Häufigkeitsvektor

-5-
(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 gefundene Markierung wird in die Erreichbarkeits-
Verwendung der Gleichung: menge aufgenommen bis alle Folgemarkierungen
 1 1 0 0 0  in dieser Erreichbarkeitsmenge vorhanden sind.
 1 1 2 0 0  Würde man mittels Tiefensuche nach den
(0,1,3,1, 0)  (1, 0, 2, 0,1)     (1, 2,1, 0)
 0 0 3 1 1 Markierungen suchen, könnte es passieren das
  nicht alle Markierungen gefunden werden. Die
 0 0 0 1 1
Größe der Erreichbarkeitsmenge hängt weniger
3.1.7 Erreichbarkeit von der Anzahl der Kanten und Knoten ab, als von
den Stellenkapazitäten und Kantengewichten.
Alle Markierungen einer Schaltfolge sind
Erreichbarkeitsmengen von B/E-Systemen lassen
erreichbare Markierungen dieses Systems. Und die
sich naturgemäß schneller berechnen, da jeweils
Menge aller erreichbarer Markierungen aller
Kapazität und Kantengewicht nicht grösser als
möglichen Schaltfolgen ist die Erreichbarkeits-
Eins sind.
menge eines Systems. Die Erreichbarkeitsmenge
kann, sobald unendliche Kapazitäten existieren, 3.1.8 Inzidenzmatrix und Adjazenzmatrix
unendlich groß werden. Das muss sie aber nicht,
Für bestimmte Analysezwecke ist es wichtig von
wir sehen es im Beispiel aus Abbildung 7.
Stellen-Transitions-Systemen eine Inzidenzmatrix
zu erstellen. Zum Beispiel lassen sich dann
Invarianten berechnen. Inzidenzmatrixen haben für
s1 t1 s2 t2 s3 jede Transition eine Spalte und für jede Stelle eine
Abbildung 7. System mit endlicher Zeile. Die Felder der Matrix werden wie folgt
Erreichbarkeitsmenge bestimmt:
cij  W (t j , si )  W ( si , t j )
Sei Startmarkierung M 0  {( s1 , 2), ( s2 , 0), ( s3 , 0)} Sollte ein Kantengewicht nicht definiert sein, da
und man berechnet alle weiteren möglichen die entsprechende Kante in dem jeweiligen S/T-
Markierungen, dann ergibt sich folgende System nicht existiert, wird der Wert Null für
Erreichbarkeitsmenge: dieses Kantengewicht gewählt. Der Wert von cij
M 0  {( s1 , 2), ( s2 , 0), ( s3 , 0)}
drückt aus, wieviel Marken beim Schalten von t j
M1  {( s1 ,1), ( s2 ,1), ( s3 , 0)}
der Stelle si hinzugefügt oder abgezogen werden.
M 2  {( s1 , 0), ( s2 , 2), ( s3 , 0)}
Bei positiven cij werden Marken hinzugefügt, bei
M 3  {( s1 ,1), ( s2 , 0), ( s3 ,1)}
M 4  {( s1 , 0), ( s2 ,1), ( s3 ,1)} negativen cij werden sie der Stelle abgezogen.
M 5  {( s1 , 0), ( s2 , 0), ( s3 , 2)} Folgende Matrix ist die Inzidenzmatrix für das
Erzeuger-Verbraucher Beispiel
Um den Zusammenhang zwischen den
Markierungen zu verdeutlichen, benutzt man einen  1 1 0 0 
 
 1 1 0 0 
gerichteten Erreichbarkeitsgraphen, der als Knoten
die Markierungen trägt und als Kanten zwischen
den Markierungen die schaltenden Transitionen. C   0 2 3 0 
 
Zu dem S/T-System aus Abbildung 7 gehört der in  0 0 1 1
Abbildung 8 dargestellte Erreichbarkeitsgraph.  0 0 1 1 
 
t1 M2 t2
Sei C  eine Matrix, die lediglich angibt, zwischen
M0
t1
M1 M4
t2
M5
welchen Knoten eine Kante existiert:
t2 M3 t1 cij  sgn(cij )
Abbildung 8. Erreichbarkeitsgraph Alle Einträge der Matrix C  sind dann nur
Elemente aus der Menge {1, 0,1} . Die
Ein Pfad im Erreichbarkeitsgraphen von M 0 Adjazenzmatrix eines bipartiten Graphen lässt sich
aus entspricht einer Schaltfolge. Die durch die Inzidenzmatrix darstellen, wenn wir die
Knoten so anordnen, dass zunächst nur Knoten
Berechnung einer Erreichbarkeitsmenge lässt sich

-6-
vom einen Typ und dann die des anderen Typs Diese Stellenmengen nennen wir S-Invarianten.
stehen. Die Adjazenzmatrix A ist dann eine Ein Beispiel dafür ist die Stellenmenge {s1 , s2 , s3}
(n  n) -Matrix, wobei n die Summe aus der in Abbildung 6 links.
Zeilenanzahl und Spaltenanzahl von C ist. Sie s4 s1 s5 s4 s1 s5
nimmt folgende Gestalt an:
 0 C
A T . t1 t2 t1 t2
C 0 3 2

0 bezeichnet hierbei eine Matrix geeigneter s3 s2 s3


3 2
s2

Dimension, die nur aus Nullen besteht. Die


folgende Matrix ist die Adjazenzmatrix für das in t3 t3
Abbildung 5 dargestellte Erzeuger-Verbraucher-
Abbildung 6. Stellen-Invariante bei Zyklus in
System.
0 0 0 0 0 1 1 0 0
S/T-Systemen
  Bei S/T-Systemen mit gewichtetet Kanten ist ein
0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 2 3 0  Zyklus kein hinreichender Beweis für die Existenz
  einer Stellen-Invariante. Hier kann sich die
0 0 0 0 0 0 0 1 1 
A 0 0 0 0 0 0 0 1 1  Markenzahl auch innerhalb eines Zyklus durch
  unterschiedliche Kantengewichte ändern. Nun soll
 1 1 0 0 0 0 0 0 0
 1 1 2 0 0 0 0 0 0
für die gewichtete Version des Netzes der rechten
  Seite von Abbildung 6 gelten:
 0 0 3 1 1 0 0 0 0
0 0 0 1 1 0 0 
6  M ( s1 )  3  M ( s2 )  2  M ( s3 )  6 .
 0 0
Die Summe der mit konstanten Faktoren
Weiterhin sei G ein Graph und A seine multiplizierten Markenzahl soll für jede
Adjazenzmatrix mit den Eigenwerten Markierung genau 6 betragen. Diese Summe lässt
1  K  n . Dann nennen wir 1  K  n auch sich auch als Skalarprodukt des Vektors m mit
Eigenwerte des Graphen G. Sei A eine Matrix, einem anderen Vektor x schreiben:
die sich aus der Adjazensmatrix A ergibt, ähnlich x  (6,3, 2, 0, 0) , x  m  6
definiert wie C  : Im folgenden soll geprüft werden, ob dies für alle
aij  sgn(aij ) erreichbaren Markierungen m gilt. Wir wissen:
so sind auch alle Einträge der Matrix A nur aus m  m 0 C T  h
der Menge {1, 0,1} . Multipliziert man diese Gleichung mit dem Vektor
x , so erhält man
 0 C 
A   T  x  m  x  m 0  x  CT  h
 C 0 Wenn x  C T  0 ist, erhält man die gewünschte
Kantengewichte bleiben in den Matrizen C  und Bedingung x  m  x  m0 für alle erreichbaren
A unberücksichtigt. Für Bedingungs-Ereignis- Markierungen m . In diesem Zusammenhang
Systeme gilt:
definieren wir die S-Invariante: Ein Vektor
C   C beziehungsweise A  A ,
denn dort sind die Kantengewichte jeweils Eins. x  ¢ n , x  0 heisst S-Invariante genau dann
wenn x  C T  0 . S-Invarianten sind also definiert
3.1.9 Invarianten als die Lösungen eines linearen Gleichungssystems
Die Erstellung von Invarianten kommt aus dem mit der Inzidenzmatrix C . Sie beschreiben eine
Bereich der linear-algebraischen Netzanalyse. Hier Menge von Stellen, deren Gesamtmarkenzahl
geht es um die Frage, existieren im Netz immer innerhalb fester Grenzen bleibt, nie null
Teilmengen von Stellen, deren Gesamtsumme an oder unendlich gross wird. Die triviale Lösung, der
Marken stets konstant bleibt? Diese Frage ist zum Nullvektor ist keine gültige Invariante. Für ein
Beispiel wichtig, wenn man ein System S/T-System werden im allgemeinen nur die
modellieren will, in dem nichts „verloren“ gehen erzeugenden S-Invarianten also die Basis des
darf. Bei S/T-Systemen, die als Kantengewichte Lösungsraumes angegeben. Die
nur Eins zulassen, bilden alle zu einem Zyklus Linearkombination von S-Invarianten ergibt
gehörenden Stellen eine solche Menge. Hier wird wiederum eine S-Invariante. Für das Beispiel in
die Markenanzahl durch unterschiedliche Abbildung 6 ist die Matrixschreibweise:
Kantengewichte weder erhöht noch verringert.

-7-
 6  0 Die Transitionenmenge {t1 , t2 , t3} ist nebenläufig
   
 1 0 3 1 0   3   0  aktiviert, denn (t1 , t2 , t3 ) , (t1 , t3 , t2 ) , (t2 , t1 , t3 ) und
     
 1 2 0 0 1   2    0 
so weiter sind zulässige Schaltfolgen. In allen
 0 2 3 0 0  0 Fällen ist die entstehende Markierung identisch.
     0
 0  0
    3.1.12 Konflikt und Kontakt
Entsprechend den S-Invarianten kann man auch T- Wenn mehrere Transitionen aktiviert sind und sich
Invarianten für Transitionen berechnen, nur wird ihre Vorbereiche überschneiden, aber in diesem
hier die Inzidenzmatrix für das lineare Vorbereich nicht genug Marken vorhanden sind,
Gleichungssystem nicht transponiert: Cy  0 . um alle aktivierten Transitionen zu schalten,
stehen diese im Konflikt zueinander. Transitionen
3.1.10 Kausalität stehen also im Konflikt, wenn sie gleichzeitig, aber
nicht nebenläufig aktiviert sind. Es ist dann nicht
Für das Eintreten von Ereignissen wird zwischen
festgelegt welche dieser Transitionen schaltet. Hier
notwendigen und hinreichenden Voraussetzungen
liegt ein lokaler Nichtdeterminismus vor. Im
unterschieden.
Beispiel aus Abbildung 15 (links) haben die zwei
im Verzweigungskonflikt stehenden Transitionen
t1 und t2 eine gemeinsame Eingangsstelle. Wegen
t1 t2
Markenmangel deaktiviert das Schalten von t1 die
t3 Transition t2 . In Abbildung 15 (mitte) stehen die
t5
t4 beiden Transitionen im regulierten Konflikt durch
Entscheidungsregel. Ein Markenüberschuss kann
Abbildung 12. den sogenannten Wettbewerbskonflikt hervorrufen
wie in Abbildung 15 (rechts). Man bezeichnet
Im oberen Beispiel von Abbildung 12 ist das diesen auch als Kontakt. Kontakt kommt dann vor,
Schalten der Transition t1 notwendig für das wenn im Nachbereich mehrerer Transitionen
Schalten der Transition t2 . Im Gegensatz dazu ist gemeinsame, kapazitäts-beschränkte Stellen
liegen.
das Schalten im unteren Beispiel der Transitionen
t3 oder t4 hinreichend für das Schalten von t5 .
Kausalität ist ... t1 t2 t1 t2 t1 t2

3.1.11 Nebenläufigkeit 1

Sind in einer Markierung mehrere Transitionen


aktiviert, ist die Reihenfolge, wie sie schalten nicht Abbildung 14. im Konflikt stehende
vorgegeben. Wenn sich diese Transitionen durch Transitionen
ihr Schalten nicht beeinflussen also aktivieren oder
Um das unvorhersehbare Ausgehen solcher
deaktivieren, ist das Ergebnis unabhängig der
Konflikte zu lösen, kann man konfliktlösende
Schaltfolge immer gleich. Es besteht weder eine
Elemente dem Netz hinzufügen, indem man die
notwendige, noch eine hinreichende Kausalität
Vorbereiche der im Konflikt stehenden
zwischen ihnen. Eine Transitionenmenge ist
Transitionen so erweitert, dass nicht mehr alle
nebenläufig aktiviert, wenn jede Transitionsfolge
beteiligten Transitionen aktiviert werden.
eine zulässige Schaltfolge ist. Man kann die
Transitionen dann gleichzeitig schalten. 3.1.13 Sicherheit und Beschränktheit
Formal wird Sicherheit folgendermaßen definiert:
t1 Es sei
t2
Y  (S , T , F , K ,W , M 0 )
ein S/T-System und
t3
B : S  ¥ 0  {}
Abbildung 13. nebenläufig aktivierte eine Abbildung, die jeder Stelle eine kritischen
Transitionen Markenzahl zuordnet. Weiterhin sei
{M 1 , M 2 ,K , M k } die Menge aller von M 0 aus

-8-
erreichbaren Markierungen. Das System heißt - Es heißt lebendig oder stark lebendig,
dann B-sicher, falls gilt: wenn alle Transitionen lebendig sind, also
 M i ( s)  B( s) . alle Transitionen immer wieder aktiviert
werden können.
1i  k
sS - Das System ist tot, wenn keine Transition
Eine Stelle heisst beschränkt, wenn die aktiviert ist.
Markenzahl auf ihr nie eine kritischen Grenze Eine tote Markierung wird auch Deadlock genannt.
übersteigt. Gilt für alle Stellen dieselbe Grenze n , In nebenläufigen Systemen blockieren sich
spricht man von n -sicher. Also sind alle Stellen Prozesse gegenseitig, indem sie aufeinander
eines n -sicheren Systems beschränkt. Bei sicheren warten. Ein klassisches Beispiel dafür sind 4 Autos
Systemen wurde der Vor- und Nachbereich der an einer Kreuzung ohne Ampel. Eigenschaften
Stellen korrekt modelliert und die Kapazität kann über die Lebendigkeit eines Systems lassen sich
nie überschritten werden. Das System heisst am Erreichbarkeitsgraphen zeigen. Im
beschränkt, falls ein n existiert, so dass das Erreichbarkeitsgraphen eines stark lebendigen S/T-
System n -sicher ist. Der zu einem beschränkten Systems ist jede Transition mit mindestens einer
Kante vertreten. Und eine tote Markierung hat im
System gehörende Erreichbarkeitsgraph ist
Erreichbarkeitsgraphen keine abgehenden Kanten.
endlich. Und die Sicherheit ist in endlicher Zeit
berechenbar, falls die Erreichbarkeitsmenge 3.1.15 Synchronie
endlich ist. Man braucht nur für jede Markierung
überprüfen, ob alle Stellen unterhalb der kritischen Synchronieaussagen enthalten Information
Grenze liegen. Bei unendlichen darüber, wie oft Ereignisse in Abhängigkeit
Erreichbarkeitsmengen wissen wir, dass sie nicht anderer Ereignisse eintreten. Zum Beispiel kann
n -sicher seien können. Wäre die Markenzahl an man zeigen, wie abhängig zwei Transitionen t1 , t2
allen Stellen immer kleiner n , kann es nur endlich voneinander sind. Dazu überprüft man jede aller
viele Markierungen geben. Diese Idee der möglichen Schaltfolgen, wie häufig die jeweilige
Überprüfung von Stellen lässt sich auch auf Transition geschaltet wurde. Für jede Schaltfolge
Transitionen übertragen. Möchte man zum kann man dann die Differenz der beiden Werte
Beispiel wissen, ob eine Transition nicht häufiger bilden. Das Supremum aller Differenzen heißt
als n -mal schaltet, wird diese Transition auf ihre Synchronieabstand. Der Synchronieabstand sagt
n-Sicherheit überprüft. Die Sicherheit einer etwas darüber aus, wie stark das eine Ereignis dem
Transition kann man über eine extra eingefügte anderen „vorauseilt“ oder das andere
Beobachtungsstelle erreichen, die unendliche „hinterherhinkt“. Je kleiner dieser Abstand, desto
Kapazität hat und bei jedem Schalten der synchroner beziehungsweise je grösser der
Transition eine Marke dazu erhält (Abbildung 13). Abstand ist, desto asynchroner sind die Ereignisse.
s Zwei alternierende Ereignisse haben den
Synchronabstand von Eins. Ungefähr gleichzeitig
eintretende Ereignisse haben den Abstand Zwei.
Treten beide Ereignisse nie ein, haben sie einen
t
Synchronieabstand von Null. Diese Definition des
Abbildung 13. Transition t wird durch Synchronieabstands erfüllt die Eigenschaften einer
zusätzliche Stelle s überprüft Metrik.

3.1.14 Lebendigkeit 4 Sequenzdiagramm


Eine Transition t eines S/T-Systems heißt tot, falls
sie unter keiner erreichbaren Markierungen 4.1 Sequenzgraph
aktiviert ist. Sie heißt aktivierbar, falls sie
mindestens unter einer Markierung aktiviert ist, 4.1.1 Definition
und schließlich ist sie lebendig, wenn für jede Ein Sequenzgraph ist ein Tupel G  (O, A, C ) .
Markierung gilt, dass diese Transition in
mindestens einer Folgemarkierung wieder Die Elemente der Menge O sind die an der
aktivierbar ist. Diese Begriffe werden nun für das Sequenz beteiligten Objekte. Elemente der Menge
ganze S/T-System definiert: A sind Aktivitäten definiert durch das Produkt
- Ein S/T-System heißt schwach lebendig A  O  ¥ . Jede Aktivität ist genau einem Objekt
oder deadlockfrei falls unter jeder zugeordnet. Die natürliche Zahl gibt an, in welcher
erreichbaren Markierung mindestens eine Reihenfolge die Aktivität durch ein anderes Objekt
Transition aktiviert ist. direkt oder indirekt hervorgerufen wurde. C ist

-9-
die Aufrufrelation zwischen Aktivitäten
C  A A .

4.1.2 Nächste Sektion


In Erweiterung dieses Sachverhalts nennt man
die ...

5 Schlussfolgerungen
High-Level Petrinetze bieten eine kompakte
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...

Literatur
[1] I.N.Bronstein, K.A.Semendjajew.
Taschenbuch der Mathematik, 24. Auflage,
1989
[2] Kleine Enzyklopädie Mathematik, 10., völlig
überarbeitete Auflage 1977
[3] Dipl.-Math. Martin Möller: Modulräume
irregulär gefaserter Flächen. Dissertation
zur Erlangung des akademischen Grades
eines Doktors der Naturwissenschaften,2002
[4] Michael Bender, Manfred Brill.
Computergrafik. Ein anwendungs-
orientiertes Lehrbuch.
[5] Marc Alexa, Diskrete Geometrische
Modellierung. TU Darmstadt. Slides, 2003.
[6] Hoschek/Lasser. Grundlagen der
geometrischen Datenverarbeitung. Teubner
Stuttgart 1992.

Anhang

- 10 -