Einführung in Petri-Netze Modellierung von Abläufen und Prozessen

Werbung
Einführung in Petri-Netze
Modellierung von Abläufen und Prozessen (1)
Abhängigkeitsgraphen:
D
4
B
1
A
• Motivation
6
C 5
• Petri-Netze
Nur eine beste Anordnung der Aktionen ist gesucht für eine
einmalige Ausführung (Graph zyklenfrei). Verarbeitete Objekte,
Signale werden nicht repräsentiert.
• Markierungen
Flussgraphen:
• Invarianten
13
a
d
10
38
1
2
8
e
8
s
Credits:
L. Priese, H. Wimmel: Petri-Netze, Theoretische Informatik,
Springer 2003
G. Goos: Vorlesungen über Informatik, Springer 2000
http://www.daimi.au.dk/PetriNets/introductions/pn2000_introtut.pdf
http://www.fh-augsburg.de/informatik/projekte/emiel/petrinetze
b
1
c
26
7
7
t
1
24
2
27
f
Materialfluss ist kontinuierlich, einzelne Objekte darin werden nicht
modelliert. Insgesamt gibt es keine Unterscheidung des fließenden
Materials. Zyklische Abläufe innerhalb des Netzes sind nicht
modellierbar.
Endliche Automaten:
1
q0
0
1
0
q1
0
1
0
q2
1
q3
Keine Möglichkeit der Modellierung von Nebenläufigkeit.
Abhängigkeit von externen Eingaben.
c LETTMANN 2003/04
Modellierung — Petri-Netze
VIII-1
c LETTMANN 2003/04
Modellierung von Abläufen und Prozessen (2)
• Kanal-Instanzen-Netz
Einsatz in der Entwurfsplanung;
passive Knoten, sog. Kanäle (Stellen) als Informationsbestände
und -wege,
aktive Knoten, sog. Instanzen (Transitionen) als Funktionen und
Aktivitäten.
Münzeinwurf
fertig für
Münzeinwurf
fertig für
Münztest
Münzrückgabe
fertig für
Warenausgabe
VIII-2
Klassifikation von Petri-Netzen (1)
Modellierung eines einfachen Verkaufsautomaten:
Warenausgabe
Modellierung — Petri-Netze
Münze
akzeptiert
Nachfüllen und Entnehmen als konkurrierende Prozesse:
• Bedingungs-Ereignis-Netz, B/E-Netz
Modellierung dynamischer Systeme; Übergang der Zustände
oder Bedingungen (Stellen) bei Eintritt eines Ereignisses
(Schalten der Transition); gültige Bedingung als Knoten mit
Marke; Ereignisse, deren Bedingungen erfüllt sind, lassen
Marken weiterwandern und erfüllen so neue Bedingungen.
Münzeinwurf
fertig für
Münzeinwurf
fertig für
Münztest
Warenvorrat
Ware
nachfüllen
Warenausgabe
Münzrückgabe
Nachfüllanforderung
fertig für
Warenausgabe
Modellierung/Erkennung von Nebenläufigkeiten, Konflikten und
Verklemmungen
Münze
akzeptiert
Münzzähler und beschränkter Vorrat:
Münzeinwurf
fertig für
Münzeinwurf
k=4
Münzzähler
fertig für
Münztest
Warenvorrat
Ware
nachfüllen
4
Warenausgabe
Münzrückgabe
Nachfüllanforderung
fertig für
Warenausgabe
c LETTMANN 2003/04
Münze
akzeptiert
Modellierung — Petri-Netze
VIII-3
c LETTMANN 2003/04
Modellierung — Petri-Netze
VIII-4
Netze
Klassifikation von Petri-Netzen (2)
• Stellen-Transitions-Netz, S/T-Netz
Verallgemeinerung der B/E-Netze; Stellen können mehrere
Marken aufnehmen bis zu einer jeweils maximalen Kapazität,
Transitionen übertragen auch mehrere Marken von Stelle zu
Stelle
Modellierung/Erkennung von Nebenläufigkeiten, Konflikten,
Verklemmungen, Engpässen und Staueffekten
1
Definiton
Ein Netz N = (S, T, F ) besteht aus einer endlichen Menge S von
Stellen, einer endlichen Menge T von Transitionen und einer
Flussrelation F ⊆ (S × T ) ∪ (T × S).
Zur Vereinfachung betrachten wir S und T als geordnete Mengen,
d.h.
S = {s1, s2, ..., sm}
T = {t1, s2, ..., tn}
2
k=4
k=3
• Prädikat-Transitionen-Netz, P/T-Netz
Verallgemeinerung der S/T-Netze;
Objekte mit individuellen Eigenschaften (Prädikate) als Marken
auf Stellen, Transitionen prüfen Eingangsbedingungen und
garantieren Ausgangsbedingungen
s1
t1
s2
t2
s5
s3
t3
s6
t4
s4
Muttern
4
2
∅S = ∅M
Schrauben
4
4 2
s7
Ein Netz beschreibt die statische Struktur eines Systems.
1
3
c LETTMANN 2003/04
Modellierung — Petri-Netze
VIII-5
c LETTMANN 2003/04
Vorbereiche und Nachbereiche
Modellierung — Petri-Netze
Beispiele zu Vor- und Nachbereichen
Anzahl der Transitionen, die mit einer Stelle in Beziehung stehen,
und Anzahl der Stellen, die mit einer Transition in Beziehung
stehen, sind unbeschränkt.
s1
t1
s2
t2
s5
s3
t3
s6
t4
s4
s7
Definiton
Sei N = (S, T, F ) ein Netz. Für s ∈ S und t ∈ T heißt
•s = {t | (t, s) ∈ F }
s• = {t | (s, t) ∈ F }
•t = {s | (s, t) ∈ F }
t• = {s | (t, s) ∈ F }
c LETTMANN 2003/04
Vorbereich von s
Nachbereich von s
Vorbereich von t
Nachbereich von t
Modellierung — Petri-Netze
VIII-6
t1
s1
t2
s2
VIII-7
c LETTMANN 2003/04
s3
t3
•s1
•s2
•s3
•s4
•s5
•s6
•s7
=∅
= {t1}
= {t1}
= {t1}
= {t2}
= {t3}
= {t4}
s1 • = {t1}
s2 • = {t2}
s3 • = {t3, t4}
s4 • = {t3, t4}
s5 • = ∅
s6 • = ∅
s7 • = ∅
•t1
•t2
•t3
•t4
= {s1}
= {s2}
= {s3, s4}
= {s3, s4}
t1• = {s2, s3, s4}
t2• = {s5}
t3• = {s6}
t4• = {s7}
•s1 = {t1}
•s2 = {t2}
•s3 = {t2}
s1• = {t2}
s2• = {t2}
s3• = ∅
•t1 = ∅
t1• = {s1}
•t2 = {s1, s2} t2• = {s2, s3}
t3 • = ∅
•t3 = {s3}
Modellierung — Petri-Netze
VIII-8
S/T-Netze
Darstellung von S/T-Netzen
Graphische Darstellung eines Petri-Netzes N = (S, T, F ) in Form
eines bipartiten gerichteten Graphen
Definiton
Ein Stellen/Transitionsnetz (S/T-Netz) N = (S, T, F, k, w, M0)
besteht aus
1. einem unterliegenden Netz (S, T, F ),
2. einer (Kapazitäts-) Funktion k : S → N ∪ {∞}, k total, die jeder
Stelle eine (möglicherweise unbeschränkte) Kapazität zuordnet
(Default ∞),
3. einer (Gewichts-) Funktion w : F → N+, w total, die jeder Kante
ein positives Gewicht zuordnet (Default 1), und
4. einer Markierungsfunktion (Anfangsmarkierung) M0 : S → N,
M0 total, die jeder Stelle eine Anzahl von Marken zuordnet, mit
der Eigenschaft
M0(s) ≤ k(s)
S/T-Netz N
Stellen S
Stelle si
gerichteter Graph Nebenbedingungen
Knotenmenge VS
Knoten vs,i
Knotenmarkierung
mn (vs,i) = si , mk (vs,i) = k(si )
Transitionen T
Knotenmenge VT VT ∩ VS = ∅
Transitionen ti
Knoten vt,j
Knotenmarkierung
mn (vt,j ) = tj
Flussrelation F
Kantenmenge E
(si , tj ) ∈ F ∩ (S × T ) (vs,i, vt,j ) ∈ E
Vorwärtskante
(ti , sj ) ∈ F ∩ (T × S) (vt,i, vs,j ) ∈ E
Rückwärtskante
(VS VT , E) bipartit
Kantenmarkierung mw (e) = w(e)
k=3
k=8
s∈S
k=4
4
29
29
s6
s2
s7
s5
Kapazität
k=∞
k=8
Gewicht
w=1
4
t2
s2
Mögliche Semantik
s5
k=4
2
s1
2
t3
s3
t1
s6
Löschen
von Objekten
tote Stelle,
Archiv
Erzeugen
von Objekten
Quelle,
Reservoir
Verarbeitung
von Objekten
Zwischenspeicher,
Puffer
Aufspalten
von Objekten
Verzweigung,
Nebenläufigkeit (Anf.)
Verschmelzen
von Objekten
gem. Speicher,
Synchronisationsstelle
k=2
2
t4
s4
s7
Jede totale Funktion M : S → N für ein S/T-Netz
N = (S, T, F, k, w, M0) heißt Markierung von N , wenn gilt
M (s) ≤ k(s)
c LETTMANN 2003/04
s∈S
Modellierung — Petri-Netze
VIII-9
Aktivierung von Transitionen
c LETTMANN 2003/04
Modellierung — Petri-Netze
Beispiele zu aktivierten Transitionen
k=4
In einem S/T-Netz sollen Abläufe modelliert werden. Wann kann eine einzelne
Aktion (Transition) innerhalb eines Ablaufs ausgeführt werden?
• Notwendige Bedingungen müssen erfüllt sein.
Stellen im Vorbereich müssen mindestens so viele Marken tragen, wie es
das Gewicht der Kante zur Transition verlangt.
t2
2
s1
t1
s1
2
s7
k=8
4
t2
s2
s6
s5
k=4
k=2
2
2
t4
t4
s4
k=4
k=2
s4
s6
k=2
s5
t3
t3
s3
t1
2
s3
s5
2
k=4
2
t2
s2
k=4
Markierung M = (2, 0, 1, 1, 3, 0, 0)
Aktivierte Transitionen: t1, t3, t4
k=8
4
s2
k=8
4
• Ausführung der Aktion darf nicht zu Problemen führen.
Stellen im Nachbereich dürfen höchstens so viele Marken tragen, dass noch
entsprechend der Kante von der Transition viele Marken hinzugefügt werden
können, ohne die Kapazität zu überschreiten.
k=4
VIII-10
s1
s7
Definiton
Es sei ein Stellen/Transitionsnetz N = (S, T, F, k, w, M0) gegeben
und M : S → N sei eine weitere Markierung von N .
Eine Transition t ∈ T heißt unter M aktiviert (aktiv), kurz
M -aktiviert, in Zeichen M [t
, falls
2
t3
s3
t1
s6
k=2
2
t4
s4
s7
Markierung M = (2, 0, 1, 2, 3, 1, 0)
Aktivierte Transitionen: t4
k=2
t1
2. für alle s ∈ t • \ • t gilt M (s) + w(t, s) ≤ k(s) bzw.
für alle s ∈ t • ∩ • t gilt M (s) − w(s, t) + w(t, s) ≤ k(s).
Modellierung — Petri-Netze
s1
t2
s3
t3
s2
Wir nehmen an, dass n ≤ ∞ gilt für alle n ∈ N.
c LETTMANN 2003/04
2
2
1. für alle s ∈ •t gilt M (s) ≥ w(s, t) und
Markierung M = (0, 1, 1)
Aktivierte Transitionen: t1
VIII-11
c LETTMANN 2003/04
Modellierung — Petri-Netze
VIII-12
Schalten von Transitionen
Beispiele zu Folgemarkierungen
k=4
In einem S/T-Netz sind für eine Markierung meist mehrere
Transitionen aktiviert. Unter diesen kann eine ausgewählt werden,
die als nächste ausgeführt wird. Die in den Kantengewichten
geforderte Anzahl Marken wird von den Stellen im Vorbereich der
Transition entfernt, auf alle Stellen im Nachbereich der Transition
wird die in den Kantengewichten geforderte Anzahl Marken
hinzugefügt.
k=4
k=8
k=4
4
s2
s5
s2
k=4
t2
k=4
k=8
4
t2
s2
s5
k=4
t2
s2
s5
k=4
2
s1
t3
s3
t1
2
2
s6
s1
t3
s3
t1
k=2
2
2
t4
s4
s6
k=2
2
t4
s4
s7
s7
Markierung M = (2, 0, 1, 1, 3, 0, 0), M [t1
M mit
Markierung M = (1, 1, 3, 2, 3, 0, 0)
k=8
4
t2
k=8
4
s5
k=4
2
s1
2
2
t3
s3
t1
s6
s1
t1
k=2
2
s3
t3
2
s4
s7
t4
k=8
k=4
4
t2
s5
k=4
Die Transition t schaltet (feuert) M nach M , in Zeichen M [t
M .
t2
s2
s5
k=4
2
s7
Definiton
Es sei ein Stellen/Transitionsnetz N = (S, T, F, k, w, M0) gegeben
und M : S → N sei eine weitere Markierung von N sowie t ∈ T
eine M -aktivierte Transition. Durch das Schalten (Feuern) der
Transition t wird die Folgemarkierung M ist definiert durch


M (s) + w(t, s)
s ∈ t• \ •t



s ∈ •t \ t•
M (s) − w(s, t)
M (s) =

M (s) + w(t, s) − w(s, t) s ∈ •t ∩ t•



M (s)
k=8
4
s2
2
t4
s4
k=4
s6
k=2
s1
t3
s3
t1
2
2
s6
s1
t3
s3
t1
k=2
2
2
t4
s4
s6
k=2
2
t4
s4
s7
s7
Markierung M = (1, 1, 3, 2, 3, 0, 0), M [t3
M mit
Markierung M = (1, 1, 2, 1, 3, 2, 0)
k=4
k=8
k=4
4
k=8
4
t2
s2
s5
k=4
s2
t2
s5
k=4
2
s1
t3
s3
t1
2
2
s6
s1
t1
k=2
2
s3
t3
2
2
t4
s4
s6
k=2
s4
s7
t4
s7
Markierung M = (1, 1, 3, 2, 3, 0, 0), M [t4
M mit
Markierung M = (1, 1, 2, 1, 3, 0, 2)
c LETTMANN 2003/04
Modellierung — Petri-Netze
VIII-13
Erreichbare Markierungen
1. M ∈ [M 2. Wenn für M ∈ [M die Tranistion t ∈ T aktiviert ist und M nach M schaltet, d.h. M [t
und M [t
M , dann gilt auch
M ∈ [M .
3. Keine weiteren Markierungen gehören zu [M .
Die Menge [M0
nennen wir kurz die in N erreichbaren
Markierungen.
Beispiel:
k=2
s1
2
t2
s3
k=4
VIII-14
t3
s2
k=2
2
s1
t1
2
s3
t3
s6
2
t4
s7
Markierung M0 = (1, 1, 0, 0)
Mark.
M0
M1
M2
M3
M4
M5
M6
M7
M8
M9
M10
M11
t1
Modellierung — Petri-Netze
Bestimmung der erreichbaren Markierungen (1)
Definiton
Es sei ein Stellen/Transitionsnetz N = (S, T, F, k, w, M0) gegeben
und M : S → N sei eine weitere Markierung von N . Die Menge der
von M aus (durch das Schalten der Transitionen in N )
erreichbaren Markierungen von N , in Zeichen [M , ist die reflexive
und transitive Hülle von M bzgl. der Folgemarkierungsrelation:
2
c LETTMANN 2003/04
Stellen
s0 s1 s2
1 1 0
1 0 2
1 0 0
0 2 2
0 2 0
0 1 4
0 1 2
0 1 0
0 0 6
0 0 4
0 0 2
0 0 0
s3
0
0
2
0
2
0
2
4
0
2
4
6
Folgemarkierungen
M0[t2
M1, M0[t3
M2
M0[t1
M3
M0[t1
M4
M0[t2
M5, M0[t3
M6
M0[t2
M6, M0[t3
M7
M0[t2
M8, M0[t3
M9
M0[t2
M9, M0[t3
M10
M0[t2
M10, M0[t3
M11
Markierung M0 = (0, 1, 1)
[M0
= {(n, 1, 1), (n, 1, 2), (n, 1, 0) | n ∈ N}
c LETTMANN 2003/04
Modellierung — Petri-Netze
VIII-15
c LETTMANN 2003/04
Modellierung — Petri-Netze
VIII-16
Herunterladen