Sie sind auf Seite 1von 14

Farbige Stochastische Petri-Netze und ihr Einsatz

in der Wirtschaft
Sascha Bosse
7. November 2007

1
Inhaltsverzeichnis
1. Zusammenfassung
2. Einleitung
3. Grundlagen
i) Graphentheorie
ii) Stochastik

4. Petri-Netze
i) Woher und Warum
ii) Beschreibung
iii) Mathematische Definition
iv) Begriffe
v) Die Netze werden komplexer

5. Stochastische Petri-Netze
6. Farbige Stochastische Petri-Netze
7. Petri-Netze in der Wirtschaft
i) Kommunikationsprotokoll
ii) Hardwarechip
iii) Elektronischer Geldtransfer
iv) Erkenntnisse

8. Schlussfolgerungen
9. Quellen

2
1 Zusammenfassung
Aufgrund ökonomischer Erwägungen ist es heute unumgänglich, wirtschaftliche
Prozesse zu simulieren, um so Rückschlüsse auf das tatsächliche Verhalten eines
Systems zu ziehen. So wurden Sprachen wie zum Beispiel die Unified Model-
ling Language (UML), Ereignisgesteuerte Prozessketten (EPK) und Petri-Netze
entwickelt.
Diese Arbeit empfiehlt Petri-Netze, aufgrund ihrer einfachen Notation und Ana-
lysierbarkeit, für diese Aufgaben. Dazu werden zunächst Petri-Netze beschrie-
ben. Danach werden die heute in der Wirtschaft angewandten Ausprägungen,
die Stochastischen Petri-Netze (SPN) und die Farbigen Stochastischen Petri-
Netze (CSPN), beleuchtet. Um die Vorteile dieser Netze herauszustellen, werden
Beispiele aus der Wirtschaft analysiert.

2 Einleitung
In den 60er Jahren des vergangenen Jahrhunderts wurde die zunächst über-
schwängliche Euphorie der Softwarepioniere abrupt ins Gegenteil verkehrt. Erst-
mals wurde Softwareentwicklung teurer als die Entwicklung der Hardware. Große
Softwareprojekte verfehlten die Erwartungen bei weitem und scheiterten.
Für diese Krise gab es mehrere Gründe. Ein wichtiger Punkt war und ist dabei
die Komplexität und Korrektheit der Software, eher Probleme der theoreti-
schen Informatik. Ein weiterer Aspekt der Krise war die fehlende Qualität und
die schwierige bis unmögliche Wartung der Systeme. Man erkannte nun, dass
es notwendig ist, Software systematisch zu entwerfen und zu entwickeln. Als
dieselben Probleme in allen Bereichen der Wirtschaft auftraten, wurde das Mo-
dellieren von Prozessen unentbehrlich für ambitionierte Firmen. So entstanden
unter anderem Petri-Netze.
Diese Netze, bei denen Bedingungen (Stellen) Ereignisse (Transitionen) pro-
vozieren, wurden besonders bedeutsam, weil ihr mathematisches Fundament
erlaubte, sie auch mit mathematischen Algorithmen zu untersuchen. Aufgrund
ihrer relativen Einfachheit wurden Petri-Netze jedoch bald weiterentwickelt; so
entstanden zahlreiche Ausprägungen, die noch komplexere Abläufe darstellen
konnten. Diese Arbeit konzentriert sich dabei auf die farbigen stochastischen
Petri-Netze, eine Weiterentwicklung der einfachen Petri-Netze, wo mehrere ähn-
liche Prozesse in einem Modell vereint werden (farbig) und Transitionen nicht
immer sofort und unbedingt schalten (stochastisch). Diese speziellen Netze ha-
ben vor allem in der Wirtschaft Anwendung gefunden, wo sie komplexe Vorgänge
erfolgreich beschreiben.
So konnte dieser Aspekt der Softwarekrise erfolgreich gelöst werden.

3 Grundlagen
Um dieses Teilgebiet der Modellierung besser zu verstehen, ist es hilfreich, vorher
einige Grundlagen einzuführen. Hierbei handelt es sich um kurze Einblicke in

3
die Graphentheorie und die Stochastik.

3.1 Graphentheorie
Ein Graph ist ein Gebilde aus Knoten und Kanten, die miteinander verbunden
sind (Bild 1). Obwohl sie grafisch dargestellt werden, sind Graphen eigentlich
nur mathematische Paare, bei denen eine Menge die Knoten und eine die Kanten
repräsentiert. Letztere Menge besteht aus ungeordneten Paaren von Knoten.
Die hier wichtigen Ausprägungen der Graphentheorie sind die gerichteten und
die bipartiten Graphen. Ein gerichteter Graph bezeichnet dabei einen Graphen,
bei dem die Menge der Kanten nur geordnete Paare enthält (Bild 2). Bipartit
heißt ein Graph, wenn die Menge der Knoten aus 2 verschiedenen Knotenarten
besteht, bei denen gleiche Knoten nicht verbunden werden dürfen (Bild 3).

