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 Einführendes Beispiel (Reisig/Rozenberg: Informal Introduction to Petri Nets, LNCS 1491, SS 1 - 11) 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): (Transition) aktive Komponente (Prozessor, Mensch, Ereignis; sie erzeugt, transportiert, ändert) 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? 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 Einfachste Art der Markierung: Schwarze Punkte („Marken“, token) # zunächst werden nur solche Markierungen betrachtet # + 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 Schalten einer Transition 3. Grundlegende Definitionen Netz N = ( S, T, F ) Stellen Transitionen •x = {y N | (y,x) F} analog x• = {y ... | (x,y) ...} ST = F (S T) (T S) Flußrelation, Pfeile , •X = {•x | x X } , X• = ... x• 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• m(s) -1 m´(s) = { m(s) + 1 m(s) Man schreibt auch m[t > m´ Äquivalent ist so ändern: für s aus •t - t• für s aus t• - •t sonst m´(s) = m(s) - | F {(s,t)} | + | F {(t,s)} | --------------------- Markierung m heißt tot, wenn sie keine Transition aktiviert 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 = m[ > m bzw. bzw. = t1 t2 ... tk gelte 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´. 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 Bemerkung: Bei beschränkten Netzen kann die Zahl der erreichb. Markierungen exponentiell mit der Netzgröße wachsen Satz: Für endliche mark. Netze ist Beschränktheit entscheidbar Markierungsgraph eines markierten Netzes • Knoten ~ alle erreichbaren Markierungen Startknoten ~ 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. 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 Anfangsmarkierung von jeder anderen erreichbaren Markierung erreichbar ist. Überdeckungsgraph eines markierten Netzes (N, m ) 0 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 m 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’) 0 m’(s’) = bedeutet, daß s’ unbeschränkt ist, (und mindestens, eine Marke enthält). Denn von m’ aus kann man dieselbe Schaltfolge ablaufen 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.