Digitale Hardware/ Software-Systeme- P9 docx

20 215 0
Digitale Hardware/ Software-Systeme- P9 docx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

152 4 ¨ Aquivalenzpr ¨ ufung Zun ¨ achst wird ein Eingabesymbol i bestimmt, welches ausgehend vom Zustand error die Ausgabe F erzeugt. Anschließend wird f ¨ ur jeden Iterationsschritt ein Vo rg ¨ angerzustand pred ausgew ¨ ahlt und eine Eingabe bestimmt, die den ¨ Ubergang von pred nach error ausl ¨ ost. Diese Eingabe wird per Konkatenation ◦ an den An- fang der Sequenz gestellt. Dies wird k-mal wiederholt. Dann ist der Anfangszustand erreicht und somit die Sequenz an Eingaben zur Erzeugung der Ausgabe von F von M p abgeschlossen. 4.4 Strukturelle ¨ Aquivalenzpr ¨ ufung W ¨ ahrend implizite Verfahren einen hohen Speicherbedarf haben, um Repr ¨ asenta- tionen des Systems zu erstellen, leiden explizite Verfahren h ¨ aufig an einer hohen Laufzeit. Orthogonal zu impliziten und expliziten Verfahren k ¨ onnen sog. strukturel- le Verfahren zur ¨ Aquivalenzpr ¨ ufung verwendet werden. Strukturelle Verfahren basie- ren auf der Idee der Partitionierung. Durch Partitionierung k ¨ onnen die betrachteten Systeme in ¨ uberschaubare, kleinere Einheiten zerlegt werden. Dies ist in Abb. 4.19 f ¨ ur eine explizite ¨ Aquivalenzpr ¨ ufung zu sehen. Vergleicher ? ≡ 0 Schnitt f 11 f 12 f 13 f 1 f 21 f 22 f 2 Abb. 4.19. Strukturelle ¨ Aquivalenzpr ¨ ufung Entlang des Schnittes (engl. cut) werden die beiden Systeme, welche die Funk- tionen f 1 und f 2 implementieren, in jeweils zwei Teilsysteme zerlegt. Eine m ¨ ogliche Vorgehensweise, um die ¨ Aquivalenz von f 1 und f 2 zu zeigen, besteht nun darin, die ¨ Aquivalenz der beiden Teilsysteme von den prim ¨ aren Eing ¨ angen bis zu den Schnitt- punkten (engl. cut points) zu zeigen und anschließend die Signale an den Schnitt- punkten zu substituieren. Solch eine Substitution ist in Abb. 4.20 f ¨ ur das Beispiel aus Abb. 4.19 dargestellt. Nachdem gezeigt wurde, dass die beiden Teilsysteme an den Eing ¨ angen der beiden Systeme ¨ aquivalent sind, k ¨ onnen die Signale des oberen Teilsystems im unteren Teilsystem wiederverwendet werden. Man sieht, dass dabei die Gesamtgr ¨ oße beider Systeme reduziert wurde, was das eigentliche Verifikations- problem verkleinert. 4.4 Strukturelle ¨ Aquivalenzpr ¨ ufung 153 Vergleicher ? ≡ 0 f 11 f 12 f 13 f 1 f 22 f 2 Abb. 4.20. Substitution nach Partitionierung zur strukturellen ¨ Aquivalenzpr ¨ ufung Ein alternativer Ansatz, der auf Partitionierung des Systems beruht, reduziert die Problemgr ¨ oße noch drastischer: Nachdem die ¨ Aquivalenz der Teilsysteme (Parti- tionen) von den prim ¨ aren Eing ¨ angen der Systeme bis zu den Schnittpunkten ge- zeigt wurde, werden die Teilsysteme von den Schnittpunkten bis zu den prim ¨ aren Ausg ¨ angen unabh ¨ angig von den vorderen Teilsystemen auf ¨ Aquivalenz ¨ uberpr ¨ uft, d. h. die Schnittpunkte werden die neuen Eing ¨ ange f ¨ ur den Vergleich. Auch wenn hierdurch der Verifikationsaufwand drastisch reduziert wird, so ist das Ergebnis dennoch kritisch zu betrachten. Durch den Schnitt sind die Teilsys- teme entkoppelt, d. h. obwohl die Ausg ¨ ange der Teilsysteme zwischen prim ¨ aren Eing ¨ angen und Schnittpunkten die Eingaben f ¨ ur die Teilsysteme zwischen Schnitt und prim ¨ aren Ausg ¨ angen bilden, geht dieses Wissen durch den Schnitt verloren. Dies ist in Abb. 4.21 visualisiert. Abbildung 4.21a) zeigt ein System bestehend aus zwei Teilsystemen, welche die Funktionen f 1 und f 2 implementieren. Zus ¨ atzlich sind der Eingabe- und der Ausgabebereich des Systems zu sehen. Aufgrund der gew ¨ ahlten Abstraktion sind allerdings lediglich die dunkel hervorgehobenen Bereiche steuer- bar bzw. beobachtbar. Eingabe- bereich f 2 f 1 f 1 f 2 bereich Ausgabe- beobachtbarer Ausgabebereich von f 1 a) b) steuerbarer Eingabebereich von f 2 potentielle falschnegative Ergebnisse Abb. 4.21. Entstehung falschnegativer Ergebnissen bei der strukturellen ¨ Aquivalenzpr ¨ ufung 154 4 ¨ Aquivalenzpr ¨ ufung In Abb. 4.21b) ist das partitionierte System zu sehen. Der steuerbare Eingabe- bereich ist identisch mit dem Gesamtsystem aus Abb. 4.21a). Am Schnittpunkt zwi- schen f 1 und f 2 ergibt sich f ¨ ur das linke Teilsystem ein beobachtbarer Ausgabebe- reich, der dunkel hervorgehoben ist. Durch die Entkopplung der Teilsysteme kann nun der Effekt beobachtet werden, dass der steuerbare Eingabebereich der Funktion f 2 nicht zwangsl ¨ aufig deckungsgleich mit diesem Ausgabebereich sein muss. Dieser steuerbare Eingabebereich f ¨ ur f 2 f ¨ uhrt zu einem vergr ¨ oßerten beobachtbaren Ausga- bebereich. Werden bei einer expliziten ¨ Aquivalenzpr ¨ ufung lediglich die Partitionen von zwei Systemen verglichen, kann es zu Nicht- ¨ Aquivalenzen kommen, die in dem vergr ¨ oßerten beobachtbaren Ausgabebereich einer Partition liegen, d. h. die im Ge- samtsystem nicht h ¨ atten auftreten k ¨ onnen. Diese F ¨ alle werden als falschnegative Er- gebnisse (engl. false negative) bezeichnet, da sie zu einem negativen, aber falschen, Verifikationsergebnis f ¨ uhren. Aus diesem Grund ist es notwendig, bei einer struktu- rellen ¨ Aquivalenzpr ¨ ufung nochmals zu ¨ uberpr ¨ ufen, ob das gefundene Gegenbeispiel f ¨ ur die Nicht ¨ aquivalenz tats ¨ achlich von den prim ¨ aren Eing ¨ angen des Systems aus angesteuert werden kann. Allgemein kann man sagen, dass nicht aus der ¨ Aquivalenz von zwei Systemen und der ¨ Aquivalenz der Systempartitionen vor dem Schnitt auf die ¨ Aquivalenz der Systempartitionen nach dem Schnitt geschlossen werden kann. Der Grund hierf ¨ ur liegt darin, dass nicht alle Belegungen an den Schnittpunkten an- gesteuert werden k ¨ onnen. Entsprechend k ¨ onnen die Systempartitionen hinter dem Schnitt auch nicht ¨ aquivalent bei nicht erreichbaren Belegungen sein. Spezielle Verfahren zur strukturellen ¨ Aquivalenzpr ¨ ufung von Hardware werden in Abschnitt 6.1.4 diskutiert. Strukturelle Verfahren zur ¨ Aquivalenzpr ¨ ufung von Soft- ware werden in Abschnitt 7.1.2 beschrieben. 4.5 Literaturhinweise Taylor-Expansion-Diagramme (TEDs) wurden von Ciesielski et al. eingef ¨ uhrt [94]. Ihre Anwendung f ¨ ur Verifikation auf Architekturebene und Logikebene sind in [251] bzw. [93] dargestellt. Fey et al. untersuchen in [163] Algorithmen f ¨ ur TEDs. Verfah- ren zum dynamischen Umordnen von Variablen in TEDs sind in [202] beschrieben. Eine ¨ Ubersicht ¨ uber TEDs und ihren Einsatz f ¨ ur die Verifikation findet man in [92]. Diversifizierende Methoden zur simulativen ¨ Aquivalenzpr ¨ ufung sind ausf ¨ uhrlich in [305] erl ¨ autert. Eine ¨ Ubersicht zum Bereichstest findet man in [108]. Verfahren zur Pr ¨ ufung der ¨ Aquivalenz von endlichen Automaten sind ausf ¨ uhrlich in [272, 329] behandelt. An selber Stelle sind auch strukturelle Verfahren zur ¨ Aquivalenzpr ¨ ufung beschrieben. 5 Eigenschaftspr ¨ ufung Ziel der Eigenschaftspr ¨ ufung ist es, zu testen, ob die Implementierung funktionale und nichtfunktionale Anforderungen erf ¨ ullt (siehe Abb. 5.1). Bei der Pr ¨ ufung funk- tionaler Eigenschaften wird das Strukturmodell der Implementierung dahin gehend ¨ uberpr ¨ uft, ob dieses alle funktionalen Anforderungen erf ¨ ullt. Dabei werden typi- scherweise Gefahrlosigkeits- und Lebendigkeitseigenschaften gepr ¨ uft. Eine Gefahr- losigkeitseigenschaft besagt, dass nie etwas Schlimmes passieren wird, w ¨ ahrend ei- ne Lebendigkeitseigenschaft besagt, dass immer irgendwann etwas Gutes passieren wird. Anforderungen Anforderungen pr ¨ ufung Eigenschafts- funktionale Abstraktion & Struktur Qualit ¨ ats- a) b) merkmale Abstraktion & pr ¨ ufung Eigenschafts- funktionale nicht- Abb. 5.1. a) funktionale Eigenschaftspr ¨ ufung und b) Pr ¨ ufung nichtfunktionaler Eigenschaften Die Pr ¨ ufung nichtfunktionaler Eigenschaften zeigt, dass die abgesch ¨ atzten Qua- lit ¨ atsmerkmale der Implementierung allen nichtfunktionalen Anforderungen der Spe- zifikation gen ¨ ugen. Nichtfunktionale Anforderungen k ¨ onnen dabei z. B. eine maxi- male Antwortzeit, ein minimaler Durchsatz, eine minimale MTTF (engl. Mean Ti- C. Haubelt, J. Teich, Digitale Hardware/Software-Systeme, eXamen.press, DOI 10.1007/978-3-642-05356-6 5, c  Springer-Verlag Berlin Heidelberg 2010 156 5 Eigenschaftspr ¨ ufung me To Failure) oder eine maximale Leistungs- und Energieaufnahme sein. Obwohl viele der genannten nichtfunktionalen Eigenschaften eingebetteter Systeme in der Praxis von großer Bedeutung sind, liegt der Fokus des vorliegenden Buchs auf der Betrachtung rein zeitlicher Eigenschaften, da eingebettete Systeme nahezu immer Echtzeitbeschr ¨ ankungen unterliegen. Im Folgenden werden die Grundlagen zur Pr ¨ ufung funktionaler und nichtfunk- tionaler Eigenschaften pr ¨ asentiert. Zun ¨ achst werden unterschiedliche Verfahren zur funktionalen Eigenschaftspr ¨ ufung f ¨ ur Petri-Netze vorgestellt, wobei sich zeigt, dass insbesondere Methoden, die Systemzust ¨ ande aufz ¨ ahlen, eine besondere Bedeutung gewonnen haben. Aus diesem Grund wird einer der wichtigsten Vertreter aus diesem Bereich, die sog. Modellpr ¨ ufung detaillierter betrachtet. Hierbei wird zun ¨ achst die explizite und anschließend die symbolische Modellpr ¨ ufung vorgestellt. Dabei wird sowohl auf die BDD-basierte als auch die SAT-basierte Modellpr ¨ ufung eingegangen. Letztere ist heutzutage der wichtigste Vertreter der Modellpr ¨ ufungsverfahren. Zum Abschluss dieses Kapitels wird noch auf die Pr ¨ ufung des Zeitverhaltens eingegan- gen, wobei sowohl kontrollfluss- als auch datenflussdominante Modelle betrachtet werden. 5.1 Pr ¨ ufung funktionaler Eigenschaften In Kapitel 2.2.1 wurden Definitionen f ¨ ur dynamische Eigenschaften von Petri- Netzen gegeben. Die wichtigsten Eigenschaften, die in diesem Abschnitt betrachtet werden, lauten zusammengefasst: Beschr ¨ anktheit (Definition 2.2.5 auf Seite 44), Le- bendigkeit (Definition 2.2.8 auf Seite 44) und Reversibilit ¨ at (Definition 2.2.9 auf Sei- te 45). Bei den Definitionen wurden nicht darauf eingegangen, wie f ¨ ur ein gegebenes Petri-Netz gezeigt werden kann, ob es diese Eigenschaften besitzt. Dies ist Gegen- stand der Eigenschaftspr ¨ ufung, die in diesem Kapitel diskutiert wird. Hierzu werden zun ¨ achst die wesentlichen Eigenschaften nochmals an Beispielen wiederholt. Beispiel 5.1.1. Betrachtet wird das Petri-Netz G mit der Anfangsmarkierung M 0 in Abb. 5.2a). Durch Schalten der Transition t 2 wird die Folgemarkierung M 1 erreicht, also M 0 [t 2 M 1 , wobei M 1 (p 1 )=M 1 (p 2 )=0 und M 1 (p 3 )=M 1 (p 4 )=1 ist. Durch Schalten von Transition t 4 wird die Folgemarkierung M 2 erreicht, wobei M 2 (p 2 )= M 2 (p 4 )=0 und M 2 (p 1 )=M 2 (p 3 )=1ist. Wiederholt man die Sequenz t 2 ,t 4  insgesamt k mal so erreicht man die Fol- gemarkierung M 2k (p 2 )=M 2k (p 4 )=0, M 2k (p 1 )=1 und M 2k (p 3 )=k. Da man die Sequenz beliebig oft wiederholen kann, also k beliebig groß werden kann, ist die Stelle p 3 unbeschr ¨ ankt. Als Modell eines eingebetteten Systems w ¨ urde die Stelle p 3 beispielsweise einen Speicher darstellen. Da physikalische Speicher eine endliche Gr ¨ oße besitzen, w ¨ urde es zwangsl ¨ aufig bei wiederholter Ausf ¨ uhrung der Sequenz t 2 ,t 4  zu Speicher ¨ uberl ¨ aufen kommen. Da G eine unbeschr ¨ ankte Stelle enth ¨ alt, ist G selbst unbeschr ¨ ankt. Andererseits kann beginnend mit der Anfangsmarkierung M 0 , dargestellt in Abb. 5.2a), die Transition t 1 schalten. Die Folgemarkierung M 1 mit M 0 [t 1 M 1 er- gibt sich zu M 1 (p 1 )=M 1 (p 3 )=M 1 (p 4 )=0 und M 1 (p 2 )=1. Allerdings ist unter 5.1 Pr ¨ ufung funktionaler Eigenschaften 157 p 2 p 3 p 4 t 3 t 1 t 4 t 2 t 1 t 2 p 2 p 3 p 1 t 3 t 4 p 7 p 1 a) b) p 6 p 5 p 4 Abb. 5.2. a) unbeschr ¨ anktes Petri-Netz und b) sicheres Petri-Netz [189] der Markierung M 1 keine weitere Transition schaltbereit. Somit ist G zus ¨ atzlich auch nicht verklemmungsfrei. Betrachtet man hingegen das Petri-Netz G aus Abb. 5.2b), so sieht man, dass G sowohl 1-beschr ¨ ankt als auch stark lebendig ist. Allerdings m ¨ ussen diese Eigen- schaften nicht monoton in der Anfangsmarkierung sein, d. h. wird die Menge der Marken in der Anfangsmarkierung vergr ¨ oßert, k ¨ onnen Eigenschaften wie die Ver- klemmungsfreiheit verloren gehen. In dem Beispiel in Abb. 5.2b) k ¨ onnte zus ¨ atzlich zu der dargestellten Anfangsmarkierung eine Marke auf p 5 positioniert werden. In diesem Fall ist es denkbar, dass t 2 zuerst schaltet, was zu einer Verklemmung des Petri-Netzes f ¨ uhrt. In einem Petri-Netz wird eine Markierung M als Grundzustand bezeichnet, falls dieser Zustand aus allen aus M erreichbaren Zust ¨ anden wiederum erreichbar ist. Ist der Anfangszustand M 0 ein Grundzustand, so heißt das Petri-Netz reversibel. Beispiel 5.1.2. Das Petri-Netz G, das in Abb. 5.3 dargestellt ist, ist nicht reversibel. Allerdings sind alle Folgezust ¨ ande M ∈ [M 0 \{M 0 } Grundzust ¨ ande. Beschr ¨ anktheit, Lebendigkeit und Reversibilit ¨ at sind ” gute“ Eigenschaften, die typischerweise von Systemen gefordert werden. Dabei sind diese drei Eigenschaften unabh ¨ angig voneinander, was leicht mit Hilfe von kleinen Beispielen gezeigt wer- den kann [189]. Die acht m ¨ oglichen Kombinationen aus dem Vorhandensein bzw. Nichtvorhandensein der Eigenschaften sind in Abb. 5.4 zu sehen. Prinzipiell k ¨ onnen bei Methoden zur Eigenschaftspr ¨ ufung auf Petri-Netzen zwei Ans ¨ atze unterschieden werden. Zum einen werden aufz ¨ ahlende Verfahren einge- setzt, um erreichbare Zust ¨ ande eines Petri-Netzes zu erfassen. Zum anderen werden strukturelle Verfahren eingesetzt, um das dynamische Verhalten von Petri-Netzen zu beschreiben. Beide Ans ¨ atze werden im Folgenden genauer beschrieben. Zum Ab- schluss wird noch ein zentrales Problem bei der Verifikation digitaler Systeme, die sich als Petri-Netz modellieren lassen, betrachtet: Durch die potentiell nebenl ¨ aufige 158 5 Eigenschaftspr ¨ ufung t 1 t 2 p 1 p 2 p 4 t 3 p 3 p 5 t 4 t 5 Abb. 5.3. Nichtreversibles Petri-Netz [189] Ausf ¨ uhrung von Transitionen, kann es unterschiedliche Schaltfolgen in einem Petri- Netz geben, die zu der selben Markierung f ¨ uhren. Die Anzahl dieser unterschied- lichen Sequenzen kann sehr groß werden, was eine effiziente Eigenschaftspr ¨ ufung verhindern kann. Eine sog. Partialordnungsreduktion hilft, lediglich repr ¨ asentative Schaltfolgen auszuw ¨ ahlen. 5.1.1 Eigenschaftspr ¨ ufung auf Erreichbarkeitsgraphen Eine M ¨ oglichkeit Systeme, die als Petri-Netz modelliert sind, bez ¨ uglich der Eigen- schaften Beschr ¨ anktheit, Lebendigkeit und Reversibilit ¨ at zu ¨ uberpr ¨ ufen, besteht dar- in, die Erreichbarkeitsmenge [M 0  als sog. Erreichbarkeitsgraphen zu repr ¨ asentieren. Eine Verifikation im Allgemeinen ist allerdings nur m ¨ oglich, wenn das Petri-Netz beschr ¨ ankt und somit die Erreichbarkeitsmenge endlich ist. Ist das Petri-Netz hin- gegen unbeschr ¨ ankt, muss der resultierende unendliche Erreichbarkeitsgraph durch einen endlichen Erreichbarkeitsgraphen angen ¨ ahert werden. In diesem Fall k ¨ onnen nur noch eingeschr ¨ ankte Anforderungen verifiziert werden. Definition 5.1.1 (Erreichbarkeitsgraph). Gegeben sei ein Petri-Netz G(P,T , F,K, W,M 0 ) mit Erreichbarkeitsmenge [M 0 .DerErreichbarkeitsgraph RG(G)=(V,E,L v , L e ,v 0 ) von G besteht aus Knoten v ∈ V, welche die erreichbaren Markierungen M ∈ [M 0  repr ¨ asentieren, Kanten e ∈ E, die Markierungs ¨ anderungen durch Schalten einer Transition t ∈ T darstellen, einer Knotenmarkierungsfunktion L v : V → [M 0 , die mit jedem Knoten v ∈ V eine Markierung assoziiert, einer Kantenmarkierungs- funktion L e : E → T , die jeder Kante eine Transition zuordnet, und einem Quellkno- ten v 0 ∈ V. Um den Erreichbarkeitsgraphen f ¨ ur unbeschr ¨ ankte Petri-Netze konstruieren zu k ¨ onnen, bedarf es einer Abstraktion f ¨ ur unbeschr ¨ ankte Stellen. Im Folgenden wird das Symbol ∞ verwendet, um eine unbeschr ¨ ankte Stelle zu kennzeichnen. Zur De- tektion unbeschr ¨ ankter Stellen wird der Begriff der Zustandsdominanz eingef ¨ uhrt. 5.1 Pr ¨ ufung funktionaler Eigenschaften 159 a) b) R c) V d) B g) BV h) BVR e) VR f) BR Abb. 5.4. Beschr ¨ anktheit (B), Verklemmungsfreiheit (V) und Reversibilit ¨ at (R) sind vonein- ander unabh ¨ angige Eigenschaften [189] 160 5 Eigenschaftspr ¨ ufung Definition 5.1.2 (Zustandsdominanz). Gegeben sei ein Petri-Netz G(P,T,F,K,W, M 0 ) sowie zwei Markierungen M i ,M j ∈ [M 0 .M i dominiert M j , geschrieben als M i  M j , wenn M i  M j ⇔ (∀p ∈ P : M i (p) ≥ M j (p)) ∧ (∃p ∈ P : M i (p) > M j (p)) gilt. Die Konstruktion des Erreichbarkeitsgraphen kann dann wie folgt geschehen: CONSTRUCT REACHABILITY GRAPH(G) { RG :=({v 0 },{},(v 0 ,M 0 ),{},v 0 ); V N := V; FOREACH v ∈ V N FOREACH t ∈{t  ∈ T | L v (v)[t  } L(v)[tM  ; IF (∃v  ∈ V : L v (v  )=M  ) E := E ∪{(v,v  )}; L e (v,v  ) := t; ELSE M  := UPDATE(RG,v,M  ); V := V ∪{v  }; V N := V N ∪{v  }; E := E ∪{(v,v  )}; L v (v  ) := M  ; L e (v,v  ) := t; V N := V N \{v}; RETURN RG ; } Zun ¨ achst wird der Erreichbarkeitsgraph RG mit einem Quellknoten v 0 , mit dem die Anfangsmarkierung M 0 assoziiert ist, initialisiert. Dabei ist die Menge der Kan- ten s owie die Kantenmarkierungsfunktion leer. Anschließend werden solange neue Knoten und Kanten hinzugef ¨ ugt, wie neue Markierungen durch Schalten von Tran- sitionen ermittelt werden k ¨ onnen. F ¨ ur jeden neuen Knoten werden die schaltbereiten Transitionen und die resultierenden Folgemarkierungen M  ermittelt. Existiert bereits ein Knoten v  mit einer solchen Markierung in RG, so wird lediglich eine neue Kante e =(v,v  ) hinzugef ¨ ugt und mit der entsprechenden Transition beschriftet. Existiert hingegen kein Knoten v  mit der selben Markierung, wird ein neuer Knoten v  und eine neue Kante e =(v, v  ) hinzugef ¨ ugt. Die neue Kante wird ebenfalls wieder mit der entsprechenden Transition beschriftet. Der neue Knoten v  erh ¨ alt die Knoten- markierung L v (v  ) := M  , wobei diese zun ¨ achst mit der Funktion UPDATE auf eine m ¨ ogliche Zustandsdominanz untersucht wird. Die Funktion UPDATE sieht wie folgt aus: UPDATE(RG, v N , M) { FOREACH ˜v ∈{ˆv =(v 0 , ,v i , v N ) ∈ RG |∀1 ≤ i ≤ N : (v i−1 ,v i ) ∈ E} IF (∃v i ∈ ˜v : M  L v (v i )) ∀p ∈ P,M(p) > L v (v i )(p) : M(p) := ∞; RETURN M; } 5.1 Pr ¨ ufung funktionaler Eigenschaften 161 In der Prozedur UPDATE wird ¨ uberpr ¨ uft, ob es im Erreichbarkeitsgraphen auf den Pfaden vom Quellknoten v 0 zum Knoten v N einen Knoten v i gibt, der von der Markie- rung M dominiert wird. Ist dies der Fall, wird jedes Element M(p) der Markierung, was echt gr ¨ oßer dem Element L v (v i )(p) in der dominierten Markierung ist, durch das Symbol ∞ ersetzt. Dies zeigt an, dass die Stelle p unbeschr ¨ ankt ist. Falls eine solche Markierung nicht existiert, bleibt M unver ¨ andert. Beispiel 5.1.3. Gegeben ist das Petri-Netz in Abb. 5.5a). Die Anfangsmarkierung M 0 ist gegeben als M 0 (p 1 )=M 0 (p 2 )=1 und M 0 (p 3 )=0. In Vektorschreibweise wird dies als M 0 =[1,1, 0] dargestellt. F ¨ ur die Konstruktion des Erreichbarkeitsgraphen wird zun ¨ achst ein Knoten v 0 erzeugt und mit der Anfangsmarkierung M 0 beschriftet. Anschließend werden alle schaltbereiten Transition t ∈{t  ∈ T | M 0 [t  } bestimmt und die resultierenden Folgemarkierungen bestimmt. Unter der Markierung M 0 ist lediglich die Transition t 1 schaltbereit. Die resultierende Folgemarkierung M 1 mit M 0 [t 1 M 1 ist [0, 0,1]. Da diese Markierung weder gleich der Anfangsmarkierung M 0 ist noch diese dominiert, wird ein neuer Knoten v 1 in den Erreichbarkeitsgraphen eingef ¨ ugt, mit der Markierung M 1 beschriftet und mit einer neuen Kante e =(v 0 ,v 1 ) verbunden, die mit t 1 beschriftet ist. a) p 1 p 2 p 3 t 1 t 2 b) t 1 t 2 [1,1, 0] [0,0, 1] Abb. 5.5. a) Petri-Netz und b) zugeh ¨ origer Erreichbarkeitsgraph [87] F ¨ ur die Markierung M 1 werden wieder alle schaltbereiten Transitionen bestimmt. In diesem Fall die Transition t 2 . Die neue Markierung, die sich durch Schalten von t 2 ergibt, lautet [1, 1,0]. Diese Markierung ist identisch zu M 0 , weshalb eine Kante von v 1 zu v 0 zu dem Erreichbarkeitsgraphen hinzugef ¨ ugt wird. Da in diesem Schritt kein neuer Knoten hinzugef ¨ ugt wurde, ist die Konstruktion des Erreichbarkeitsgraphen abgeschlossen. Das Ergebnis ist in Abb. 5.5b) zu sehen. Beispiel 5.1.4. Ein Erreichbarkeitsgraph mit unbeschr ¨ ankten Stellen ist in Abb. 5.6b) dargestellt. Das zugeh ¨ orige Petri-Netz ist in Abb. 5.6a) zu sehen. Die Konstruktion des Erreichbarkeitsgraphen erfolgt in sechs Schritten: 1. Zu Beginn wird der Knoten v 0 mit der Anfangsmarkierung M 0 =[1,0,0, 0] be- schriftet und dem Erreichbarkeitsgraphen hinzugef ¨ ugt. 2. Ausgehend von M 0 werden alle schaltbereiten Transitionen {t  ∈ T | M 0 [t  } bestimmt. Unter der Markierung M 0 ist lediglich die Transition t 1 schaltbereit. . Antwortzeit, ein minimaler Durchsatz, eine minimale MTTF (engl. Mean Ti- C. Haubelt, J. Teich, Digitale Hardware/Software-Systeme, eXamen.press, DOI 10.1007/978-3-642-05356-6 5, c  Springer-Verlag. Folgenden genauer beschrieben. Zum Ab- schluss wird noch ein zentrales Problem bei der Verifikation digitaler Systeme, die sich als Petri-Netz modellieren lassen, betrachtet: Durch die potentiell

Ngày đăng: 03/07/2014, 08:20

Mục lục

  • Cover

  • Digitale Hardware/ Software-Systeme

  • ISBN 978-3-642-05355-9

  • Vorwort

  • Inhaltsverzeichnis

  • 1 Einleitung

    • 1.1 Motivation

    • 1.2 Der Verifikationsprozess

      • 1.2.1 Das V-Modell

      • 1.2.2 Das Doppeldachmodell des Entwurfsprozesses

      • 1.2.3 Das Doppeldachmodell des Verifikationsprozesses

      • 1.3 Eine kurze Geschichte der Verifikation

      • 1.4 Beispiele

      • 1.5 Ausblick

      • 1.6 Literaturhinweise

      • 2 Spezifikation digitaler Systeme

        • 2.1 Wie spezifiziert man ein System?

        • 2.2 Formale Verhaltensmodelle

          • 2.2.1 Petri-Netze

          • 2.2.2 Endliche Automaten

          • 2.2.3 Datenflussgraphen

          • 2.2.4 Heterogene Modelle

          • 2.3 Ausführbare Verhaltensmodelle

            • 2.3.1 SystemC

            • 2.3.2 SysteMoC

Tài liệu cùng người dùng

Tài liệu liên quan