Digitale Hardware/ Software-Systeme- P6 ppt

30 236 0
Digitale Hardware/ Software-Systeme- P6 ppt

Đ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

142 4 ¨ Aquivalenzpr ¨ ufung Folgenden als w = w 1 ,w 2 , w n  geschrieben. Analog werden Ausgabesequenzen w ∈ O + der L ¨ ange m im Folgenden als w = w 1 ,w 2 , w m  geschrieben. Mit diesen Definitionen lassen sich eine erweiterte ¨ Ubergangsfunktion f + : S×I + → S und eine erweiterte Ausgabefunktion g + : S × I + → O + definieren [329]: f + (s,w) :=  f (s,w) falls |w| = 1 f ( f + (s,w 1 , ,w n−1 ),w n ) falls |w|≥2 (4.3) g + (s,w) :=  g(s,w) falls |w| = 1 g + (s,w 1 , ,w n−1 ),g( f + (s,w 1 , ,w n−1 ),w n ) falls |w|≥2 (4.4) Zu beachten ist, dass die erweiterte ¨ Ubergangsfunktion f + einen einzelnen Zustand berechnet, w ¨ ahrend die erweiterte Ausgabefunktion g + eine Sequenz w ∈ O + an Ausgabesymbolen bestimmt. 4.3.1 Automaten- ¨ Aquivalenz Mit Hilfe der Gleichungen (4.3) und (4.4) kann die ¨ Aquivalenz zweier endlicher Automaten gezeigt werden. Definition 4.3.1 (Automaten- ¨ Aquivalenz). Zwei deterministische endliche Auto- maten M :=(I,O,S,s 0 , f,g) und M  :=(I  ,O  ,S  ,s  0 , f  ,g  ) mit Anfangszustand s 0 bzw. s  0 sind ¨ aquivalent oder verhaltensgleich, wenn f ¨ ur eine beliebige Eingabese- quenz w ∈ I + , die an beide Automaten angelegt wird, die selbe Ausgabesequenz ent- steht, d. h. ∀w ∈ I + : g + (s 0 ,w)=g + (s  0 ,w). Dieser Definition von Automaten- ¨ Aquivalenz liegt eine simulativen Methode zur expliziten ¨ Aquivalenzpr ¨ ufung zu Grunde. Da simulative Verfahren in der Regel un- vollst ¨ andig sind, wird ein geeignetes ¨ Uberdeckungsmaß zur Bestimmung der Ve- rifikationsvollst ¨ andigkeit ben ¨ otigt. Hierin liegt aber ein Problem, da I + unendlich groß ist und alle enthaltenen Sequenzen ¨ uberpr ¨ uft werden m ¨ ussen, um eine 100%- ige Vollst ¨ andigkeit zu erzielen. Somit ist Definition 4.3.1 f ¨ ur einen Beweis der ¨ Aqui- valenz zweier Automaten ungeeignet. Um formal die ¨ Aquivalenz zweier Automaten zu zeigen, wird zun ¨ achst die Zu- stands ¨ aquivalenz definiert. Definition 4.3.2 (Zustands ¨ aquivalenz). Gegeben seien zwei deterministische end- liche Automaten M :=(I,O,S,s 0 , f,g) und M  :=(I, O, S  ,s  0 , f  ,g  ) mit Anfangszu- stand s 0 bzw. s  0 und identischem Eingabe- und Ausgabealphabet. Die ¨ Aquivalenzre- lation f ¨ ur Zust ¨ ande ≡⊆S × S  ist die gr ¨ oßte Relation mit s ≡ s  ⇔∀i ∈ I : (g(s,i)=g  (s  ,i)) ∧ ( f (s,i) ≡ f  (s  ,i)). Aus Definition 4.3.2 folgt direkt: ∀w ∈ I + : s ≡ s  ⇔ f + (s,w) ≡ f + (s  ,w) (4.5) Somit gilt 4.3 Sequentielle ¨ Aquivalenzpr ¨ ufung 143 Theorem 4.3.1. Zwei deterministische endliche Automaten M und M  sind ¨ aquiva- lent, geschrieben als M ≡ M  , genau dann, wenn ihre Anfangszust ¨ ande ¨ aquivalent sind, d. h. s 0 ≡ s  0 . Somit reduziert sich das Problem der Automaten- ¨ Aquivalenz auf eine rekursive Definition. Diese kann in eine iterative ¨ Uberpr ¨ ufung der ¨ Aquivalenz der Ausgaben g(s,i)=g  (s  ,i) umgewandelt werden. Dabei m ¨ ussen allerdings nicht alle m ¨ oglichen Zustandspaare (s, s  ) ∈ S × S  ¨ uberpr ¨ uft werden, sondern nur solche, die von den Anfangszust ¨ anden s 0 und s  0 aus unter identischen Eingaben w ∈ I + erreichbar sind. Mit anderen Worten: Es d ¨ urfen nur die Zustandspaare betrachtet werden, in denen beide Automaten gleichzeitig sein k ¨ onnen. Zur Vereinfachung der Paarbildung kann ein Produktautomat gebildet werden. Definition 4.3.3 (Produktautomat). Gegeben seien zwei deterministische endliche Automaten M :=(I,O,S,s 0 , f,g) und M  :=(I,O,S  ,s  0 , f  ,g  ) mit Anfangszustand s 0 bzw. s  0 und identischem Eingabe- und Ausgabealphabet. Der Produktautomat M p := M ×M  ist ein deterministischer endlicher Automat mit M p :=(I,O,S p ,(s 0 ,s  0 , f p ,g p ) mit Anfangszustand (s 0 ,s  0 ) und Zustandsmenge S p := S × S  sowie f p ((s,s  ),i) :=(f (s,i), f  (s  ,i)) und g p ((s,s  ),i) :=(g(s,i)=g  (s  ,i)) . Mit anderen Worten: Die Zust ¨ ande des Produktautomaten M p sind assoziiert mit Paaren von Zust ¨ anden der Automaten M und M  . Der Anfangszustand des Produk- tautomaten wird mit dem Paar der Anfangszust ¨ ande (s 0 ,s  0 ) der Automaten M und M  assoziiert. Die Ausgabefunktion g p liefert T, falls die Ausgabe der beiden Auto- maten M und M  identisch ist, andernfalls ist die Ausgabe F. Beispiel 4.3.1. Abbildung 4.16a) zeigt zwei endliche Zustandsautomaten M und M  . Beide Automaten haben das gleiche Eingabe- und Ausgabealphabet mit I = {i 1 ,i 2 } und O = {o 1 ,o 2 }.W ¨ ahrend M drei Zust ¨ ande hat (S = {s 1 ,s 2 ,s 3 }), besitzt M lediglich zwei Zust ¨ ande, d. h. S  = {s  1 ,s  2 }. Der zugeh ¨ orige Produktautomat M p mit |S p | = 6 Zust ¨ anden ist in Abb. 4.16b) zu sehen. Mit der Definition von Produktautomaten kann die Definition 4.3.2 von Zu- stands ¨ aquivalenz neu formuliert werden. Definition 4.3.4 (Zustands ¨ aquivalenz). Gegeben seien zwei deterministische end- liche Automaten M :=(I,O,S,s 0 , f,g) und M  :=(I, O, S  ,s  0 , f  ,g  ) mit Anfangszu- stand s 0 bzw. s  0 und der zugeh ¨ orige Produktautomat M p nach Definition 4.3.3. Die ¨ Aquivalenzrelation f ¨ ur Zust ¨ ande ≡⊆S × S  ist die gr ¨ oßte Relation mit (s,s  ) ∈≡⇔∀i ∈ I : (g p ((s,s  ),i)=T) ∧ ( f p ((s,s  ),i) ∈≡) 144 4 ¨ Aquivalenzpr ¨ ufung s 11 s 31 b) s 21 s 12 s 22 s 32 s 1 s 3 s 2 M  s  1 s  2 a) M i 1 /T i 2 /T i 2 /F i 2 /T i 1 /T i 1 /F i 2 /F i 2 /T i 2 /F i 1 /F i 1 /F i 1 /T i 1 /o 1 i 2 /o 2 i 1 /o 2 i 2 /o 1 i 2 /o 2 i 1 /o 1 i 1 /o 1 i 2 /o 2 i 1 /o 2 i 2 /o 1 Abb. 4.16. a) Zwei endliche Automaten und b) zugeh ¨ origer Produktautomat 4.3.2 Zustandsraumtraversierung F ¨ ur den Beweis, dass zwei endliche Automaten ¨ aquivalent sind, ist es notwendig, den Zustandsraum des zugeh ¨ origen Produktautomaten M p =(I,O,S p ,(s 0 ,s  0 ), f p ,g p ) zu traversieren, um Zust ¨ ande zu identifizieren, in denen beide Automaten gleichzeitig sein k ¨ onnen. Wird dabei ein Zustand (s,s  ) erreicht, der die Ausgabe g p ((s,s  ),i)=F f ¨ ur ein beliebiges i ∈ I erzeugt, so sind die beiden Automaten nicht ¨ aquivalent. Wird ein solcher Zustand nicht erreicht, so sind die Automaten ¨ aquivalent. Im Folgenden werden zwei Verfahren vorgestellt, die Vorw ¨ artstraversierung und die R ¨ uckw ¨ artstra- versierung (siehe auch [329]). F ¨ ur die Zustandsraumtraversierung werden zun ¨ achst drei Hilfsfunktionen defi- niert. Gegeben sei eine Teilmenge S  ⊆ S an Zust ¨ anden. Die Menge aller Folge- zust ¨ ande, die in einem Zustands ¨ ubergang aus Zust ¨ anden in S  erreichbar ist, l ¨ asst sich definieren als: SUCC(S  ) := {s ∈ S |∃s  ∈ S  ,i ∈ I : f (s  ,i)=s} (4.6) Ebenso kann die Menge aller Vorg ¨ angerzust ¨ ande, die mindestens einen Zustand s  ∈ S  in einem Zustands ¨ ubergang erreichen k ¨ onnen, definiert werden als: PRED(S  ) := {s ∈ S |∃s  ∈ S  ,i ∈ I : f (s, i)=s  } (4.7) Mit Hilfe der erweiterten ¨ Ubergangsfunktion l ¨ asst sich auch die Menge aller erreich- baren Zust ¨ ande definieren: REACH(S  ) := S  ∪  s ∈ S |∃s  ∈ S  ,w ∈ I + : f + (s  ,w)=s  (4.8) Mit diesen Hilfsfunktionen wird die Automaten- ¨ Aquivalenz wie folgt neu defi- niert: 4.3 Sequentielle ¨ Aquivalenzpr ¨ ufung 145 Definition 4.3.5 (Automaten- ¨ Aquivalenz). Zwei deterministische endliche Auto- maten M :=(I, O, S, s 0 , f,g) und M  :=(I,O,S  ,s  0 , f  ,g  ) mit Anfangszustand s 0 bzw. s  0 sind ¨ aquivalent, wenn f ¨ ur den zugeh ¨ origen Produktautomaten gilt: ∀(s,s  ) ∈ REACH({(s 0 ,s  0 )}),i ∈ I : g p ((s,s  ),i)=T Alle Zust ¨ ande, die vom Anfangszustand des Produktautomaten erreichbar sind, m ¨ ussen f ¨ ur alle ausgehenden Zustands ¨ uberg ¨ ange die Ausgabe T erzeugen. Dies kann auch so formuliert werden, dass kein Zustand existieren darf, der vom An- fangszustand des Produktautomaten aus erreichbar ist und der einen ausgehenden Zustands ¨ ubergang mit Ausgabe F besitzt. Das Automaten- ¨ Aquivalenzproblem wird somit zu einem Erreichbarkeitsproblem. Dies ist in Abb. 4.17 dargestellt. Dabei be- zeichnet S = := {s ∈ S p |∀i ∈ I : g p (s,i)=T} die Menge der Zust ¨ ande, bei denen alle ausgehenden Zustands ¨ uberg ¨ ange die Ausgabe T erzeugen, und S = := {s ∈ S |∃i ∈ I : g p (s,i)=F}, die Menge der Zust ¨ ande, bei denen mindestens ein ausgehender Zu- stands ¨ ubergang die Ausgabe F erzeugt. Die Frage, die es zu beantworten gilt, lautet: Existiert einer der gestrichelten Zustands ¨ uberg ¨ ange? S = S = Abb. 4.17. Automaten- ¨ Aquivalenz als Erreichbarkeitsproblem [272] Beispiel 4.3.2. F ¨ ur den Produktautomaten in Abb. 4.16b) aus Beispiel 4.3.1 bestim- men sich die Mengen S = und S = zu: S = = {s 11 ,s 22 ,s 31 } S = = {s 12 ,s 21 ,s 32 } Auf Basis von Definition 4.3.5 kann der folgende Algorithmus zur Erreichbar- keitsanalyse, der auf einer Vo r w ¨ artstraversierung des Zustandsraumes basiert, ver- wendet werden: 146 4 ¨ Aquivalenzpr ¨ ufung FORWARD TRAVERSAL(M p ) { S R := {s 0 }; S N := S R ; REPEAT IF (∃s ∈ S N ,i ∈ I : g p (s,i)=F) RETURN F; S N := SUCC(S N )\S R ; S R := S R ∪ S N ; UNTIL (S N = ∅) RETURN T; } Eingabe ist der Produktautomat M p mit Zustandsmenge S p . Die beiden Men- gen S R und S N enthalten diejenigen Zust ¨ ande, die bereits traversiert wurden bzw. die in der letzten Iteration neu hinzu gekommen sind. Beide Mengen werden mit dem Anfangszustand des Produktautomaten initialisiert. Anschließend wird der Zu- standsraum vorw ¨ arts traversiert, bis entweder ein Zustand erreicht wird, der einen ausgehenden Zustands ¨ ubergang besitzt, der F ausgibt, oder keine neuen erreichba- ren Zust ¨ ande gefunden werden (S N = ∅). In jeder Iteration wird zun ¨ achst die Menge aller Zust ¨ ande SUCC(S N ), die von mindestens einem Zustand in S N in exakt einem ¨ Ubergang erreichbar sind, bestimmt. Aus dieser Menge werden die bereits traver- sierten Zust ¨ ande gel ¨ oscht und anschließend die neu erreichten Zust ¨ ande als bereits traversiert markiert (S R := S R ∪ S N ). Ist die Menge der neu erreichten Zust ¨ ande leer (S N = ∅), so ist ein Fixpunkt erreicht, d. h. eine weitere Traversierung w ¨ urde keine neuen zu erreichenden Zust ¨ ande erreichen. Der Algorithmus ist in Abb. 4.18 visua- lisiert. Hierbei ist in eckigen Klammern der Iterationsschritt angegeben. S N [0] S R [2]S R [1]S R [0] S N [1] S N [2] Abb. 4.18. Erreichbarkeitsanalyse durch Vorw ¨ artstraversierung [272] Sofern keine abweichenden Ausgaben erkannt werden, endet der Algorithmus, wenn keine neuen Zust ¨ ande in einer Iteration erreicht werden und somit der Fix- punkt gefunden ist. Die Anzahl der Iterationen, nach denen dies eintritt, nennt man sequentielle Tiefe des Automaten. F ¨ ur jeden erreichbaren Zustand s ∈ S eines Auto- 4.3 Sequentielle ¨ Aquivalenzpr ¨ ufung 147 maten l ¨ asst sich die minimale Anzahl an Zustands ¨ uberg ¨ angen von dem Anfangszu- stand s 0 zu s ermitteln. Diese wird als sequentielle Tiefe des Zustands s bezeichnet. Die sequentielle Tiefe eines Automaten ist die maximale sequentielle Tiefe seiner erreichbaren Zust ¨ ande. Beispiel 4.3.3. F ¨ ur den Produktautomaten in Abb. 4.16b) aus Beispiel 4.3.1 bestim- men sich die Mengen S R und S N zu: S R [0]={s 11 }, S R [1]={s 11 ,s 22 ,s 31 }, S R [2]={s 11 ,s 22 ,s 31 } = S R [1] S N [0]={s 11 }, S N [1]={s 22 ,s 31 }, S N [2]=∅ Mit der in Beispiel 4.3.2 berechneten Menge S = gilt, dass S R ∩ S = = ∅ und somit, dass M und M  aus Abb. 4.16a) ¨ aquivalent sind. Neben vorw ¨ arts kann der Zustandsraum auch r ¨ uckw ¨ arts traversiert werden. Um eine R ¨ uckw ¨ artstraversierung durchf ¨ uhren zu k ¨ onnen, muss das Verifikationsziel um- formuliert werden, d. h. statt eines Beweises der Korrektheit wird nun eine Falsi- fikation das Ziel sein. Beginnend mit der Menge derjenigen Zust ¨ ande, die einen ausgehenden Zustands ¨ ubergang besitzen, der die Ausgabe F erzeugt, wird der Zu- standsraum r ¨ uckw ¨ arts traversiert, bis entweder keine neuen Zust ¨ ande besucht wer- den k ¨ onnen, oder aber der Anfangszustand des Automaten erreicht wurde. Kann der Anfangszustand erreicht werden, bedeutet dies, dass auch ein Pfad vom Anfangszu- stand zu einem Zustand existiert, der einen ausgehenden Zustands ¨ ubergang besitzt, der F ausgibt. Hieraus kann geschlossen werden, dass die beiden zu untersuchenden Automaten nicht ¨ aquivalent sind. Obwohl hierbei das Verifikationsziel die Falsifi- kation ist, ist die Verifikationsmethodik vollst ¨ andig, d. h. wird kein Gegenbeispiel gefunden, sind die Automaten ¨ aquivalent. Die Erreichbarkeitsanalyse auf Basis einer R ¨ uckw ¨ artstraversierung ist in folgen- dem Algorithmus zusammengefasst: BACKWARD TRAVERSAL(M p ) { S N := {s ∈ S p |∃i ∈ I : g p (s,i)=F}; S E := S P \S N ; REPEAT IF (s 0 ∈ S N ) RETURN F; S N := PRED(S N ) ∩ S E ; S E := S E \S N ; UNTIL (S N = ∅) RETURN T; } Dem R ¨ uckw ¨ artstraversierungsalgorithmus wird als Argument der Produktauto- mat mit Zustandsmenge S p ¨ ubergeben. Die Mengen S N und S E bezeichnen die Men- ge der neu besuchten Zust ¨ ande bzw. die Menge der noch nicht besuchten Zust ¨ ande. Werden bei der R ¨ uckw ¨ artstraversierung keine neuen Zust ¨ ande erreicht (S N = ∅), so ist ein Fixpunkt gefunden und eine weitere Traversierung w ¨ urde keine zus ¨ atzliche Information hervorbringen. 148 4 ¨ Aquivalenzpr ¨ ufung Beispiel 4.3.4. F ¨ ur den Produktautomaten in Abb. 4.16b) aus Beispiel 4.3.1 bestim- men sich die Mengen S E und S N zu: S E [0]={s 13 ,s 21 ,s 32 }, S E [1]={s 13 ,s 21 ,s 32 } = S E [0] S N [0]={s 13 ,s 21 ,s 32 }, S N [1]=∅ Da der Anfangszustand s 11 weder in S N [0] noch in S N [1] enthalten ist, gilt wie bereits in Beispiel 4.3.3 gezeigt, dass M und M  aus Abb. 4.16a) ¨ aquivalent sind. Welcher Traversierungsalgorithmus eingesetzt werden sollte, l ¨ asst sich nicht ge- nerell von vorn herein beantworten. Bei der Vorw ¨ artstraversierung h ¨ angt die Anzahl der Iterationen von der sequentiellen Tiefe des Automaten ab. Ist die sequentiel- le Tiefe gering, ist es vorteilhaft, eine Vorw ¨ artstraversierung durchzuf ¨ uhren. Ist die sequentielle Tiefe hingegen sehr groß, kann die R ¨ uckw ¨ artstraversierung die besser Wahl sein, da eventuell alle Zust ¨ ande des Produktautomaten mit m ¨ oglicher Ausgabe F nicht erreichbar sind, und der Fixpunkt bei der R ¨ uckw ¨ artstraversierung f ¨ ur diese Zust ¨ ande schnell erreicht ist. 4.3.3 Symbolische Zustandsraumtraversierung Der bisher beschriebene Ansatz zur sequentiellen ¨ Aquivalenzpr ¨ ufung basiert auf der Traversierung des Produktautomaten zweier deterministischer endlicher Automaten. Dabei wurden die Zustandsmengen explizit aufgez ¨ ahlt, was limitierend f ¨ ur dieses Verfahren ist, da dies sehr speicherintensiv ist. Um dennoch gr ¨ oßere Automaten auf ¨ Aquivalenz zu ¨ uberpr ¨ ufen, bietet es sich an, den Zustandsraum symbolisch zu tra- versieren. Hierzu werden die Zustandsmengen mit Hilfe von sog. charakteristischen Funktionen implizit repr ¨ asentiert. Zun ¨ achst werden alle Zust ¨ ande s ∈ S p und alle Ein- und Ausgabesymbole i ∈ I und o ∈ O bin ¨ ar codiert, d. h. σ S p : S p → B k , σ I : I → B n und σ O : O → B m . Basierend auf diesen Codierungen kann eine Teilmenge von Zust ¨ anden S  ⊆ S p durch eine charakteristische Funktion repr ¨ asentiert werden. Definition 4.3.6 (Implizite Repr ¨ asentation von Zustandsmengen). Gegeben sei eine Teilmenge S  ⊆ S p an Zust ¨ anden sowie die Codierungsfunktion σ S : S p → B k der Zust ¨ ande s ∈ S p .Diecharakteristische Funktion ψ S  : B k → B repr ¨ asentiert ein- deutig die Teilmenge S  mit ∀s ∈ S p : ψ S  ( σ S (s)) = T ⇔ s ∈ S  . Beispiel 4.3.5. Betrachtet wird wiederum der Produktautomat aus Beispiel 4.3.1 der in Abb. 4.16b) zu sehen ist. Das Eingabealphabet I und das Ausgabealphabet O ha- ben jeweils zwei Elemente. Somit k ¨ onnen die Elemente beider Mengen jeweils mit 4.3 Sequentielle ¨ Aquivalenzpr ¨ ufung 149 einer einzelnen bin ¨ aren Variablen codiert werden. Im Folgenden sind die Codierun- gen σ I (i 1 )=¬x 1 und σ I (i 2 )=x 1 ,sowie σ O (F)=¬y 1 und σ O (T)=y 1 angenom- men. Weiterhin besteht der Produktautomat aus sechs Zust ¨ anden, die durch die drei bin ¨ aren Variablen z 1 ,z 2 ,z 3 repr ¨ asentiert werden. Die Codierung ist in der folgenden Tabelle gegeben: s σ S p (s) s σ S p (s) s 11 ¬z 3 ∧¬z 2 ∧¬z 1 s 12 ¬z 3 ∧¬z 2 ∧ z 1 s 21 ¬z 3 ∧ z 2 ∧¬z 1 s 22 ¬z 3 ∧ z 2 ∧ z 1 s 31 z 3 ∧¬z 2 ∧¬z 1 s 32 z 3 ∧¬z 2 ∧ z 1 In Beispiel 4.3.2 wurden die Mengen S = = {s 11 ,s 22 ,s 31 } und S = = {s 12 ,s 21 ,s 32 } bestimmt. Mit der obigen Codierung σ S p lassen sich die charakteristischen Funktio- nen dieser beiden Funktionen erstellen: ψ S = (z 3 ,z 2 ,z 1 )=(¬z 3 ∧¬z 2 ∧¬z 1 ) ∨ (¬z 3 ∧ z 2 ∧ z 1 ) ∨ (z 3 ∧¬z 2 ∧¬z 1 ) ψ S = (z 3 ,z 2 ,z 1 )=(¬z 3 ∧¬z 2 ∧ z 1 ) ∨ (¬z 3 ∧ z 2 ∧¬z 1 ) ∨ (z 3 ∧¬z 2 ∧ z 1 ) Neben der Darstellung von Mengen k ¨ onnen charakteristische Funktionen auch zur Repr ¨ asentation von Funktionen verwendet werden. F ¨ ur eine symbolische Tra- versierung des Zustandsraums ist vor allem die Repr ¨ asentation der Ausgabe- und ¨ Ubergangsfunktion, g p und f p , von Interesse. Die ¨ Ubergangsfunktion f p kann als charakteristische Funktion ψ f p wie folgt definiert werden: ψ f p ( σ S p (s), σ I (i), σ S p (s  )) =  T falls f p (s,i)=s  F sonst (4.9) Analog l ¨ asst sich die Ausgabefunktion g p als charakteristische Funktion ψ g p definie- ren: ψ g p ( σ S p (s), σ I (i), σ O (o)) =  T falls g p (s,i)=o F sonst (4.10) Beispiel 4.3.6. Betrachtet wird der Produktautomat aus Abb. 4.16b) sowie die in Beispiel 4.3.5 eingef ¨ uhrte Codierung. Die charakteristische Funktion ψ f p der ¨ Uber- gangsfunktion f p ergibt sich zu: ψ f p =(¬z 3 ∧¬z 2 ∧¬z 1 ∧¬x 1 ∧ z  3 ∧¬z  2 ∧¬z  1 ) ∨ (¬z 3 ∧¬z 2 ∧¬z 1 ∧ x 1 ∧¬z  3 ∧ z  2 ∧ z  1 ) ∨ (¬z 3 ∧¬z 2 ∧ z 1 ∧¬x 1 ∧ z  3 ∧¬z  2 ∧¬z  1 ) ∨ (¬z 3 ∧¬z 2 ∧ z 1 ∧ x 1 ∧¬z  3 ∧ z  2 ∧ z  1 ) ∨ (¬z 3 ∧ z 2 ∧¬z 1 ∧¬x 1 ∧¬z  3 ∧¬z  2 ∧¬z  1 ) ∨ (¬z 3 ∧ z 2 ∧¬z 1 ∧ x 1 ∧¬z  3 ∧ z  2 ∧ z  1 ) ∨ (¬z 3 ∧ z 2 ∧ z 1 ∧¬x 1 ∧¬z  3 ∧¬z  2 ∧¬z  1 ) ∨ (¬z 3 ∧ z 2 ∧ z 1 ∧ x 1 ∧¬z  3 ∧ z  2 ∧ z  1 ) ∨ (z 3 ∧¬z 2 ∧¬z 1 ∧¬x 1 ∧ z  3 ∧¬z  2 ∧¬z  1 ) ∨ (z 3 ∧¬z 2 ∧¬z 1 ∧ x 1 ∧¬z  3 ∧ z  2 ∧ z  1 ) ∨ (z 3 ∧¬z 2 ∧ z 1 ∧¬x 1 ∧ z  3 ∧¬z  2 ∧¬z  1 ) ∨ (z 3 ∧¬z 2 ∧ z 1 ∧ x 1 ∧¬z 3 ∧ z 2 ∧ z 1 ) 150 4 ¨ Aquivalenzpr ¨ ufung Die charakteristische Funktion ψ g p der Ausgabefunktion g p ergibt sich zu: ψ g p =(¬z 3 ∧¬z 2 ∧¬z 1 ∧¬x 1 ∧ y 1 ) ∨ (¬z 3 ∧¬z 2 ∧¬z 1 ∧ x 1 ∧ y 1 ) ∨ (¬z 3 ∧¬z 2 ∧ z 1 ∧¬x 1 ∧¬y 1 ) ∨ (¬z 3 ∧¬z 2 ∧ z 1 ∧ x 1 ∧¬y 1 ) ∨ (¬z 3 ∧ z 2 ∧¬z 1 ∧¬x 1 ∧¬y 1 ) ∨ (¬z 3 ∧ z 2 ∧¬z 1 ∧ x 1 ∧¬y 1 ) ∨ (¬z 3 ∧ z 2 ∧ z 1 ∧¬x 1 ∧ y 1 ) ∨ (¬z 3 ∧ z 2 ∧ z 1 ∧ x 1 ∧ y 1 ) ∨ (z 3 ∧¬z 2 ∧¬z 1 ∧¬x 1 ∧ y 1 ) ∨ (z 3 ∧¬z 2 ∧¬z 1 ∧ x 1 ∧ y 1 ) ∨ (z 3 ∧¬z 2 ∧ z 1 ∧¬x 1 ∧¬y 1 ) ∨ (z 3 ∧¬z 2 ∧ z 1 ∧ x 1 ∧¬y 1 ) Charakteristische Funktionen lassen sich effizient als reduzierte, geordnete bin ¨ are Entscheidungsdiagramme (engl. Reduced Ordered Binary Decision Diagrams, RO- BDDs) darstellen (siehe Anhang B.2). Neben der kompakten Darstellung erlauben ROBDDs auch eine effiziente Durchf ¨ uhrung von Mengenoperationen. Die Schnitt- menge S 1 ∩ S 2 zweier Mengen, S 1 ,S 2 ⊆ S,l ¨ asst sich als Konjunktion der entspre- chenden charakteristischen Funktionen ψ S 1 und ψ S 2 berechnen, d. h. ψ S 1 ∧ ψ S 2 .Die Vereinigungsmenge S 1 ∪S 2 zweier Mengen, S 1 ,S 2 ⊆ S,l ¨ asst sich als Disjunktion der charakteristischen Funktionen ψ S 1 und ψ S 2 berechnen, d. h. ψ S 1 ∨ ψ S 2 . Die ¨ Aquivalenzpr ¨ ufung, basierend auf einer symbolischen Vorw ¨ artstraversie- rung, kann nach folgendem Algorithmus durchgef ¨ uhrt werden: SYMBOLIC FORWARD TRAVERSAL(M p , σ I , σ O , σ S p ) { ψ R := σ S p (s 0 ); ψ N := ψ R ; REPEAT IF ( ψ N ∧ ψ g p ∧ σ O (F) = F) RETURN F; ψ SUCC :=  ∃ σ S p (s), σ I (i) : ψ N ∧ ψ f p  ; ψ N := ψ SUCC ∧¬ ψ R ; ψ R := ψ R ∨ ψ N ; UNTIL ( ψ N = F) RETURN T; } Die Funktion SYMBOLIC FORWARD TRAVERSAL liefert T, falls die beiden Automaten M und M  , aus denen der Produktautomat M p gebildet wurde, ¨ aquiva- lent sind. Sind die beiden Automaten nicht ¨ aquivalent, so ist der R ¨ uckgabewert F. Der Algorithmus arbeitet analog zur nichtsymbolischen Vorw ¨ artstraversierung und bestimmt dabei einen Fixpunkt ( ψ N = F). Allerdings ist die Bestimmung, ob ein Zu- stand neu erreicht wurde, der einen ausgehenden Zustands ¨ ubergang mit Ausgabe F besitzt, die ¨ Uberpr ¨ ufung, ob das ROBDD der Funktion ψ N ∧ ψ g p ∧ σ O (F), der Ter- minalknoten F ist. Ebenfalls l ¨ asst sich die Bestimmung der Menge aller in einem Schritt erreichbaren Zust ¨ ande effizient durch eine Konjunktion und zwei Existenz- Quantifizierungen berechnen (∃ σ S p (s), σ I (i) : ψ N ∧ ψ f p ). Obwohl die symbolische Zustandsraumtraversierung deutlich gr ¨ oßere Zustands- r ¨ aume traversieren kann, als dies mit der nicht symbolischen Traversierung m ¨ oglich w ¨ are, hat auch dieser Ansatz Schwachpunkte. Ein wesentlicher Schwachpunkt liegt 4.3 Sequentielle ¨ Aquivalenzpr ¨ ufung 151 in der relationalen Repr ¨ asentation der ¨ Ubergangsfunktion f p als charakteristische Funktion ψ f p . Erfolgt die Codierung σ S p : S p → B k der Zustandsmenge S p mit k Variablen und die Codierung σ I : I → B n der Eingabesymbole I mit n Variablen, so besitzt die charakteristische Funktion ψ f p der ¨ Ubergangsfunktion 2 · k + n Varia- blen als Argument. Da ROBDDs exponentiell in der Anzahl der Variablen wachsen k ¨ onnen, ist der vorhandene Speicher auch bei der symbolischen ¨ Aquivalenzpr ¨ ufung h ¨ aufig der limitierende Faktor. 4.3.4 Erzeugung von Gegenbeispielen Sind zwei endliche Zustandsautomaten M und M  nicht ¨ aquivalent, so w ¨ are es w ¨ unschenswert eine Sequenz i 1 , ,i n  zu erhalten, welche die Ausgabe F im Pro- duktautomaten M p , beziehungsweise die unterschiedliche Ausgabe in den beiden Automaten ausl ¨ ost. Diese Sequenz kann beispielsweise sp ¨ ater als Testfalleingabe in der Simulation verwendet werden. Hierzu muss die Traversierung des Zustands- raums leicht modifiziert werden: FORWARD TRAVERSAL(M p ) { k := −1; S R := {s 0 }; S N [0] := S R ; REPEAT k := k + 1; IF (∃s ∈ S N [k], i ∈ I : g p (s,i)=F) RETURN GENERATE TRACE(M p , k, s); S N [k + 1] := SUCC(S N [k])\S R ; S R := S R ∪ S N [k + 1]; UNTIL (S N [k + 1]=∅) RETURN T; } Hierbei werden alle im Iterationsschritt k neu besuchten Zust ¨ ande in der Menge S N [k] gespeichert. Man bezeichnet S N [k] auch als k-te Front der Zustandsraumtra- versierung. Wird nun festgestellt, dass M und M  nicht ¨ aquivalent sind, so wird eine Eingabesequenz mit Hilfe der Funktion GENERATE TRACE bestimmt und zur ¨ uck gegeben. Dabei wird der Zustand error, der die Ausgabe F erzeugen kann, als Argu- ment ¨ ubergeben. GENERATE TRACE(M p , k, error) { w := i | i ∈ I ∧ g p (error,i)=F; FOR (j := k ; j ≥ 1; j := j − 1) pred :∈ PRED({error}); w := i | i ∈ I ∧ f p (pred,i)=error◦w; error := pred; RETURN w; } [...]... Anforderungen der Spea zifikation gen¨ gen Nichtfunktionale Anforderungen k¨ nnen dabei z B eine maxiu o male Antwortzeit, ein minimaler Durchsatz, eine minimale MTTF (engl Mean TiC 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¨ fung u me To Failure) oder eine maximale Leistungs- und Energieaufnahme... Folgemarkierung M1 mit M0 [t1 M1 ergibt sich zu M1 (p1 ) = M1 (p3 ) = M1 (p4 ) = 0 und M1 (p2 ) = 1 Allerdings ist unter 5.1 Pr¨ fung funktionaler Eigenschaften u a) p1 t1 b) p1 p4 t2 t1 p2 t3 p3 t4 157 t2 p4 p2 p5 p6 t3 p3 t4 p7 Abb 5.2 a) unbeschr¨ nktes Petri-Netz und b) sicheres Petri-Netz [189] a der Markierung M1 keine weitere Transition schaltbereit Somit ist G zus¨ tzlich auch a nicht verklemmungsfrei Betrachtet... Verfahren eingesetzt, um das dynamische Verhalten von Petri-Netzen zu beschreiben Beide Ans¨ tze werden im Folgenden genauer beschrieben Zum Aba schluss wird noch ein zentrales Problem bei der Verifikation digitaler Systeme, die sich als Petri-Netz modellieren lassen, betrachtet: Durch die potentiell nebenl¨ ufige a 158 5 Eigenschaftspr¨ fung u p1 t1 t2 p2 p3 t3 t4 p4 p5 t5 Abb 5.3 Nichtreversibles Petri-Netz . 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: 02/07/2014, 14:20