Abbildung 1: ein Graph

Abbildung 2: ein gerichteter Graph

4
Abbildung 3: ein bipartiter Graph

Abbildung 4: Exponentialverteilte Dichtefunktion

3.2 Stochastik
Die Stochastik, (griech. Kunst des Mutmaßens) ist eine Teildisziplin der Ma-
thematik, die sich mit Häufigkeit und Wahrscheinlichkeit beschäftigt. Hierbei
werden alle Vorgänge untersucht, deren Ausgang nicht deterministisch ist, dass
heißt ihr Ergebnis kann nicht sicher vorausgesagt werden.
Für uns wichtig sind hierbei folgende Aspekte:
- Die Wahrscheinlichkeit aller Ausgänge zusammen ist 1
- Das unmögliche Ereignis hat die Wahrscheinlichkeit 0
⇒ alle Ereignisse haben eine Wahrscheinlichkeit zwischen 0 und 1

- Die Wahrscheinlichkeiten, dass ein Ereignis eintritt, und, dass es nicht

5
eintritt, sind zusammen 1
- Ein Zufallsereignis heißt exponentialverteilt, wenn die Dichtefunktion eine
exponentiale Kurve ist (siehe Bild 4, abhängig vom Parameter λ. Dabei ist
interessant, dass die Wahrscheinlichkeit hier zeitlos ist. Zum Beispiel ist
die Dauer eines Telefongespräches so verteilt. So ist die Wahrscheinlich-
keit, dass ein schon vierminütiges Gespräch noch zwei Minuten dauert,
genauso groß wie die Wahrscheinlichkeit, dass ein Gespräch überhaupt
zwei Minuten dauert.

4 Petri-Netze
4.1 Woher und Warum
1961 veröffentlichte Carl-Adam Petri seine Dissertation ’Kommunikation mit
Automaten’. In ihm entwickelt und empfiehlt er die Petri-Netze als Sprache zur
Simulation nebenläufiger Prozesse. Diese Sprache wurde in den Folgejahren von
zahlreichen Theoretikern erweitert und von Praktikern angewandt.
Petri-Netze sind aufgrund ihrer einfachen grafischen Notation sehr einfach zu
verstehen. Trotzdem werden sie komplett von einer mathematischen Definition
beschrieben. Dieser vermeintliche Gegensatz ist der größte Vorteil dieser Net-
ze: Der Modellierer kann einfach ein Netz grafisch zusammenstellen, welches
der Kunde trotz fehlender Vorkenntnisse sich einfach aneignen kann. Ist das
Modell fertig, können komplizierte mathematische Algorithmen über das Netz
angewandt werden, um so wichtige Eigenschaften zu ermitteln.

Abbildung 5: einfaches Petri-Netz

6
4.2 Beschreibung
Ein Petri-Netz ist ein gerichteter bipartiter Graph, bestehend aus Stellen und
Transitionen. Stellen können markiert oder unmarkiert sein. Eine Transition
schaltet (feuert), wenn alle Stellen in ihrem Vorbereich markiert und alle Stel-
len im Nachbereich unmarkiert sind. Dabei werden alle Marken im Vorbereich
verbraucht und alle Stellen im Nachbereich markiert.
Bild 5 stellt ein einfaches Petri-Netz dar. Sind Bestellungen vorhanden, werden
diese bearbeitet und der entsprechende Artikel zugeschickt. Die Transitionen an
Anfang und Ende wirken hierbei als Erzeuger und Vernichter.

4.3 Mathematische Definition


Ein Petri-Netz ist ein 6-Tupel (S, T, F, K, M0 , W )

S ist die Menge der Stellen {s0 , s1 , s2 , ..., sn }


T ist die Menge der Transitionen {t0 , t1 , t2 , ..., tm }
F ⊆ (S × T ) ∪ (T × S) ist die Menge der Verbindungen
K : S → N ∪ ∞ ist die Kapazitätsfunktion
M0 : S → N0 ist die Anfangsmarkierung
W : F → N ist die Gewichtsfunktion

S und T sind disjunkt. S,T und F endliche und nicht-leere Mengen. K, M0


und W sind totale Funktionen.
Nun können wir den Schaltvorgang genauer beschreiben. Eine Transition schal-
tet genau dann, wenn alle Stellen aus ihrem Vorbereich(◦t) entsprechend der Ge-
wichtsfunktion ihrer ausgehenden Kante markiert sind, und im Nachbereich(t◦)
alle Stellen noch genug Kapazität haben, um entsprechend der Gewichtsfunktion
ihrer eingehenden Kante Markierungen aufzunehmen.

∀s ∈ ◦t gilt : W (s, t) ≤ M (s) ∧ ∀s ∈ t ◦ gilt : W (t, s) ≤ K(s) − M (s)

4.4 Begriffe
i) Kontakt
Eine Kontaktsituation liegt vor, wenn eine Transition trotz erfüllter Vor-
bedingungen nicht schalten kann, weil im Nachbereich die Kapazitäten
erschöpft sind (Bild 6).
ii) Konflikt
Ein Konflikt entsteht, wenn 2 Transitionen gemeinsame Vorbedingungen
haben und nur alternativ schalten können. Dieser wird gleichverteilt auf-
gelöst (Bild 7).
iii) Konfusion
Entscheidet die Reihenfolge der Schaltungen darüber, ob ein Konflikt ent-
steht oder nicht, liegt eine Konfusion vor.

