SWOJSTWA

Werbung
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
Herunterladen