Mục lục

  • ISBN 978-3-642-05355-9

  • 1.2.2 Das Doppeldachmodell des Entwurfsprozesses

  • 1.2.3 Das Doppeldachmodell des Verifikationsprozesses

  • 1.3 Eine kurze Geschichte der Verifikation

  • 2 Spezifikation digitaler Systeme

    • 2.1 Wie spezifiziert man ein System?

    • 2.5 Formale Spezifikation nichtfunktionaler Anforderungen

    • 3.3 Gesteuerte zufällige Simulation

    • 4.1.3 Reduktion und Normalisierung von TEDs

    • 4.1.4 Kanonizität von TEDs

    • 4.1.5 Implizite Äquivalenzprüfung mit TEDs

    • 5 Eigenschaftsprüfung

      • 5.1 Prüfung funktionaler Eigenschaften

        • 5.1.1 Eigenschaftsprüfung auf Erreichbarkeitsgraphen

        • 5.1.2 Strukturelle Eigenschaftsprüfung von Petri-Netzen

        • 6 Hardware-Verifikation

          • 6.1 Äquivalenzprüfung kombinatorischer und sequentieller Schaltungen

            • 6.1.1 Implizite Äquivalenzprüfung auf der Logikebene

            • 6.1.2 Explizite Äquivalenzprüfung auf der Logikebene

            • 6.1.3 Formale explizite Äquivalenzprüfung von Schaltwerken

            • 6.1.4 Strukturelle Äquivalenzprüfung auf der Logikebene

            • 6.2 Äquivalenzprüfung arithmetischer Schaltungen

              • 6.2.1 Implizite Äquivalenzprüfung auf der Architekturebene

              • 6.2.2 Äquivalenzprüfung zwischen Architektur- und Logikebene

              • 6.2.3 Äquivalenzprüfung auf der Architekturebene

              • 6.3 Formale Verifikation von Prozessoren

                • 6.3.1 Äquivalenzprüfung für Prozessoren mit Fließbandverarbeitung

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

Tài liệu liên quan