7
iv) Lebendigkeit
Eine Transition heißt tot, wenn sie unter keiner Folgemarkierung M schal-
ten kann. Sie heißt lebendig, wenn sie unter jeder Folgemarkierung M nicht
tot ist. Ein Petri-Netz heißt lebendig, wenn jede Transition unter der An-
fangsmarkierung lebendig ist. Ein Prozess sollte immer lebendig sein.
v) Deadlocks und Traps
Existiert eine Stelle, die, wenn sie einmal alle ihre Marken verloren hat,
unter keiner Folgemarkierung mehr markiert sein wird, so heißt sie Dead-
lock. Dies ist in der Prozessmodellierung zum Beispiel eine Quelle.
Eine Stelle, die, einmal markiert, nie alle Marken verliert, heißt Trap. In
der Prozessmodellierung ist jede Senke ein Trap.
vi) Beschränktheit
Ein Netz heißt n-beschränkt, wenn es ein n gibt, so dass unter jeder Fol-
gemarkierung von M0 M (s) ≤ n gilt. Das heißt, die Menge der Marken
kann nicht unendlich groß werden. Dies ist für die Modellierung mancher
realer Prozesse unerlässlich.

Abbildung 6: Kontaktsituation

Abbildung 7: Konfliktsituation

8
4.5 Die Netze werden komplexer
Es stellte sich schnell heraus, dass einfache Petri-Netze (low level nets) die kom-
plexen Vorgänge in der Wirtschaft nicht vollständig beschreiben konnten. So wa-
ren Entwicklungen gefordert, um diese Lücke zu schließen, ohne die Vorteile zu
verlieren. Ganz am Anfang einer langen Entwicklung standen die Bedingungs/Ereignis-
Netze. Dies sind sehr einfache Petri-Netze, bei denen eine Stelle entweder mar-
kiert ist oder nicht (Bedingung). Die Transitionen sind so Ereignisse, die be-
stimmte Vorbedingungen verlangten und Nachbedingungen erzeugten. Formal
bilden hierbei Kapazitäts- und Gewichtsfunktion auf 1 ab.
Diese Netze wurden auf die noch heute gültige Definition der Petri-Netze, die
oben erklärt wurde, erweitert: die Stellen/Transitionen-Netze
Diese beiden Formen der Petri-Netze werden als low-level nets beschrieben, denn
ihre Marken, Stellen und Transitionen sind nicht untereinander spezifiziert. Die
weiteren Netze werden aufgrund ihrer komplexeren Grundvoraussetzungen high-
level nets genannt, von denen ich einige im Folgenden nenne.
Die prädikatenlogische Erweiterung der bisherigen Definition sind die Prädikat/Transitions-
Netze. So können beispielsweise Geschäftsregeln im Kontext formuliert werden,
die das Netz behindern.
Will man ein Netz möglichst vereinfachen, sollte man hierarchische Petri-Netze
nutzen. Bei diesen werden Teilnetze durch repräsentative Transitionen ersetzt.
Alle diese Netze beleuchten eine Problematik jedoch unzureichend. Transitionen
feuern genau dann, wenn sie schaltbereit sind und dies ohne Zeitverlust. Nun
kosten aber viele Prozesse in der Realität Zeit und eventuell gibt es Prozes-
se, die nicht gleichverteilt ablaufen. So entstanden aus den zeitbehafteten, bei
denen einer Transition eine konstante Zeit zugeordnet wird, die stochastischen
Petri-Netze (SPN).

