1. Trang chủ
  2. » Công Nghệ Thông Tin

Digitale Hardware/ Software-Systeme- P6 ppt

30 236 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 30
Dung lượng 368,37 KB

Nội dung

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