Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
296,17 KB
Nội dung
2.4 Formale Spezifikation funktionaler Anforderungen 81 Andererseits gibt es CTL-Formeln, die sich nicht in LTL formulieren lassen. Ein Beispiel hierf ¨ ur ist: AG EF p. Diese Formel besagt, dass auf allen Pfaden, von jedem Zustand aus, ein Pfad existiert, auf dem irgendwann p gilt. Dies l ¨ asst sich nicht in LTL ausdr ¨ ucken. Schließlich gibt es Formeln, die sich weder in LTL noch in CTL ausdr ¨ ucken lassen. Ein solches Beispiel kann aus den beiden vorherigen Beispielen konstruiert werden: AF G p ∨ AG EF p Eine temporale Aussagenlogik, die sowohl LTL-Formeln, CTL-Formeln als auch de- ren Kombination ausdr ¨ ucken kann, ist CTL*. Der Zusammenhang zwischen LTL, CTL und CTL* ist in Abb. 2.19 zu sehen. CTL* LTL CTL Abb. 2.19. Zusammenhang zwischen LTL, CTL und CTL* [457] CTL* l ¨ asst sich formal definieren (siehe auch [272]): Definition 2.4.9 (Syntax von CTL*). Sei V die Menge aussagenlogischer Varia- blen (atomare Formeln). Jede Zustandsformel ist eine zul ¨ assige CTL*-Formel die Pfadformeln enthalten kann. Dabei sind Zustandsformeln und Pfadformeln wie folgt definiert: • Zustandsformeln: – Falls ϕ ∈ V, dann ist ϕ eine Zustandsformel. – Falls ϕ und ψ Zustandsformeln sind, so sind ¬ ϕ und ϕ ∨ ψ ebenfalls Zu- standsformeln. – Falls ϕ eine Pfadformel ist, dann ist E ϕ eine Zustandsformel. • Pfadformeln: – Falls ϕ eine Zustandsformel ist, dann ist ϕ ebenfalls eine Pfadformel. – Falls ϕ und ψ Pfadformeln sind, dann sind ebenfalls ¬ ϕ , ϕ ∨ ψ , X ϕ und ϕ U ψ Pfadformeln. Die Syntax von CTL* besteht also aus zwei Formelklassen: Zustandsformeln und Pfadformeln. Zustandsformeln k ¨ onnen in einem Zustand der temporalen Struk- tur g ¨ ultig sein. Die G ¨ ultigkeit von Pfadformeln h ¨ angt von einem Pfad in einer tem- poralen Struktur ab. Der Zusammenhang zwischen Zustands- und Pfadformeln ist in Abb. 2.20 dargestellt. Definition 2.4.10 (Semantik von CTL*). Sei ϕ eine Zustandsformel. Dann besagt M,s |= ϕ , dass ϕ im Zustand s der temporalen Struktur M gilt. Sei ψ eine Pfadformel. 82 2 Spezifikation digitaler Systeme V ¬, ∨ ¬ , ∨ ,X,U = CTL* Pfadformeln E Zustandsformeln Abb. 2.20. Zustands- und Pfadformeln in CTL* [272] Dann besagt M, ˜s |= ψ , dass ψ entlang des Pfades ˜s = s 0 ,s 1 , der temporalen Struktur M gilt. Gegeben seien zwei Zustandsformeln ϕ 1 und ϕ 2 sowie zwei Pfadformeln ψ 1 und ψ 2 . Die Relation |= kann wie folgt definiert werden: • Zustandsformeln: M,s |= ϕ 1 ⇔ ϕ 1 ∈ L(s), falls ϕ 1 ∈ V M,s |= ¬ ϕ 1 ⇔ M, s |= ϕ 1 M,s |= ϕ 1 ∨ ϕ 2 ⇔ M, s |= ϕ 1 oder M,s |= ϕ 2 M,s |= E ψ 1 ⇔∃˜s = s 0 ,s 1 , ,(s = s 0 ) : M, ˜s |= ψ 1 • Pfadformeln: M, ˜s |= ϕ 1 ⇔ M, s 1 |= ϕ 1 M, ˜s |= ¬ ψ 1 ⇔ M, ˜s |= ψ 1 M, ˜s |= ψ 1 ∨ ψ 2 ⇔ M, ˜s |= ψ 1 oder M, ˜s |= ψ 2 M, ˜s |= X ψ 1 ⇔ M, ˜s 1 |= ψ 1 M, ˜s |= ψ 1 U ψ 2 ⇔∃k ≥ 0:M, ˜s k |= ψ 2 ∧∀0 ≤ j < k : M, ˜s j |= ψ 1 Definition 2.4.11 (G ¨ ultigkeit und Erf ¨ ullbarkeit von CTL*-Formeln). Eine Zu- standsformel ϕ (eine Pfadformel ψ ) heißt g ¨ ultig, falls f ¨ ur alle temporalen Strukturen M und f ¨ ur alle Zust ¨ ande s (alle Pfade ˜s) in M gilt M, s |= ϕ (M, ˜s |= ψ ). Wenn eine temporale Struktur M gegeben ist, dann heißt die Formel ϕ ( ψ ) g ¨ ultig in M, falls f ¨ ur alle Zust ¨ ande s (alle Pfade ˜s) von M gilt M,s |= ϕ (M, ˜s |= ψ ). Eine Formel ϕ ( ψ ) heißt erf ¨ ullbar, falls eine temporale Struktur M mit Zustand s(Pfad ˜s) existiert, so dass M,s |= ϕ (M, ˜s |= ψ ). Wenn eine temporale Struktur M gegeben ist, dann heißt die Formel ϕ ( ψ ) erf ¨ ullbar in M, falls es einen Zustand s (einen Pfad ˜s) in M gibt, so dass M, s |= ϕ (M, ˜s |= ψ ). 2.4 Formale Spezifikation funktionaler Anforderungen 83 Wichtige Eigenschaften In diesem Buch sind insbesondere die folgenden funktionalen Eigenschaften von Interesse: • Die Erreichbarkeitseigenschaft kann in temporaler Aussagenlogik als EF p formuliert werden. Sie besagt, dass ein Zustand, der mit p markiert ist, vom mo- mentanen Zustand aus erreichbar ist. • Die Gefahrlosigkeitseigenschaft kann in temporaler Aussagenlogik als AG p formuliert werden, wobei ¬p ” etwas Schlimmes“ ist. Die Eigenschaft besagt, dass auf allen Pfaden (A) jeder Zustand (G) mit p markiert ist. • Die Lebendigkeitseigenschaft kann in temporaler Aussagenlogik als AG AF p formuliert werden. Sie besagt, dass auf allen Pfaden (A) aus allen Zust ¨ anden (G) wiederum auf allen Pfaden (A) irgendwann ein Zustand (F) angetroffen wird, der mit p markiert ist. Gegenbeispiele f ¨ ur Gefahrlosigkeitseigenschaften bestehen aus einem Pfad endli- cher L ¨ ange, w ¨ ahrend Gegenbeispiele f ¨ ur Lebendigkeitseigenschaften aus unendli- chen Pfaden bestehen. Letztere enthalten dann Schleifen, in denen die geforderte Eigenschaft nicht eintritt. 2.4.3 Die Zusicherungssprache PSL Neben der formalen Syntax und Semantik temporallogischer Formeln wird hier auch die Zusicherungssprache PSL (engl. Property Specification Language), die Einga- bem ¨ oglichkeit von funktionalen Anforderungen bei vielen Verifikationswerkzeugen, pr ¨ asentiert. PSL unterscheidet bei der Formulierung temporallogischer Formeln drei Ebenen: 1. Die Boolesche Ebene, welche aus aussagenlogischen Variablen und Booleschen Ausdr ¨ ucken besteht. 2. Die temporale Ebene, welche den zeitlichen Zusammenhang zwischen den Boo- leschen Ausdr ¨ ucken beschreibt. 3. Die Verifikationsebene, welche angibt, wie die Eigenschaft w ¨ ahrend der Verifi- kation zu verwenden ist. PSL kann in die sog. Foundation Language (FL) und die sog. Optional Branching Extension (OBE) unterteilt werden [234]. PSL FL ist eine Mischung aus LTL und erweiterten regul ¨ aren Ausdr ¨ ucken. Somit kann mit PSL FL ¨ uber einzelne Berech- nungspfade argumentiert werden. Zur Formulierung von CTL-Formeln wird PSL OBE verwendet. Da PSL oft in Werkzeugen zur Simulation zum Einsatz kommt, wird im Folgenden die hierzu konzipierte PSL FL betrachtet. 84 2 Spezifikation digitaler Systeme Boolesche Ebene Auf der Booleschen Ebene wird eine funktionale Eigenschaft anhand von Variablen und deren logischen Verkn ¨ upfungen beschrieben. Bei den Variablen in PSL handelt es sich um Variablen oder Boolesche Ausdr ¨ ucke aus dem (ausf ¨ uhrbaren) Modell. Beispiel 2.4.4. Verwendet die Implementierung zwei Boolesche Variablen x 1 und x 2 , so wird der gegenseitige Ausschluss dieser Variablen in PSL als !(x 1 & x 2 ) geschrie- ben [111]. Dabei beschreibt & die Konjunktion und ! die Negation. Temporale Ebene Die zeitlichen Relationen zwischen Booleschen Ausdr ¨ ucken werden auf der tempo- ralen Ebene beschrieben. Hierbei werden sog. sequentiell erweiterte regul ¨ are Aus- dr ¨ ucke (engl. Sequential Extended Regular Expression, SERE) und Eigenschaften (engl. properties) unterschieden. Sequentiell erweiterte regul ¨ are Ausdr ¨ ucke Sequentiell erweiterte regul ¨ are Ausdr ¨ ucke (SEREs) werden verwendet, um tempora- le Sequenzen von Ereignissen Boolescher Ausdr ¨ ucke zu beschreiben. Definition 2.4.12 (SERE). Seien b ein Boolescher Ausdruck und r 1 und r 2 SEREs, so sind die folgenden Ausdr ¨ ucke ebenfalls SEREs: • [∗0] ist die leere Sequenz, diese ist ¨ aquivalent zu dem ε -Symbol in regul ¨ aren Ausdr ¨ ucken. • b ist eine SERE. •{r 1 } ist eine SERE. Die geschweiften Klammern sind ¨ aquivalent zu den runden Klammern in regul ¨ aren Ausdr ¨ ucken. • r 1 | r 2 ist die Disjunktion von r 1 und r 2 . • r 1 [∗] ist das keinmalige bis beliebig oftmalige Auftreten von r 1 . • r 1 ; r 2 ist die Konkatenation von r 1 und r 2 ,alsor 2 folgt direkt r 1 . • r 1 : r 2 ist die Fusion von r 1 und r 2 , d. h. der letzte Boolesche Ausdruck in r 1 und der erste Boolesche Ausdruck in r 2 ¨ uberlappen sich und m ¨ ussen gleichzeitig wahr sein. • r 1 && r 2 wird als L ¨ angendurchschnitt bezeichnet. r 1 && r 2 ist wahr, wenn so- wohl r 1 und r 2 wahr sind und beide gleichzeitig starten und enden. Neben den oben definierten Operatoren f ¨ ur SEREs wurden abk ¨ urzende Schreib- weisen eingef ¨ uhrt, die allerdings nicht die Ausdruckskraft von PSL vergr ¨ oßern [55]. Im Folgenden seien b ein Boolescher Ausdruck, r eine SERE, i, j,k,l ∈ N mit i ≥ j, l ≥ k und l, k > 0. Die folgenden abk ¨ urzenden Schreibweisen k ¨ onnen dann in PSL verwendet werden: 2.4 Formale Spezifikation funktionaler Anforderungen 85 r[+] := r ; r[∗] r[∗k] := r ; r ; ; r k-fach r[∗i : j] := r[∗i] |···| r[∗ j] b[->] := {(!b)[∗] ; b} b[->k] := {b[->]}[∗k ] b[->k : l] := {b[->]}[∗k : l] Die Operatoren [∗k] und [∗i : j] werden als Abz ¨ ahlungswiederholung und Bereichs- wiederholung bezeichnet. Der Operator [->] wird auch als GOTO-Operator bezeich- net, da er das erste Auftreten von b beschreibt. PSL-Eigenschaften SEREs k ¨ onnen als Sequenzen in PSL und damit als Eigenschaften verwendet wer- den. Hierf ¨ ur werden SEREs in geschweiften Klammern geschrieben, z. B. {r} f ¨ ur die SERE r. Allerdings m ¨ ussen auch die Zeitschritte f ¨ ur die SERE definiert werden, al- so wann der Wechsel zwischen Symbolen auftreten muss. Zeitschritte in Sequenzen werden ¨ uber Ereignisse identifiziert. Ereignisse k ¨ onnen dabei aus den Signalen oder aus Werte ¨ anderungen von Variablen in dem untersuchten Modell extrahiert werden. Beispiel 2.4.5. H ¨ aufig besitzt eine Implementierung ein Taktsignal clk. Ein geeig- netes Ereignis zur Identifikation von Zeitschritten ist dann die positive Taktflanke, was in PSL durch posedge clk ausgedr ¨ uckt wird. Die PSL-Eigenschaft, dass sich die Variablen b 1 und b 2 in jedem Zeitschritt, vorgegeben durch das Taktsignal, ausschlie- ßen, wird dann wie folgt formuliert: !(b 1 & b 2 )@(posedge clk) Neben SEREs als Sequenzen unterst ¨ utzt PSL weiterhin alle Standard LTL- Operatoren. Allerdings wird PSL oft in simulativen Verifikationsmethoden einge- setzt (siehe auch Abschnitt 5.2.3) und nicht alle Kombinationen von Eigenschaften eignen sich hierf ¨ ur. Aus diesem Grund definiert PSL eine einfache Teilmenge der Foundation Language, die sich f ¨ ur die Simulation eignet. PSL-FL wird dabei der- art eingeschr ¨ ankt, dass die Negation von SEREs nicht erlaubt ist. Die resultierende Sprache wird mit PSL-FL − bezeichnet. PSL-Eigenschaften werden im Folgenden basierend auf PSL-FL − beschrieben [55]. Seien b 1 und b 2 zwei Boolesche Ausdr ¨ ucke. Weiterhin sei r eine SERE. Schließ- lich seien i, j,k,l ∈ N mit i ≥ j, l ≥ k und l,k > 0. PSL-Eigenschaften lassen sich wie folgt auf Basis der PSL-FL − definieren: • b 1 und b 2 sind PSL-Eigenschaften. •{r} ist eine PSL-Eigenschaft. 86 2 Spezifikation digitaler Systeme Dabei wird davon ausgegangen, dass b 1 und b 2 bzw. {r} in der Simulation auftritt. Ist dies nicht der Fall, wird dies als Fehler bewertet. Allerdings ist diese Bedingung eine schwache Bedingung f ¨ ur SEREs, d. h. falls die Simulation endet, bevor die gesamte Sequenz erkannt werden konnte, gilt die Eigenschaft als erf ¨ ullt. Eine Eigenschaft kann durch den !-Operator zu einer starken Bedingung gemacht werden: •{r}! ist eine PSL-Eigenschaft. In diesem Fall muss die komplette Sequenz vor Beendigung der Simulation erkannt werden. Sei im Folgenden p eine PSL-Eigenschaft. Die geforderte Erf ¨ ullung einer PSL- Eigenschaft kann durch den abort-Operator bei Auftreten einer Booleschen Bedin- gung b 1 aufgehoben werden: • p abort b 1 ist eine PSL-Eigenschaft. •{r}|-> p ist eine PSL-Eigenschaft. •{r}|=> p ist eine PSL-Eigenschaft. Die Operatoren |-> und |=> werden als ¨ uberlappender oder nicht ¨ uberlappender Suffiximplikations-Operator bezeichnet. Bei dem ¨ uberlappenden Operator muss bei jedem Auftreten der Sequenz {r} die PSL-Eigenschaft beginnend mit der letzten Booleschen Bedingung in r erf ¨ ullt sein. Bei Verwendung des nicht ¨ uberlappenden Operators muss p irgendwann nach Auftreten der Sequenz {r} erf ¨ ullt sein. In der einfachen Teilmenge von PSL ist die Anwendung des Negations- und ¨ Aquivalenzoperators auf PSL-Eigenschaften untersagt. Lediglich Boolesche Aus- dr ¨ ucke d ¨ urfen negiert (!) oder auf ¨ Aquivalenz (<->) getestet werden: • !b 1 ist eine PSL-Eigenschaft. • b 1 <-> b 2 ist eine PSL-Eigenschaft. Bei der Disjunktion (||) und der Implikation (->) ist lediglich eine PSL-Eigen- schaft p als Operand zugelassen, der andere Operand muss ein Boolescher Ausdruck sein. Dar ¨ uber hinaus gilt bei der Implikation, dass die Bedingung ein Boolescher Ausdruck ist, d. h.: • b 1 || p ist eine PSL-Eigenschaft, wobei entweder b 1 = T sein muss oder p erf ¨ ullt sein muss, falls b 1 = F ist. • b 1 -> p ist eine PSL-Eigenschaft, wobei sobald b 1 eintritt, p erf ¨ ullt sein muss. Zwei PSL-Eigenschaften p 1 und p 2 k ¨ onnen konjunktiv verkn ¨ upft werden: • p 1 && p 2 ist eine PSL-Eigenschaft, wobei sowohl p 1 als auch p 2 erf ¨ ullt sein muss. Der LTL-Operator G wird durch den PSL always-Operator realisiert. F ¨ ur die Negation steht der never-Operator zur Verf ¨ ugung, dieser kann allerdings lediglich auf Sequenzen {r} angewendet werden. • always p ist eine PSL-Eigenschaft. • never {r} ist eine PSL-Eigenschaft. • next p ist eine PSL-Eigenschaft. 2.4 Formale Spezifikation funktionaler Anforderungen 87 • next! p ist eine PSL-Eigenschaft. Der next-Operator entspricht dem LTL-Operator X. Dieser ist allerdings wiederum ein schwacher Operator, d. h. sollte die Simulation nach Aktivierung der Eigenschaft beendet werden, ohne dass es einen weiteren Zeitschritt gibt, gilt die Eigenschaft als erf ¨ ullt. Durch Verwendung des next!-Operators, kann dies zu einer starken Bedin- gung gemacht werden, d. h. der n ¨ achste Zeitschritt muss simuliert werden ansonsten gilt die Eigenschaft als verletzt. Der LTL-Operator U ist in PSL als until-Operator realisiert: • p until b 1 ist eine PSL-Eigenschaft, wobei p erf ¨ ullt sein muss bis b 1 auftritt. • p until b 1 ist eine PSL-Eigenschaft, wobei p erf ¨ ullt sein muss bis b 1 auftritt. Außerdem muss p noch w ¨ ahrend des Auftretens von b 1 erf ¨ ullt sein. • p until! b 1 ist eine PSL-Eigenschaft, wobei p erf ¨ ullt sein muss bis b 1 auftritt und b 1 muss in der Simulation auftreten. • p until! b 1 ist eine PSL-Eigenschaft, wobei p erf ¨ ullt sein muss bis b 1 auftritt und b 1 muss in der Simulation auftreten. Außerdem muss p noch w ¨ ahrend des Auftretens von b 1 erf ¨ ullt sein. • b 1 before b 2 ist eine PSL-Eigenschaft, wobei b 1 vor b 2 auftritt. • b 1 before! b 2 ist eine PSL-Eigenschaft, wobei b 1 vor b 2 auftritt und b 2 muss in der Simulation auftreten. • b 1 before b 2 ist eine PSL-Eigenschaft, wobei b 1 vor b 2 auftritt und auch noch w ¨ ahrend des Auftretens von b 2 gilt. • b 1 before! b 2 ist eine PSL-Eigenschaft, wobei b 1 vor b 2 auftritt und b 2 muss in der Simulation auftreten. Weiterhin muss b 1 noch w ¨ ahrend des Auftretens von b 2 gelten. Der LTL-Operator F ist in PSL nur als starker eventually!-Operator verf ¨ ugbar. • eventually! {r} ist eine PSL-Eigenschaft, wobei die Sequenz {r} bis zum Ende der Simulation auftreten muss. Zur Erh ¨ ohung der Wiederverwendbarkeit, erlaubt PSL die Definition von Eigen- schafts- und Sequenzdeklarationen mit Argumenten. Die Eigenschaften und Sequen- zen k ¨ onnen dann an unterschiedlichen Stellen i m Quelltext mit verschiedenen Para- metern instantiiert werden. Beispiel 2.4.6. Die Eigenschaft, dass sich die Variablen x 1 und x 2 gegenseitig aus- schließen, l ¨ asst sich dann wie folgt formulieren: property mutex(boolean clk, x 1 ,x 2 )=always !(x 1 & x 2 )@(posedge clk) Verifikationsebene Auf der Verifikationsebene stehen verschiedene Anweisungen zur Verf ¨ ugung, die dem verwendeten Verifikationswerkzeug mitteilen, wie eine bestimmte Eigenschaft zu verwenden ist. Dabei wird unterschieden, ob eine Eigenschaft erf ¨ ullt sein muss, 88 2 Spezifikation digitaler Systeme d. h. dass die Eigenschaft eine Zusicherung ist, oder diese erf ¨ ullt sein sollte, d. h. dass es sich um eine Annahme handelt. Eine Zusicherung wird mit der assert-Anweisung ausgedr ¨ uckt, w ¨ ahrend eine Annahme durch die assume-Anweisung gekennzeichnet wird. F ¨ ur simulative Verifikationsmethoden k ¨ onnen diese Anweisungen zur Gene- rierung gesteuerter, zuf ¨ alliger Testf ¨ alle verwendet werden (siehe Abschnitt 3.3). Weiterhin kann dem Verifikationswerkzeug mitgeteilt werden, welche Sequen- zen von Testfalleingaben w ¨ ahrend der Verifikation zu ber ¨ ucksichtigen sind oder aus- geschlossen werden sollen. Ersteres wird als ¨ Uberdeckung bezeichnet und durch die cover-Anweisung dargestellt. Letzteres wird als Restriktion bezeichnet und mittels der restrict-Anweisung angezeigt. Beispiel 2.4.7. Die ¨ Uberpr ¨ ufung der Zusicherung, dass x 1 und x 2 sich gegenseitig ausschließen, kann man somit mit der PSL-Anweisung assert always !(x 1 &x 2 )@(posedge clk); erreichen. Unter Verwendung der Eigenschaftsdeklaration aus Beispiel 2.4.6 kann dies auch als assert mutex(clk,x 1 ,x 2 ); formuliert werden. 2.5 Formale Spezifikation nichtfunktionaler Anforderungen Eine Anforderung an funktionale Eigenschaften beschreibt, welche Aktion ein Sys- tem in der Lage sein sollte, zu erbringen. Dabei werden physikalische Randbedin- gungen der Implementierung nicht n ¨ aher ber ¨ ucksichtigt. Neben diesen funktionalen Eigenschaften spielen im Bereich eingebetteter Systeme allerdings auch die nicht- funktionalen Eigenschaften eine zentrale Rolle. Typische nichtfunktionale Eigen- schaften eines Systems sind dabei das Zeitverhalten, die Leistungsaufnahme, der Fl ¨ achenbedarf etc. Von diesen Eigenschaften ist das Zeitverhalten besonders wich- tig, da eingebettete Systeme eng mit ihrer Umgebung interagieren, wobei sicher ge- stellt sein muss, dass das System schnell genug arbeitet. Die Bedeutung von ” schnell genug“ h ¨ angt dabei davon ab, welche Aufgabe ein eingebettetes System ¨ ubernimmt. Handelt es sich beispielsweise um eine Steuerung, so wird das Hauptaugenmerk auf der Antwortzeit liegen. Bei einem MP3-Player hingegen interessiert, ob dieser den notwendigen Durchsatz f ¨ ur eine unterbrechungsfreie Wiedergabe erzielt. Dar ¨ uber hinaus ist es aber auch denkbar, dass unterschiedliche Verhalten im System imple- mentiert sind, wovon einige eine garantierte Antwortzeit, andere einen garantierten Durchsatz ben ¨ otigen. Neben der Tatsache, dass das zu ermittelnde Qualit ¨ atsmaß f ¨ ur die Bewertung des Zeitverhaltens nicht offensichtlich ist, eignet sich eine Formulierung wie ” schnell genug“ wenig zur quantitativen Bewertung des Zeitverhaltens. Wie schon bei der Spezifikation funktionaler Anforderungen, muss es auch im Fall der nichtfunktio- nalen Anforderungen m ¨ oglich sein, diese vollst ¨ andig, eindeutig und konsistent zu 2.5 Formale Spezifikation nichtfunktionaler Anforderungen 89 formulieren. Im Folgenden wird f ¨ ur diesen Zweck eine Erweiterung von CTL vor- gestellt. Diese ist besonders gut geeignet, um quantitative Zeitanforderungen f ¨ ur ein gegebenes Verhalten der Implementierung zu spezifizieren. Genauer gesagt wird das Verhalten des Systems, wie im Fall der temporalen Aussagenlogik, als tempora- le Struktur beschrieben. Allerdings wird die temporale Struktur mit quantitativen Zeitattributen markiert. Zeitliche Anforderungen k ¨ onnen dann als Erreichbarkeitsei- genschaften zwischen Zust ¨ anden bei gegeben Zeitschranken (untere und obere) ver- standen werden. Die Vorstellung ist, dass sowohl der Start einer Funktionalit ¨ at als auch deren Beendigung als Zustand des Systems beschreibbar ist. Zeitabsch ¨ atzun- gen zwischen diesen Zust ¨ anden entsprechen dann Ende-zu-Ende-Latenzen, die auch f ¨ ur die Quantifizierung des Durchsatzes geeignet sind. In sp ¨ ateren Kapiteln werden spezielle Pr ¨ ufverfahren f ¨ ur das Zeitverhalten auf diesem Modell vorgestellt. Die in diesem Abschnitt betrachtete Erweiterung von CTL tr ¨ agt den Namen TCTL (engl. Timed Computation Tree Logic). In TCTL werden die temporalen Ope- ratoren (mit Ausnahme des X-Operators) mit quantitativen Zeitschranken versehen. Zeitschranken werden als Pr ¨ adikate ¨ uber Zeitvariablen definiert. Die Menge T aller Zeitpunkte kann entweder eine diskrete (T = Z ≥0 ) oder eine kontinuierliche Zeit (T = R ≥0 ) beschreiben. Wenn nicht anders definiert, gilt im Folgenden T := Z ≥0 . Die Syntax von TCTL l ¨ asst sich formal definieren: Definition 2.5.1 (Syntax von TCTL). V sei die Menge der aussagenlogischen Va- riablen (atomaren Formeln). Eine TCTL-Formel wird rekursiv wie folgt definiert: • Atomare Formeln ϕ ∈ V sind TCTL-Formeln. • Seien ϕ und ψ TCTL-Formeln, so sind auch ¬ ϕ und ϕ ∨ ψ TCTL-Formeln. • Seien ϕ und ψ TCTL-Formeln, so sind auch EX ϕ , E ϕ U ∼ γ ψ und A ϕ U ∼ γ ψ TCTL-Formeln. Dabei ist ∼ γ eine sog. Zeitschranke mit ∼∈ {<, ≤,=,≥,>} und γ ∈ T. Zur Definition der Semantik von TCTL-Formeln muss zun ¨ achst die Definition einer temporalen Struktur ebenfalls um Zeitannotationen erweitert werden. Im Fol- genden wird von einer Erweiterung der Form ausgegangen, dass ein Zustands ¨ uber- gang in der temporalen Struktur Zeit ben ¨ otigt. Diese Ver z ¨ ogerungszeit liegt in ei- nem Zeitintervall Δ i (T). Die Menge der Intervalle ¨ uber T sei mit Δ (T) bezeichnet. Ein Intervall Δ i (T) ∈ Δ (T) kann entweder geschlossen ( Δ i (T)=[ δ l , δ u ]) oder of- fen ( Δ i (T)=[ δ l , δ u )) sein. Die untere Grenze δ l eines Intervalls gibt die minimale Verz ¨ ogerungszeit eines Zustands ¨ ubergangs an, w ¨ ahrend die obere Grenze δ u die ma- ximale Verz ¨ ogerungszeit angibt. Definition 2.5.2 (Zeitbehaftete temporale Struktur, TTS). Eine zeitbehaftete tem- porale Struktur (engl. Timed Temporal Structure, TTS) M ist ein Tripel (S,R,L), wobei S eine endliche Menge an Zust ¨ anden, R ⊆ R × Δ (T) × R eine zeitbehaftete ¨ Ubergangsrelation und L : S → 2 V eine Markierungsfunktion ist. V ist die Menge der aussagenlogischen Variablen. Eine offensichtliche Beschr ¨ ankung einer TTS ist die ausschließliche Verwendung von Zeitintervallen, deren oberen und unteren Grenzen aufeinander fallen, d. h. die Verz ¨ ogerungszeit ist ein exakter Wert. 90 2 Spezifikation digitaler Systeme Beispiel 2.5.1. Gegeben ist die TTS in Abb. 2.21 aus [312]. Die TTS besteht aus drei Zust ¨ anden s 0 , s 1 und s 2 . Die Zustands ¨ uberg ¨ ange sind mit den Verz ¨ ogerungszeiten beschriftet. Man sieht, dass es zwischen zwei Zust ¨ anden mehrere ¨ Uberg ¨ ange mit un- terschiedlichen Verz ¨ ogerungszeiten geben kann. Die Bedeutung eines Zustands ¨ uber- gangs (s, δ ,s ) ist, dass der ¨ Ubergang von Zustand s nach Zustand s exakt δ Zeit- einheiten ben ¨ otigt. Dabei beschreibt δ die Verz ¨ ogerungszeit des Zustands ¨ ubergangs. 2100 3 5 0 s 1 ac s 2 s 0 b Abb. 2.21. Zeitbehaftete temporale Struktur [312] Da mehrere ¨ Uberg ¨ ange zwischen zwei Zust ¨ anden existieren k ¨ onnen, werden ¨ Uberg ¨ ange im Folgenden als s δ −→ s geschrieben. Pfade ˜s in einer TTS werden somit als ˜s = s 0 δ 0 −→ s 1 δ 1 −→ s 2 δ 2 −→ geschrieben. Der Pr ¨ afix i ˜s eines Pfades ˜s der L ¨ ange i ist gegeben als i ˜s := s 0 δ 0 −→ s 1 δ 1 −→ ··· δ i−1 −→ s i .DieL ¨ ange eines Pr ¨ afixes ist gegeben durch size( i ˜s)=i.DieLatenz Λ eines Pr ¨ afixes i ˜s ist: Λ ( i ˜s)= δ 0 + δ 1 + ···+ δ i−1 Handelt es sich bei den Verz ¨ ogerungszeiten δ i um Intervalle, so ist die Latenz Λ ebenfalls als Intervall gegeben und beschreibt die minimale und maximale Latenz des Pr ¨ afixes. Definition 2.5.3 (Semantik von TCTL-Formeln). Sei ϕ eine TCTL-Formel, so be- deutet M, s |= τ ϕ , dass ϕ im Zustand s der TTS M gilt. Seien ϕ und ψ zwei TCTL- Formeln, dann kann |= τ wie folgt definiert werden: M,s |= τ T ⇔ gilt immer M,s |= τ ϕ ⇔ ϕ ∈ L(s) falls ϕ ∈ V M,s |= τ ¬ ϕ ⇔ M, s |= τ ϕ M,s |= τ ϕ ∨ ψ ⇔ M, s |= τ ϕ oder M,s |= τ ψ M,s |= τ EX ϕ ⇔∃s 0 ,s 1 , ,(s = s 0 ) : M,s 1 |= τ ϕ M,s |= τ E ϕ U ∼ γ ψ ⇔∃s 0 ,s 1 , ,(s = s 0 ) : ∃k ≥ 0: ( Λ ( k ˜s) ∼ γ ) ∧ (M, s k |= ψ ) ∧ (∀0 ≤ j < k : M,s j |= ϕ ) M,s |= τ A ϕ U ∼ γ ψ ⇔∀s 0 ,s 1 , ,(s = s 0 ) : ∃k ≥ 0: ( Λ ( k ˜s) ∼ γ ) ∧ (M, s k |= ψ ) ∧ (∀0 ≤ j < k : M,s j |= ϕ ) [...]... zunehu mend interessanter f¨ r den Entwurf eingebetteter Hardware/Software-Systeme Von u der Intention her stellt UML eine Initiative dar, die vor allem in der Anfangsphase den Entwicklungsprozess von Software standardisieren und damit vereinfachen soll Zu den wichtigsten der 13 in der Version 2.0 unterst¨ tzten Modelle geh¨ ren u o 92 2 Spezifikation digitaler Systeme Sequenzdiagramme, eine Variante von... grundlegenden Verifikationsaufgaben im Bereich eingebetteter Systeme identifiziert: Zum einen kann ¨ eine Aquivalenzpr¨ fung zwischen Spezifikation und Implementierung durchgef¨ hrt u u C Haubelt, J Teich, Digitale Hardware/Software-Systeme, eXamen.press, DOI 10.1007/978-3-642-05356-6 3, c Springer-Verlag Berlin Heidelberg 2010 96 3 Verifikation ¨ werden Hierbei wird uberpr¨ ft, ob das Strukturmodell der Implementierung... korrekt ist In diesem Kapitel werden nun grundlegende Fragestellungen zur Durchf¨ hrung u der Verifikation diskutiert, wobei diese unabh¨ ngig von der Implementierungsform, a also Hardware, Software oder Hardware/Software, und der gew¨ hlten Abstraktionsa ebene vorgestellt werden Dabei wird eine Unterscheidung in Verifikationsaufgabe, Verifikationsziel und Verifikationsmethodik vorgenommen Die Verifikationsaufgabe... Version II [147], kombiniert werden In Ptolemy II sind die Aktoren in Java geschrieben und bietet die Unterst¨ tzung f¨ r unterschiedliche Datenflussmodelle sowie deren Kopplung u u Die Spezifikation von Hardware/Software-Systemen stellt aufgrund der Heterogenit¨ t der Komponenten ein großes Problem dar, denn bekannte Modelle und Enta wurfssprachen sind stark auf einen Anwendungsbereich (z B kontrollflussdominant... Simulatoren Simulatoren f¨ r diskrete Systeme k¨ nnen entweder zyklenbasiert, ereignisgesteuu o ¨ ert oder hybrid arbeiten Zyklenbasierte Simulatoren tasten Signale in aquidistanten Abst¨ nden ab Im Bereich digitaler Systeme werden die Abtastzeitpunkte typischera weise von den Flanken eines Taktsignals bestimmt Somit eignet sich die zyklenbasierte Simulation besonders gut zur Simulation synchroner Schaltungen... Aufgrund der Vielzahl an zu simulierenden Ereignissen, die sich aus der Komplexit¨ t heutiger Systeme ergibt, ist es notwendig, die Simulation effizient durcha zuf¨ hren Da oftmals Teilsysteme bereits als Hardware/Software-Implementierung u vorliegen, ist eine M¨ glichkeit der Simulationsbeschleunigung dadurch gegeben, o diese Teilsysteme nicht zu simulieren, sondern deren Implementierung direkt mit der... und einen hohen a Grad an Automatisierung Aus diesem Grund ist zuf¨ llige Simulation heutzutaa ge eine wichtige Verifikationsmethode, unabh¨ ngig von der Implementierungsform a (Hardware, Software oder Hardware/Software) und der gew¨ hlten Abstraktionsebea ne Wegen der zentralen Bedeutung werden die Prinzipien der zuf¨ lligen Simulation a im Folgenden n¨ her betrachtet Die Diskussion erfolgt in Anlehnung . kann eine ¨ Aquivalenzpr ¨ ufung zwischen Spezifikation und Implementierung durchgef ¨ uhrt C. Haubelt, J. Teich, Digitale Hardware/Software-Systeme, eXamen.press, DOI 10.1007/978-3-642-05356-6 3, c Springer-Verlag. zum Einsatz kommt, wird im Folgenden die hierzu konzipierte PSL FL betrachtet. 84 2 Spezifikation digitaler Systeme Boolesche Ebene Auf der Booleschen Ebene wird eine funktionale Eigenschaft anhand. PSL-FL − definieren: • b 1 und b 2 sind PSL-Eigenschaften. •{r} ist eine PSL-Eigenschaft. 86 2 Spezifikation digitaler Systeme Dabei wird davon ausgegangen, dass b 1 und b 2 bzw. {r} in der Simulation auftritt.