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

Digitale Hardware/ Software-Systeme- P16 pptx

30 389 0

Đ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

Định dạng
Số trang 30
Dung lượng 372,69 KB

Nội dung

444 7 Software-Verifikation v 1 v 1 v 2 v 2 v 1 v 2 v 1 v 1 v 1 v 2 v 1 v 2 v 1 v 2 CPU v 2 v 2 n = 0 n = 1 n = 0 b) CPU τ ∗ d (v 1 ) a) n = 0 n = 1 n = 2 n = 3 n = 4 τ ∗ d (v 1 ) τ ∗ d (v 1 ) τ ∗ d (v 1 ) n = 0 n = 1 0123456789 10 11 0123456789 10 11 τ τ τ ∗ d (v 2 ) τ ∗ d (v 1 ) τ ∗ d (v 2 ) τ ∗ d (v 2 ) τ ∗ d (v 1 ) τ ∗ d (v 1 ) Abb. 7.32. Iterative, dynamische Ablaufpl ¨ ane: a) mit der EDF-Strategie und b) mit dem RMS- Algorithmus Ratenmonotone Ablaufplanung Unter dem Begriff ratenmonotone Ablaufplanung (engl. rate-monotonic scheduling, RMSs) haben Liu und Layland ein pr ¨ aemptives Ablaufplanungsverfahren beschrie- ben, das den Prozessen statische Priorit ¨ aten nach folgendem Prinzip zuweist: v i habe gr ¨ oßere Priorit ¨ at als v j , falls P(v i ) < P(v j ).Alsow ¨ ahlt man die Priorit ¨ at statisch bei- 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. Bei Ankunft eines Prozesses h ¨ oherer Priorit ¨ at wird der laufende Prozess unterbrochen. 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 Algorith- men mit statischen Priorit ¨ aten (f ¨ ur den von ihnen angenommen Fall τ ∗ 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 Deadlines erf ¨ ullt, da der RMS-Algorithmus keinen solchen Ablaufplan bestimmt hat. Nun l ¨ asst sich allerdings ein einfaches, hinreichendes Kriterium angeben, wann der RMS-Algorithmus immer einen Ablaufplan findet, der alle Deadlines erf ¨ ullt: 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 Prozes- sen kann unter Erf ¨ ullung aller Deadlines mit dem RMS-Algorithmus geplant werden, falls |V | ∑ i:=1 δ i P(v i ) ≤|V|·(2 1/|V | − 1) (7.19) gilt. F ¨ ur |V | = 1erh ¨ 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 dessen Deadline immer planen, wenn (offensichtlich) die Ausf ¨ uhrungszeit kleiner gleich der 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).Damitl ¨ asst sich 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 es auch Probleminstanzen geben kann, f ¨ ur die der RMS-Algorithmus auch bei h ¨ oherer Prozessorauslastung einen Ablaufplan finden kann, der alle Deadlines einh ¨ alt. Aus Ungleichung (7.19) l ¨ asst sich ¨ ubrigens auch eine notwendige Bedingung f ¨ ur die 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 ¨ ullt ist, kann offensichtlich auch kein Algorithmus mit dynamischen Priorit ¨ aten einen g ¨ ultigen Ablaufplan finden. Damit stellt sich aber die Frage, ob es denn einen Algorithmus gibt, der auch f ¨ ur den extremen Fall ∑ |V | i:=1 δ i /P(v i )=1 einen g ¨ ultigen Ablaufplan finden kann? Die Antwort 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 |V | ∑ i:=1 δ i P(v i ) ≤ 1 (7.20) gilt. Der EDF-Algorithmus ist priorit ¨ atsgesteuert mit dynamischer Priorit ¨ at, wobei die h ¨ ochste Priorit ¨ at demjenigen Prozess zugewiesen wird, dessen Deadline am kleinsten ist. Pr ¨ aemption erfolgt immer dann, wenn es einen noch nicht fertig abgearbeiteten Prozess gibt, der eine h ¨ ohere Priorit ¨ at besitzt. 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 bei einer Prozessorauslastung von 100% ( ∑ 2 i:=1 δ i P(v i ) = 1/2 +2, 5/5 = 1). In Abb. 7.32b) 446 7 Software-Verifikation ist ein Ablaufplan nach der RMS-Strategie dargestellt. EDF und RMS werden in der Praxis nahezu ausschließlich in der hier dargestellten pr ¨ aemptiven Version einge- setzt. Antwortzeitanalyse Neben den vorgestellten einfachen auf Ressourcenauslastung beruhenden Tests in Gleichung (7.19) f ¨ ur RMS-Ablaufplanung und in Gleichung (7.20) f ¨ ur EDF, wur- den Tests entwickelt, die detailliertere Informationen ¨ uber das Zeitverhalten und Priorit ¨ aten von Prozessen zur Bestimmung der Planbarkeit periodischer Prozesse ausnutzen. F ¨ ur RMS betrachten Joseph und Pandya in [249] die Antwortzeit eines Prozesses v i ∈ V im ung ¨ unstigsten Fall gleicher Ankunftszeiten aller Prozesse. Die Antworts- bzw. Flusszeit δ F (v i ) ist dann durch die Summe der eigenen Ausf ¨ uhrungs- zeit δ i und der maximalen sog. Interferenz I i gegeben. Der Interferenzterm I i be- stimmt dabei die Summe der Verz ¨ ogerungszeiten, denen v i unterliegt, wenn dieser durch h ¨ oherpriore Prozesse unterbrochen wird. Sei hp(v i ) ⊆ V die Menge h ¨ oherprio- rer Prozesse von v i und die Deadline t ∗ d (v i ) gleich der Periode P(v i ) f ¨ ur alle v i ∈ V . Dann gilt offensichtlich: δ F (v i ) := δ i + ∑ v j ∈hp(v i ) δ j  δ F (v i ) P(v j )  ≤ t ∗ d (v i )=P(v i ) (7.21) Gibt es f ¨ ur diese rekursive Gleichung eine L ¨ osung im Intervall [0, ,t ∗ d (v i )],so erf ¨ ullt der Prozess v i unter RMS-Ablaufplanung seine Deadline t ∗ d (v i ). Zeitgetriebene, dynamische Ablaufplanung Dynamische, priorit ¨ atsbasierte Ablaufplanung stellt eine effiziente Methode zur Pla- nung von Prozessen unter vielen m ¨ oglichen Umst ¨ anden dar. Dies hat allerdings h ¨ aufig zur Folge, dass das System bei dessen Ausf ¨ uhrung ein starkes dynamisches Verhalten 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 werden zwei prominente Vertreter zeitgetriebener, dynamischer Ablaufplanung vorgestellt: Round-Robin- und TDMA-Ablaufplanung. Round-Robin-Ablaufplanung (RR) Bei der sog. Round-Robin-Ablaufplanung (RR) gibt es ein festes Zeitintervall Q, nach dessen Ablauf sp ¨ atestens ein Kontextwechsel eingeleitet wird (z. B. alle Q = 100 Zeitschritte), falls nicht ein geplanter Prozess vor Ablauf des Zeitquantums be- endet wurde. Die laufbereiten Prozesse werden in einer zirkul ¨ aren Warteschlange verwaltet und reihum f ¨ ur die maximale Zeitdauer eines Zeitquantums geplant. 7.4 Zeitanalyse 447 Beispiel 7.4.8. Betrachtet wird ein Problemgraph mit drei Prozessen v 1 ,v 2 und v 3 ohne Datenabh ¨ angigkeiten mit den Ausf ¨ uhrungszeiten δ 1 := 24, δ 2 := 3, δ 3 := 30 und den Ankunftszeiten τ r (v 1 )= τ r (v 2 )= τ r (v 3 ) := 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 v 1 suspendiert wird, da das Zeitquantum abgelaufen ist. Erst zum Zeitpunkt τ = 11 wird v 1 weiter berechnet. Die mittlere Wartezeit betr ¨ agt in diesem Beispiel δ W =(47 − 24)+(7 − 3)+(57− 30)/3 = 18 Zeiteinheiten. v 2 v 3 v 1 v 3 v 3 v 3 v 3 v 3 v 1 v 1 v 1 v 1 v 1 CPU 0 4 8 12 16 20 24 28 32 36 40 44 48 52 56 τ v 3 v 3 Abb. 7.33. Ablaufplanung mit RR-Strategie Round-Robin-Ablaufplanung wird h ¨ aufig in Mehrbenutzerbetriebssystemen an- gewendet. Als Nachteil muss man h ¨ aufig lange Wartezeiten in Kauf nehmen. Bei ei- 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 zu- gewiesen. Im Gegensatz zur Round-Robin-Strategie erfolgt dies unabh ¨ angig davon, ob der Prozess gerade laufbereit ist oder nicht. Damit h ¨ angt das Zeitverhalten eines Prozesses nicht mehr vom Zeitverhalten anderer Prozesse ab, was die Zeitanalyse stark vereinfacht. Zum Beispiel l ¨ asst sich die Antwortzeit eines Prozesses v i mit 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(v i )  Zeitscheiben, in denen v i die Ressource (Q − S(v i )) Zeitschritte nicht belegt. TDMA ist zwar im 448 7 Software-Verifikation Bereich der Ablaufplanung auf Prozessoren wenig bekannt, wird hingegen oft zur Planung von Kommunikationen auf Bussen genutzt. 7.5 Literaturhinweise Die formale ¨ Aquivalenzpr ¨ ufung von Assemblerprogrammen auf Basis von symbo- lischer Simulation ist in [122] beschrieben. Spezielle Eigenschaften zu Assembler- programmen f ¨ ur DSPs und VLIW-Prozessoren und deren Behandlung in der ¨ Aqui- valenzpr ¨ ufung sind in [123] bzw. [159] aufgef ¨ uhrt. Der Einsatz von Schnittpunk- ten zur strukturellen ¨ Aquivalenzpr ¨ ufung von Assemblerprogrammen ist in [160] be- schrieben. Eine Erweiterung der strukturellen ¨ Aquivalenzpr ¨ ufung zur ¨ Aquivalenz- pr ¨ ufung von C-Programmen mit Hardware-Schaltungen findet sich in [161]. Weitere Ans ¨ atze zum Vergleich von C-Programmen mit Hardware sind in [270], [264] und [229] pr ¨ asentiert. Die ¨ Aquivalenzpr ¨ ufung von C-Programmen auf Basis von symbo- lischer Simulation ist in [315] beschrieben. In [394] ist die ¨ Aquivalenzpr ¨ ufung von Schleifenprogrammen beschrieben. Weiterf ¨ uhrende Ans ¨ atze sind in [395] und [396] vorgestellt. Die Verfahren zur funktions- und strukturorientierten Testfallgenerierung wer- den ausf ¨ uhrlich in [305] diskutiert. Bei den simulativen Verifikationsmethoden ist ei- ne 100%-ige Zweig ¨ uberdeckung heutzutage das Minimalkriterium in der Software- Entwicklung. Der Standard DO-178B f ¨ ur die Software-Entwicklung in sicherheits- kritischen Bereichen fordert beispielsweise einen modifizierten Bedingungs-/Ent- scheidungs ¨ uberdeckungstest [382]. Darin werden Testf ¨ alle gefordert, die zeigen, dass jede atomare Bedingung die Evaluierung einer Entscheidung unabh ¨ angig von anderen 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 ausf ¨ uhrba- ren Teilpfaden in Schleifen gefordert wird, nicht aber die ¨ Uberdeckung s ¨ amtlicher Kombinationen. Die datenflussorientierte Testfallgenerierung spielt in der Praxis heutzutage noch nicht 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- ¨ Uberdeckungs- test [349, 109, 350] und der Datenkontext ¨ uberdeckungstest [290, 291, 109]. Letzterer verlangt, dass alle existierenden M ¨ oglichkeiten den in einem gegebenen Grundblock verwendeten Variablen Werte zuzuweisen, ber ¨ ucksichtigt werden. Dabei kann auch die unterschiedliche Reihenfolge der Wertzuweisung ber ¨ ucksichtigt werden. Eine gute ¨ Ubersicht ¨ uber Methoden und Werkzeuge zur formalen funktionalen Eigenschaftspr ¨ ufung von Programmen findet sich in [140]. Darin wird eine Unter- scheidung in Verfahren zur statischen Programmanalyse, zur Modellpr ¨ ufung und zur SAT-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, 7.5 Literaturhinweise 449 unter denen der mittels abstrakter Interpretation berechnete abstrakte Fixpunkt eine korrekte Approximation des konkreten Fixpunktes ist, werden in [119] beschrieben. An gleicher Stelle ist beschrieben, wie abstrakte Wertebereiche nach Bedarf konstru- 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-Netze verwendet [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. 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 Programmanalyse und Modellpr ¨ ufung sind in [410, 389, 46] diskutiert. Werkzeuge zur Modellpr ¨ ufung von Software k ¨ onnen generell in explizite und symbolische Modellpr ¨ ufer unterschie- 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- re wichtige Vertreter expliziter Modellpr ¨ ufer. Letzterer ist zustandslos, d. h. besuchte Zust ¨ ande werden nicht gespeichert, und begegnet damit der Zustandsexplosion. Al- lerdings ist dieses Verfahren unvollst ¨ andig f ¨ ur Systeme, die Zyklen enthalten. F ¨ ur die Terminierung muss zus ¨ atzlich die Suchtiefe beschr ¨ ankt werden. Modellpr ¨ ufungsverfahren, die auf Abstraktionsverfeinerung beruhen, verwenden zur Erstellung der abstrakten Modelle heutzutage Pr ¨ adikatenabstraktion [205]. Ein iteratives 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 wer- den, basieren entweder auf Theoreml ¨ osern [24, 131] oder SAT-Solvern [103, 114]. Ein erstes Modellpr ¨ ufungsverfahren auf Basis von Pr ¨ adikatenabstraktion mit dem Namen SLAM wurde von der Firma Microsoft entwickelt [25]. SLAM besteht aus mehreren Werkzeugen wie C2BP [26] zur Pr ¨ adikatenabstraktion, dem symbolischen Modellpr ¨ ufer BEBOP [27] sowie dem Simulations- und Verfeinerungswerkzeug NEWTON [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 Schleifen- abwicklung geht auf Currie et al. zur ¨ uck [123]. Die grundblockbasierte SAT-basierte Modellpr ¨ ufung in [242] unterscheidet sich von BMC durch die Abstraktion vom Programmz ¨ ahler, wodurch es u. a. leichter wird, Funktionsaufrufe zu modellieren. Eine Erweiterung von CBMC auf SMT-Solver unter Verwendung von ganzzahliger 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 and Stoyenko [263] als auch Puschner and Koza [368] haben die Bedingungen unter- sucht, unter denen das Problem entscheidbar wird. Zu diesen Bedingungen z ¨ ahlen beschr ¨ 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 Instruktions- 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 Ergebnisse der Zielarchitekturanalyse durch abstrakte Interpretation in dem ILP zur Bestimmung des l ¨ angsten Programmpfads verwendet werden. Dynamische Ablaufplanungsverfahren und Echtzeitbedingungen sind ausf ¨ uhr- lich in den B ¨ uchern [262], [308] und [79] pr ¨ asentiert. Detaillierte Informationen ¨ uber EDF enth ¨ alt das EDF-Buch [408]. In [468, 78] werden auch interessante Ver- gleiche zwischen ratenmonotoner Ablaufplanung (RMS) und EDF beschrieben. Er- weiterungen der ratenmonotonen Ablaufplanung unter dem Namen deadlinemono- tone Ablaufplanung sind von Leung und Whitehead [301] sowie Lehoczky und Sha [300] betrachtet worden, wobei die Deadlines von Prozessen nicht notwendigerwei- se gleich ihrer Perioden sind. Joseph und Pandya entwickelten einen ersten Ansatz zur Antwortzeitanalyse bei ratenmonotoner Ablaufplanung [249]. Diese Antwort- zeitanalyse erlaubt die Betrachtung beliebiger Priorit ¨ atszuweisungen. Er gilt daher insbesondere auch im Falle der deadlinemonotonen Ablaufplanung, wenn die Dead- lines kleiner gleich den Perioden der Prozesse sind. F ¨ ur den Fall, dass Deadlines gr ¨ 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 dazu Fenster von mehreren aufeinander folgenden Iterationen zusammen analysiert und daraus 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 zu- lassen sowie das Auftreten von periodischen sporadischen Prozessen, sog. engl. spo- radic bursts.F ¨ ur EDF-Ablaufplanung wird eine Antwortzeitanalyse in [406, 407] beschrieben. Bei den zeitgetriebenen, dynamischen Ablaufplanungsverfahren sind die Round- Robin- und TDMA-Ablaufplanung die prominentesten Vertreter. Kopetz gibt in sei- nem Buch [266] eine gute ¨ Ubersicht ¨ uber TDMA-Ablaufplanung und der kommerzi- ellen Anwendung im sog. engl. Time-Triggered Protocol (TTP) [443]. Andere indus- trielle Anwendungen spiegeln sich wieder im sog. FlexRay-Busstandard [165]. Im Mittel f ¨ uhrt Round-Robin-Ablaufplanung zu besseren Ergebnissen, da bei TDMA ungenutzte Zeitslots f ¨ ur andere Prozesse nicht zur Verf ¨ ugung stehen. Man kann zei- gen, dass Round-Robin-Ablaufplanung aber im schlechtesten Fall das Verhalten von TDMA besitzt. Daher kann man die TDMA-Analyse auch zur Analyse von Round- Robin-Ablaufplanung einsetzen. 8 Systemverifikation System Logik Software Hardware Implementierung Spezifikation ArchitekturModul Block Abb. 8.1. Verifikation auf der Systemebene Der technologische Fortschritt erm ¨ oglicht es, Systeme mit einer immer gr ¨ oße- 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. Electronic System Level) bezeichnet. Auf Systemebene wird das Systemverhalten oftmals als eine Menge kommuni- zierender Prozesse beschrieben. Insbesondere, wenn ausf ¨ uhrbare Verhaltensmodelle zum Einsatz kommen, werden diese in zunehmenden Maße mit der Systembeschrei- bungssprache SystemC beschrieben. 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 452 8 Systemverifikation Andererseits sind die Strukturmodelle auf Systemebene eine Netzliste aus Kom- 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 die Interaktion der einzelnen Komponenten. Diese wird typischerweise als Transaktio- nen modelliert. Die resultierenden Modelle werden als Transaktionsebenenmodelle (engl. Transaction Level Models, TLMs) bezeichnet. Transaktionsebenenmodelle spielen bei der Verifikation des Zeitverhaltens be- reits heutzutage eine zentrale Rolle. Der Grund hierf ¨ ur ist, dass TLMs aufgrund der hohen Abstraktionsebene eine schnelle Simulation erm ¨ oglichen. Dabei liefern sie bereits gute Absch ¨ atzungen f ¨ ur nichtfunktionale Eigenschaften. Neben der Ver- besserung simulativer Verfahren zur Verifikation des Zeitverhaltens, gab es in den letzten zehn Jahren enorme Fortschritte im Bereich der formalen Verifikation des Zeitverhaltens auf der Systemebene. Im Folgenden werden Ans ¨ atze zur Eigenschaftspr ¨ ufung auf der Systemebene behandelt. 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 zur Zeitanalyse auf Systemebene diskutiert. 8.1 Funktionale Eigenschaftspr ¨ ufung von SystemC-Modellen Im Folgenden werden Methoden zur funktionalen Eigenschaftspr ¨ ufung von Sys- temC-Modellen vorgestellt. 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 i st 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 der Zustandsraum eines SysteMoC-Modells genauer definiert und dieser anschließend mit Hilfe von Intervall-Entscheidungsdiagrammen symbolisch repr ¨ asentiert. Die symbolische Modellpr ¨ ufung wird anschließend diskutiert. Repr ¨ asentation des Zustandsraums F ¨ ur die sp ¨ ater vorgestellte symbolische CTL-Modellpr ¨ ufung wird eine symboli- sche Darstellung von Zust ¨ anden und Zustands ¨ uberg ¨ angen von SysteMoC-Modellen ben ¨ 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) 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 ¨ ale gegeben. Regul ¨ are Zustandsautomaten Der abstrakte Zustandsraum eines SysteMoC-Modells ist aufgrund der unbeschr ¨ ank- ten FIFO-Kan ¨ ale potentiell unendlich groß. Eine endliche Repr ¨ asentation des Zu- standsraums f ¨ ur SysteMoC-Modelle kann allerdings ¨ uber sog. Regul ¨ are Zustandsau- tomaten (engl. Regular State Machines, RSMs) [434] erreicht werden. RSMs sind daf ¨ ur geeignet, regul ¨ are Zustands ¨ anderungen von nebenl ¨ aufigen Kon- troll- und/oder Datenflussmodellen (unter anderem Petri-Netze, FunState- und Sys- teMoC-Modellen) zu beschreiben. Dabei k ¨ onnen RSMs bestimmte Klassen von un- endlichen Zustandssystemen modellieren und erweitern die Klasse der endlichen Au- tomaten. RSMs werden hier lediglich in einer eingeschr ¨ ankten Form vorgestellt und ¨ uber ihre graphischen Repr ¨ asentationen als statische und dynamische Zustands ¨ uber- gangsdiagramme eingef ¨ uhrt. Erweiterungen sind in [434] zu finden. Definition 8.1.1 (Statisches Zustandsdiagramm einer RSM). Ein statisches Zu- stands ¨ ubergangsdiagramm ist ein gerichteter Graph G =(V,E,D,P,v 0 ,I 0 ) 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 ∈ EeinPr ¨ adikat P(e,I) zuordnet und • einem Knoten v 0 ∈ V und einem Vektor I 0 ∈ Z m , die den Anfangszustand bilden. Das statische Zustands ¨ ubergangsdiagramm ist eine abk ¨ urzende Schreibweise f ¨ ur das m ¨ oglicherweise unendliche, dynamische Zustands ¨ ubergangsdiagramm einer RSM. Das dynamische Zustands ¨ ubergangsdiagramm ergibt sich, indem die Zust ¨ ande des statischen Zustands ¨ ubergangsdiagramms an jeden g ¨ ultigen Indexpunkt, der sich aus den Distanzvektoren unter Ber ¨ ucksichtigung der Pr ¨ adikate ergibt, kopiert wer- den, und anschließend die Zustands ¨ uberg ¨ ange entsprechend zwischen den Zust ¨ anden und Indexpunkten eingetragen werden. Definition 8.1.2 (Dynamisches Zustands ¨ ubergangsdiagramm einer RSM). Das dynamische Zustands ¨ ubergangsdiagramm G d =(X,T,x 0 ) eines gegebenen stati- schen Zustands ¨ ubergangsdiagramms G =(V, A,D,P,v 0 ,I 0 ) ist ein unendlicher, ge- richteter Graph, der wie folgt definiert ist: • Die Knoten x ∈ X repr ¨ asentieren (dynamische) Zust ¨ ande des dynamischen Zu- stands ¨ ubergangsdiagramms. Es gilt X = V × Z m mit der Indexmenge des dyna- mischen Zustands ¨ ubergangsdiagramms Z m . Der Knoten x =(v,I) ∈ X bezeich- net den Zustand f ¨ ur einen Knoten v ∈ V eines statischen Zustands ¨ ubergangsdia- gramms und einen Indexpunkt I ∈ Z m . [...]... 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 . zunehmenden Maße mit der Systembeschrei- bungssprache SystemC beschrieben. C. Haubelt, J. Teich, Digitale Hardware/Software-Systeme, eXamen.press, DOI 10.1007/978-3-642-05356-6 8, c  Springer-Verlag

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

TỪ KHÓA LIÊN QUAN