47
Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten, Prozessoren, die miteinander kooperieren oder konkurrieren Modellierungshilfsmittel: formal anschaulich Petrinetze: sehr beliebt bei Anwendern, insbes. Ingenieuren

Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,

Embed Size (px)

Citation preview

Page 1: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,

Petrinetze 1. Einführung

Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme

Systeme: Netze aus Personen, Geräten, Prozessoren, die miteinander kooperieren oder konkurrieren

Modellierungshilfsmittel: formal anschaulich

Petrinetze: sehr beliebt bei Anwendern, insbes. Ingenieuren

Page 2: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,

Einführendes Beispiel

(Reisig/Rozenberg: Informal Introduction to Petri Nets, LNCS 1491, SS 1 - 11)

Page 3: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,
Page 4: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,
Page 5: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,
Page 6: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,
Page 7: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,
Page 8: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,
Page 9: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,
Page 10: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,
Page 11: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,
Page 12: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,

2. Anschauliche Erläuterung des Konzepts der Petrinetze

Intuitive Bedeutung von

Ellipse (oder Kreis): passive Komponente (Speicher; Bedingung, (Stelle/place) die erfüllt oder nicht erfüllt sein kann; lokale Zustandskomponente; sie bewahrt auf, macht zugreifbar/sichtbar)

Rechteck (oder Quadrat): aktive Komponente (Transition) (Prozessor, Mensch, Ereignis; sie erzeugt, transportiert, ändert)

Page 13: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,

Pfeil: repräsentiert nicht eine Systemkomponente sondern ist Mittel der Beschreibung für Zusammenhang/Beziehung, Zugriffsmöglichkeit/-recht, physikalische Nähe, direkte Verbindung. Verbindet nur Komponenten verschiedenen Typs (passiv-aktiv, aktiv-passiv)

Bisher nur "Bilder", statische Ansichten / Schnappschüsse

Wie wird Dynamik / werden Abläufe / Zustandsänderungen dargestellt?

Page 14: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,

Zustandsänderung im System bewirkt durch Ereignis/Aktivität im Petrinetz durch "Schalten" von Transitionen

Was ist "der aktuelle Zustand" ?

Im System: der relevante Speicherinhalt, das Erfüllt- oder Nichterfülltsein der relevanten Bedingungen,... Zustandsinformation für eine aktive Komponente ist stets lokal.

Im Petrinetz: Die Inhalte ("Markierungen") der Stellen. Der relevante (lokale) Zustand für eine Transition ist bestimmt durch die mit der Transition durch Pfeile verbundenen Stellen

Page 15: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,

Einfachste Art der Markierung: Schwarze Punkte („Marken“, token) # zunächst werden nur solche Markierungen betrachtet #

Page 16: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,

+ eine Marke in einer Stelle kann z.B. das Erfülltsein einer Bedingung bedeuten + mehrere Marken bedeuten z.B. einen Vorrat an Ressourcen, die zum Schalten benötigt werden

Was passiert beim Schalten einer Transition?

Nur relevante lokale Zustände werden berücksichtigt/verändert:

Schalten der Transition t: Entlang jedes mit t verbundenen Pfeiles wird in Pfeilrichtung eine Marke transportiert - von einer Stelle weggenommen oder auf sie gelegt.

Also Voraussetzung fürs Schalten von t: Es müssen genügend Marken (in jeder mit t verbundenen Stelle) vorhanden sein: t muß "aktiviert" sein

Page 17: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,

Schalten einer Transition

Page 18: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,

3. Grundlegende Definitionen

Netz N = ( S, T, F ) S T = F (S T) (T S)

Stellen Transitionen Flußrelation, Pfeile

•x = {y N | (y,x) F} , •X = {•x  | x X } analog x• = {y ... | (x,y) ...} , X• = ... x•

Page 19: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,

Markierung: Abbildung m : S –––––> |N = { 0,1,2,3, ... } Stelle s aus S heißt markiert, wenn m(s) > 0 -------------

Transition t heißt aktiviert, wenn alle Stellen aus •t markiert sind.

