Petrinetze Beschränktheit, Überdeckbarkeit, Lebendigkeit 1. Beschränktheit Die Realisierbarkeit ist eine erste interessante Information, die man einem System entnehmen will. Im dazugehörigen Petrinetz wird dabei die Zustandsmenge des Systems auf Endlichkeit hin überprüft. Zuerst klären wir dazu einige Begriffe und gehen dann, begleitend durch Beispiele auf Folgerungen ein. 1.1. Definitionen zur Beschränktheit. Sei N = [P, T, F, V, m0] ein Petrinetz, m eine Markierung von P und p ein Platz aus P, sowie k eine positive natürliche Zahl. 1. p heißt k - beschränkt bei m, wenn für jede Markierung m0 , die von m aus erreichbar ist, gilt: m0 (p) ≤ k. 2. p ist beschränkt bei m, wenn solch ein k existiert. 3. Netz N ist beschränkt ( bei m ), wenn all seine Plätze bei m0 (bzw. bei m) beschränkt sind. 4. Netz N ist sicher, wenn es 1 - beschränkt ist. An dieser Stelle ein erstes Beispiel: Wir überprüfen das Netz: m0(p1) = 1, m0(p2) = 0, m1(p1) = 0, m1(p2) = 1 Wir stellen fest: für jedes i²{0, 1} und j²{1, 2} gilt: mi(pj) ≤ 1. Da m0 und m1 mit alle erreichbaren Markierungen sind ist das Netz sowohl beschränkt, als auch sicher. Beschränktheit bedeutet also, dass sich auf jedem Platz im Netz nur maximal k Marken ansammeln dürfen. 1 1. 2. Folgerungen Eine erste Folgerung ergibt sich direkt aus der Definition von Beschränktheit: Ein Netz N ist genau dann beschränkt, wenn seine Erreichbarkeitsmenge RN(m0) endlich ist. Wenn also der Erreichbarkeitsgraph, der aus einem Netz entsteht, endlich viele Knoten hat, so ist das Netz beschränkt. Die Umkehrung gilt dabei auch. Die zweite Folgerung spiegelt sich in dem wichtigen Satz der Unbeschränktheit wieder: Ein Netz N ist genau dann unbeschränkt, wenn ein Wort r und Markierungen m , existieren. Wir sehen uns auch dazu ein einfaches Beispiel an: Abb. 2: ein unbeschränktes Netz mit Anfangsmarkierung m0 und erster Folgemarkierung m1 Wir sehen: m0 = (1, 0), m1 = (1, 1), m2 = (1, 2), . . . ,mn = (1, n), . . .. Auch stellen wir beispielsweise fest: m2 > m1. Damit ist das Netz unbeschränkt. Unbeschränktheit bedeutet also, das sich auf mindestens einem Platz beliebig viele Marken sammeln können. 1. 3. Ergebnisse Da die Beschränktheit von der Anfangsmarkierung abhängt und sich auf alle erreichbaren Markierungen bezieht, handelt es sich um eine dynamische Eigenschaft. Jedoch gibt es auch strukturelle Eigenschaften, die die Beschränktheit sicherstellen können, die hier jedoch nicht aufgeführt werden. Die Sicherheit eines Netzes ist dann relevant, wenn das Netz eine Art zweiwertige Logik darstellen soll. Dabei kann ein Platz entweder keine Marke haben oder nur eine einzige. Dies entspricht dann den boolischen Werten falsch und wahr. Mit Hilfe des Satz der Unbeschränktheit konnte ein Algorithmus entwickelt werden, der entscheidet, ob ein gegebenes Netz beschränkt, oder unbeschränkt ist. 2 Problematisch ist in der vorhergehenden Behandlung jeweils die Laufzeit die benötigt wird, um den Erreichbarkeitsgraphen zu konstruieren. Diese Laufzeit ist überexponentiell. Es gibt jedoch Möglichkeiten, bei denen Berechnungen eingespart werden können, wenn man mehr Informationen über das Netz hat. 2. Überdeckbarkeit und Erreichbarkeit. Oft möchte man wissen, ob ein System einen bestimmten Zustand einnehmen kann. Beispielsweise, wenn der Zustand als gefährlich deklariert ist. Auch in verteilten Systemen findet diese Frage Anwendung.Wir benötigen dann Wissen über eine bestimmte Teilmarkierung eines Teilsystems. Jedoch kann man hier auch mit dem Begriff der Überdeckbarkeit arbeiten, der im Folgenden eingeführt wird. 2.1 Definitionen zur Überdeckbarkeit Sei N = [P, T, F, V,m0] ein Petri-Netz und m, 1. m heißt von überdeckt, wenn m ≤ m0 ist. 2. m wird überdeckbar in N genannt, wenn es eine in N erreichbare Markierung gibt, die m überdeckt. Betrachten wir dazu ein Beispiel. Angenommen es gibt in einem Netz mit drei Plätzen die Markierung (0,1,0). Dann überdeckt die folgende Markierung (1,1,0) die Ausgangsmarkierung. Jede Markierung überdeckt sich selbst. Nun stellt sich die Frage, wie man erkennen kann, ob eine Markierung überdeckbar ist. Dazu hat man den Überdeckbarkeitsgraphen entwickelt, der im nächsten Abschnitt behandelt wird. 2.2. Der Überdeckbarkeitsgraph Man kennt bereits den Erreichbarkeitsgraph. Allerdings kann dieser unter Umständen sehr groß werden. Bei unbeschränkten Netzen gist der Erreichbarkeitsgraph unendlich groß. Deshalb besteht die Grundidee des Überdeckbarkeitsgraphen darin, dass man Markierungen verwendet, die Plätzen nicht nur natürliche Zahlen, sondern auch ω zuordnet. Dabei bedeutet m ( p ) = ω, dass der Platz p unbeschränkt viele Marken enthalten kann. Mit ω wird gerechnet wie mit „ unendlich “, für natürliche Zahlen n gilt demnach: ω−n=ω ω+n=ω 3 n · ω = ω, n > 0 0·ω=0 ω>n Die Konstruktion des Überdeckbarkeitsgraphen geht dann wie folgt von statten. Beginnend bei der Anfangsmarkierung m0 überprüft man, ob man durch Schalten von Transitionen einen neue Markierung erreicht. Ist dies der Fall so fügt man dem Graphen einen neuen Knoten hinzu. Stellt man fest, dass durch das Schalten einer Transition beliebig viele Marken auf einem Platz produziert werden, so ordnet man diesem Platz ω zu, dies basiert auf dem Satz der Unbeschränktheit. Betrachten wir uns dazu am besten die Abb. 3. Abb. 3: Ein unbeschränktes Netz mit Überdeckbarkeitsgraph. Man sieht leicht, dass Platz 2 unbeschränkt ist und demnach im Überdeckbarkeitsgraph ein ω steht. Für die Konstruktion des Überdeckbarkeitsgraphen existiert auch ein Algorithmus, der den selbigen berechnet. Wir verzichten jedoch an dieser Stelle auf die Wiedergabe, der geneigte Leser möchte sich bitte selber in [1] Seite 44 informieren. 2.3. Folgerungen. Aus der Definition kann man erkennen, dass folgende Folgerung offensichtlich ist. Für jedes Petri-Netz N ist der Überdeckbarkeitsgraph endlich. Das liegt daran, dass der hier nicht angesprochene Algorithmus stets nach endlicher vielen Schritten zur Erzeugung des Überdeckbarkeitsgraphen abbricht. Eine weitere Folgerung ist ebenfalls ersichtlich. Wenn m überdeckbar in N ist, dann existiert ein Knoten im Überdeckbarkeitsgraphen von N, der m existiert. Dies muss der Fall sein, denn sonst wäre m nicht überdeckbar in N. Die nächste Folgerung stellt einen Zusammenhang zwischen Unbeschränktheit und dem Überdeckbarkeitsgraphen her. 4 Ein Platz p ist genau dann unbeschränkt in N, wenn es im Überdeckbarkeitsgraphen von N eine ω-Markierung m∗ mit m∗ (p) = ω gibt. Wenn das Netz N beschränkt ist, stimmt sein Überdeckbarkeitsgraph mit dem Erreichbarkeitsgraphen überein. Für die erste Folgerung kann man die unbeschränkten Plätze direkt aus dem Überdeckbarkeitsgraphen ablesen. Die zweite Folgerung ergibt sich daraus, dass der Erreichbarkeitsgraph für beschränkte Netze endlich ist und aus dem ersten Teil der Folgerung. Es gibt demnach keine ω-Markierungen in einem Überdeckbarkeitsgraphen eines beschränkten Netzes. 2.4. Erreichbarkeitsproblem Im folgenden soll nur kurz auf dieses Problem und seine Auswirkungen eingegangen werden. Das Erreichbarkeitsproblem besteht darin, dass man wissen möchte, ob eine bestimmte Markierung in einem Netz erreichbar ist. Für beschränkte Netze ist dieses Problem theoretisch dadurch zu lösen, dass man den Erreichbarkeitsgraphen konstruiert und dann überprüft, ob die gesuchte Markierung darin vorkommt. Für unbeschränkte Netze ist dieser Lösungsansatz natürlich zum Scheitern verurteilt. Es existiert aber ein Algorithmus, der Erreichbarkeit auch für beliebige Netze entscheidet. An dieser Stelle soll nun noch kurz der Begriff der Zeitkompliziertheit eingeführt werden und welche Auswirkungen diese auf das Erreichbarkeitsproblem hat. Wir beschränken uns im Folgenden auf beschränkte Netze. Unter der Zeitkompliziertheit eines Algorithmuses versteht man eine Funktion, die in Abhängigkeit von der Größe der Eingangsdaten die Zahl der Schritte angibt, die der Algorithmus im schlimmsten Fall auf Eingangsdaten dieser Größe bis zum Abbruch auszuführen hat. Die Zeitkompliziertheit des Problems, den Erreichbarkeitsgraphen eines beschränkten Petri-Netzes zu berechnen ist überexponentiell. Die Funktion wächst also schneller als jede andere Exponentialfunktion. 5 Abb. 4: Ein lebendiges, unbeschränktes Netz. 3. Verklemmung und Lebendigkeit Da wir dynamische Systeme modellieren, können auch parallele, gleichzeitig laufende Konstruktionen entstehen. Wenn diese sich gegenseitig blockieren, dann ist das Netz verklemmt. Zuerst stellen wir einen Satz von wichtigen Begriffen dar. Abb. 5: Ein beschränktes, aber nicht lebendiges Netz. 3.1 Verklemmung. Von einer Verklemmung spricht man dann, wenn sich nichts mehr bewegen kann. Die Verklemmung kann das ganze System betreffen. Wenn zum Beispiel alle Prozesse auf Nachrichten warten, die von ihnen selbst erzeugt werden müssen. Weiterhin können aber auch nur Teile eines Systems betroffen sein, wenn nämlich zwei Prozesse sich gegenseitig blockieren, andere aber weiterarbeiten können. Wenn ein System in einen Zustand geraten kann, in dem alle Übergänge blockiert sind, also kein Systemereignis eintreten kann, dann spricht man von einer Verklemmung. Im Netzmodell entspricht diesem Zustand eine Markierung, bei der keine Transition Konzession hat, eine solche Markierung nennen wir tot. Wenn ein System in einen Zustand geraten kann, von dem aus ein bestimmter Übergang nicht mehr aktiviert werden kann, so sprechen wir im Netzmodell von einer toten Transition. 3.2 Definitionen der Lebendigkeit. Es sei N = [ P, T, F, V, m0 ] ein Petri-Netz. 1. Eine Markierung m von P heißt tot in N, wenn kein t Є T bei m 6 Konzession hat. 2. Eine Transition t von N heißt tot bei der Markierung m in N, wenn von m aus keine Markierung erreichbar ist, bei der t Konzession hat. Wenn t tot bei m0 ist, so sagen wir, dass t tot in N sei und nennen t ein Fakt. 3. Eine Transition t von N wird lebendig bei der Markierung m genannt, wenn t bei keiner von m aus erreichbaren Markierung tot ist. Wenn t lebendig bei m0 ist, wird t als lebendig in N bezeichnet. 4. Eine Markierung m von P wird lebendig in N genannt, wenn alle Transitionen t Є T lebendig bei m in N sind. 5. Das Petri - Netz N heißt lebendig, wenn seine Anfangsmarkierung m0 lebendig in N ist. Betrachten wir uns zur Verdeutlichung der Definition das Netz in Abb. 6 mit seinem Erreichbarkeitsgraphen. Dieses Netz ist offenbar verklemmungs- Abb. 6: Ein verklemmungsfreies Netz mit Erreichbarkeitsgraph. frei ( dies wäre anders bei m0 = (2, 0)) und enthält keine Fakten. Keine Transition ist tot bei m0. Die Transitionen t1 und t2 sind lebendig in N. Die Transition t3 ist nicht lebendig, denn sie ist tot bei (1, 0) und (0, 1) . Die Nullmarkierung (0, 0) ist tot in diesem Netz und von der Markierung (2, 0) erreichbar. Bei dieser Anfangsmarkierung wäre das Netz also nicht verklemmungsfrei. Das Netz in Abb. 5 ist beschränkt aber nicht lebendig. Das Netz in Abb. 4 ist zwar lebendig aber unbeschränkt. 3.3. Folgerungen. Betrachten wir nun im folgenden einige Ergebnisse, die sich aus obiger Definition ergeben. Wenn ein Netz N lebendig ist, so ist N verklemmungsfrei. 7 Die Lebendigkeitseigenschaft setzt bereits voraus, dass alle Transitionen von allen Markierungen aus erreichbar sein müssen. Demnach kann es keine Verklemmung geben. Wenn ein Netz N nicht verklemmungsfrei ist, dann besitzt N keine lebendige Transition. Im Netz gibt es irgendwo eine toteMarkierung, von dieser aus kann man keine Transition mehr schalten, demzufolge ist auch keine Transition aktiviert. Es ist entscheidbar, ob eine Transition t tot bei m ist. Dies zeigt man mit der Überdeckbarkeit von t −. Im vorherigen Abschnitt hatten wir festgestellt, dass dies entscheidbar ist. Verklemmungsfreiheit ist entscheidbar und äquivalent mit Erreichbarkeit. 3.4. Starker Zusammenhang und Reversibilität. Betrachten wir vor der Definition noch folgende Erkenntnis. Ein Netz ist immer dann lebendig, wenn sein Erreichbarkeitsgraph stark – zusammenhängend ist. Starkzusammenhängend bedeutet in diesem Zusammenhang, dass von jedem Knoten im Erreichbarkeitsgraphen ein Pfad zu jedem anderen Knoten im Erreichbarkeitsgraphen existiert. Kommen wir aber nun zur Definition von reversibel. Ein Petri-Netz N = [P, T, F, V,m0] wird reversibel genannt, wenn für jedes m Є RN(m0) gilt : m0 Є RN(m). Das bedeutet also, dass die Anfangsmarkierung von jeder erreichbaren Markierung erreichbar sein muss, um reversibel zu sein. Aus der Definition ergibt sich auch sofort die Folgerung, dass ein Petri-Netz genau dann reversibel ist, wenn sein Erreichbarkeitsgraph stark - zusammenhängend ist. Betrachten wir dazu auch die Abb. 7. Dort erkennt man leicht, dass man von jedem Knoten im Erreichbarkeitsgraphen die Anfangsmarkierung erreicht. Abb. 7: Ein reversibles, lebendiges Netz mit Erreichbarkeitsgraph. 8 9