5 Stochastische Petri-Netze
Ein (generalisiertes) stochastisches Petri-Netz ist ein 7-Tupel mit
(S, T, F, K, W, M0 , τ )
mit S, F, K, W, M0 wie bei S/T-Netzen
T unterteilt in disjunkte Teilmengen TZ (Transitionen, die zeitlos schalten) und
TE (Transitionen, die Zeit verbrauchen).
τ : TE → τt ist die Verzögerungszeit, τt ist exponentialverteilt

Nun können Konflikte durch Wahl von λ in τt in ihrer natürlichen Wahrschein-


lichkeitsverteilung aufgelöst werden. Solche Netze können nun ein Vielfaches der
Prozesse real simulieren als es die anderen Netze konnten.
Nun versuchte man, diese Netze zu vereinfachen, da viele Prozesse ähnlich ab-
laufen. So wurden die SPN erweitert, indem man die (schwarzen) Marken un-
terscheidbar, farbig, machte.

9
6 Farbige Stochastische Petri-Netze (CSPN)
Ein CSPN ist ein SPN mit einer Menge U von geordneten Farben, wobei die
Elemente aus S und T in |U | Teilelemente gespalten werden. Alle Funktionen
des Tupels beschreiben nun diese Teilelemente. Das bedeutet, dass zum Beispiel
eine Transition die Farbe x mit Kosten von 3, die Farbe y mit Kosten von 1
und die Farbe z gar nicht durchschaltet.
Ein farbiges Petri-Netz lässt sich ohne semantischen Verlust in ein elementares
Netz überführen.
Bild 8 zeigt zwei stochastische Petri-Netze. Beide beschreiben die Zollabferti-
gung an einer Grenze, einmal für LKWs und einmal für PKWs. Um den Konflikt
beim PKW-Netz real aufzulösen, wurden zwei Hilfstransitionen eingefügt, um
die Wahrscheinlichkeit zu simulieren. Zeitlose Transitionen sind hier schwarz
ausgefüllt dargestellt. In Bild 9 werden diese beiden ähnlichen Netze zu einem
CSPN mit den Farben U = {LKW, P KW } zusammengefasst.

Abbildung 8: 2 stochastische Petri-Netze

10
Abbildung 9: ein farbiges stochastisches Petri-Netz

7 Petri-Netze in der Wirtschaft


Petri-Netze werden in Unternehmen hauptsächlich für zwei Aspekte genutzt.
Der erste ist die Modellierung von Prozessen, das Workflowmanagement. Der
zweite ist die Modellierung von Produkten und ihren Eigenschaften.
Einen großen Schub erhielt die Petri-Netz-Modellierung mit der Entwicklung
von Software für ebendiese in den letzten Jahren des 20.Jahrhunderts. So ent-
standen auch die drei Beispiele, die ich im nachfolgenden kurz beschreiben wer-
de. Alle Projekte hatten eine Größe von 15-50 Seiten.

7.1 Kommunikationsprotokoll für digitale Telefonie


Das Modell wurde aufbauend auf einer vorhandenen Beschreibung in einer Stan-
dardsprache für Telekommunikationsprotokolle von einem einzelnen Modellierer
in nur 16 Tagen entwickelt und debuggt. Er besaß keine Kenntnisse von dem
Protokoll, war aber sehr bewandert in der Übersetzung von grafischen Sprachen
in Petri-Netze. Die Ingeneure, denen das Petri-Netz vorgelegt wurde, bezeich-
neten es als das detaillierteste anwendbare Modell, das sie für solche Protokolle
je gesehen hatten. In Grafik 10 sieht man eine Seite aus dem Papier, wie sie
typisch für dieses Projekt ist. Die dick umrandeten Knoten stehen für andere
Seiten in dem Projekt, es ist also auch ein hierarchisches Petri-Netz.

7.2 Hardwarechip
Eine große Hardwarefirma entschied sich, für ihr neuestes Produkt ein Petri-
Netz-Modell zu verwenden, um zu erfahren, wie das Design und die Testphase
verbessert und beschleunigt werden kann. Vorher wurde diese Entwicklung mit
Block-Diagrammen durchgeführt, die später in Simulations-Tools übersetzt wur-
den, die dann mit circa 10-20.000 Testfällen den Chipentwurf validierten. Die

11
Abbildung 10: entnommen aus K.Jensen

neue Idee war, statt der Einbindung in Simulations-Tools die Block-Diagramme