Dann kann t schalten, d.h. die Markierung von •t t• so ändern: m(s) -1 für s aus •t - t• m´(s) = { m(s) + 1 für s aus t• - •t m(s) sonst Man schreibt auch m[t > m´

Äquivalent ist m´(s) = m(s) - | F {(s,t)} | + | F {(t,s)} | ---------------------Markierung m heißt tot, wenn sie keine Transition aktiviert

Page 20: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,
Page 21: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,

Sei m eine Markierung des Netzes N = (S,T,F). Eine Folge t1 , t2 , ... ,tk von Transitionen von N heißt bei m aktivierte Schaltfolge, wenn k = 0 oder wenn m[t1 > m1 und t2 , ...,tk bei m1 aktiviert ist.

Mit = bzw. = t1 t2 ... tk gelte m[ > m bzw. m[ > mk , wobei m1 [t2 .... tk > mk

Feststellung:* Aus m[ > m´ und l[ > l´ folgt für jede Stelle s aus S m´(s) - m(s) = l´(s) - l(s)* Seien m, l Markierungen mit m(s) >= l(s) für jedes s aus S, dann ist jede bei l aktivierte Schaltfolge auch bei m aktiviert.* Seien u, v aus T mit v• •u = , dann gilt mit m[vu > m´ auch m[uv > m´.

Page 22: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,
Page 23: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,

Eigenschaften markierter Netze

Markiertes Netz (Netzsystem): (N,m) Netz N mit (Anfangs)markierung m

Markierung m´ heißt erreichbar in (N,m), wenn es eine bei m aktivierte Schaltfolge mit m[ > m´ gibt.

Stelle s von (N,m) heißt beschränkt, wenn nat. Zahl b existiert mit m´(s) <= b für jede erreichbare Markierung von (N,m).

Mark. Netz heißt beschränkt, wenn jede Stelle beschränkt

Satz: Für endliche mark. Netze ist Beschränktheit entscheidbar

Bemerkung: Bei beschränkten Netzen kann die Zahl der erreichb. Markierungen exponentiell mit der Netzgröße wachsen

Page 24: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,
Page 25: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,

Markierungsgraph eines markierten Netzes

• Knoten ~ alle erreichbaren MarkierungenStartknoten ~ Anfangsmarkierung

• Pfeil mit Transitionsbezeichner t von Knoten (Markierung) m zu Knoten m’ g.d., w. t bei m aktiviert und m[t>m’

- endlich g.d., w. markiertes Netz beschränkt

- markiertes Netz ist verklemmungsfrei g.d.,w. von jedem Knoten des Markierungsgraphen mindestens ein Pfeil wegführt.

Page 26: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,
Page 27: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,
Page 28: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,
Page 29: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,
Page 30: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,
Page 31: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,
Page 32: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,
Page 33: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,
Page 34: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,
Page 35: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,
Page 36: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,

Transition t heißt tot bei der Markierung m, wenn sie bei keiner von m aus erreichbaren Markierung aktiviert ist.

Ein markiertes Netz heißt lebendig, wenn bei keiner erreichbaren Markierung eine Transition tot ist

Ein mark. Netz heißt verklemmungsfrei (schwach lebendig), wenn keine erreichbare Markierung tot ist.

Ein mark. Netz heißt reversibel, wenn seine Anfangsmarkierungvon jeder anderen erreichbaren Markierung erreichbar ist.

Page 37: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,
Page 38: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,
Page 39: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,
Page 40: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,
Page 41: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,
Page 42: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,
Page 43: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,
Page 44: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,
Page 45: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,

Überdeckungsgraph eines markierten Netzes (N, m0)

Für unbeschränkte markierte Netze statt Markierungsgraph eine reduzierte endliche Darstellung

Knoten ~ verallgemeinerte Markierungen m

Konstruktion analog zu der eines Markierungsgraphen • Start mit Anfangsmarkierung

• sukzessive Pfeile von Knoten m zu Knoten m’, wenn m[t> m’,

aber

wenn auf Weg von m0 zu m’ schon ein m’’ auftrat mit m’(s)≥ m’’(s) für alle s, dann setze m’(s’) = für alle s’ mit m’(s’)> m’’(s’)

Page 46: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,

m’(s’) = bedeutet, daß s’ unbeschränkt ist, (und mindestens, eine Marke enthält). Denn von m’ aus kann man dieselbe Schaltfolgeablaufen lassen, die von m’’ zu m’ führte, und so die Markenzahl wieder echt vergrößern usw.

Satz: (N, m) ist beschränkt g.d., w. bei der Konstruktion des Überdeckungs-Graphen kein auftritt.

Page 47: Petrinetze 1. Einführung Informatik : wesentlich Modellierung von Struktur und Verhalten realer oder virtueller Systeme Systeme: Netze aus Personen, Geräten,