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

Digitale Hardware/ Software-Systeme- P6 ppt

30 236 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Digitale Hardware/Software-Systeme - P6 ppt
Trường học University of Example
Chuyên ngành Theoretical Computer Science
Thể loại lecture notes
Năm xuất bản 2023
Thành phố Sample City
Định dạng
Số trang 30
Dung lượng 368,37 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

Folgenden 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 2

4.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 3

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,(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 4

4.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 5

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 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 6

Auto-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 7

Beispiel 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 ∈ SpS 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 8

4.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 9

Die 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 10

Zustands-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 11

Zun¨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 12

Abb 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 13

In 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 14

Eigenschaftspr ¨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 15

me 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

Ngày đăng: 02/07/2014, 14:20