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

Digitale Hardware/ Software-Systeme- P16 pptx

30 389 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 đề Software-Verifikation
Trường học University of Example
Chuyên ngành Digital Hardware/Software Systems
Thể loại Lecture Notes
Năm xuất bản 2024
Thành phố Sample City
Định dạng
Số trang 30
Dung lượng 372,69 KB

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

Nội dung

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 1

gr¨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 2

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

446 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 4

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

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

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

Schleifen-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 8

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

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

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

454 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 12

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

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

symboli-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 15

458 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) )|,

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

TỪ KHÓA LIÊN QUAN