Diese kann in eine iterative ¨Uberpr¨ufung der ¨Aquivalenz der Ausgaben gs,i = g s ,i umgewandelt werden.. F¨ur den Beweis, dass zwei endliche Automaten ¨aquivalent sind, ist es notwen
Trang 1Folgenden als w = w1 ,w2, wn geschrieben Analog werden Ausgabesequenzen
w ∈ O+der L¨ange m im Folgenden als w = w1 ,w2, wm geschrieben Mit diesen Definitionen lassen sich eine erweiterte ¨ Ubergangsfunktion f+: S ×I+→ S und eine erweiterte Ausgabefunktion g+: S × I+→ O+definieren [329]:
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
Mit Hilfe der Gleichungen (4.3) und (4.4) kann die ¨Aquivalenz zweier endlicherAutomaten gezeigt werden
Auto-maten M : = (I,O,S,s0 , f ,g) und M := (I ,O ,S ,s
0, f ,g ) mit Anfangszustand s0 bzw s 0sind ¨aquivalent oder verhaltensgleich, wenn f¨ur eine beliebige Eingabese- quenz w ∈ I+, die an beide Automaten angelegt wird, die selbe Ausgabesequenz ent-
rifikationsvollst¨andigkeit ben¨otigt Hierin liegt aber ein Problem, da I+ unendlichgroß 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 stands¨aquivalenz definiert.
Zu-Definition 4.3.2 (Zustands¨aquivalenz) Gegeben seien zwei deterministische
end-liche Automaten M := (I,O,S,s0 , f ,g) und M := (I,O,S ,s
0, f ,g ) mit stand s0 bzw s 0und identischem Eingabe- und Ausgabealphabet Die ¨Aquivalenzre-lation f¨ur Zust¨ande ≡ ⊆ S × S ist die gr¨oßte Relation mit
Anfangszu-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
Trang 24.3 Sequentielle ¨Aquivalenzpr¨ufung 143
¨aquiva-lent, geschrieben als M ≡ M , genau dann, wenn ihre Anfangszust¨ande ¨aquivalent
sind, d h s0 ≡ s
0.
Somit reduziert sich das Problem der Automaten- ¨Aquivalenz auf eine rekursiveDefinition 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 s0 und s 0aus unter identischen Eingaben w ∈ I+erreichbar sind.
Mit anderen Worten: Es d¨urfen nur die Zustandspaare betrachtet werden, in denenbeide 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,s0 , f ,g) und M := (I,O,S ,s
0, f ,g ) mit Anfangszustand s0 bzw s 0und identischem Eingabe- und Ausgabealphabet Der Produktautomat M p:=
M ×M ist ein deterministischer endlicher Automat mit M
p:= (I,O,Sp,(s0,s
0, fp,gp)
mit Anfangszustand (s0 ,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 tautomaten wird mit dem Paar der Anfangszust¨ande(s0 ,s
Produk-0) der Automaten M und
M assoziiert Die Ausgabefunktion g pliefertT, falls die Ausgabe der beiden
Auto-maten M und M identisch ist, andernfalls ist die AusgabeF
Beispiel 4.3.1 Abbildung 4.16a) zeigt zwei endliche Zustandsautomaten M und M
Beide Automaten haben das gleiche Eingabe- und Ausgabealphabet mit I = {i1 ,i2} und O = {o1 ,o2} W¨ahrend M drei Zust¨ande hat (S = {s1,s2,s3}), besitzt M lediglich zwei Zust¨ande, d h S = {s
1,s
2} Der zugeh¨orige Produktautomat Mpmit|Sp| = 6
Zust¨anden ist in Abb 4.16b) zu sehen
Mit der Definition von Produktautomaten kann die Definition 4.3.2 von stands¨aquivalenz neu formuliert werden
Zu-Definition 4.3.4 (Zustands¨aquivalenz) Gegeben seien zwei deterministische
end-liche Automaten M := (I,O,S,s0 , f ,g) und M := (I,O,S ,s
0, f ,g ) mit stand s0 bzw s 0und der zugeh¨orige Produktautomat M p nach Definition 4.3.3 Die
Anfangszu-¨
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) ∈ ≡ )
Trang 3F¨ur den Beweis, dass zwei endliche Automaten ¨aquivalent sind, ist es notwendig, den
Zustandsraum des zugeh¨origen Produktautomaten M p = (I,O,S p,(s0,s
0), f p,gp) zutraversieren, um Zust¨ande zu identifizieren, in denen beide Automaten gleichzeitigsein 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 versierung (siehe auch [329]).
R¨uckw¨artstra-F¨ur die Zustandsraumtraversierung werden zun¨achst drei Hilfsfunktionen
defi-niert Gegeben sei eine Teilmenge S ⊆ S an Zust¨anden Die Menge aller zust¨ande, die in einem Zustands¨ubergang aus Zust¨anden in S erreichbar ist, l¨asstsich definieren als:
Folge-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:
Trang 44.3 Sequentielle ¨Aquivalenzpr¨ufung 145
Auto-maten M := (I,O,S,s0 , f ,g) und M := (I,O,S ,s
0, f ,g ) mit Anfangszustand s0 bzw.
s 0sind ¨aquivalent, wenn f¨ur den zugeh¨origen Produktautomaten gilt:
∀(s,s ) ∈ REACH({(s0 ,s 0)}),i ∈ I : gp ((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 Dieskann auch so formuliert werden, dass kein Zustand existieren darf, der vom An-fangszustand des Produktautomaten aus erreichbar ist und der einen ausgehendenZustands¨ubergang mit AusgabeF besitzt Das Automaten- ¨Aquivalenzproblem wirdsomit zu einem Erreichbarkeitsproblem Dies ist in Abb 4.17 dargestellt Dabei be-
zeichnet S=:= {s ∈ S p | ∀i ∈ I : gp (s,i) = T} die Menge der Zust¨ande, bei denen alle
ausgehenden Zustands¨uberg¨ange die AusgabeT 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 AusgabeF 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 men sich die Mengen S=und S =zu:
bestim-S== {s11 ,s22,s31}
S = = {s12 ,s21,s32}
Auf Basis von Definition 4.3.5 kann der folgende Algorithmus zur
Erreichbar-keitsanalyse, der auf einer Vorw¨artstraversierung des Zustandsraumes basiert,
ver-wendet werden:
Trang 5Eingabe 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 mitdem Anfangszustand des Produktautomaten initialisiert Anschließend wird der Zu-standsraum vorw¨arts traversiert, bis entweder ein Zustand erreicht wird, der einenausgehenden Zustands¨ubergang besitzt, derF 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 sierten Zust¨ande gel¨oscht und anschließend die neu erreichten Zust¨ande als bereits
traver-traversiert markiert (S R:= SR ∪ SN) 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 lisiert Hierbei ist in eckigen Klammern der Iterationsschritt angegeben
visua-S N[0]
S R[2]
S R[1]
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
Trang 6Auto-4.3 Sequentielle ¨Aquivalenzpr¨ufung 147maten l¨asst sich die minimale Anzahl an Zustands¨uberg¨angen von dem Anfangszu-
stand s0 zu s ermitteln Diese wird als sequentielle Tiefe des Zustands s bezeichnet.
Die sequentielle Tiefe eines Automaten ist die maximale sequentielle Tiefe seinererreichbaren Zust¨ande
Beispiel 4.3.3 F¨ur den Produktautomaten in Abb 4.16b) aus Beispiel 4.3.1 men sich die Mengen S R und S Nzu:
bestim-S R [0] = {s11 }, SR [1] = {s11 ,s22,s31}, SR [2] = {s11 ,s22,s31} = SR[1]
S N [0] = {s11 }, SN [1] = {s22 ,s31}, 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 fikation das Ziel sein Beginnend mit der Menge derjenigen Zust¨ande, die einenausgehenden Zustands¨ubergang besitzen, der die AusgabeF 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 derAnfangszustand erreicht werden, bedeutet dies, dass auch ein Pfad vom Anfangszu-stand zu einem Zustand existiert, der einen ausgehenden Zustands¨ubergang besitzt,derF ausgibt Hieraus kann geschlossen werden, dass die beiden zu untersuchendenAutomaten nicht ¨aquivalent sind Obwohl hierbei das Verifikationsziel die Falsifi-kation ist, ist die Verifikationsmethodik vollst¨andig, d h wird kein Gegenbeispielgefunden, sind die Automaten ¨aquivalent
Falsi-Die Erreichbarkeitsanalyse auf Basis einer R¨uckw¨artstraversierung ist in dem Algorithmus zusammengefasst:
Dem R¨uckw¨artstraversierungsalgorithmus wird als Argument der
Produktauto-mat mit Zustandsmenge S p ¨ubergeben Die Mengen S N und S Ebezeichnen die
Men-ge der neu besuchten Zust¨ande bzw die MenMen-ge 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
Trang 7Beispiel 4.3.4 F¨ur den Produktautomaten in Abb 4.16b) aus Beispiel 4.3.1 men sich die Mengen S E und S Nzu:
bestim-S E [0] = {s13 ,s21,s32}, SE [1] = {s13 ,s21,s32} = SE[0]
S N [0] = {s13 ,s21,s32}, SN [1] = ∅
Da der Anfangszustand s11 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 nerell von vorn herein beantworten Bei der Vorw¨artstraversierung h¨angt die Anzahlder Iterationen von der sequentiellen Tiefe des Automaten ab Ist die sequentiel-
ge-le Tiefe gering, ist es vorteilhaft, eine Vorw¨artstraversierung durchzuf¨uhren Ist diesequentielle Tiefe hingegen sehr groß, kann die R¨uckw¨artstraversierung die besserWahl 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 dieseZust¨ande schnell erreicht ist
4.3.3 Symbolische Zustandsraumtraversierung
Der bisher beschriebene Ansatz zur sequentiellen ¨Aquivalenzpr¨ufung basiert auf derTraversierung des Produktautomaten zweier deterministischer endlicher Automaten.Dabei wurden die Zustandsmengen explizit aufgez¨ahlt, was limitierend f¨ur diesesVerfahren 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 versieren Hierzu werden die Zustandsmengen mit Hilfe von sog charakteristischen Funktionen implizit repr¨asentiert.
tra-Zun¨achst werden alle Zust¨ande s ∈ Sp und alle Ein- und Ausgabesymbole i ∈ I und o ∈ O bin¨ar codiert, d h.
σS p : S p → B k ,
σI : I → B nund
σO : O → B m Basierend auf diesen Codierungen kann eine Teilmenge von Zust¨anden S ⊆ Spdurcheine charakteristische Funktion repr¨asentiert werden
Definition 4.3.6 (Implizite Repr¨asentation von Zustandsmengen) Gegeben sei
eine Teilmenge S ⊆ Sp an Zust¨anden sowie die CodierungsfunktionσS : S p → B k der Zust¨ande s ∈ Sp Die charakteristische FunktionψS :Bk → B repr¨asentiert ein- deutig die Teilmenge S mit
∀s ∈ Sp:ψ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
Trang 84.3 Sequentielle ¨Aquivalenzpr¨ufung 149einer einzelnen bin¨aren Variablen codiert werden Im Folgenden sind die Codierun-genσI (i1) = ¬x1und σI (i2) = x1, sowieσO (F) = ¬y1undσO (T) = y1angenom-men Weiterhin besteht der Produktautomat aus sechs Zust¨anden, die durch die drei
bin¨aren Variablen z1 ,z2,z3repr¨asentiert werden Die Codierung ist in der folgendenTabelle gegeben:
s σS p (s) s σS p (s) s11 ¬z3∧ ¬z2∧ ¬z1 s12 ¬z3∧ ¬z2∧ z1
s21 ¬z3∧ z2∧ ¬z1 s22 ¬z3∧ z2∧ z1
s31 z3 ∧ ¬z2∧ ¬z1 s32 z3 ∧ ¬z2∧ z1
In Beispiel 4.3.2 wurden die Mengen S== {s11 ,s22,s31} und S = = {s12 ,s21,s32}
bestimmt Mit der obigen CodierungσS p lassen sich die charakteristischen nen dieser beiden Funktionen erstellen:
Funktio-ψS=(z3 ,z2,z1) = (¬z3∧ ¬z2∧ ¬z1) ∨ (¬z3∧ z2∧ z1) ∨ (z3∧ ¬z2∧ ¬z1)
ψS = (z3 ,z2,z1) = (¬z3∧ ¬z2∧ z1) ∨ (¬z3∧ z2∧ ¬z1) ∨ (z3∧ ¬z2∧ z1)Neben der Darstellung von Mengen k¨onnen charakteristische Funktionen auchzur Repr¨asentation von Funktionen verwendet werden F¨ur eine symbolische Tra-versierung des Zustandsraums ist vor allem die Repr¨asentation der Ausgabe- und
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 pergibt sich zu:
ψf p = (¬z3 ∧ ¬z2∧ ¬z1∧ ¬x1∧ z
3∧ ¬z
2∧ ¬z
1) ∨ (¬z3 ∧ ¬z2∧ ¬z1∧ x1∧ ¬z
3∧ z
2∧ z
1) ∨ (¬z3 ∧ ¬z2∧ z1∧ ¬x1∧ z
3∧ ¬z
2∧ ¬z
1) ∨ (¬z3 ∧ ¬z2∧ z1∧ x1∧ ¬z
3∧ z
2∧ z
1) ∨ (¬z3 ∧ z2∧ ¬z1∧ ¬x1∧ ¬z
3∧ ¬z
2∧ ¬z
1) ∨ (¬z3 ∧ z2∧ ¬z1∧ x1∧ ¬z
3∧ z
2∧ z
1) ∨ (¬z3 ∧ z2∧ z1∧ ¬x1∧ ¬z
3∧ ¬z
2∧ ¬z
1) ∨ (¬z3 ∧ z2∧ z1∧ x1∧ ¬z
3∧ z
2∧ z
1) ∨ (z3 ∧ ¬z2∧ ¬z1∧ ¬x1∧ z
Trang 9Die charakteristische Funktionψg p der Ausgabefunktion g pergibt sich zu:
ROBDDs auch eine effiziente Durchf¨uhrung von Mengenoperationen Die
Schnitt-menge S1 ∩ S2 zweier Mengen, S1 ,S2⊆ S, l¨asst sich als Konjunktion der
entspre-chenden charakteristischen FunktionenψS1 undψS2 berechnen, d h.ψS1∧ψS2 Die
Vereinigungsmenge S1 ∪S2zweier Mengen, S1 ,S2⊆ S, l¨asst sich als Disjunktion der
charakteristischen FunktionenψS1 undψS2 berechnen, d h.ψS1∨ψS2
Die ¨Aquivalenzpr¨ufung, basierend auf einer symbolischen rung, kann nach folgendem Algorithmus durchgef¨uhrt werden:
Vorw¨artstraversie-SYMBOLIC FORWARD TRAVERSAL(M p,σI,σO,σS p){
Die Funktion SYMBOLIC FORWARD TRAVERSAL liefertT, falls die beiden
Automaten M und M , aus denen der Produktautomat M pgebildet wurde, lent sind Sind die beiden Automaten nicht ¨aquivalent, so ist der R¨uckgabewertF.Der Algorithmus arbeitet analog zur nichtsymbolischen Vorw¨artstraversierung undbestimmt dabei einen Fixpunkt (ψN= F) Allerdings ist die Bestimmung, ob ein Zu-stand neu erreicht wurde, der einen ausgehenden Zustands¨ubergang mit AusgabeFbesitzt, die ¨Uberpr¨ufung, ob das ROBDD der FunktionψN ∧ψg p ∧σO(F), der Ter-minalknotenF ist Ebenfalls l¨asst sich die Bestimmung der Menge aller in einemSchritt erreichbaren Zust¨ande effizient durch eine Konjunktion und zwei Existenz-Quantifizierungen berechnen (∃σS p (s),σI (i) :ψN ∧ψf p)
¨aquiva-Obwohl die symbolische Zustandsraumtraversierung deutlich gr¨oßere r¨aume traversieren kann, als dies mit der nicht symbolischen Traversierung m¨oglichw¨are, hat auch dieser Ansatz Schwachpunkte Ein wesentlicher Schwachpunkt liegt
Trang 10Zustands-4.3 Sequentielle ¨Aquivalenzpr¨ufung 151
in der relationalen Repr¨asentation der ¨Ubergangsfunktion f p als charakteristischeFunktionψ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 VariaVaria-blen wachsenk¨onnen, ist der vorhandene Speicher auch bei der symbolischen ¨Aquivalenzpr¨ufungh¨aufig der limitierende Faktor
4.3.4 Erzeugung von Gegenbeispielen
Sind zwei endliche Zustandsautomaten M und M nicht ¨aquivalent, so w¨are esw¨unschenswert eine Sequenzi1, ,in zu erhalten, welche die Ausgabe F im Pro- duktautomaten M p, beziehungsweise die unterschiedliche Ausgabe in den beidenAutomaten ausl¨ost Diese Sequenz kann beispielsweise sp¨ater als Testfalleingabe
in der Simulation verwendet werden Hierzu muss die Traversierung des raums leicht modifiziert werden:
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 versierung Wird nun festgestellt, dass M und M nicht ¨aquivalent sind, so wird eineEingabesequenz mit Hilfe der Funktion GENERATE TRACE bestimmt und zur¨uck
Zustandsraumtra-gegeben Dabei wird der Zustand error, der die AusgabeF erzeugen kann, als ment ¨ubergeben
Argu-GENERATE TRACE(M p , k, error) {
Trang 11Zun¨achst wird ein Eingabesymbol i bestimmt, welches ausgehend vom Zustand error die Ausgabe F erzeugt Anschließend wird f¨ur jeden Iterationsschritt ein
Vorg¨angerzustand pred ausgew¨ahlt und eine Eingabe bestimmt, die den ¨Ubergang
von pred nach error ausl¨ost Diese Eingabe wird per Konkatenation ◦ an den fang der Sequenz gestellt Dies wird k-mal wiederholt Dann ist der Anfangszustand
An-erreicht und somit die Sequenz an Eingaben zur Erzeugung der Ausgabe vonF von
M pabgeschlossen
W¨ahrend implizite Verfahren einen hohen Speicherbedarf haben, um tionen des Systems zu erstellen, leiden explizite Verfahren h¨aufig an einer hohen
Repr¨asenta-Laufzeit Orthogonal zu impliziten und expliziten Verfahren k¨onnen sog
strukturel-le Verfahren zur ¨Aquivalenzpr¨ufung verwendet werden Strukturelle Verfahren ren auf der Idee der Partitionierung Durch Partitionierung k¨onnen die betrachtetenSysteme in ¨uberschaubare, kleinere Einheiten zerlegt werden Dies ist in Abb 4.19f¨ur eine explizite ¨Aquivalenzpr¨ufung zu sehen
Abb 4.19 Strukturelle ¨Aquivalenzpr¨ufung
Entlang des Schnittes (engl cut) werden die beiden Systeme, welche die tionen f1 und f2implementieren, in jeweils zwei Teilsysteme zerlegt Eine m¨oglicheVorgehensweise, um die ¨Aquivalenz von f1 und f2zu zeigen, besteht nun darin, die
Trang 12Abb 4.20 Substitution nach Partitionierung zur strukturellen ¨Aquivalenzpr¨ufung
Ein alternativer Ansatz, der auf Partitionierung des Systems beruht, reduziert dieProblemgr¨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¨arenAusg¨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 istdas Ergebnis dennoch kritisch zu betrachten Durch den Schnitt sind die Teilsys-teme entkoppelt, d h obwohl die Ausg¨ange der Teilsysteme zwischen prim¨arenEing¨angen und Schnittpunkten die Eingaben f¨ur die Teilsysteme zwischen Schnittund prim¨aren Ausg¨angen bilden, geht dieses Wissen durch den Schnitt verloren Diesist in Abb 4.21 visualisiert Abbildung 4.21a) zeigt ein System bestehend aus zwei
Teilsystemen, welche die Funktionen f1 und f2implementieren Zus¨atzlich sind derEingabe- und der Ausgabebereich des Systems zu sehen Aufgrund der gew¨ahltenAbstraktion sind allerdings lediglich die dunkel hervorgehobenen Bereiche steuer-bar bzw beobachtbar
von f2
potentielle falschnegative Ergebnisse
Abb 4.21 Entstehung falschnegativer Ergebnissen bei der strukturellen ¨Aquivalenzpr¨ufung
Trang 13In Abb 4.21b) ist das partitionierte System zu sehen Der steuerbare bereich ist identisch mit dem Gesamtsystem aus Abb 4.21a) Am Schnittpunkt zwi-
Eingabe-schen f1 und f2ergibt sich f¨ur das linke Teilsystem ein beobachtbarer reich, der dunkel hervorgehoben ist Durch die Entkopplung der Teilsysteme kannnun der Effekt beobachtet werden, dass der steuerbare Eingabebereich der Funktion
Ausgabebe-f2nicht zwangsl¨aufig deckungsgleich mit diesem Ausgabebereich sein muss Dieser
steuerbare Eingabebereich f¨ur f2f¨uhrt zu einem vergr¨oßerten beobachtbaren bebereich
Ausga-Werden bei einer expliziten ¨Aquivalenzpr¨ufung lediglich die Partitionen vonzwei Systemen verglichen, kann es zu Nicht- ¨Aquivalenzen kommen, die in demvergr¨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 gebnisse (engl false negative) bezeichnet, da sie zu einem negativen, aber falschen,
Er-Verifikationsergebnis f¨uhren Aus diesem Grund ist es notwendig, bei einer rellen ¨Aquivalenzpr¨ufung nochmals zu ¨uberpr¨ufen, ob das gefundene Gegenbeispielf¨ur die Nicht¨aquivalenz tats¨achlich von den prim¨aren Eing¨angen des Systems ausangesteuert werden kann Allgemein kann man sagen, dass nicht aus der ¨Aquivalenzvon zwei Systemen und der ¨Aquivalenz der Systempartitionen vor dem Schnitt aufdie ¨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 demSchnitt auch nicht¨aquivalent bei nicht erreichbaren Belegungen sein
struktu-Spezielle Verfahren zur strukturellen ¨Aquivalenzpr¨ufung von Hardware werden
in Abschnitt 6.1.4 diskutiert Strukturelle Verfahren zur ¨Aquivalenzpr¨ufung von ware werden in Abschnitt 7.1.2 beschrieben
Soft-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] Verfahrenzur Pr¨ufung der ¨Aquivalenz von endlichen Automaten sind ausf¨uhrlich in [272, 329]behandelt An selber Stelle sind auch strukturelle Verfahren zur ¨Aquivalenzpr¨ufungbeschrieben
Trang 14Eigenschaftspr ¨ufung
Ziel der Eigenschaftspr¨ufung ist es, zu testen, ob die Implementierung funktionaleund 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 scherweise Gefahrlosigkeits- und Lebendigkeitseigenschaften gepr¨uft Eine Gefahr-losigkeitseigenschaft besagt, dass nie etwas Schlimmes passieren wird, w¨ahrend ei-
typi-ne Lebendigkeitseigenschaft besagt, dass immer irgendwann etwas Gutes passierenwird
Anforderungen Anforderungen
pr¨ufung Eigenschafts- funktionale Abstraktion &
Abb 5.1 a) funktionale Eigenschaftspr¨ufung und b) Pr¨ufung nichtfunktionaler Eigenschaften
Die Pr¨ufung nichtfunktionaler Eigenschaften zeigt, dass die abgesch¨atzten lit¨atsmerkmale der Implementierung allen nichtfunktionalen Anforderungen der Spe-zifikation gen¨ugen Nichtfunktionale Anforderungen k¨onnen dabei z B eine maxi-
Qua-male Antwortzeit, ein miniQua-maler Durchsatz, eine miniQua-male 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
Trang 15me To Failure) oder eine maximale Leistungs- und Energieaufnahme sein Obwohl
viele der genannten nichtfunktionalen Eigenschaften eingebetteter Systeme in derPraxis von großer Bedeutung sind, liegt der Fokus des vorliegenden Buchs auf derBetrachtung rein zeitlicher Eigenschaften, da eingebettete Systeme nahezu immerEchtzeitbeschr¨ankungen unterliegen
Im Folgenden werden die Grundlagen zur Pr¨ufung funktionaler und tionaler Eigenschaften pr¨asentiert Zun¨achst werden unterschiedliche Verfahren zurfunktionalen Eigenschaftspr¨ufung f¨ur Petri-Netze vorgestellt, wobei sich zeigt, dassinsbesondere Methoden, die Systemzust¨ande aufz¨ahlen, eine besondere Bedeutunggewonnen haben Aus diesem Grund wird einer der wichtigsten Vertreter aus diesem
nichtfunk-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 ZumAbschluss dieses Kapitels wird noch auf die Pr¨ufung des Zeitverhaltens eingegan-gen, wobei sowohl kontrollfluss- als auch datenflussdominante Modelle betrachtetwerden
5.1 Pr ¨ufung funktionaler Eigenschaften
In Kapitel 2.2.1 wurden Definitionen f¨ur dynamische Eigenschaften von Netzen gegeben Die wichtigsten Eigenschaften, die in diesem Abschnitt betrachtet
Petri-werden, lauten zusammengefasst: Beschr¨anktheit (Definition 2.2.5 auf Seite 44), bendigkeit (Definition 2.2.8 auf Seite 44) und Reversibilit¨at (Definition 2.2.9 auf Sei-
Le-te 45) Bei den Definitionen wurden nicht darauf eingegangen, wie f¨ur ein gegebenesPetri-Netz gezeigt werden kann, ob es diese Eigenschaften besitzt Dies ist Gegen-stand der Eigenschaftspr¨ufung, die in diesem Kapitel diskutiert wird Hierzu werdenzun¨achst die wesentlichen Eigenschaften nochmals an Beispielen wiederholt
Beispiel 5.1.1 Betrachtet wird das Petri-Netz G mit der Anfangsmarkierung M0in
Abb 5.2a) Durch Schalten der Transition t2 wird die Folgemarkierung M1erreicht,
also M0[t2 M1, wobei M1(p1) = M1(p2) = 0 und M1(p3) = M1(p4) = 1 ist Durch
Schalten von Transition t4 wird die Folgemarkierung M2 erreicht, wobei M2(p2) = M2(p4) = 0 und M2(p1) = M2(p3) = 1 ist.
Wiederholt man die Sequenz t2,t4 insgesamt k mal so erreicht man die gemarkierung M2k(p2) = M2k(p4) = 0, M2k (p1) = 1 und M2k(p3) = k Da man die Sequenz beliebig oft wiederholen kann, also k beliebig groß werden kann, ist die Stelle p3 unbeschr¨ankt Als Modell eines eingebetteten Systems w¨urde die Stelle p3
Fol-beispielsweise einen Speicher darstellen Da physikalische Speicher eine endlicheGr¨oße besitzen, w¨urde es zwangsl¨aufig bei wiederholter Ausf¨uhrung der Sequenz
t2,t4 zu Speicher¨uberl¨aufen kommen Da G eine unbeschr¨ankte Stelle enth¨alt, ist