Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
278,01 KB
Nội dung
454 8 Systemverifikation • Der Zustand x 0 =(v 0 ,I 0 ) ist der Anfangszustand des dynamischen Zustands ¨ uber- gangsdiagramms. • Die Kanten T stellen (dynamische) Transitionen des dynamischen Zustands ¨ uber- gangsdiagramms dar. Es gibt eine Kante t =(x 1 ,x 2 ) ∈ T von Zustand x 1 = (v 1 ,I 1 ) ∈ X zu Zustand x 2 =(v 2 ,I 2 ) ∈ X, genau dann, wenn e =(v 1 ,v 2 ) ∈ A, I 2 − I 1 = d(v 1 ,v 2 ) und P(e,I 1 )=T gilt. Damit lassen sich RSMs mit einer f ¨ ur Transitionssysteme ¨ ublichen Semantik defi- nieren. Definition 8.1.3 (Semantik einer RSM). Das Verhalten eines regul ¨ aren Zustands- automaten mit einem dynamischen Zustands ¨ ubergangsdiagramm G d =(X,T,x 0 ) ist wie folgt definiert: • Anfangs ist der regul ¨ are Zustandsautomat im Zustand x 0 . • Eine Transition x 1 t −→ x 2 ver ¨ andert den Zustand einer RSM von x 1 ∈ Xzux 2 ∈ X, wobei t =(x 1 ,x 2 ) ∈ T nichtdeterministisch aus allen Transitionen t mit Anfangs- zustand x 1 gew ¨ ahlt wird. Mit einem Pfad durch ein dynamisches Zustands ¨ ubergangsdiagramm ist eine konkrete Folge von dynamischen Zust ¨ anden und Transitionen gemeint, die eindeutig von einem Indexpunkt in dem dynamischen Zustands ¨ ubergangsdiagramm zu einem anderen Indexpunkt f ¨ uhrt. Beispiel 8.1.1. Abbildung 8.2a) zeigt ein statisches Zustands ¨ ubergangsdiagramm. Das entsprechende dynamische Zustands ¨ ubergangsdiagramm ist in Abb. 8.2b) darge- stellt. An den Kanten des statischen Zustands ¨ ubergangsdiagramms ist der jeweilige Distanzvektor annotiert und, falls vorhanden, ein Pr ¨ adikat vorangestellt (abgetrennt mit /). Repr ¨ asentation von SysteMoC-Modellen als RSMs Um den abstrakten Zustandsraum eines SysteMoC-Modells (N,M,I,O) mit Netz- graph (A,C,E) (siehe Definition 2.3.1 auf Seite 68) als RSM zu repr ¨ asentieren, wird im Folgenden gezeigt, wie ein statisches Zustands ¨ ubergangsdiagramm nach Defini- tion 8.1.1 f ¨ ur ein gegebenes SysteMoC-Modell aufgebaut wird. Der abstrakte Zu- standsraum eines SysteMoC-Modells setzt sich aus 1. den m ¨ oglichen Zust ¨ anden der endlichen Automaten aller SysteMoC-Aktoren und 2. den m ¨ oglichen FIFO-F ¨ ullst ¨ anden zusammen. In einem ersten Schritt wird deshalb der Produktautomat M p mit Zustandsmen- ge Q p und Zustands ¨ ubergangsrelation R p aller endlichen Automaten der Aktoren im SysteMoC-Modell gebildet. Basierend auf dem Produktautomaten kann anschlie- ßend das statische Zustands ¨ ubergangsdiagramm G =(V, E,D,P,v 0 ,I 0 ) wie folgt ge- bildet werden: 8.1 Funktionale Eigenschaftspr ¨ ufung von SystemC-Modellen 455 i 1 ≥ 1/ −1 0 i 2 ≥ 1/ 1 −1 0 1 0 0 I 0 = 1 1 i 2 i 1 b)a) Abb. 8.2. a) statisches und b) dynamisches Zustands ¨ ubergangsdiagramm [414] • Die Menge der Knoten V ist die Menge der Zust ¨ ande Q p . • Die Kanten E sind die Zustands ¨ ubergangsrelationen in R p ,also∀e i =(q,q ) ∈ E : ∃(q,q ) ∈ R p . • Die Dimension m der Distanzvektoren aus Z m entspricht der Anzahl der Kan ¨ ale in dem SysteMoC-Modell, also m = |C|. • Die Funktion D kann aus den Attributen der Zustands ¨ uberg ¨ ange (q,q ) ∈ R p ex- trahiert werden, indem aus den Konsumptions- und Produktionsraten des Zu- stands ¨ ubergangs f ¨ ur die Kante e i =(q,q ) ∈ E der Distanzvektor f ¨ ur die Kante bestimmt wird. Dabei werden Produktionsraten zu positiven Elementen des Vek- tors und Konsumptionsraten zu negativen Elementen. Nicht beteiligte Kan ¨ ale er- halten darin den Wert null. • Die Pr ¨ adikate P(e,I) werden so gew ¨ ahlt, dass kein Indexpunkt mit negativen Elementen und kein Indexpunkt, der in einem Element die Kanalbeschr ¨ ankung verletzt, erreicht werden kann. • Anfangszustand v 0 ist der aus allen Anfangszust ¨ anden des endlichen Automaten der Aktoren zusammengesetzte Zustand. • Der Anfangsindexpunkt I 0 wird aus der Anfangsmarkierung der Kan ¨ ale be- stimmt. Beispiel 8.1.2. Abbildung 8.3 zeigt ein SysteMoC-Modell und das daraus konstru- ierte statische Zustands ¨ ubergangsdiagramm. In dem SysteMoC-Modell wird durch jede Transition eine Marke von Kanal c 1 nach Kanal c 2 verschoben, der rechte Aktor kann dabei je nach Ergebnis von f check auch seinen Zustand wechseln. Die Kan ¨ ale c 1 und c 2 haben jeweils die Kapazit ¨ at von acht Marken und beinhalten jeweils ei- ne Marke im Anfangszustand. Da der linke Aktor lediglich einen Zustand besitzt, 456 8 Systemverifikation enth ¨ alt der Produktautomat lediglich zwei Zust ¨ ande. In den Pr ¨ adikaten an den Zu- stands ¨ uberg ¨ angen bezeichnen c 1 # bzw. c 2 # die im Kanal c 1 bzw. Kanal c 2 verf ¨ ugbare Anzahl an Marken. a) b) c 1 c 2 o 1 i 1 o 2 i 1 (1)&o 2 (1)& f check i 1 (1)&o 2 (1) i 1 (1)&o 2 (1)&¬ f check i 1 (1)&o 2 (1) i 2 i 2 (1)&o 1 (1) I 0 = 1 1 c 1 # ≥ 1∧c 2 # < 8∧¬f check / −1 1 c 1 # < 8∧c 2 # ≥ 1/ 1 −1 c 1 # ≥ 1∧c 2 # < 8/ −1 1 c 1 # ≥ 1∧ c 2 # < 8∧ f check / −1 1 c 1 # < 8∧c 2 # ≥ 1/ 1 −1 c 1 # ≥ 1∧c 2 # < 8/ −1 1 s 0 s 1 s 0 ,s 1 s 0 ,s 0 s 0 Abb. 8.3. a) SysteMoC-Modell und b) zugeh ¨ origes statisches Zustands ¨ ubergangsdiagramm [193] Symbolische Repr ¨ asentation des Zustandsraums Es ist denkbar auf der Repr ¨ asentation von regul ¨ aren Zustandsautomaten eine ex- plizite CTL-Modellpr ¨ ufung zu implementieren (siehe Abschnitt 5.2). Effizienter sind allerdings symbolische Verfahren, also Verfahren, die auf einer impliziten Re- pr ¨ asentation des Zustandsraums basieren (siehe auch Abschnitt 5.3). W ¨ ahrend es zun ¨ achst scheint, dass ROBDDs eine m ¨ ogliche symbolische Repr ¨ asentation des Zu- standsraums f ¨ ur SysteMoC-Modelle darstellen, kommen diese bei einer genauen Betrachtung nicht mehr in Frage. Die potentiell unbeschr ¨ ankten FIFO-Kan ¨ ale im SysteMoC-Modell, die einen potentiell unendlichen Zustandsraum aufspannen, las- sen sich durch BDDs nicht repr ¨ asentieren. Aus diesem Grund werden im Folgenden sog. Intervall-Entscheidungsdiagramme (engl. Interval Decision Diagram, IDD) zur symbolischen Repr ¨ asentation des Zu- standsraums f ¨ ur SysteMoC-Modelle betrachtet. Neben IDDs wird eine zweite Klas- se von Intervalldiagrammen ben ¨ otigt, die sog. Intervall-Abbildungsdiagramme (engl. Interval Mapping Diagram, IMD), um Zustands ¨ uberg ¨ ange symbolisch zu repr ¨ asen- tieren. IDDs und IMDs bilden zusammen die Grundlage f ¨ ur effiziente symboli- sche Verfahren wie Modellpr ¨ ufung auf einer Vielzahl von Berechnungsmodellen, 8.1 Funktionale Eigenschaftspr ¨ ufung von SystemC-Modellen 457 z. B. Prozessnetzwerke [415], Petri-Netze [416] und FunState-Modelle [414] oder f ¨ ur symbolische Ablaufplanung von FunState- [418, 414] und SysteMoC-Modellen [192]. IDDs und IMDs werden im Folgenden mit der Beschr ¨ ankung auf ganzzahlige Intervalle eingef ¨ uhrt (siehe auch [414, 193]). Intervall-Entscheidungsdiagramme (IDDs) Intervall-Entscheidungsdiagramme (IDDs) erlauben die Darstellung von Funktio- nen mit n Variablen und einem diskreten, endlichen Definitionsbereich. Weite- re notwendige Eigenschaften der Funktionen werden weiter unten diskutiert. Sei f (x 1 ,x 2 , ,x n ) eine Funktion mit f : A 1 × A 2 × × A n → B,mitA i ⊆ Z f ¨ ur die Definitionsbereiche aller x i und B ⊂ Z, wobei die M ¨ achtigkeit von B endlich ist. Va- riablen in A i seien Intervalle auf Z, dargestellt mit [a l ,a u ]. Dabei bezeichnet a l die untere Schranke und a u die obere Schranke des geschlossenen Intervalls. Das ge- schlossene Intervall enth ¨ alt sowohl a l als auch a u . Intervalle, bei denen eine oder beide Grenzen unendlich bzw. minus unendlich sind, werden als halboffene oder of- fene Intervalle bezeichnet. Das Zeichen ∞ wird f ¨ ur eine unendliche obere Schranke, das Zeichen −∞ f ¨ ur eine unendliche untere Schranke eingesetzt. Offene Enden ei- nes Intervalls werden durch ( bzw. ) gekennzeichnet, z. B. (−∞, a u ).IndiesemFall enth ¨ alt das Intervall weder −∞ noch a u . Definition 8.1.4 (Intervall ¨ uberdeckung). Die Menge Δ (A i )={ Δ 1 , Δ 2 , , Δ | Δ (A i )| } aus | Δ (A i )| Teilintervallen Δ j nennt man Intervall ¨ uberdeckung von A i , genau dann, wenn jedes Δ j ein Teilintervall von A i ist, d. h. Δ j ⊆ A i , und Δ (A i ) vollst ¨ andig ist, d. h. A i = Δ j ∈ Δ (A i ) Δ j erf ¨ ullt ist. Eine Intervall ¨ uberdeckung eines Definitionsbereichs deckt diesen also exakt und l ¨ uckenlos ab, erlaubt aber ¨ Uberschneidungen der Intervalle. Eine disjunkte Inter- vall ¨ uberdeckung verbietet genau diese ¨ Uberschneidungen. Mit anderen Worten: Je- des Element aus A i muss in genau einem Teilintervall der Intervallpartition Δ (A i ) enthalten sein. Definition 8.1.5 (Disjunkte Intervall ¨ uberdeckung). Gegeben sei eine Intervall- ¨ uberdeckung Δ (A i ). Δ (A i ) heißt disjunkt oder auch Intervallpartition, genau dann, wenn ∀1 ≤ s,t ≤| Δ (A i )|,s = t : Δ s ∩ Δ t = ∅ gilt. Gegeben sei eine Funktion f und ein Intervall Δ j ∈ Δ (A i ). Der Kofaktor bez ¨ uglich x i sei bezeichnet durch f| x i :=b (x 1 ,x 2 , ,x n )= f (x 1 ,x 2 , ,x i−1 ,b,x i+1 , ,x n ). Falls f ¨ ur alle Belegungen von x i aus dem Intervall Δ j gilt, dass ∀b, c ∈ Δ j : f | x i :=b = f | x i :=c ist, so sagt man, dass f unabh ¨ angig von x i ∈ Δ j ist. Der zugeh ¨ orige Kofaktor wird mit f | x i :∈ Δ j bezeichnet. Das Intervall Δ j wird dann als Unabh ¨ angigkeitsintervall (engl. Independence Interval, II)von f in Bezug auf x i bezeichnet. Sind alle Teilintervalle einer Intervallpartition Δ (A i ) Unabh ¨ angigkeitsintervalle, heißt Δ (A i ) Unabh ¨ angig- keitsintervallpartition (engl. Independence Interval Partition, IIP). Intervalle heißen schließlich benachbart, wenn sie zu einem einzelnen Intervall zusammengefasst werden k ¨ onnen. Dabei d ¨ urfen die Intervalle auch ¨ uberlappen. 458 8 Systemverifikation Definition 8.1.6 (Reduzierte Intervallpartition). Gegeben sei ein IIP Δ (A i )={ Δ 1 , Δ 2 , , Δ | Δ (A i )| }. Δ (A i ) heißt genau dann minimal, wenn sie keine benachbarten Teil- intervalle enth ¨ alt, die zu einem Unabh ¨ angigkeitsintervall zusammengefasst werden k ¨ onnen. Δ (A i ) heißt geordnet, genau dann, wenn alle oberen Schranken aller Teilin- tervalle in Bezug auf ihren Index der Gr ¨ oße nach aufsteigend geordnet sind. Ein IIP, das minimal und geordnet ist, heißt reduziert. Ein reduziertes IIP einer Funktion ist eindeutig [414]. Das folgende Beispiel il- lustriert die obigen Definitionen. Es stammt aus [414] Beispiel 8.1.3. Gegeben ist die folgende Funktion f (x 1 ,x 2 ,x 3 ) := F falls x [0,3] 1 ∧ x [0,5] 2 ∨ x [4,5] 1 ∨ x [6,∞) 1 ∧ x [0,7] 3 T sonst Der Ausdruck x [a l ,a u ] ist ein Literal einer Variablen x in Bezug auf das Intervall [a l ,a u ] und wird durch folgende Funktion definiert (siehe auch Anhang B.1): x [a l ,a u ] = F wenn x ∈ [a l ,a u ] T wenn x ∈ [a l ,a u ] Der Definitionsbereich f ¨ ur x 1 ,x 2 ,x 3 ist A 1 = A 2 = A 3 =[0, ∞). Die Wertemenge der Funktion f ist B = {F,T} = B. Der Kofaktor f| x 1 :∈[4,5] (x 1 ,x 2 ,x 3 ) ist gleich F. Die Intervalle [0,7] und [4, 5] sind Unabh ¨ angigkeitsintervalle der Funktion f bez ¨ uglich der Variablen x 3 . Dies gilt je- doch nicht f ¨ ur das Intervall [6,9]. Die Menge Δ (A 1 )={ Δ 1 , Δ 2 , Δ 3 } mit Δ 1 =[0,3], Δ 2 =[4,5] und Δ 3 =[6,∞) ist eine Intervallpartition. F ¨ ur f ist Δ (A 1 ) eine reduzierte IIP. Darstellung von IDDs IDDs k ¨ onnen, wie andere Entscheidungsdiagramme, graphisch dargestellt werden (siehe Anhang B.1). Sie dienen der Repr ¨ asentation von mehrwertigen Funktionen, welche sich mit Hilfe von Intervallpartitionen mit endlich vielen Unabh ¨ angigkeits- intervallen zerlegen lassen. Definition 8.1.7 (IDD). Ein Intervall-Entscheidungsdiagramm (IDD)f ¨ ur eine Funk- tion f : A 1 , ,A n → B ist ein gerichteter azyklischer Graph G =(V,E) mit Knoten- menge V und Kantenmenge E sowie den folgenden Eigenschaften: • G ist ein Baum, • V ist eine Partition von Terminalknoten V T und Nichtterminalknoten V N , • eine Funktion index : V N →{1, ,n} weist jedem Nichtterminalknoten v ∈ V N eine Variablen x index(v) zu, • alle Intervallpartitionen Δ (A index(v) )={ Δ 1 , Δ 2 , , Δ | Δ (A index(v) )| } sind IIP, • f ¨ ur jeden Nichtterminalknoten v ∈ V N weist eine Funktion child : V N ×{1, , | Δ (A index(v) )|} → V dem Knoten v seine Nachfolger zu, d. h. (v, child(v, k)) ∈ E, mit 1 ≤ k ≤| Δ (A index(v) )|, 8.1 Funktionale Eigenschaftspr ¨ ufung von SystemC-Modellen 459 • eine Funktion value : V T → B weist jedem Terminalknoten einen Wert aus der Zielmenge B zu. Bei Entscheidungsdiagrammen werden Funktionen als ¨ aquivalent zu ihrem zu- geh ¨ origen Knoten betrachtet. Eine Funktion f v mit zugeh ¨ origem Knoten v und Index index(v) kann auch als (| Δ (A index(v) )| + 1)-Tupel dargestellt werden: f v =(x index(v) ,( Δ 1 ,F 1 ), ,( Δ | Δ (A index(v) )| ,F | Δ (A index(v) )| )) (8.1) Dabei besteht jedes Paar ( Δ k ,F k ) aus einem Intervall Δ k der Intervallpartition Δ (A i ) und einer Funktion F k beziehungsweise dem dieser zugeh ¨ origem Knoten child(v,k). Die Funktion f v mit zugeh ¨ origem Knoten v ∈ V wird rekursiv definiert: • Ist v ein Terminalknoten, so gilt f v := value(v). • Ist v ein Nichtterminalknoten mit I ndex index(v), dann ist der Wert von f v gege- ben durch die Boole-Shannon Zerlegung f v := Δ j ∈ Δ (A index(v) ) x Δ j index(v) ∧ f child(v, j) Die Argumente einer Funktion beschreiben also einen Pfad durch das zugeh ¨ orige IDD. Der Pfad beginnt bei dem Quellknoten und endet in einem Terminalknoten, der dem Funktionswert entspricht. Die durch das IDD darzustellende Funktion f ist dem Quellknoten des IDD zugeordnet. Beispiel 8.1.4. Das IDD f ¨ ur die Funktion aus Beispiel 8.1.3 ist in Abb. 8.4 zu sehen. x 2 x 3 x 1 [0,3] [4,5] [0,5] [8, ∞) FT [0,7] [6, ∞) [6, ∞) Abb. 8.4. Intervall-Entscheidungsdiagramm f ¨ ur die Funktion f aus Beispiel 8.1.3 [414] 460 8 Systemverifikation Um eine kanonische Darstellung von Funktionen durch IDDs zu erreichen, wird eine Variablenordnung ben ¨ otigt. Ein IDD heißt geordnet (engl. Ordered Interval De- cision Diagram, OIDD), genau dann, wenn auf jedem Pfad vom Quellknoten zu einem Terminalknoten die Variablen in der selben Reihenfolge auftreten. Ein OIDD heißt reduziert (engl. Reduced Ordered Interval Decision Diagram, ROIDD), genau dann, wenn 1. jeder Nichtterminalknoten v ∈ V N mindestens zwei voneinander verschiedene Nachfolger besitzt, 2. er nicht zwei unterschiedliche Knoten v und v enth ¨ alt, die Quellknoten von iso- morphen Teilgraphen sind, und 3. die IIPs Δ (A index(v) ) aller Nichtterminalknoten v ∈ V N reduziert sind. Zwei Teilgraphen eines IDD mit Quellknoten v, v ∈ V und v = v heißen isomorph, wenn die durch sie repr ¨ asentierten Funktionen ¨ aquivalent sind, also f v ≡ f v gilt. Isomorphe Teilgraphen k ¨ onnen, ¨ ahnlich zu ROBDDs, in der Darstellung zusammen- gefasst werden. Um ein OIDD zu reduzieren, werden folgende Reduktionsregeln angewendet: 1. Elimination: Wenn alle ausgehenden Kanten eines Nichtterminalknotens v ∈ V N in dem gleichen Knoten v enden, wird Knoten v entfernt und alle vorher in v eingehenden Kanten zeigen auf v . 2. Verschmelzung: Wenn unterschiedliche Nichtterminalknoten mit gleichem Index und gleicher Intervallpartition existieren, und diese jeweils die gleichen Nach- folger haben (oder wenn unterschiedliche Terminalknoten v ∈ V T mit gleichem Wert existieren), werden all diese bis auf einen Knoten entfernt und deren ein- gehende Kanten zeigen auf den verbleibenden Knoten. 3. Normalisierung: Wenn eine IIP eines Nichtterminalknotens v ∈ V N nicht mini- mal und geordnet ist, muss diese reduziert werden. Daf ¨ ur werden die Teilinter- valle und ihre zugeh ¨ origen Nachfolger geordnet. Kanten aus v mit benachbarten Intervallen, die im gleichen Nachfolger enden, werden durch eine Kante ersetzt, die alle diese benachbarten Intervalle zusammenfasst. Die Reduktionsregeln 1. und 2. sind in Abb. 8.5 dargestellt. F ¨ ur alle x i gilt der Definitionsbereich A i =[0,∞). Strehl und Thiele beweisen in [415], dass ROIDDs eine kanonische Darstellung f ¨ ur mehrwertige Funktionen sind, welche sich mit Hil- fe von Intervallpartitionen mit endlich vielen Unabh ¨ angigkeitsintervallen zerlegen lassen. Intervall-Abbildungsdiagramme F ¨ ur die Manipulation von IDDs werden sog. Intervall-Abbildungsdiagramme (engl. Interval Mapping Diagrams, IMDs) verwendet. Bevor diese formal eingef ¨ uhrt wer- den, wird eine einfache Intervallarithmetik als Grundlage pr ¨ asentiert. Mit dieser k ¨ onnen beispielsweise zwei nichtleere Intervalle addiert oder subtrahiert werden. Die Argumente und das Ergebnis dieser Operationen sind jeweils Intervalle aus Z.Die Definitionen zeigen der ¨ Ubersicht halber nur geschlossene Intervalle. 8.1 Funktionale Eigenschaftspr ¨ ufung von SystemC-Modellen 461 x 1 x 2 x 3 x 1 x 3 [0,1] x 1 x 3 x 1 x 3 x 2 x 3 x 1 x 3 x 2 [2,∞) [0,1] a) [0,1] [0,1][2, ∞) [0,1] [0,1] [2, ∞)[2,∞) b) Abb. 8.5. Reduktionsregeln f ¨ ur Intervall-Entscheidungsdiagramm [193] Definition 8.1.8 (Intervalladdition). Die Addition zweier Intervalle [a,b] und [c,d] ist definiert als [a,b]+[c,d]=[a + c, b + d]. Das aus der Addition resultierende Intervall enth ¨ alt also alle Zahlen, die durch Ad- dition von einer beliebigen Zahl aus dem ersten Intervall zu einer beliebigen Zahlen aus dem zweiten Intervall resultieren k ¨ onnen. Definition 8.1.9 (Intervallsubtraktion). Die Subtraktion zweier Intervalle [a,b] und [c,d] ist definiert als [a,b] − [c,d]=[a,b]+[−d,−c]. Das Ergebnis der Subtraktion zweier Intervalle ist ein Intervall, das alle Zahlen enth ¨ alt, die durch Subtraktion einer beliebigen Zahl aus dem Intervall [c,d] von einer beliebigen Zahl aus dem Intervall [a, b] resultieren k ¨ onnen. IMDs werden durch sog. Abbildungsgraphen graphisch repr ¨ asentiert. Definition 8.1.10 (Abbildungsgraph). Ein Abbildungsgraph ist ein azyklischer ge- richteter Graph G =(V, E) mit ausgezeichnetem Quellknoten. Die Menge der Knoten V ist in zwei Partitionen eingeteilt, die Nichtterminalknoten V N und die Terminal- knoten V T . Jeder Nichtterminalknoten v ∈ V N hat einen Index index(v), eine Menge von Intervall-Abbildungsfunktionen func(v)={ f 1 , f 2 , , f n } und |func(v)| Nach- folger, bezeichnet als child(v,k) ∈Vmit1 ≤ k ≤|func(v)|. Die Abbildungsfunktionen f k (v) ∈ func(v) sind mit den entsprechenden Kanten (v,child(v, k)) ∈ E assoziiert. Es gibt genau einen Terminalknoten v ∈ V T mit dem Wert value(v)=T. Eine Intervall-Abbildungsfunktion f : I → I bildet Intervalle auf Intervalle ab, wobei I die Menge aller Intervalle aus Z beschreibt. Eine Intervall-Abbildungs- funktion f ( Δ )= Δ , die ein Intervall auf sich selbst abbildet, wird als neutral be- zeichnet. IMDs k ¨ onnen verwendet werden, um IDDs zu manipulieren. Dabei m ¨ ussen beide Diagramme die gleiche Variablenordnung verwenden. F ¨ ur die ¨ Ubergangsbe- schreibung von SysteMoC-Modellen wird eine eingeschr ¨ ankte Klasse von IMDs ver- wendet. Diese werden als engl. Predicate Action Diagrams (PADs) bezeichnet. Definition 8.1.11 (PAD). Ein Predicate Action Diagram (PAD) ist ein IMD, das nur zwei Arten von Intervall-Abbildungsfunktionen verwendet: 462 8 Systemverifikation f + ( Δ ) := Δ ∩ Δ P + Δ A falls Δ ∩ Δ P = ∅ [] sonst und f := ( Δ ) := Δ A falls Δ ∩ Δ P = ∅ [] sonst f + wird Versetzungs- und f := Zuweisungsfunktion genannt. Jeder Abbildungsfunk- tion sind z wei w ¨ ahlbare Intervalle zugeordnet, das Pr ¨ adikatenintervall Δ P und das Aktionsintervall Δ A . Im Folgenden werden PADs als IMDs bezeichnet. Die Versetzungs- und Zuwei- sungsfunktion schneiden erst das Argumentintervall Δ mit ihrem Pr ¨ adikatenintervall Δ P . Ist die Schnittmenge leer, ist das Resultat der Funktionen das leere Intervall. Ansonsten liefert die Versetzungsfunktion ein Intervall, das aus der Addition der Schnittmenge mit dem Aktionsintervall Δ A der Funktion resultiert. Die Zuweisungs- funktion ergibt bei einer nichtleeren Schnittmenge immer ihr Aktionsintervall. Die Abbildungsfunktionen eines IMD werden also ausschließlich durch zwei Intervalle als Parameter vollst ¨ andig beschrieben. F ¨ ur die Versetzungsfunktion f + wird im Folgenden die Notation Δ P /+ Δ A und f ¨ ur die Zuweisungsfunktion f := die Notation Δ P /:= Δ A verwendet. Ein Versetzen von Intervallen in negative Richtung ist mit der Versetzungsfunktion auch m ¨ oglich. Soll um ein Intervall Δ A =[a,b] in negative Richtung versetzt werden (Intervall- subtraktion), wird das durch Addition von [−b,−a] erreicht. Dies wird auch als Δ P /− Δ A geschrieben. F ¨ ur eine Variable x i ist die Abbildungsfunktion Δ P /+[0,0] mit Δ A = A i neutral. Eine allgemeine neutrale Zuweisungsfunktion existiert nicht. Abbildung 8.6b) zeigt ein Beispiel f ¨ ur ein IMD mit drei Variablen. x 3 x 3 x 2 x 2 x 2 x 3 x 3 x 1 x 1 [0,∞) [0,0][1,2] [0, ∞) [0,0] b) TT [2,∞)/−[1,2][0,∞)/+[1,4] [2, ∞)/−[2,2] [0, ∞)/+[1,3] [1, ∞)/−[1,1][1,∞)/+[1,1] a) Abb. 8.6. a) Intervall-Entscheidungsdiagramm ohne Kanten zum Terminalknoten mit Wert F und b) Intervall-Abbildungsdiagramm [414] Im Gegensatz zu IDDs ist bei IMDs im Allgemeinen keine kanonische Darstel- lung m ¨ oglich. Dennoch k ¨ onnen h ¨ aufig, abh ¨ angig von der Struktur der repr ¨ asentierten 8.1 Funktionale Eigenschaftspr ¨ ufung von SystemC-Modellen 463 Funktion, Reduktionsregeln f ¨ ur IMDs angeben werden. Die sp ¨ ater f ¨ ur die Modell- pr ¨ ufung vorgestellten symbolischen Bildberechnungen profitieren von kompakteren IMDs und k ¨ onnen mit weniger Aufwand berechnet werden. Ein IMD wird mit fol- genden Regeln reduziert: 1. Wenn ein Nichtterminalknoten v ∈ V N nur eine ausgehende Kante mit der neu- tralen Abbildungsfunktion in einen Knoten v besitzt, kann v entfernt werden, und alle vorher in v eingehende Kanten zeigen auf v . 2. Wenn unterschiedliche Nichtterminalknoten mit gleichem Index und gleicher Menge von Abbildungsfunktionen existieren, und diese jeweils die gleichen Nachfolger haben, werden all diese Knoten bis auf einen entfernt, und deren eingehende Kanten zeigen auf den ¨ ubrigen Knoten. 3. Wenn ein Nichtterminalknoten v ∈ V N Kanten mit gleicher Abbildungsfunktion hat, werden diese durch eine Kante mit dieser Abbildungsfunktion zu einem neu- en Knoten w mit Index gleich dem h ¨ ochsten Index der Nachfolger von v ersetzt. Haben alle Nachfolger von v den gleichen Index, bekommt der neue Knoten w all deren ausgehende Kanten, und alle Nachfolger von v werden bis auf den neu erstellten Knoten w entfernt. Haben die Nachfolger von v verschiedene Indices, bekommt der neue Knoten w alle ausgehenden Kanten der Nachfolger mit glei- chem Index, die entfernt werden. Eine Kante mit neutraler Abbildungsfunktion wird von dem Knoten w zu jedem ¨ ubrigen Nachfolgerknoten eingef ¨ ugt. Anhand eines Beispiels aus [191] wird die symbolische Repr ¨ asentation von Syste- MoC-Modellen vorgestellt. Beispiel 8.1.5. Gegeben ist das SysteMoC-Modell aus Abb. 2.13 auf Seite 70. Die symbolische Repr ¨ asentation des Anfangszustands als IDD ist in Abb. 8.7a) zu sehen. Im Anfangszustand des Modells sind alle Kan ¨ ale bis auf c 6 leer. Kanal c 6 enth ¨ alt anfangs eine Marke. In der Darstellung wurden zur ¨ Ubersichtlichkeit alle Kanten zu dem Terminalknoten mit Wert F entfernt. Der abstrakte Zustand eines Modells, wie in Abschnitt 8.1.1 beschrieben, l ¨ asst sich wie folgt als IDD codieren: • F ¨ ur jeden FIFO-Kanal c i wird eine Variable c i # mit Definitionsbereich [0,n i ] ben ¨ otigt, wobei n i der Tiefe des FIFO-Kanals c i , entspricht. In diesem Beispiel wird davon ausgegangen, dass die FIFO-Kan ¨ ale eine beschr ¨ ankte Gr ¨ oße von 8 besitzen. Somit ist der Definitionsbereich ∀1 ≤ i ≤ 6:c i # ∈ [0,8]. • F ¨ ur jeden Aktor mit mehr als einem Zustand wird eine Variable mit dem Defi- nitionsbereich [0,s i − 1] ben ¨ otigt, wobei s i gleich der Anzahl der Zust ¨ ande des Aktors ist. In dem Beispiel aus Abb. 2.13 besitzt lediglich der Aktor SqrLoop mehr als einen Zustand, weshalb q 1 ∈ [0, 1] gilt, wobei q 1 = 0f ¨ ur den Zustand start und q 1 = 1f ¨ ur den Zustand loop steht. Abbildung 8.7b) zeigt die Erreichbarkeitsmenge des SysteMoC-Modells Abbil- dung 8.7c) zeigt ein IMD, welches die drei Transitionen des Aktors SqrLoop dar- stellt. Darin entspricht jeder der drei Pfade von dem Quellknoten zu dem Terminal- knoten einer der Transitionen. Im Unterschied zu IDDs sind an den Kanten zwei Intervalle und eine Funktion annotiert, die der ¨ Anderung einer Variablen durch die Transition entsprechen. [...]... SqrLoop u als IMD [191] ¨ Modellprufung von SysteMoC-Modellen ¨ Abbildung 8.8 zeigt einen Uberblick der symbolischen CTL-Modellpr¨ fung von u SysteMoC-Modellen Zun¨ chst wird aus der Spezifikation eines digitalen Systems a ¨ das SysteMoC-Verhaltensmodell mittels eines Parsers in eine RSM ubersetzt, welche als IDD/IMD symbolisch repr¨ sentiert wird Die funktionalen Anforderungen an a das System liegen... von SystemC-Modellen Der oben beschriebene IDD-basierte Ansatz zur Modellpr¨ fung von SysteMoCu Modellen pr¨ ft funktionale Eigenschaften direkt auf dem Verhaltensmodell, welches u unabh¨ ngig von der Hardware/Software-Partitionierung ist Allerdings liegen bereits a oft SystemC-Module vor, die eine Hardware- oder eine Software-Implementierung eines oder mehrerer Aktoren darstellen In [271] ist ein spezialisierter . symbolischen CTL-Modellpr ¨ ufung von SysteMoC-Modellen. Zun ¨ achst wird aus der Spezifikation eines digitalen Systems das SysteMoC-Verhaltensmodell mittels eines Parsers in eine RSM ¨ ubersetzt, wel- che. pr ¨ uft funktionale Eigenschaften direkt auf dem Verhaltensmodell, welches unabh ¨ angig von der Hardware/Software-Partitionierung ist. Allerdings liegen bereits oft SystemC-Module vor, die eine