in Petri-Netze zu übersetzen.
Statt Monaten wurden nun nur Wochen für die Übersetzung gebraucht. Auch
konnten Verbesserungen im Petri-Netz einfach im Blockdiagramm angewandt
werden. Außerdem konnten Testläufe bereits in der Entwicklung simuliert wer-
den und nicht erst, wenn das Design schon fertig gestellt war.
Dies war eines der ersten Projekte mit den damals neu entwickelten CPN-Tools,
die sich zu langsam erwiesen, um die Testzeiten der vorher benutzten Tools zu
unterbieten. Davon angetrieben wurden die CPN-Tools weiter entwickelt, so
dass sie heute ein Vielfaches der Geschwindigkeit der früheren Versionen haben
und so anderen Simulationsprogrammen ebenbürtig sind.
In Abbildung 11 haben die Transitionen in Stage 1 alle dieselbe Gestalt, die im
Netz nur einmal modelliert werden musste. Stage 2 modelliert eine Registerope-
ration.

7.3 Elektronischer Geldtransfer


Es sollte eine Software entwickelt werden, die den elektronischen Geldtransfer
einer Bank überwacht. Die verantwortlichen Manager entwickelten daraufhin ein
Diagramm, dass die Funktionen der Software darstellten. Erfahrene Modellierer
übersetzten und ergänzten dieses Diagramm und entwickelten so in enger Zu-
sammenarbeit mit den betreffenden Stellen ein Petri-Netz. Das Modell gab es in
mehreren Phasen. Die erste war aus dem Diagramm hervor gegangen und war
dadurch sehr einfach aufgebaut. Im Laufe der Zeit wurde das Grundgerüst des
Netzes immer komplizierter, beispielsweise durch eine hohe Anzahl an Farben

12
Abbildung 11: entnommen aus K.Jensen

im Netz. Es dauerte fünf Wochen, dass Diagramm zu entwerfen, nur eine Woche,
um das erste CPN zu erstellen und 16 Wochen, bis der Modellierungs- und De-
buggvorgang abgeschlossen war. Davon ausgehend konnten nun Programmierer
relativ einfach ein Überwachungssystem entwickeln, das trotz 25-50.000 Input-
signalen am Tag alle 15-20 Minuten die Handelsstrategie der Bank angepassen
konnte.

13
7.4 Erkenntnisse
Alle drei Beispiele zeigen, dass eine Übersetzung von grafischen Modellierungs-
prachen zu Petri-Netzen relativ einfach ist und so Modelle, die speziell auf ein
Fachgebiet zugeschnitten sind, nahezu äquivalent zu Petri-Netzen sind.
Außerdem ist bei allen Projekten zu erkennen, dass im Endeffekt nicht die grafi-
sche Darstellung im Vordergrund steht, sondern die effiziente Simulation dieser
komplexen Modelle. Für solche Simulationen sind Petri-Netze, aufgrund ihrer
Algorithmen, bestens geeignet.

Diese Beispiele sind entnommen aus K.Jensen Ch. 7. Dort ist auch weiterführen-
de Literatur zu finden.

8 Schlussfolgerungen
Petri-Netze sind eine einfach zu erlernende Modellierungssprache, die aufgrund
ihrer mathematischen Definition algorithmisch untersucht werden kann. So wer-
den Testzeiten von Modellen drastisch verringert. Um die Anwendbarkeit von
Petri-Netzen zu steigern, wurden unter anderem Stochastische und Farbige
Petri-Netze entworfen. Die genannten Beispiele zeigen, dass es sich für Unterneh-
men lohnt, ihre Projekte von ihrer ’Haussprache’ in Petri-Netze zu übersetzen,
da die Modellierung zur Laufzeit des Projektes verbessert und effizient getestet
werden kann. Die Verschiedenheit der Beispiele zeigt, dass Petri-Netze in allen
Bereichen der Wirtschaft erfolgreich Anwendung finden können.
Der größte Nachteil von Petri-Netzen ist dabei die Gefahr der ausufernden Kom-
plexität, die durch den Ansatz der CPN verringert wurde.

9 Quellen
K.Jensen: ’Coloured Petri Nets − Basic Components, Analysis Methods and
Practical Use, Volume 1’ Dänemark ,Springer Verlag (1992)

P.J.Haas: ’Stochastic Petri Nets − Modelling, Stability, Simulation’ Kalifornien


(USA), Springer Verlag (2002)

T.Zimmer: ’Petri-Netz-Konzepte für die Simulation verteilter betrieblicher Abläufe’


Aachen, Shaker Verlag (2001)

14