Liu und Layland zeigten dann, dass der RMS-Algorithmus unter allen men mit statischen Priorit¨aten f¨ur den von ihnen angenommen Fallτ∗ Algorith-dv i = Pv iimmer einen g¨ultigen Ablaufp
Trang 1gr¨oßere Priorit¨at als vj, falls P (v i ) < P(v j) Also w¨ahlt man die Priorit¨at statisch spielsweise proportional zur gegebenen Rate eines Prozesses (Kehrwert der Periode).Prozesse mit kleinerer Periode werden also h¨oher priorisiert als Prozesse mit gr¨oße-rer Periode Dies gilt also unabh¨angig von den Ausf¨uhrungszeiten der Prozesse BeiAnkunft eines Prozesses h¨oherer Priorit¨at wird der laufende Prozess unterbrochen.
bei-Beispiel 7.4.5 Abbildung 7.32b) zeigt einen mit der RMS-Strategie gewonnenen
Ablaufplan f¨ur das in Beispiel 7.4.4 vorgestellte Problem
Liu und Layland zeigten dann, dass der RMS-Algorithmus unter allen men mit statischen Priorit¨aten (f¨ur den von ihnen angenommen Fallτ∗
Algorith-d(v i ) = P(v i))immer einen g¨ultigen Ablaufplan bestimmt, falls ein solcher existiert
Beispiel 7.4.6 Aus diesem Ergebnis l¨asst sich schließen, dass es keinen Algorithmus
mit festen Priorit¨aten gibt, der f¨ur das Problem aus Beispiel 7.4.4 alle Deadlineserf¨ullt, da der RMS-Algorithmus keinen solchen Ablaufplan bestimmt hat
Nun l¨asst sich allerdings ein einfaches, hinreichendes Kriterium angeben, wannder RMS-Algorithmus immer einen Ablaufplan findet, der alle Deadlines erf¨ullt:
Trang 27.4 Zeitanalyse 445
Theorem 7.4.3 (Liu und Layland) Gegeben sei ein Ablaufplanungsproblem nach
Definition 7.4.8 mit der Eigenschaft ∀v i ∈ V :τ∗
d(v i ) = P(v i ) Die Menge von sen kann unter Erf¨ullung aller Deadlines mit dem RMS-Algorithmus geplant werden, falls
F¨ur|V| = 1 erh¨alt man als rechte Seite von Ungleichung (7.19) den Wert 1 Damit
kann das RMS-Verfahren ein Problem mit einem Prozess unter der Erf¨ullung dessenDeadline immer planen, wenn (offensichtlich) die Ausf¨uhrungszeit kleiner gleichder Deadline (hier auch Periode) ist Interessanter ist der Fall f¨ur|V| → ∞ Dann
erh¨alt man f¨ur die rechte Seite der Ungleichung (7.19) den Wert ln(2) Damit l¨asstsich die Aussage treffen, dass f¨ur alle Problemgr¨oßen|V| immer ein g¨ultiger Ab-
laufplan gefunden wird, wenn∑| V |
i:=1δi /P(v i ) ≤ ln(2) gilt, d h wenn der Prozessor
weniger als 1/ln2 · 100% ≈ 69,3% ausgelastet ist Man beachte, dass das
Kriteri-um in Theorem 7.4.3 nat¨urlich nur eine hinreichende Bedingung darstellt, so dass esauch Probleminstanzen geben kann, f¨ur die der RMS-Algorithmus auch bei h¨ohererProzessorauslastung einen Ablaufplan finden kann, der alle Deadlines einh¨alt.Aus Ungleichung (7.19) l¨asst sich ¨ubrigens auch eine notwendige Bedingung f¨urdie Einhaltbarkeit aller Deadlines erkennen:∑| V |
i:=1δi /P(v i ) ≤ 1 Dies entspricht dem
Grenzfall einer Prozessorauslastung von 100% Falls diese Bedingung nicht erf¨ulltist, kann offensichtlich auch kein Algorithmus mit dynamischen Priorit¨aten eineng¨ultigen Ablaufplan finden
Damit stellt sich aber die Frage, ob es denn einen Algorithmus gibt, der auchf¨ur den extremen Fall∑| V |
i:=1δi /P(v i) = 1 einen g¨ultigen Ablaufplan finden kann? DieAntwort heißt ja, und ein solcher Algorithmus ist der EDF-Algorithmus
Theorem 7.4.4 (Liu und Layland) Gegeben sei ein Ablaufplanungsproblem nach
Definition 7.4.8 mit der Eigenschaft ∀v i ∈V :τ∗
d(v i ) = P(v i ) Die Menge von Prozesse kann unter Erf¨ullung aller Deadlines mit dem EDF-Algorithmus geplant werden, falls
Beispiel 7.4.7 Abbildung 7.32a) zeigt einen mit der EDF-Strategie ermittelten
Ab-laufplan, der alle Deadlines f¨ur das Problem aus Beispiel 7.4.4 erf¨ullt Dies gilt beieiner Prozessorauslastung von 100% (∑2
i:=1 δi
P (vi)= 1/2+2,5/5 = 1) In Abb 7.32b)
Trang 3446 7 Software-Verifikation
ist ein Ablaufplan nach der RMS-Strategie dargestellt EDF und RMS werden in derPraxis nahezu ausschließlich in der hier dargestellten pr¨aemptiven Version einge-setzt
Antwortzeitanalyse
Neben den vorgestellten einfachen auf Ressourcenauslastung beruhenden Tests inGleichung (7.19) f¨ur RMS-Ablaufplanung und in Gleichung (7.20) f¨ur EDF, wur-den Tests entwickelt, die detailliertere Informationen ¨uber das Zeitverhalten undPriorit¨aten von Prozessen zur Bestimmung der Planbarkeit periodischer Prozesseausnutzen F¨ur RMS betrachten Joseph und Pandya in [249] die Antwortzeit eines
Prozesses vi ∈ V im ung¨unstigsten Fall gleicher Ankunftszeiten aller Prozesse Die
Antworts- bzw FlusszeitδF(v i) ist dann durch die Summe der eigenen zeitδi und der maximalen sog Interferenz Ii gegeben Der Interferenzterm Ii be-
Ausf¨uhrungs-stimmt dabei die Summe der Verz¨ogerungszeiten, denen vi unterliegt, wenn dieser
durch h¨oherpriore Prozesse unterbrochen wird Sei hp (v i ) ⊆ V die Menge rer Prozesse von vi und die Deadline td∗ (v i ) gleich der Periode P(v i ) f¨ur alle v i ∈ V.
h¨oherprio-Dann gilt offensichtlich:
erf¨ullt der Prozess vi unter RMS-Ablaufplanung seine Deadline td∗ (v i)
Zeitgetriebene, dynamische Ablaufplanung
Dynamische, priorit¨atsbasierte Ablaufplanung stellt eine effiziente Methode zur nung von Prozessen unter vielen m¨oglichen Umst¨anden dar Dies hat allerdingsh¨aufig zur Folge, dass das System bei dessen Ausf¨uhrung ein starkes dynamischesVerhalten zeigt, was die Analyse erschwert Im Gegensatz dazu weist eine zeitge-triebene, dynamische Ablaufplanung jedem Prozess einen mehr oder weniger fest-stehenden Zeitschlitz f¨ur dessen Abarbeitung zu Damit kann ein Prozess einen Pro-zessor f¨ur ein genau festgelegtes Zeitbudget belegen Wenn dieses Zeitbudget aufge-braucht ist, wird dem n¨achsten Prozess der Prozessor zugeteilt Im Folgenden werdenzwei prominente Vertreter zeitgetriebener, dynamischer Ablaufplanung vorgestellt:
Pla-Round-Robin- und TDMA-Ablaufplanung.
Trang 47.4 Zeitanalyse 447
Beispiel 7.4.8 Betrachtet wird ein Problemgraph mit drei Prozessen v1,v2 und v3
ohne Datenabh¨angigkeiten mit den Ausf¨uhrungszeitenδ1:= 24,δ2:= 3,δ3:= 30 undden Ankunftszeitenτr(v1) =τr(v2) =τr(v3) := 0 Abbildung 7.33 zeigt den mit der
RR-Strategie gewonnenen Ablaufplan f¨ur ein Zeitquantum von Q := 4 Zeitschritten.Man erkennt, dass zum Zeitpunkt τ = 4 der Knoten v1 suspendiert wird, da das
Zeitquantum abgelaufen ist Erst zum Zeitpunktτ= 11 wird v1weiter berechnet.Die mittlere Wartezeit betr¨agt in diesem BeispielδW = (47 − 24) + (7 − 3) + (57 −
Abb 7.33 Ablaufplanung mit RR-Strategie
Round-Robin-Ablaufplanung wird h¨aufig in Mehrbenutzerbetriebssystemen gewendet Als Nachteil muss man h¨aufig lange Wartezeiten in Kauf nehmen Bei ei-
an-ner Anzahl von N planbaren Prozessen und einem Zeitquantum Q kann man jedoch
die Schranke(N − 1)Q als l¨angstes Zeitintervall, bis ein Prozess sp¨atestens wieder weiter abgearbeitet wird, angeben Falls Q gegen unendlich strebt, erh¨alt man den bekannten FCFS-Algorithmus (engl First Come, First Served) Falls Q gegen null
strebt, verh¨alt sich das System (unter Vernachl¨assigung von Kontextwechselzeiten)
wie ein System mit N Prozessoren, die allerdings jeweils nur die 1 /N-fache
Rechen-leistung besitzen
TDMA
Neben der Round-Robin-Ablaufplanung gibt es eine weitere popul¨are
zeitgetriebe-ne Ablaufplanungsstrategie, die als TDMA (engl Time Division Multiple Access)
bekannt ist Hier werden jedem Prozess periodisch auf einem Prozessor Zeitslots gewiesen Im Gegensatz zur Round-Robin-Strategie erfolgt dies unabh¨angig davon,
zu-ob der Prozess gerade laufbereit ist oder nicht Damit h¨angt das Zeitverhalten einesProzesses nicht mehr vom Zeitverhalten anderer Prozesse ab, was die Zeitanalyse
stark vereinfacht Zum Beispiel l¨asst sich die Antwortzeit eines Prozesses vimit
Pe-riode P (v i ), zugewiesener Slotbreite S(v i), Ausf¨uhrungszeitδi und Zeitquantum Q
wie folgt berechnen:
δF(v i) =δi + (Q − S(v i))
)
δi S(v i)
*
(7.22)Der eigenen Ausf¨uhrungszeitδi zuzuschlagen sind maximal
+
δi
S (vi)
,Zeitscheiben,
in denen vidie Ressource(Q − S(v i)) Zeitschritte nicht belegt TDMA ist zwar im
Trang 5symbo-Die Verfahren zur funktions- und strukturorientierten Testfallgenerierung den ausf¨uhrlich in [305] diskutiert Bei den simulativen Verifikationsmethoden ist ei-
wer-ne 100%-ige Zweig¨uberdeckung heutzutage das Minimalkriterium in der Entwicklung Der Standard DO-178B f¨ur die Software-Entwicklung in sicherheits-
Software-kritischen Bereichen fordert beispielsweise einen modifizierten scheidungs¨uberdeckungstest [382] Darin werden Testf¨alle gefordert, die zeigen,
Bedingungs-/Ent-dass jede atomare Bedingung die Evaluierung einer Entscheidung unabh¨angig vonanderen atomaren Bedingungen beeinflussen kann Eine vergleichende Studie zwi-schen Zweig-, Pfad- und strukturiertem Pfad¨uberdeckungstest findet sich in [227,228] Ein modifizierter strukturierter Pfad¨uberdeckungstest ist in [305] beschrieben
In diesem wird die Komplexit¨at reduziert, indem die ¨Uberdeckung von ren Teilpfaden in Schleifen gefordert wird, nicht aber die ¨Uberdeckung s¨amtlicherKombinationen
ausf¨uhrba-Die datenflussorientierte Testfallgenerierung spielt in der Praxis heutzutage nochnicht die Rolle wie die kontrollflussorientierte Testfallgenerierung Ein Vergleich der
all defs-, all c-uses- und all p-uses- ¨Uberdeckungstests findet sich in [190] Dar¨uber
hinausgehende Techniken sind beispielsweise der required k-tuples- ¨ test [349, 109, 350] und der Datenkontext¨uberdeckungstest [290, 291, 109] Letzterer
Uberdeckungs-verlangt, dass alle existierenden M¨oglichkeiten den in einem gegebenen Grundblockverwendeten Variablen Werte zuzuweisen, ber¨ucksichtigt werden Dabei kann auchdie unterschiedliche Reihenfolge der Wertzuweisung ber¨ucksichtigt werden.Eine gute ¨Ubersicht ¨uber Methoden und Werkzeuge zur formalen funktionalenEigenschaftspr¨ufung von Programmen findet sich in [140] Darin wird eine Unter-scheidung in Verfahren zur statischen Programmanalyse, zur Modellpr¨ufung und zurSAT-basierten Modellpr¨ufung vorgenommen Die abstrakte Interpretation zur stati-schen Programmanalyse wurde erstmal 1977 vorgestellt [118] Die notwendigen ma-thematischen Zusammenh¨ange zwischen konkretem und abstraktem Wertebereich,
Trang 67.5 Literaturhinweise 449unter denen der mittels abstrakter Interpretation berechnete abstrakte Fixpunkt einekorrekte Approximation des konkreten Fixpunktes ist, werden in [119] beschrieben.
An gleicher Stelle ist beschrieben, wie abstrakte Wertebereiche nach Bedarf iert werden k¨onnen Bei den abstrakten Wertebereichen wird dabei zwischen relatio-nalen und nichtrelationalen abstrakten Wertebereichen unterschieden Die relatio-nalen DBM-Wertebereiche wurden zun¨achst zur Analyse zeitbehafteter Petri-Netzeverwendet [471] Eine h¨ohere Expressivit¨at besitzen Oktagon- [327] und Oktaeder-Wertebereiche [96] Polyeder-Wertebereiche wurden erstmals zur Verifikation num-merischer Eigenschaften von Programmen und des Zeitverhaltens eingebetteter Soft-ware verwendet [120, 213] Ein weiteres großes Anwendungsgebiet statischer Pro-grammanalyse ist die Analyse von Programmen, die Zeiger verwenden Die sog
konstru-Alias-Analyse untersucht, ob zwei Zeiger die selbe Speicherstelle adressieren Die Ermittlung der Speicherstelle, auf die ein Zeiger zugreift, wird als engl point to analysis bezeichnet [220] Eine Generalisierung auf dynamisch erzeugte Datenstruk- turen erfolgt in [376, 248] und wird als engl shape analysis bezeichnet.
Die Zusammenh¨ange und Unterschiede zwischen statischer Programmanalyseund Modellpr¨ufung sind in [410, 389, 46] diskutiert Werkzeuge zur Modellpr¨ufung
von Software k¨onnen generell in explizite und symbolische Modellpr¨ufer den werden Der wohl bekannteste Vertreter expliziter Modellpr¨ufer ist SPIN [222] Erste Versionen des Java Pathfinder haben auf SPIN aufgesetzt [456] Neben SPIN und Java Pathfinder gibt es mit CMC [339], ZING [15] und VeriSoft [195] drei weite-
unterschie-re wichtige Vertunterschie-reter expliziter Modellpr¨ufer Letzteunterschie-rer ist zustandslos, d h besuchteZust¨ande werden nicht gespeichert, und begegnet damit der Zustandsexplosion Al-lerdings ist dieses Verfahren unvollst¨andig f¨ur Systeme, die Zyklen enthalten F¨urdie Terminierung muss zus¨atzlich die Suchtiefe beschr¨ankt werden
Modellpr¨ufungsverfahren, die auf Abstraktionsverfeinerung beruhen, verwendenzur Erstellung der abstrakten Modelle heutzutage Pr¨adikatenabstraktion [205] Einiteratives Verfahren zur Pr¨adikatenabstraktion ist unter den Namen CEGAR (engl
counterexample-guided abstraction refinement) bekannt geworden [23, 100] Die
Entscheidungsprozeduren, die zur Bestimmung des abstrakten Modells ben¨otigt den, basieren entweder auf Theoreml¨osern [24, 131] oder SAT-Solvern [103, 114].Ein erstes Modellpr¨ufungsverfahren auf Basis von Pr¨adikatenabstraktion mit dem
wer-Namen SLAM wurde von der Firma Microsoft entwickelt [25] SLAM besteht aus
mehreren Werkzeugen wie C2BP [26] zur Pr¨adikatenabstraktion, dem symbolischenModellpr¨ufer BEBOP [27] sowie dem Simulations- und VerfeinerungswerkzeugNEWTON [28] W¨ahrend SLAM Theoreml¨oser zur Pr¨adikatenabstraktion einset-
zen, verwendet SATABS einen SAT-Solver [103] F¨ur die eigentliche Verifikation
setzt SATABS den QBF-Solver-basierten Modellpr¨ufer BOPPO [115] ein
Eine der ersten Implementierungen eines SAT-basierten Modellpr¨ufers f¨ur
C-Programme heißt CBMC, welches unterschiedliche Prozessor- und
Speicherarchitek-turen unterst¨utzt [104, 102] Der Ansatz zur Zustandsraumreduktion durch abwicklung geht auf Currie et al zur¨uck [123] Die grundblockbasierte SAT-basierteModellpr¨ufung in [242] unterscheidet sich von BMC durch die Abstraktion vomProgrammz¨ahler, wodurch es u a leichter wird, Funktionsaufrufe zu modellieren.Eine Erweiterung von CBMC auf SMT-Solver unter Verwendung von ganzzahliger
Trang 7Schleifen-450 7 Software-Verifikation
linearer Arithmetik ist in [17, 18] beschrieben Der einzige SAT-basierte
Modell-pr¨ufungsansatz der ein Abrollen der Zustands¨ubergangsrelation vornimmt ist F-Soft
[241]
WCET-Analyse im Allgemeinen ist nicht entscheidbar Sowohl Kligerman andStoyenko [263] als auch Puschner and Koza [368] haben die Bedingungen unter-sucht, unter denen das Problem entscheidbar wird Zu diesen Bedingungen z¨ahlenbeschr¨ankte Schleifen, Abwesenheit von rekursiven Funktionsaufrufen und Abwe-senheit von dynamischen Funktionsaufrufen Eine ILP-basierte WCET-Analyse ist
in [302] vorgestellt Eine Erweiterung um die Ber¨ucksichtigung eines caches ist in [303] beschrieben In [428] zeigen Theiling et al., dass es m¨oglich ist,die Programmpfadanalyse von der Analyse der Zielarchitektur zu separieren, indem
Instruktions-Ergebnisse der Zielarchitekturanalyse durch abstrakte Interpretation in dem ILP zur
Bestimmung des l¨angsten Programmpfads verwendet werden
Dynamische Ablaufplanungsverfahren und Echtzeitbedingungen sind lich in den B¨uchern [262], [308] und [79] pr¨asentiert Detaillierte Informationen
ausf¨uhr-¨uber EDF enth¨alt das EDF-Buch [408] In [468, 78] werden auch interessante gleiche zwischen ratenmonotoner Ablaufplanung (RMS) und EDF beschrieben Er-
Ver-weiterungen der ratenmonotonen Ablaufplanung unter dem Namen tone Ablaufplanung sind von Leung und Whitehead [301] sowie Lehoczky und Sha
deadlinemono-[300] betrachtet worden, wobei die Deadlines von Prozessen nicht
notwendigerwei-se gleich ihrer Perioden sind Jonotwendigerwei-seph und Pandya entwickelten einen ersten Ansatzzur Antwortzeitanalyse bei ratenmonotoner Ablaufplanung [249] Diese Antwort-zeitanalyse erlaubt die Betrachtung beliebiger Priorit¨atszuweisungen Er gilt daherinsbesondere auch im Falle der deadlinemonotonen Ablaufplanung, wenn die Dead-lines kleiner gleich den Perioden der Prozesse sind F¨ur den Fall, dass Deadlinesgr¨oßer als die Perioden eines Prozesses sein d¨urfen, besteht das Problem, dass Instan-zen einer folgenden Iteration ankommen k¨onnen, bevor die Ausf¨uhrung von Instan-zen der aktuellen Iteration beendet ist Im Ansatz von Lehoczky [299] werden dazuFenster von mehreren aufeinander folgenden Iterationen zusammen analysiert unddaraus eine kombinierte Antwortzeit berechnet Von Audsley [21] und Tindell [439]stammen schließlich Erweiterungen der Antwortzeitanalyse, die auch das Ph¨anomen
nicht exakt periodisch ankommender Prozesse, sondern sog engl release jitter lassen sowie das Auftreten von periodischen sporadischen Prozessen, sog engl spo- radic bursts F¨ur EDF-Ablaufplanung wird eine Antwortzeitanalyse in [406, 407]
zu-beschrieben
Bei den zeitgetriebenen, dynamischen Ablaufplanungsverfahren sind die Robin- und TDMA-Ablaufplanung die prominentesten Vertreter Kopetz gibt in sei-nem Buch [266] eine gute ¨Ubersicht ¨uber TDMA-Ablaufplanung und der kommerzi-
Round-ellen Anwendung im sog engl Time-Triggered Protocol (TTP) [443] Andere trielle Anwendungen spiegeln sich wieder im sog FlexRay-Busstandard [165] Im
indus-Mittel f¨uhrt Round-Robin-Ablaufplanung zu besseren Ergebnissen, da bei TDMAungenutzte Zeitslots f¨ur andere Prozesse nicht zur Verf¨ugung stehen Man kann zei-gen, dass Round-Robin-Ablaufplanung aber im schlechtesten Fall das Verhalten vonTDMA besitzt Daher kann man die TDMA-Analyse auch zur Analyse von Round-Robin-Ablaufplanung einsetzen
Trang 8Abb 8.1 Verifikation auf der Systemebene
Der technologische Fortschritt erm¨oglicht es, Systeme mit einer immer ren Komplexit¨at zu bauen Um dabei mit den Entwurfsmethoden Schritt zu halten,ist auch ein Schritt auf eine h¨ohere Abstraktionsebene notwendig, die es erlaubt,Systeme unabh¨angig von ihrer sp¨ateren Aufteilung in Hardware- und Software-Komponenten zu betrachtet Diese Abstraktionsebene wird als Systemebene (engl
gr¨oße-Electronic System Level) bezeichnet.
Auf Systemebene wird das Systemverhalten oftmals als eine Menge zierender Prozesse beschrieben Insbesondere, wenn ausf¨uhrbare Verhaltensmodellezum Einsatz kommen, werden diese in zunehmenden Maße mit der Systembeschrei-bungssprache SystemC beschrieben
kommuni-C Haubelt, J Teich, Digitale Hardware/Software-Systeme, eXamen.press,
DOI 10.1007/978-3-642-05356-6 8, c Springer-Verlag Berlin Heidelberg 2010
Trang 9452 8 Systemverifikation
Andererseits sind die Strukturmodelle auf Systemebene eine Netzliste aus ponenten mit der Granularit¨at von Prozessoren, Hardware-Beschleunigern, Spei-chern und Bussen Auch diese Strukturmodelle werden zunehmend mit der System-beschreibungssprache SystemC modelliert Von besonderem Interesse ist dabei dieInteraktion der einzelnen Komponenten Diese wird typischerweise als Transaktio-
Kom-nen modelliert Die resultierenden Modelle werden als TransaktionsebeKom-nenmodelle (engl Transaction Level Models, TLMs) bezeichnet.
Transaktionsebenenmodelle spielen bei der Verifikation des Zeitverhaltens reits heutzutage eine zentrale Rolle Der Grund hierf¨ur ist, dass TLMs aufgrundder hohen Abstraktionsebene eine schnelle Simulation erm¨oglichen Dabei liefernsie bereits gute Absch¨atzungen f¨ur nichtfunktionale Eigenschaften Neben der Ver-besserung simulativer Verfahren zur Verifikation des Zeitverhaltens, gab es in denletzten zehn Jahren enorme Fortschritte im Bereich der formalen Verifikation desZeitverhaltens auf der Systemebene
be-Im Folgenden werden Ans¨atze zur Eigenschaftspr¨ufung auf der Systemebenebehandelt Dabei werden zun¨achst formale Modellpr¨ufungsverfahren f¨ur SystemC-Verhaltensmodelle pr¨asentiert Anschließend werden formale und simulative Ver-fahren zur funktionalen Eigenschaftspr¨ufung von SystemC-Transaktionsebenenmo-dellen vorgestellt Zum Abschluss werden simulative und formale Methoden zurZeitanalyse auf Systemebene diskutiert
8.1 Funktionale Eigenschaftspr ¨ufung von SystemC-Modellen
Im Folgenden werden Methoden zur funktionalen Eigenschaftspr¨ufung von temC-Modellen vorgestellt
Sys-8.1.1 Symbolische CTL-Modellpr ¨ufung von SysteMoC-Modellen
Dieser Abschnitt ist der symbolischen CTL-Modellpr¨ufung von SysteMoC-Modellen(siehe Abschnitt 2.3.2) gewidmet Die prinzipielle Vorgehensweise ist in [191] be-schrieben Diese basiert auf Arbeiten ¨uber symbolische Techniken f¨ur FunState-Modelle, wie sie in [414] zusammengefasst sind Im Folgenden wird zun¨achst derZustandsraum eines SysteMoC-Modells genauer definiert und dieser anschließendmit Hilfe von Intervall-Entscheidungsdiagrammen symbolisch repr¨asentiert Diesymbolische Modellpr¨ufung wird anschließend diskutiert
Repr¨asentation des Zustandsraums
F¨ur die sp¨ater vorgestellte symbolische CTL-Modellpr¨ufung wird eine sche Darstellung von Zust¨anden und Zustands¨uberg¨angen von SysteMoC-Modellenben¨otigt Aufgrund der Komplexit¨at von SysteMoC-Modellen wird bei der Re-pr¨asentation der Zustandsr¨aume eine Abstraktion auf das zugrundeliegende FunState-Modell betrachtet Dabei werden Datenwerte nicht ber¨ucksichtigt Der (abstrakte)
Trang 10symboli-8.1 Funktionale Eigenschaftspr¨ufung von SystemC-Modellen 453
Zustand eines SysteMoC-Modells ist dann durch die momentanen Zust¨ande der
end-lichen Automaten der Aktoren im SysteMoC-Modell und die F¨ullst¨ande der Kan¨alegegeben
Kon-¨uber ihre graphischen Repr¨asentationen als statische und dynamische ZustandsKon-¨uber- gangsdiagramme eingef¨uhrt Erweiterungen sind in [434] zu finden.
Zustands¨uber-Definition 8.1.1 (Statisches Zustandsdiagramm einer RSM) Ein statisches
Zu-stands¨ubergangsdiagramm ist ein gerichteter Graph G = (V,E,D,P,v0,I0) mit
• einer Menge von Knoten V,
• einer Menge gerichteter Kanten E ⊆ V ×V,
• einer Funktion D : E → Z m , die jeder Kante e = (v i ,v j ) ∈ E einen Distanzvektor ganzer Zahlen d(e) = d(v i ,v j ) ∈ Z m der Dimension m zuordnet,
• einer Pr¨adikatenfunktion P : E × Z m → B, die jeder Kante e ∈ E ein Pr¨adikat
P(e,I) zuordnet und
• einem Knoten v0∈ V und einem Vektor I0∈ Z m , die den Anfangszustand bilden.
Das statische Zustands¨ubergangsdiagramm ist eine abk¨urzende Schreibweisef¨ur das m¨oglicherweise unendliche, dynamische Zustands¨ubergangsdiagramm einerRSM Das dynamische Zustands¨ubergangsdiagramm ergibt sich, indem die Zust¨andedes statischen Zustands¨ubergangsdiagramms an jeden g¨ultigen Indexpunkt, der sichaus den Distanzvektoren unter Ber¨ucksichtigung der Pr¨adikate ergibt, kopiert wer-den, und anschließend die Zustands¨uberg¨ange entsprechend zwischen den Zust¨andenund Indexpunkten eingetragen werden
Definition 8.1.2 (Dynamisches Zustands ¨ubergangsdiagramm einer RSM) Das
dynamische Zustands¨ubergangsdiagramm Gd = (X,T,x0) eines gegebenen schen Zustands¨ubergangsdiagramms G = (V,A,D,P,v0,I0) ist ein unendlicher, ge- richteter Graph, der wie folgt definiert ist:
stati-• Die Knoten x ∈ X repr¨asentieren (dynamische) Zust¨ande des dynamischen
Zu-stands¨ubergangsdiagramms Es gilt X = V × Z m mit der Indexmenge des mischen Zustands¨ubergangsdiagrammsZm Der Knoten x = (v,I) ∈ X bezeich- net den Zustand f¨ur einen Knoten v ∈ V eines statischen Zustands¨ubergangsdia-
dyna-gramms und einen Indexpunkt I ∈ Z m
Trang 11454 8 Systemverifikation
• Der Zustand x0= (v0,I0) ist der Anfangszustand des dynamischen gangsdiagramms.
• Die Kanten T stellen (dynamische) Transitionen des dynamischen
Zustands¨uber-gangsdiagramms dar Es gibt eine Kante t = (x1,x2) ∈ T von Zustand x1=
(v1,I1) ∈ X zu Zustand x2= (v2,I2) ∈ X, genau dann, wenn e = (v1,v2) ∈ A,
I2− I1= d(v1,v2) und P(e,I1) = T gilt.
Damit lassen sich RSMs mit einer f¨ur Transitionssysteme ¨ublichen Semantik nieren
defi-Definition 8.1.3 (Semantik einer RSM) Das Verhalten eines regul¨aren
Zustands-automaten mit einem dynamischen Zustands¨ubergangsdiagramm Gd = (X,T,x0) ist wie folgt definiert:
• Anfangs ist der regul¨are Zustandsautomat im Zustand x0.
• Eine Transition x1
t
−→ x2ver¨andert den Zustand einer RSM von x1∈ X zu x2∈ X,
wobei t = (x1,x2) ∈ T nichtdeterministisch aus allen Transitionen t mit zustand x1gew¨ahlt wird.
Anfangs-Mit einem Pfad durch ein dynamisches Zustands¨ubergangsdiagramm ist eine
konkrete Folge von dynamischen Zust¨anden und Transitionen gemeint, die eindeutigvon einem Indexpunkt in dem dynamischen Zustands¨ubergangsdiagramm zu einemanderen 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) stellt An den Kanten des statischen Zustands¨ubergangsdiagramms ist der jeweiligeDistanzvektor annotiert und, falls vorhanden, ein Pr¨adikat vorangestellt (abgetrenntmit/).
darge-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 tion 8.1.1 f¨ur ein gegebenes SysteMoC-Modell aufgebaut wird Der abstrakte Zu-standsraum eines SysteMoC-Modells setzt sich aus
Defini-1 den m¨oglichen Zust¨anden der endlichen Automaten aller SysteMoC-Aktorenund
2 den m¨oglichen FIFO-F¨ullst¨anden zusammen
In einem ersten Schritt wird deshalb der Produktautomat Mpmit
Zustandsmen-ge Qp und Zustands¨ubergangsrelation Rpaller endlichen Automaten der Aktoren imSysteMoC-Modell gebildet Basierend auf dem Produktautomaten kann anschlie-
ßend das statische Zustands¨ubergangsdiagramm G = (V,E,D,P,v0,I0) wie folgt bildet werden:
Trang 12ge-8.1 Funktionale Eigenschaftspr¨ufung von SystemC-Modellen 455
i2
i1
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 mentspricht 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 ptrahiert werden, indem aus den Konsumptions- und Produktionsraten des Zu-
ex-stands¨ubergangs f¨ur die Kante ei = (q,q ) ∈ E der Distanzvektor f¨ur die Kante
bestimmt wird Dabei werden Produktionsraten zu positiven Elementen des tors und Konsumptionsraten zu negativen Elementen Nicht beteiligte Kan¨ale er-halten darin den Wert null
Vek-• 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¨ankungverletzt, erreicht werden kann
• Anfangszustand v0ist der aus allen Anfangszust¨anden des endlichen Automatender Aktoren zusammengesetzte Zustand
• Der Anfangsindexpunkt I0 wird aus der Anfangsmarkierung der Kan¨ale stimmt
be-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 c1 nach Kanal c2verschoben, der rechte Aktor
kann dabei je nach Ergebnis von fcheckauch seinen Zustand wechseln Die Kan¨ale
c1 und c2haben jeweils die Kapazit¨at von acht Marken und beinhalten jeweils
ei-ne Marke im Anfangszustand Da der linke Aktor lediglich eiei-nen Zustand besitzt,
Trang 13456 8 Systemverifikation
enth¨alt der Produktautomat lediglich zwei Zust¨ande In den Pr¨adikaten an den
Zu-stands¨uberg¨angen bezeichnen c1# bzw c2# die im Kanal c1 bzw Kanal c2verf¨ugbareAnzahl an Marken
Symbolische Repr¨asentation des Zustandsraums
Es ist denkbar auf der Repr¨asentation von regul¨aren Zustandsautomaten eine plizite CTL-Modellpr¨ufung zu implementieren (siehe Abschnitt 5.2) Effizientersind allerdings symbolische Verfahren, also Verfahren, die auf einer impliziten Re-pr¨asentation des Zustandsraums basieren (siehe auch Abschnitt 5.3) W¨ahrend eszun¨achst scheint, dass ROBDDs eine m¨ogliche symbolische Repr¨asentation des Zu-standsraums f¨ur SysteMoC-Modelle darstellen, kommen diese bei einer genauenBetrachtung nicht mehr in Frage Die potentiell unbeschr¨ankten FIFO-Kan¨ale imSysteMoC-Modell, die einen potentiell unendlichen Zustandsraum aufspannen, las-sen sich durch BDDs nicht repr¨asentieren
ex-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 sche Verfahren wie Modellpr¨ufung auf einer Vielzahl von Berechnungsmodellen,
Trang 14symboli-8.1 Funktionale Eigenschaftspr¨ufung von SystemC-Modellen 457
z B Prozessnetzwerke [415], Petri-Netze [416] und FunState-Modelle [414] oderf¨ur symbolische Ablaufplanung von FunState- [418, 414] und SysteMoC-Modellen[192]
IDDs und IMDs werden im Folgenden mit der Beschr¨ankung auf ganzzahligeIntervalle 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 (x1,x2, ,x n ) eine Funktion mit f : A1× A2× × A n → B, mit A i ⊆ Z f¨ur die
Definitionsbereiche aller xi und B ⊂ Z, wobei die M¨achtigkeit von B endlich ist
Va-riablen in Ai seien Intervalle aufZ, dargestellt mit [a l ,a u ] Dabei bezeichnet a l die
untere Schranke und au die obere Schranke des geschlossenen Intervalls Das schlossene Intervall enth¨alt sowohl al als auch au 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,
ge-das Zeichen−∞ f¨ur eine unendliche untere Schranke eingesetzt Offene Enden
ei-nes Intervalls werden durch( bzw ) gekennzeichnet, z B (−∞,a u) In diesem Fallenth¨alt das Intervall weder−∞ noch a u.
Definition 8.1.4 (Intervall ¨uberdeckung) Die MengeΔ(A i ) = {Δ1,Δ2, ,Δ|Δ(Ai)}
aus |Δ(Ai )| 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 ∈Δ(Ai)Δj erf¨ullt ist.
Eine Intervall¨uberdeckung eines Definitionsbereichs deckt diesen also exakt undl¨uckenlos ab, erlaubt aber ¨Uberschneidungen der Intervalle Eine disjunkte Inter- vall¨uberdeckung verbietet genau diese ¨Uberschneidungen Mit anderen Worten: Je-
des Element aus Ai muss in genau einem Teilintervall der IntervallpartitionΔ(A i)enthalten sein
Definition 8.1.5 (Disjunkte Intervall ¨uberdeckung) Gegeben sei eine
Intervall-¨uberdeckungΔ(Ai ).Δ(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 (x1,x2, ,x n ) = f (x1,x2, ,x i−1 ,b,x i+1, ,x n) Falls
f¨ur alle Belegungen von xiaus dem IntervallΔjgilt, dass∀b,c ∈Δj : f | x i:=b = f | x i:=c ist, so sagt man, dass f unabh¨angig von xi ∈Δjist 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 ibezeichnet Sind alle Teilintervalleeiner 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
Trang 15458 8 Systemverifikation
Definition 8.1.6 (Reduzierte Intervallpartition) Gegeben sei ein IIPΔ(A i ) = {Δ1,
Δ2, ,Δ|Δ(Ai) }.Δ(A i ) heißt genau dann minimal, wenn sie keine benachbarten 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.
TeEin reduziertes IIP einer Funktion ist eindeutig [414] Das folgende Beispiel lustriert die obigen Definitionen Es stammt aus [414]
il-Beispiel 8.1.3 Gegeben ist die folgende Funktion
doch nicht f¨ur das Intervall[6,9] Die MengeΔ(A1) = {Δ1,Δ2,Δ3} mitΔ1= [0,3],
Δ2= [4,5] undΔ3= [6,∞) ist eine Intervallpartition F¨ur f istΔ(A1) eine reduzierteIIP
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 : A1, ,A n → B ist ein gerichteter azyklischer Graph G = (V,E) mit
Knoten-menge V und KantenKnoten-menge E sowie den folgenden Eigenschaften:
• G ist ein Baum,
• V ist eine Partition von Terminalknoten VTund Nichtterminalknoten VN,
• eine Funktion index : VN→ {1, ,n} weist jedem Nichtterminalknoten v ∈ VN
eine Variablen xindex(v) zu,
• alle IntervallpartitionenΔ(Aindex(v) ) = {Δ1,Δ2, ,Δ|Δ(Aindex(v))} sind IIP,
• f¨ur jeden Nichtterminalknoten v ∈ VN weist eine Funktion child : VN× {1, ,
|Δ(Aindex(v) )|} → V dem Knoten v seine Nachfolger zu, d h (v,child(v,k)) ∈ E, mit 1 ≤ k ≤ |Δ(Aindex(v) )|,