Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
325,11 KB
Nội dung
172 5 Eigenschaftspr ¨ ufung Beispiel 5.1.10. F ¨ ur das Petri-Netz aus Abb. 5.3 auf Seite 158 aus Beispiel 5.1.7 folgt aus Gleichung (5.9): ⎛ ⎜ ⎜ ⎜ ⎜ ⎝ −1 −1001 10−100 010−10 1001−1 0110−1 ⎞ ⎟ ⎟ ⎟ ⎟ ⎠ · ⎛ ⎜ ⎜ ⎜ ⎜ ⎝ i 1 i 2 i 3 i 4 i 5 ⎞ ⎟ ⎟ ⎟ ⎟ ⎠ = ⎛ ⎜ ⎜ ⎜ ⎜ ⎝ 0 0 0 0 0 ⎞ ⎟ ⎟ ⎟ ⎟ ⎠ Die kleinste ganzzahlige, strikt positive L ¨ osung lautet i T =(1,1,1,1,2) . Die Existenz dieser L ¨ osung ist eine notwendige Bedingung f ¨ ur die Reversibilit ¨ at des Petri-Netzes. Zu zeigen ist noch, dass ein g ¨ ultiger Ablaufplan beginnend mit der Anfangsmarkierung f ¨ ur den Schaltvektor existiert. Diese existiert allerdings nicht, weshalb, wie bereits zuvor mit den aufz ¨ ahlenden Verfahren gezeigt, das Petri-Netz irreversibel ist. F ¨ ur alle anderen erreichbaren Markierungen kann allerdings mit der Stelleninvariante i T gezeigt werden, dass es sich bei diesen Markierungen um Grund- zust ¨ ande des Petri-Netzes handelt. 5.1.3 Partialordnungsreduktion Eine wesentliche Eigenschaft von Systemen mit nebenl ¨ aufigen Prozessen ist, dass g ¨ ultige Ausf ¨ uhrungen dieser Prozesse in unterschiedlichen Reihenfolgen stattfinden k ¨ onnen. W ¨ ahrend diese Eigenschaft im Entwurf zur Optimierung ausgenutzt werden kann, stellt dies ein großes Problem bei der Verifikation solcher Systeme dar, da hierdurch der zu untersuchende Zustandsraum sehr groß wird. Man spricht von der sog. Zustandsraumexplosion. Im Folgenden werden M ¨ oglichkeiten untersucht, die es erlauben, den Zustandsraum f ¨ ur Systeme mit nebenl ¨ aufigen Prozessen zu reduzieren. Oftmals h ¨ angt das Ergebnis der Verifikation von Systemen mit nebenl ¨ aufigen Prozessen gar nicht von der tats ¨ achlichen Ausf ¨ uhrungsreihenfolge ab. In einem sol- chen Fall ist es denkbar, dass alle m ¨ oglichen Permutationen in der Ausf ¨ uhrungs- reihenfolge durch eine einzelne, ausgew ¨ ahlte Ausf ¨ uhrungsreihenfolge repr ¨ asentiert werden. Sei beispielsweise unter einer Markierung M die Ausf ¨ uhrung der Folge t 1 ,t 2 m ¨ oglich. Sei weiterhin unter M die Ausf ¨ uhrung der Folge t 2 ,t 1 ebenfalls m ¨ oglich und die beiden Schaltfolgen erreichen die selbe Folgemarkierung M ,d.h. M[t 1 ,t 2 M = M[t 2 ,t 1 M ,sok ¨ onnen die beiden Sequenzen in einer ¨ Aquivalenz- klasse zusammengefasst werden. Man kann also beobachten, dass das Erreichen eines Zustands von der Schaltfol- ge der Transitionen unabh ¨ angig sein kann. Man sagt auch, das Schalten der Transi- tionen und somit die Transitionen selbst sind unabh ¨ angig voneinander. Das Schal- ten zweier Transitionen ist genau dann voneinander unabh ¨ angig, wenn sie nicht im Konflikt stehen (keine gemeinsame Stelle im Vorbereich besitzen) und keine kau- sale Abh ¨ angigkeit zwischen ihnen besteht (das Schalten einer Transition keine not- wendige Bedingung f ¨ ur die Aktivierung der anderen Transition ist). Unabh ¨ angige Transitionen k ¨ onnen in einem Petri-Netz existieren, da ein Petri-Netz lediglich ei- ne partielle Ordnung f ¨ ur die Schaltfolge der Transitionen definiert. Entsprechend 5.1 Pr ¨ ufung funktionaler Eigenschaften 173 werden Verfahren, welche die Unabh ¨ angigkeit von Transitionen zur Reduktion des Zustandsraumes ausnutzen, als Partialordnungsreduktionen bezeichnet. Beispiel 5.1.11. Gegeben ist das Petri-Netz in Abb. 5.8a). Der zugeh ¨ orige Erreich- barkeitsgraph ist in Abb. 5.8b) dargestellt. Man erkennt ein typisches Rautenmuster, welches durch die partielle Ordnung von Transitionen in einem Petri-Netz entstehen kann. a) p 1 p 2 t 1 t 2 p 4 p 5 t 4 t 5 b) p 3 t 3 p 6 t 6 p 7 t 7 t 1 t 4 t 2 t 5 t 4 t 4 t 5 t 5 t 3 t 6 t 7 t 2 t 2 t 1 t 1 [0,0,1, 0, 0,1, 0] [0,0,0, 0, 0,0, 1] [0,1,0, 0, 0,1, 0][0,0,1, 0, 1,0, 0] [0,0,1, 1, 0,0, 0][0,1,0, 0, 1,0, 0][1,0,0, 0, 0,1, 0] [1,0,0, 0, 1,0, 0][0,1,0, 1, 0,0, 0] [1,0,0, 1, 0,0, 0] Abb. 5.8. a) Petri-Netz und b) zugeh ¨ origer Erreichbarkeitsgraph [189] Man beachte, dass im Erreichbarkeitsgraphen in Abb. 5.8b) in der Markierung [1,0,0,1,0,0,0] die Ausf ¨ uhrung von t 1 und t 4 unabh ¨ angig voneinander ist, weshalb die beiden Schaltfolgen t 1 ,t 4 und t 4 ,t 1 in der selben Folgemarkierung resultie- ren. Weitere unabh ¨ angige Transitionen k ¨ onnen im Erreichbarkeitsgraph identifiziert werden: • Markierung [0,1,0,1,0,0,0]: Die Transitionen t 2 und t 4 sind unabh ¨ angig. • Markierung [1,0,0,0,1,0,0]: Die Transitionen t 1 und t 5 sind unabh ¨ angig. • Markierung [0,1,0,0,1,0,0]: Die Transitionen t 2 und t 5 sind unabh ¨ angig. Somit sind ausgehende von der Markierung [0,1,0,1,0,0,0] die Schaltfolgen t 2 ,t 4 , t 5 , t 4 ,t 2 ,t 5 und t 4 ,t 5 ,t 4 ¨ aquivalent und k ¨ onnen beispielsweise durch t 2 ,t 4 ,t 5 repr ¨ asentiert werden. In einem Erreichbarkeitsgraphen kann somit die Anzahl der m ¨ oglichen Pfade beim Schalten der Transitionen reduziert werden, indem eine einzelne, repr ¨ asentati- ve Schaltfolge gew ¨ ahlt wird. Das Ergebnis ist ein reduzierter Erreichbarkeitsgraph. Genauer gesagt wird eine Schaltfolge im Erreichbarkeitsgraphen beginnend bei ei- ner Markierung M durch eine Referenzschaltfolge repr ¨ asentiert, wenn diese Folge einem Pr ¨ afix einer beliebigen g ¨ ultigen Permutation einer Schaltfolge im reduzier- ten Erreichbarkeitsgraphen entspricht. Im obigen Beispiel bedeutet dies, dass die 174 5 Eigenschaftspr ¨ ufung Schaltfolge t 4 ,t 2 ein Pr ¨ afix der Schaltfolge t 4 ,t 2 ,t 5 darstellt, was eine g ¨ ultige Per- mutation der Referenzschaltfolge t 2 ,t 4 ,t 5 ist, und deshalb durch diese repr ¨ asentiert werden kann. Bei der Reduktion des Erreichbarkeitsgraphen ist allerdings die zu pr ¨ ufende Eigenschaft zu ber ¨ ucksichtigen. Hierzu werden Transitionen in einem Petri-Netz zun ¨ achst in sichtbare und nicht sichtbare Transitionen klassifiziert. Sichtbare Tran- sitionen werden entweder direkt in der zu pr ¨ ufenden Eigenschaft verwendet oder es werden Stellen aus dem Vor- oder Nachbereich dieser Transition verwendet. Bei der Reduktion d ¨ urfen lediglich die nicht sichtbaren Transitionen verwendet werden. Dabei m ¨ ussen drei grundlegende Anforderungen ber ¨ ucksichtigt werden: 1. Eine hinreichende Menge an Referenzschaltfolgen muss erhalten bleiben, um die Beobachtbarkeit aller Schaltreihenfolgen sichtbarer Transitionen sicherzu- stellen. 2. Als eine Konsequenz aus 1. d ¨ urfen lediglich nicht sichtbare Transitionen bei der Reduktion Verwendung finden. Es kann allerdings im Fall von Lebendigkeitsei- genschaften notwendig sein, nicht sichtbare Transitionen zu erhalten. Aber nicht zwangsl ¨ aufig alle. 3. Aus den ersten beiden Punkten folgt direkt die Frage, ob sich bei einer gegebe- nen zu pr ¨ ufenden Eigenschaft eine Reduktion ¨ uberhaupt lohnt. Dies ist offen- sichtlich nicht der Fall, wenn alle Transitionen sichtbar sind. Die Konstruktion des reduzierten Erreichbarkeitsgraphen wird in der Regel nicht durch Reduktion des bereits konstruierten Erreichbarkeitsgraphen erfolgen, sondern die Reduktion erfolgt bereits bei der Konstruktion. Dies ist m ¨ oglich, da die Un- abh ¨ angigkeit von Transitionen aus der Struktur des Petri-Netzes erkennbar ist. Dabei werden im Wesentlichen Konflikte zwischen Teilmengen von schaltbereiten Transi- tionen analysiert. Existiert eine Teilmenge an schaltbereiten Transitionen, die nicht im Konflikt mit schaltbereiten Transitionen außerhalb dieser Menge stehen, k ¨ onnen die Transitionen dieser Teilmenge schalten. Dabei wird keiner der nicht ber ¨ ucksich- tigten Transitionen die Schaltbereitschaft entzogen. Diese bleiben somit in sp ¨ ateren Markierung weiterhin schaltbereit. Allerdings kann es bei diesem Vorgehen passie- ren, dass relevante Schaltfolgen ¨ ubersehen werden. Hierf ¨ ur gibt es zwei Gr ¨ unde: 1. Das Ignoranzproblem entsteht, wenn eine schaltbereite Transition niemals schal- tet. Dies kann insbesondere auftreten, wenn Transitionen unter s ¨ amtlichen Mar- kierungen unabh ¨ angig bleiben. Ein einfaches Beispiel hierf ¨ ur sind zwei nicht zusammenh ¨ angende Petri-Netze. 2. Das Irritationsproblem entsteht, wenn eine Markierung niemals betreten wird, obwohl diese eine Anfangsmarkierung f ¨ ur eine Referenzschaltfolge ist. Ein Bei- spiel hierf ¨ ur ist in Abb. 5.8a) zu sehen. Die Transitionen t 1 und t 4 sind in der Anfangsmarkierung M 0 unabh ¨ angig voneinander. Wird eine der beiden Transi- tionen niemals ausgef ¨ uhrt (z. B. t 4 ), gehen hierdurch alle Schaltfolgen verloren, welche die Transition t 6 enthalten. Dies liegt daran, dass der Konflikt, der zwi- schen t 1 und t 6 besteht, unter der Anfangsmarkierung nicht gesehen wird. Aller- dings wird dieser nach Ausf ¨ uhrung der Schaltfolge t 4 ,t 5 sichtbar. 5.1 Pr ¨ ufung funktionaler Eigenschaften 175 Im Folgenden werden zwei Verfahren zur Partialordnungsreduktion vorgestellt. Die Stubborn-Set-Methode und die Sleep-Set-Methode nutzen dabei die oben disku- tierten Eigenschaften bei der Reduktion aus. Die Stubborn-Set-Methode Bei der Stubborn-Set-Methode wird in jedem Knoten des vollst ¨ andigen Erreichbar- keitsgraphen eine Teilmenge schaltbereiter Transitionen ausgew ¨ ahlt, die unabh ¨ angig von anderen schaltbereiten Transitionen sind. Diese Menge wird als engl. stubborn set bezeichnet. Neben schaltbereiten Transitionen kann diese Menge auch zus ¨ atzlich durch nicht schaltbereite Transitionen erweitert werden. Hierdurch wird das Irritati- onsproblem behandelt, falls diese Transitionen in Folgemarkierungen einen Konflikt ausl ¨ osen k ¨ onnen. Ausgehende Kanten aus dem Knoten im Erreichbarkeitsgraphen, die mit Transitionen markiert sind, die nicht in dem stubborn set enthalten sind, wer- den gel ¨ oscht. Da nicht zwangsl ¨ aufig alle schaltbereiten Transitionen enthalten sind, kann dies zu einer Reduktion des Erreichbarkeitsgraphen f ¨ uhren. Durch die Aus- wahl der Transitionen ist dabei sichergestellt, dass jede schaltbereite Transition, die nicht in dem stubborn set aufgenommen wird, unter jeder Folgemarkierung ebenfalls schaltbereit ist. Jede ausgew ¨ ahlte Transition muss hierf ¨ ur eine der beiden folgenden Bedingun- gen erf ¨ ullen: 1. Falls die ausgew ¨ ahlte Transition t ∈ T schaltbereit ist, w ¨ ahle ebenfalls alle Transitionen t ∈ T aus, die potentiell mit t in Konflikt stehen k ¨ onnen, d. h. •t ∩•t = ∅. 2. Falls die ausgew ¨ ahlte Transition t ∈ T nicht schaltbereit ist, w ¨ ahle eine Stelle p ∈•t mit M(p) < W(p,t), also eine Stelle, die aufgrund fehlender Marken die Schaltbereitschaft von t verhindert. Zu dieser Stelle werden alle Transitionen aus deren Vorbereich ebenfalls in das stubborn set aufgenommen, d. h. {t ∈ T | t ∈ •p}. Diese Bedingungen haben zur Folge, dass die Bestimmung des stubborn set eine Fixpunktberechnung ist. Es k ¨ onnen in jedem Schritt, wenn neue Transitionen hinzu- genommen werden, weitere Bedingungen verletzt sein, die wiederum die Aufnahme weiterer Transitionen in das stubborn set verlangen. Im schlimmsten Fall sind an- schließend alle Transitionen des Petri-Netzes in dem stubborn set enthalten. Das andere Extrem ist, dass lediglich eine unabh ¨ angige Transition in der stubborn set enthalten ist. Beispiel 5.1.12. Es wird das Petri-Netz aus Abb. 5.8a) betrachtet. Unter der Anfangs- markierung M 0 sind die Transitionen t 1 und t 4 schaltbereit. Das stubborn set ergibt sich hierbei zu {t 1 ,t 6 ,t 5 ,t 4 ,t 3 ,t 2 }. Dabei wurde zun ¨ achst die schaltbereite Transition t 1 ausgew ¨ ahlt. Diese besitzt allerdings einen strukturellen Konflikt mit Transition t 6 , weshalb t 6 ebenfalls mit in das stubborn set aufgenommen werden muss. Da t 6 nicht aktiviert ist, muss die Eingangsstelle p 6 betrachtet werden und alle Transitionen aus dem Vorbereich von p 6 ebenfalls in das stubborn set aufgenommen werden. Die ein- zige Transition aus dem Vorbereich •p 6 ist Transition t 5 . Da auch t 5 nicht schaltbereit 176 5 Eigenschaftspr ¨ ufung ist, wird auch t 4 mit aufgenommen. Welche wiederum einen strukturellen Konflikt mit t 3 besitzt. Schließlich wird auch noch t 2 mit in das stubborn set aufgenommen, da t 3 nicht schaltbereit ist. An dieser Stelle ist ein Fixpunkt erreicht. Da die Tran- sitionen t 1 und t 4 in dem stubborn set enthalten sind, kann in diesem ersten Schritt keine Vereinfachung des Erreichbarkeitsgraphen (siehe Abb. 5.8b)) erzielt werden. In der Folgemarkierung [0,1,0,1,0,0,0] kann die schaltbereite Transition t 2 aus- gew ¨ ahlt werden. Da diese bereits alle Anforderungen erf ¨ ullt, schaltet lediglich diese. Man beachte, dass aber ebenfalls t 4 weiterhin schaltbereit war. H ¨ atte man zuerst t 4 in das stubborn set aufgenommen, h ¨ atte t 4 aufgrund der geforderten Bedingungen auf {t 4 ,t 3 ,t 2 } erweitert werden m ¨ ussen, was in diesem Schritt wiederum zu keiner Zustandsraumreduktion gef ¨ uhrt h ¨ atte. Der reduzierte Erreichbarkeitsgraph nach An- wendung der Stubborn-Set-Methode ist in Abb. 5.9 zu sehen. t 1 t 4 t 2 t 5 t 4 t 5 t 3 t 6 t 7 t 2 t 1 [0,0,0,0,0,0,1] [0,0,1,0,0,1,0] [0,1,0,0,0,1,0][0,0,1,0,1,0,0] [0,0,1,1,0,0,0][1,0,0,0,0,1,0] [1,0,0,0,1,0 ,0][0,1,0,1,0,0,0] [1,0,0,1,0,0,0] Abb. 5.9. Reduzierter Erreichbarkeitsgraph des Petri-Netzes aus Abb. 5.8a) nach der Stub- born-Set-Methode [189] Bereits an diesem kleinen Beispiel erkennt man, dass die Effizienz der Stubborn- Set-Methode von vielen Parametern abh ¨ angt: • Der Wahl einer schaltbereiten Transition. • Der Wahl der Eingangsstelle einer nicht schaltbereiten Transition. • Der Prozedur, um dem Ignoranzproblem zu begegnen. Je nachdem wie die Stubborn-Set-Methode umgesetzt ist, k ¨ onnen unterschied- liche stubborn sets ermittelt werden. Die Frage, welche dieser Mengen verwen- det werden sollte, kann durch die Einschlussbedingung bestimmt werden. In obi- 5.1 Pr ¨ ufung funktionaler Eigenschaften 177 gen Beispiel w ¨ are unter der Markierung [0,1,0,1,0,0,0] das stubborn set {t 2 } oder {t 4 ,t 3 ,t 2 } m ¨ oglich. Da {t 2 } in {t 4 ,t 3 ,t 2 } enthalten ist, kann {t 2 } ausgew ¨ ahlt werden, da t 2 schaltbereit ist. Die Sleep-Set-Methode In der Sleep-Set-Methode wird mit jedem Knoten im vollst ¨ andigen Erreichbarkeits- graphen ein sog. engl. sleep set assoziiert. Im Gegensatz zur Stubborn-Set-Methode repr ¨ asentiert das sleep set, welche schaltbereiten Transitionen nicht schalten soll- ten. Die Entscheidung, dass eine schaltbereite Transition nicht schalten soll, basiert auf dem Wissen, dass die Folgemarkierung, die durch das Schalten dieser Transiti- on erreicht wird, auch auf anderem Weg erreicht werden kann. Somit eliminiert die Sleep-Set-Methode Kanten aus dem Erreichbarkeitsgraphen. Sleep sets werden w ¨ ahrend der Konstruktion des Erreichbarkeitsgraphen aufge- baut. Zu Beginn sind alle sleep sets leer. Gegeben sei eine Markierung M und das assoziierte sleep set.F ¨ ur alle unter M schaltbereiten Transitionen t mit Ausnahme der Transitionen in dem sleep set werden die Folgemarkierungen M bestimmt. Ist durch Schalten von t ein noch nicht besuchter Knoten mit Markierung M des Erreich- barkeitsgraphen erreicht worden, so wird das zu M assoziierte sleep set berechnet, indem das sleep set von M kopiert wird. Zu dem mit M assoziierten sleep set werden nun alle Transitionen, die in M vor t geschaltet haben, hinzugef ¨ ugt und alle Transi- tionen entfernt, die in einem Konflikt mit t unter der Markierung M stehen. Beispiel 5.1.13. Es wird wiederum das Petri-Netz aus Abb. 5.8a) betrachtet. F ¨ ur die Anfangsmarkierung M 0 ist das sleep set leer. Es wird das Schalten der Transitionen t 1 und t 4 in dieser Reihenfolge betrachtet. F ¨ ur die Folgemarkierung M 1 mit M 0 [t 1 M 1 ist das sleep set weiterhin leer. F ¨ ur die Folgemarkierung M 2 mit M 0 [t 4 M 2 , welche sich durch das Schalten von t 4 ergibt, besteht das sleep set aus dem Element t 1 ,dat 1 vor t 4 geschaltet hat. Aus diesem Grund schaltet in M 2 lediglich t 5 ,w ¨ ahrend in M 1 die beiden Transitionen t 2 und t 4 schalten usw. Der reduzierte Erreichbarkeitsgraph, der sich durch Anwendung der Sleep-Set-Methode ergibt, ist in Abb. 5.10 dargestellt. Die Sleep-Set-Methode reduziert die Kanten in einem Erreichbarkeitsgraphen und somit die Anzahl der Vergleiche von neuen und bereits besuchten Markierungen. Eine Zustandsraumreduktion in dem Sinne, dass Knoten im Erreichbarkeitsgraphen gel ¨ oscht werden, wie dies in der Stubborn-Set-Methode der Fall ist, wird dabei nicht vorgenommen, da die Sleep-Set-Methode das Ziel hat, alle erreichbaren Markierun- gen zu erhalten. Dies sieht man auch, wenn man Abb. 5.9 mit Abb. 5.10 vergleicht. Da alle Knoten erhalten bleiben, kann man aber weiterhin alle Erreichbarkeits- eigenschaften, die auf dem nichtreduzierten Erreichbarkeitsgraphen gepr ¨ uft werden k ¨ onnen, auch auf dem reduzierten Erreichbarkeitsgraphen pr ¨ ufen. Allerdings las- sen sich Lebendigkeitseigenschaften nicht mehr allgemein verifizieren. In Abb. 5.10 w ¨ urde die Markierung [0,1,0,0,0,1,0] f ¨ alschlicherweise als Verklemmung identifi- ziert. 178 5 Eigenschaftspr ¨ ufung t 1 t 4 t 2 t 5 t 4 t 4 t 5 t 5 t 3 t 6 t 7 [0,0,0,0,0,0,1] [0,0,1,0,0,1,0] [0,0,1,0,1,0,0][0,1,0,0,0,1,0] [1,0,0,0,0,1,0][0,1,0,0,1,0,0][0,0,1,1,0,0 ,0] [0,1,0,1,0,0,0][1,0,0,0,1,0,0] [1,0,0,1,0,0,0] Abb. 5.10. Reduzierter Erreichbarkeitsgraph des Petri-Netzes aus Abb. 5.8a) nach der Sleep- Set-Methode [189] Die Sleep-Set-Methode l ¨ asst sich auch mit der Stubborn-Set-Methode kombi- nieren. Dabei werden in jeder Markierung die Transitionen des sleep set aus dem stubborn set entfernt. Beispiel 5.1.14. Das Ergebnis der Kombination von Sleep-Set- und Stubborn-Set- Methode ist in Abb. 5.11 zu sehen. Es wird wiederum das Petri-Netz aus Abb. 5.8a) betrachtet. Ausgangspunkt ist diesmal allerdings der reduzierte Erreichbarkeits- graph, der sich durch Anwendung der Stubborn-Set-Methode ergeben hat (siehe Abb. 5.9). Entscheidend ist, dass in der Markierung [1, 0, 0, 0, 0, 1, 0] das stubborn set {t 1 ,t 6 } sowie das sleep set {t 1 } gilt, weshalb lediglich t 6 weiter betrachtet wird. Der in Abb. 5.11 gezeigte reduzierte Erreichbarkeitsgraph erlaubt keine weitere Re- duktion. 5.2 Explizite Modellpr ¨ ufung F ¨ ur die im vorangegangenen Kapitel beschriebenen Verifikationsmethoden zur Ei- genschaftspr ¨ ufung von Petri-Netzen stellt der Erreichbarkeitsgraph ein zentrales Ele- ment dar. Ist die Erreichbarkeitsmenge und somit der Zustandsraum endlich, k ¨ onnen Petri-Netze als temporale Strukturen (siehe Definition 2.4.1 auf Seite 73) repr ¨ asen- tiert werden. F ¨ ur Modelle mit endlichem Zustandsraum wurden in den vergangenen Jahren effiziente Verfahren zur ¨ Uberpr ¨ ufung von Erreichbarkeits-, Gefahrlosigkeits- und Lebendigkeitseigenschaften entwickelt. Da all diese Verfahren ein Modell des zu 5.2 Explizite Modellpr ¨ ufung 179 t 1 t 4 t 2 t 5 t 4 t 5 t 3 t 6 t 7 [0,0,0,0,0,0,1] [0,0,1,0,0,1,0] [0,0,1,0,1,0,0] [0,0,1,1,0,0,0] [0,1,0,1,0,0,0] [1,0,0,0,0,1,0] [1,0,0,0,1, 0,0] [1,0,0,1,0,0,0] Abb. 5.11. Reduzierter Erreichbarkeitsgraph nach Kombination der Sleep-Set- und Stubborn- Set-Methode [189] ¨ uberpr ¨ ufenden Systems verlangen, werden diese Verfahren auch als Modellpr ¨ ufung bezeichnet. Basierend auf der formalen Spezifikation funktionaler Eigenschaften, wie sie im Abschnitt 2.4 diskutiert wurde, werden im Folgenden formale Modellpr ¨ ufungsme- thoden f ¨ ur CTL- und LTL-Formeln pr ¨ asentiert. Beide Verfahren basieren darauf, dass das zu verifizierende System als temporale Struktur modelliert wird. Anschließend wird eine simulative Verifikationsmethode zur Modellpr ¨ ufung vorgestellt. 5.2.1 CTL-Modellpr ¨ ufung CTL-Formeln werden aus aussagenlogischen Formeln gebildet, indem temporale Operatoren, Pfadquantoren und logische Operatoren verwendet werden (siehe De- finition 2.4.6 auf Seite 78). Da jedem temporalen Operator direkt ein Pfadquantor voran steht, gibt es in CTL acht Operatoren mit Verzweigungslogik, wobei die drei Operatoren EX, EG und EU mit den aussagenlogischen Operatoren ∨ und ¬ eine vollst ¨ andige Basis bilden, in der sich alle acht Operatoren darstellen lassen. In CTL- lassen sich Erreichbarkeits- (EF), Gefahrlosigkeits- (AG) und Lebendigkeitseigen- schaften (AG AF) formulieren. Im Folgenden wird beschrieben, wie CTL-Formeln auf einer gegebenen temporalen Struktur M gepr ¨ uft werden k ¨ onnen. Gegeben sei eine temporale Struktur M =(S, R, L), bestehend aus Zust ¨ anden S, einer ¨ Ubergangsrelation R, einem Anfangszustand s 0 ∈ S und einer Markierungs- funktion L : S → 2 V , die jedem Zustand eine Teilmenge an aussagenlogischen Varia- blen (atomaren Formeln) aus V zuordnet. Weiterhin gegeben sei eine CTL-Formel ϕ . 180 5 Eigenschaftspr ¨ ufung Die Aufgabe der Modellpr ¨ ufung besteht nun darin, alle Zust ¨ ande in der temporalen Struktur M zu identifizieren, in denen ϕ gilt: SAT(M, ϕ ) := {s ∈ S | M,s |= ϕ } (5.10) Oftmals ist die Verifikationsaufgabe in der Form M,s 0 |= ϕ gegeben. In diesem Fall muss lediglich gepr ¨ uft werden, ob s 0 ∈ SAT(M, ϕ ) ist. Ein Algorithmus zur CTL-Modellpr ¨ ufung kann direkt aus der Semantik von CTL (siehe Definition 2.4.7 auf Seite 78) abgeleitet werden und basiert auf der Berech- nung von kleinsten und gr ¨ oßten Fixpunkten. CTL-Fixpunktberechnung ist in An- hang C.4 beschrieben. Gleichung (5.11) zeigt die Fixpunktdefinitionen f ¨ ur sechs Operatoren mit Verzweigungslogik, wobei μ y den kleinsten und ν y den gr ¨ oßten Fix- punkt eines Funktionals y charakterisiert. Zur Definition der Operatoren EX ϕ und AX ϕ wird keine Fixpunktberechnung ben ¨ otigt. AF ϕ := μ y : ϕ ∨¬EX ¬y EF ϕ := μ y : ϕ ∨ EX y AG ϕ := ν y : ϕ ∧¬EX ¬y (5.11) EG ϕ := μ y : ϕ ∧ EX y A ϕ U ψ := μ y : ψ ∨ ( ϕ ∧¬EX ¬y) E ϕ U ψ := μ y : ψ ∨ ( ϕ ∧ EX y) Die grundlegende Idee in den Gleichungen ist es, jeden Operator durch zwei logisch verkn ¨ upfte Teile zu beschreiben: 1. Der erste Teil enth ¨ alt lediglich Aussagen ¨ uber die Markierung des momentan betrachteten Zustands. 2. Der zweite Teil enth ¨ alt Aussagen ¨ uber direkte Nachfolgezust ¨ ande, wobei diese f ¨ ur mindestens einen (EX ϕ ) oder alle (AX ϕ = ¬EX ¬ ϕ ) Nachfolgezust ¨ ande gilt. Die Berechnung der Zust ¨ ande SAT(M, ϕ ), in denen ϕ gilt, erfolgt analog zur De- finition 2.4.7 der Relation |=, also auf der Struktur der Formel. Dies bedeutet, dass zun ¨ achst diejenigen Zust ¨ ande bestimmt werden, in denen die verwendeten aussa- genlogischen Variablen wahr sind. Anschließend werden, basierend auf der Seman- tik von CTL f ¨ ur komplexere Teilformeln, die assoziierten Zust ¨ ande bestimmt. Dies wird sukzessive wiederholt, bis alle Operatoren der CTL-Formel abgearbeitet sind. Beispiel 5.2.1. Gegeben ist eine temporale Struktur M und die CTL-Formel AG ( ϕ ⇒ AF ψ ).DieseFormell ¨ asst sich als Syntaxbaum darstellen (siehe Abb. 5.12). Der Quellknoten repr ¨ asentiert die gesamte CTL-Formel. Bl ¨ atter des Syntaxbaums sind aussagenlogische Variablen. Zur Berechnung von SAT(M, ϕ ) aus Gleichung (5.10) ist die Umsetzung der folgenden Teilberechnungen hinreichend: • Berechnung der Markierungsfunktion L(s) auf den Zust ¨ anden s ∈ S der tempo- ralen Struktur M 5.2 Explizite Modellpr ¨ ufung 181 AG ⇒ ϕ AF ψ Abb. 5.12. Syntaxbaum der CTL-Formel AG ( ϕ ⇒ AF ψ ) [272] • Berechnung von logischen Operatoren auf Mengen • Auswertung des Operators EX • Berechnung der Fixpunkte f ¨ ur EG und EU Im Folgenden wird die Umsetzung dieser Teilberechnungen diskutiert. Die Verifikationsmethode Zentraler Bestandteil der Fixpunktberechnungen und damit der Verifikationsmetho- de ist die Berechnung des Operators EX p. Ist f ¨ ur eine temporale Struktur M = (S,R,L) bereits die Menge der Zust ¨ ande S p ⊆ S bekannt, in denen p gilt, so m ¨ ussen f ¨ ur diese Zust ¨ ande die direkten Vorg ¨ anger bestimmt werden. Eine Funktion, die dies erf ¨ ullt, ist COMPUTE EX: COMPUTE EX(M, S p ) { RETURN {s ∈ S |∃s ∈ S p : (s,s ) ∈ R}; } Weiterhin wird eine Funktion ben ¨ otigt, die den Operator EG p implementiert. Wiederum sei S p die Menge an Zust ¨ anden, in denen p gilt. Dann muss die Imple- mentierung von EG p diejenigen Zust ¨ ande bestimmen, die einen unendlichen Pfad besitzen, der lediglich ¨ uber Zust ¨ ande in S p verl ¨ auft. Die Funktion COMPUTE EG implementiert dieses: COMPUTE EG(M, S p ) { S N := S; DO S R := S N ; S N := S p ∩ COMPUTE EX(M,S N ); UNTIL (S N = S R ) RETURN S N ; } Die Funktion erh ¨ alt als Argumente die temporale Struktur M und die Menge S p der Zust ¨ ande, in denen p gilt. Beginnend mit der Menge aller Zust ¨ ande S N := S