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

Digitale Hardware/ Software-Systeme- P5 pdf

20 183 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 đề Digitale Hardware/Software-Systeme
Trường học Standard University
Chuyên ngành Digital Hardware/Software Systems
Thể loại Luận văn
Thành phố City Name
Định dạng
Số trang 20
Dung lượng 246,71 KB

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

Nội dung

Erfasst man die Eingabe in jedem Zustand einer temporalen Struktur, k¨onnen endliche Automaten ohne Ausgabe in eine ¨aquivalente temporale Struktur umgewandelt werden.. a endlicher Autom

Trang 1

drei unterschiedlichen Aktionen (copyStore, copyInput und copyApprox) und

einem endlichen Automaten M mit zwei Zust¨anden (start und stop) Mit Hilfe

der Funktion copyStore wird ein neuer Wert von dem FIFO-Kanal der Quelle src gelesen und in der Variablen tmp i0 gespeichert Weiterhin wird dieser Wert auf den Ausgangsport geschrieben, welcher mit dem approx-Aktor verbunden ist Die Funk-tion copyInput kopiert f¨ur den approx-Aktor den gespeicherten Wert aus der Varia-blen tmp i0 Schließlich kopiert die Funktion copyApprox das Ergebnis vom dup-Aktor zum sink-dup-Aktor Die Aktionen copyStore, copyInput und copyApprox k¨onnen auf die angeschlossenen Kan¨ale zugreifen Die Verbindungen zu den Ports sind nicht eingezeichnet

Die Zustands¨uberg¨ange werden im Konstruktor des Aktors definiert, wobei im Gegensatz zu FunState auch gepr¨uft werden kann, ob ein Speicherelement gen¨ugend freie Speicherpl¨atze zum Schreiben besitzt, sollten diese beschr¨ankt sein So kann beispielsweise vom Zustand start in den Zustand loop gewechselt werden, sofern von der Quelle src mindestens ein Datum zur Verf¨ugung gestellt wurde (i0(1)) und ein Datum in den FIFO-Kan¨alen zum approx-Aktor geschrieben werden kann (o1(1)) Bei diesem Zustands¨ubergang wird die Funktion copyStore ausgef¨uhrt

Neben der Anzahl der Marken bzw freien Speicherpl¨atze k¨onnen auch sog W¨achter-funktionen (engl guards), Funktionen mit einem Booleschen R¨uckgabewert, die den

Zustand eines SysteMoC-Modells nicht ¨andern, als Bedingung ber¨ucksichtigt wer-den Die W¨achterfunktionen k¨onnen somit die mit Marken assoziierten Werte be-ziehungsweise einen internen Aktorzustand ¨uberpr¨ufen Eine W¨achterfunktion im SqrRoot-Aktor ist die Funktion check, welcher die Genauigkeit des Ergebnisses

¨uberpr¨uft Ist das Ergebnis zu ungenau, verbleibt der Aktor im Zustand loop und wartet auf eine neue (genauere) Approximation Ist jedoch die Abweichung der Be-rechnung von der tats¨achlichen Quadratwurzel kleiner als eine vorgegebene

Schran-ke, so wird dies als Ergebnis an den Aktor sink ¨ubertragen Der interne Aktorzu-stand ist in einem Register gespeichert, welches nicht im Bild dargestellt

Es folgt der SysteMoC-Quelltext des SqrRoot-Aktors:

1 class SqrLoop : public smoc_actor {

3 smoc_port_in<double> i0, i3;

4 smoc_port_out<double> o1, o2;

13 bool check() const {

14 return fabs(tmp_i0 - i3[0]*i3[0]) < 0.0001;

16

17 smoc_firing_state start;

Trang 2

18 smoc_firing_state loop;

20 SqrLoop(sc_module_name name) :

21 smoc_actor( name, start ) {

25 CALL(SqrLoop::copyStore) >> loop;

27 (i3(1) && GUARD(SqrLoop::check)) >>

29 CALL(SqrLoop::copyApprox) >> start

30 | (i3(1) && !GUARD(SqrLoop::check)) >>

32 CALL(SqrLoop::copyInput) >> loop;

2.4 Formale Spezifikation funktionaler Anforderungen

Neben dem Verhaltensmodell enth¨alt die Spezifikation von Systemen stets Anfor-derungen an die Implementierung Diese AnforAnfor-derungen k¨onnen sich dabei sowohl

auf funktionale Eigenschaften als auch auf nichtfunktionale Eigenschaften beziehen Entsprechend spricht man von funktionalen bzw nichtfunktionalen Anforderungen.

Erste Beispiele f¨ur funktionale Eigenschaften wurden bereits im Abschnitt 2.2.1

im Zusammenhang mit Petri-Netzen diskutiert Funktionale Eigenschaften sind

da-bei h¨aufig sog Gefahrlosigkeits- oder Lebendigkeitseigenschaften Ein Beispiel f¨ur

eine Gefahrlosigkeitseigenschaft ist, dass ein gegebenes Petri-Netz beschr¨ankt ist Ist das Petri-Netz beschr¨ankt, so ist sichergestellt, dass keine Puffer¨uberl¨aufe zu Da-tenverlusten mit eventuell katastrophalen Folgen f¨uhren Ein Beispiel f¨ur eine Le-bendigkeitseigenschaft ist die Reversibilit¨at eines Petri-Netzes Ist diese gegeben, so wird das modellierte System immer verf¨ugbar sein, also die geplante Funktionalit¨at, eventuell in gemindertem Umfang, erbringen

In diesem Abschnitt werden wichtige Ans¨atze zur Formulierung von Anforde-rungen an die funktionalen Eigenschaften pr¨asentiert Im folgenden Abschnitt wer-den zun¨achst die grundlegenwer-den Konzepte zur formalen Spezifikation funktionaler Anforderungen diskutiert Dabei wird eine Einschr¨ankung auf Ans¨atze vorgenom-men, die eine automatische Verifikation erlauben Als zwei wichtige Vertreter

wer-den die Logiken CTL (engl Computation Tree Logic) und LTL (engl Linear Time propositional Logic) vorgestellt Die zugeh¨origen Verifikationsmethoden werden in

Kapitel 5 pr¨asentiert Eine Verallgemeinerung von LTL und CTL wird unter dem Na-men CTL* diskutiert Zum Abschluss dieses Abschnittes wird noch auf die Sprache

PSL (engl Property Specification Language) eingegangen, die von vielen

Werkzeu-gen als Eingabem¨oglichkeit temporallogischer Formeln unterst¨utzt wird

Trang 3

2.4.1 Temporale Strukturen

Die in Abschnitt 2.2.1 aufgelisteten Eigenschaften f¨ur Petri-Netze k¨onnen als Ge-fahrlosigkeits- und Lebendigkeitseigenschaften aufgefasst werden Diese unterschei-den sich typischerweise in ihrer Formulierung:

• Gefahrlosigkeitseigenschaften besagen, dass etwas Schlimmes niemals passiert.

• Lebendigkeitseigenschaften besagen, dass etwas Gutes irgendwann eintritt.

In dieser Formulierung kann man bereits an den W¨ortern niemals und irgendwann

erkennen, dass zeitliche Aspekte bei der Formulierung von funktionalen

Anforderun-gen eine Rolle spielen Zeitliche Aspekte k¨onnen in AussaAnforderun-genlogik (siehe Anhang A) nicht formuliert werden Hierf¨ur ist eine Erweiterung um temporale Operatoren not-wendig Hierdurch entsteht eine temporale Aussagenlogik.

Ein wesentlicher Unterschied zwischen Aussagenlogik und temporaler Aussa-genlogik besteht in der Auswertung von Formeln W¨ahrend aussagenlogische For-meln konstante Werte repr¨asentieren, k¨onnen dies im Fall von temporallogischen Formeln Wertsequenzen sein, welche die funktionalen Eigenschaften eines System

beschreiben Diese Sequenzen werden in einer sog temporalen Struktur repr¨asen-tiert Aus historischen Gr¨unden werden temporale Strukturen auch h¨aufig als Kripke-Strukturen bezeichnet [269].

Definition 2.4.1 (Temporale Struktur) Eine temporale Struktur M ist ein Tripel

(S,R,L), wobei S eine endliche Menge an Zust¨anden, R ⊆ S × S eine ¨Ubergangsre-lation und L : S → 2 V eine Markierungsfunktion ist V ist eine Menge an aussagen-logischen Variablen.

Die ¨Ubergangsrelation R ist total, d h ∀s ∈ S : ∃s  ∈ S : (s,s  ) ∈ R Eine

tempo-rale Struktur kann als Graph visualisiert werden, wobei die Zust¨ande als Knoten und die ¨Ubergangsrelation als Kanten repr¨asentiert werden Die Knoten werden

zus¨atz-lich mit einer Teilmenge von Variablen V entsprechend der Markierungsfunktion

beschriftet

Beispiel 2.4.1 Ein Beispiel f¨ur eine temporale Struktur M ist in Abb 2.14a) zu sehen M besteht aus den drei Zust¨anden s0, s1 und s2 Insgesamt sind f¨unf

Zu-stands¨uberg¨ange definiert, d h R = {(s0,s1),(s0,s2),(s1,s1),(s2,s0),(s2,s1)} Die Menge der Variablen V enth¨alt die drei Elemente a, b und c Die Markierungsfunk-tion L liefert L(s0) = {a,b}, L(s1) = {c} und L(s2) = {b,c}.

Definiert man einen Anfangszustand, k¨onnen die durch die temporale Struktur re-pr¨asentierten Sequenzen in einem unendlichen Graphen dargestellt werden Da

die-se Sequenzen typischerweidie-se mit Berechnungen in einem System assoziiert werden,

wird dieser Graph als Berechnungsbaum (engl computation tree) bezeichnet F¨ur die temporale Struktur aus Abb 2.14a) und dem Anfangszustand s0ist der Berechnungs-baum in Abb 2.14b) zu sehen Man beachte, dass die durch die temporale Struktur repr¨asentierten Sequenzen unendlich lang sind, weshalb nur ein Ausschnitt aus dem Berechnungsbaum gezeichnet werden kann

Trang 4

a) b)

bc

s2

s0 ab

c s1

ab

c bc

c c

c bc

Abb 2.14 a) Temporale Struktur und b) Berechnungsbaum [272]

Pfade in einer temporalen Struktur beschreiben Sequenzen Ein Pfad in einer

temporalen Struktur M l¨asst sich formal definieren.

Definition 2.4.2 (Pfad) Ein Pfad ˜ s in einer temporalen Struktur M = (S,R,L) ist

ei-ne uei-nendliche Sequenz ˜ s := s0,s1,  an Zust¨anden s ∈ S, wobei ∀i ≥ 0 : (s i ,s i+1) ∈

R gilt Ein Suffix ˜ s i eines Pfades ˜ s = s0,s1, ,s i ,s i+1,  ist definiert durch

˜

s i:= si ,s i+1,  Ein Pr¨afix i s eines Pfades ˜˜ s = s0,s1, ,s i ,s i+1,  ist definiert durch i s := s˜ 0,s1, ,s i+1,s i .

Temporale Strukturen sind eng verwandt mit endlichen Automaten (siehe Defi-nition 2.2.13 auf Seite 47) Intuitiv ist eine temporale Struktur ein endlicher Automat ohne Ausgabe Erfasst man die Eingabe in jedem Zustand einer temporalen Struktur, k¨onnen endliche Automaten (ohne Ausgabe) in eine ¨aquivalente temporale Struktur umgewandelt werden

Die Umwandlung eines gegeben endlichen Automaten ohne Ausgabe in eine temporale Struktur erfolgt, indem jeder Zustand einzeln bearbeitet wird Dies ge-schieht in vier Schritten:

1 Alle eingehenden Zustands¨uberg¨ange werden anhand ihrer Eingabesymbole par-titioniert

2 F¨ur jede Partition wird ein Zustand in der temporalen Struktur erzeugt

3 Jeder neue Zustand wird mit dem Namen des Zustands des endlichen Automaten und dem Eingabesymbols markiert

4 Entsprechend der partitionierten Zielzust¨ande werde Zustands¨uberg¨ange in der temporalen Struktur eingef¨ugt

Beispiel 2.4.2 Gegeben ist der endliche Automat in Abb 2.15a) mit drei Zust¨anden

s0, s1und s2 Abbildung 2.15b) zeigt die ¨aquivalente temporale Struktur Zustand

s besitzt lediglich einen eingehenden Zustands¨ubergang mit Eingabesymbol i Aus

Trang 5

diesem Grund gibt es in der temporalen Struktur auch nur einen Zustand der mit s0i0

markiert ist

s2

s0i0

s2i2

s1i1

s1i3

s2i4

i0

i1

i1

i2

i3

i4

Abb 2.15 a) endlicher Automat und b) ¨aquivalente temporale Struktur

Zustand s1hingegen besitzt drei eingehende Zustands¨uberg¨ange mit zwei unter-schiedlichen Symbolen, weshalb in der temporalen Struktur zwei Zust¨ande angelegt

und mit Eingabesymbolen markiert werden Schließlich besitzt Zustand s2zwei ein-gehende Zustands¨uberg¨ange mit zwei unterschiedlichen Symbolen Es werden ent-sprechend zwei Zust¨ande in der temporalen Struktur angelegt

2.4.2 Temporale Aussagenlogik

Temporale Strukturen repr¨asentieren Sequenzen Diese beschreiben funktionale Ei-genschaften eines Systems und werden in der Spezifikation als funktionale Anforde-rungen verwendet Temporale Strukturen lassen sich mittels temporallogischer

For-meln beschreiben Im Folgenden werden zwei wichtige Vertreter sog temporaler Aussagenlogiken und deren Relation zueinander diskutiert.

Lineare temporale Aussagenlogik (LTL)

Handelt es sich bei der ¨Ubergangsrelation R einer temporalen Struktur in

Definiti-on 2.4.1 um eine FunktiDefiniti-on, so besitzt jeder Zustand s ∈ S der temporalen Struktur

genau einen Nachfolgezustand In diesem Fall repr¨asentiert die temporale Struktur genau einen unendlich langen Pfad Da die Berechnungssequenz nicht verzweigen kann, spricht man auch von einem linearen Zeitmodell Im Folgenden wird die Er-weiterung der Aussagenlogik (siehe Anhang A) um temporale Operatoren f¨ur

linea-re Zeitmodelle pr¨asentiert Das Ergebnis ist eine linealinea-re temporale Aussagenlogik (engl Linear Time propositional Logic, LTL) Im Anschluss wird die Annahme

ei-nes linearen Zeitmodells verworfen Somit k¨onnen Sequenzen

”verzweigen“ (siehe Abb 2.14b)) In diesem Fall spricht man von einem verzweigenden Zeitmodell (engl

branching time).

Trang 6

LTL-Formeln werden mittels atomarer Aussagen (aussagenlogische Variablen),

logischen Operatoren und temporalen Operatoren gebildet Zwei grundlegende tem-porale Operatoren existieren hierbei: X und U Diese werden als Next- und Until-Operatoren bezeichnet Der Next-Operator ist ein un¨arer, der Until-Operator ein bin¨arer Operator Ein Zustands¨ubergang in einer temporalen Struktur wird als Zeit-schritt bezeichnet Die Formel Xϕsagt aus, dassϕim n¨achsten Zeitschritt gilt Die FormelϕUψ besagt, dassϕ solange gilt, bis ψ wahr wird Implizit gilt, dassψ

irgendwann gilt

Definition 2.4.3 (Syntax von LTL) Sei V die Menge an aussagenlogischen

Varia-blen (atomaren Formeln) Eine LTL-Formel wird rekursiv wie folgt definiert:

• Atomare Formelnϕ∈ V sind LTL-Formeln.

• Seienϕundψ LTL-Formeln, so sind auch ¬ϕundϕψLTL-Formeln.

• Seienϕundψ LTL-Formeln, so sind auch XϕundϕUψLTL-Formeln.

Weitere logische Verkn¨upfungen k¨onnen aus ¬ und ∨ gebildet werden, z B.

ϕψ:= ¬(¬ϕ∨ ¬ψ) Neben den temporalen Operatoren X und U gibt es weitere

temporale Operatoren: Der Globally-Operator Gϕ besagt, dass ϕ f¨ur alle Zeiten

gilt Der Finally-Operator Fϕsagt aus, dassϕirgendwann in der Zukunft gilt Dabei

schließt die Zukunft die Gegenwart mit ein Schließlich besagt der Release-Operator

ϕRψ, dassψsolange gilt, bisϕdas erste Mal wahr wird (eventuell f¨ur immer, falls

ϕniemals gilt, wodurch sich R von dem Operator U unterscheidet) Diese temporalen Operatoren k¨onnen mit Hilfe des Until-Operators definiert werden:

Fϕ := T Uϕ

Gϕ := ¬F ¬ϕ

ϕRψ := ¬(¬ϕU¬ψ) Die Semantik von LTL-Formeln wird mit Hilfe eines unendlichen Pfad ˜s in einer

temporalen Struktur definiert:

Definition 2.4.4 (Semantik von LTL-Formeln) Seiϕeine LTL-Formel, so bedeu-tet M , ˜s |=ϕ, dass ϕ entlang des Pfades ˜ s = s0,s1,  der linearen temporalen Struktur M mit Anfangszustand s0gilt Seienϕundψzwei LTL-Formeln, dann kann

|= wie folgt definiert werden:

M , ˜s |= T ⇔ gilt immer

M , ˜s |=ϕ ϕ∈ L(s0), fallsϕ∈ V

M , ˜s |= ¬ϕ ⇔ M, ˜s |=ϕ

M , ˜s |=ϕψ ⇔ M, ˜s |=ϕoder M , ˜s |=ψ

M , ˜s |= Xϕ ⇔ M, ˜s1|=ϕ

M , ˜s |=ϕUψ ⇔ ∃k ≥ 0 : M, ˜s k |=ψ∧ ∀0 ≤ j < k : M, ˜s j |=ϕ

Man beachte, dass die Semantik von LTL-Formeln bez¨uglich eines Pfades de-finiert ist, d h das zugrundeliegende Zeitmodell einer LTL-Formel ist linear Die Semantik der temporalen Operatoren in LTL ist in Abb 2.16 dargestellt

Trang 7

F ϕ :

G ϕ :

X ϕ :

ϕ

ϕ

Abb 2.16 Semantik der temporalen Operatoren in LTL [272]

Definition 2.4.5 (G ¨ultigkeit und Erf ¨ullbarkeit von Formeln) Eine

LTL-Formel ϕ heißt g¨ultig, falls f¨ur alle linearen temporalen Strukturen M gilt, dass

M , ˜s |=ϕ Sie heißt erf¨ullbar, falls eine temporale Struktur M existiert, so dass

M , ˜s |=ϕ Jede Struktur M, f¨ur die gilt, dass M , ˜s |=ϕ, heißt Modell vonϕ.

Eine LTL-Formel ist in ihrer Normalform gegeben, wenn Negationen lediglich

vor aussagenlogischen Formeln auftreten So ist beispielsweise¬Fϕ nicht in Nor-malform, da die Negation vor dem temporalen Operator F auftritt Die ¨aquivalente LTL-Formel G¬ϕhingegen ist in Normalform Eine LTL-Formel kann immer in

ei-ne ¨aquivalente LTL-Formel in Normalform gebracht werden, indem die Negatioei-nen hinter die temporalen Operatoren gebracht werden Die wichtigsten ¨Aquivalenzen hierf¨ur lauten:

= ¬X ¬ϕ

= ¬F ¬ϕ

ϕUψ = ¬(¬ψR¬ϕ)

Fϕ = T Uϕ

Verzweigende temporale Aussagenlogik (CTL)

Nach der Einf¨uhrung von LTL wird nun die Annahme verworfen, dass die ¨

Uber-gangsrelation R der temporalen Struktur M eine Funktion sein muss Als

Konse-quenz k¨onnen die repr¨asentierten SeKonse-quenzen

”verzweigen“und man erh¨alt dann ein

verzweigendes Zeitmodell (engl branching time) In einem verzweigenden

Zeitmo-dell ist es allerdings nicht mehr ausreichend, lediglich temporale Aspekte, wie in einem linearen Zeitmodell, zu ber¨ucksichtigen Vielmehr sind auch die Umst¨ande (Modalit¨aten) von Bedeutung, f¨ur welchen Zweig eine Formel gelten soll Deshalb

werden neben temporalen Operatoren auch modallogische Operatoren ben¨otigt.

Zwei modallogische Operatoren werden unterschieden: E und A Der Operator

E beschreibt die M¨oglichkeit, der Operator A die Notwendigkeit, dass die folgende

Formel g¨ultig wird ¨Ubertragen auf das verzweigende Zeitmodell bedeutet dies, dass zur Erf¨ullung einer Formel, der der Operator E voransteht, ein Pfad existiert, auf dem die Formel erf¨ullt Im Fall einer Formel, der der Operator A voransteht, muss die folgende Formel auf allen Pfaden g¨ultig werden Aus diesem Grund werden die

Trang 8

modallogischen Operatoren auch als Pfadquantoren bezeichnet Der Pfadquantor E wird als existenzieller Pfadquantor (auch Existenzquantor) bezeichnet, da dieser die

Existenz mindestens eines Pfades fordert, der die folgende Formel erf¨ullt Der

Pfad-quantor A wird als universeller PfadPfad-quantor (auch AllPfad-quantor) bezeichnet, da dieser

verlangt, dass alle Pfade die folgende Formel erf¨ullen

Die beiden Pfadquantoren E und A sind integraler Bestandteil von CTL (engl Computation Tree Logic) und eine Voraussetzung f¨ur eine temporale Aussagenlogik

f¨ur verzweigende Zeitmodelle

Definition 2.4.6 (Syntax von CTL) Sei V die Menge der aussagenlogischen

Varia-blen (atomaren Formeln) Eine CTL-Formel wird rekursiv wie folgt definiert:

• Atomare Formelnϕ∈ V sind CTL-Formeln.

• Seienϕundψ CTL-Formeln, so sind auch ¬ϕundϕψCTL-Formeln.

• Seienϕ und ψ CTL-Formeln, so sind auch EXϕ, Eϕ Uψ und EGϕ CTL-Formeln.

Wie im Fall von LTL, k¨onnen auch bei CTL weitere logische und temporale Ope-ratoren abgeleitet werden Man beachte, dass in CTL jedem temporalen Operator ein Pfadquantor vorangestellt wird Ber¨ucksichtigt man die Pfadquantoren E und A sowie die temporalen Operatoren X, F, G und U, so gibt es in CTL acht temporal-logische Operatoren EX, AX, EF, AF, EG, AG, EU und AU Die in Definition 2.4.6 verwendeten Operatoren EX, EG und EU bilden jedoch eine vollst¨andige Basis, d h die anderen temporallogischen Operatoren k¨onnen aus ihnen abgeleitet werden

Definition 2.4.7 (Semantik von CTL-Formeln) Seiϕeine CTL-Formel, so bedeu-tet M ,s |=ϕ, dassϕ im Zustand s der temporalen Struktur M gilt Seienϕ undψ

zwei CTL-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ϕ ⇔ ∃s0,s1, ,(s = s0) : M,s1|=ϕ

M ,s |= EGϕ ⇔ ∃s0,s1, ,(s = s0) : ∀k ≥ 0 : M,s k |=ϕ

M ,s |= EϕUψ ⇔ ∃s0,s1, ,(s = s0) :

∃k ≥ 0 : M,s k |=ψ∧ ∀0 ≤ j < k : M,s j |=ϕ

Abbildung 2.17 zeigt die Semantik der acht temporallogischen CTL-Operatoren

Definition 2.4.8 (G ¨ultigkeit und Erf ¨ullbarkeit von Formeln) Eine

CTL-Formelϕ heißt g¨ultig, falls f¨ur alle temporalen Strukturen M und f¨ur alle Zust¨ande

s gilt, dass M ,s |=ϕ Ist eine temporale Struktur M gegeben, so heißt sie g¨ultig in

M, falls f¨ur alle Zust¨ande s von M gilt, dass M ,s |=ϕ Sie heißt erf¨ullbar, falls eine temporale Struktur M mit Zustand s existiert, so dass M ,s |=ϕ.

Trang 9

s0 s0

ϕ ϕ

s0 s0

s0 s0

s0 |= EXϕ : s0 |= AXϕ :

s0 |= AFϕ :

s0 |= EFϕ :

ϕ

ϕ

s0 |= AGϕ :

ϕ ϕ

ϕ

ψ ψ ψ

ϕ

Abb 2.17 Semantik der acht temporallogischen Operatoren in CTL [272]

Trang 10

Eine CTL-Formel ist in Normalform, wenn die Negation nur f¨ur

aussagenlogi-sche Formeln verwendet wird Entsprechend ist¬AXϕnicht in Normalform, da die Negation vor AX steht Hingegen ist die CTL-Formel EX¬ϕ in Normalform und

¨aquivalent zu¬AXϕ Eine CTL-Formel kann stets mit den folgenden ¨Aquivalenzen

in Normalform ¨uberf¨uhrt werden:

AXϕ = ¬EX ¬ϕ

AGϕ = ¬EF ¬ϕ

AϕUψ = ¬(E ¬ψU¬ϕ∧ ¬ψ) ∧ ¬EG ¬ψ

AFϕ = A T Uϕ

EFϕ = E T Uϕ

CTL*

Das lineare Zeitmodell, welches LTL zugrundeliegt, ist eine Spezialfall des genden Zeitmodells Aus diesem Grund ist es m¨oglich, LTL auch auf einem verzwei-genden Zeitmodell zu definieren Hierzu wird jede LTL-Formel implizit allquantifi-ziert In LTL muss nicht jedem temporalen Operator ein Pfadquantor vorangestellt werden, w¨ahrend dies in CTL-Formeln notwendig ist Deshalb gibt es LTL-Formeln, die sich nicht in CTL ausdr¨ucken lassen und umgekehrt

Beispiel 2.4.3 Gegeben ist die LTL-Formelϕ:= FG p Wird diese in ein verzwei-gendes Zeitmodell eingebettet, erh¨alt manϕ= AF G p Eine temporale Struktur, die

ein Modell f¨urϕdarstellt, ist in Abb 2.18 zu sehen Die LTL-Formelϕist allerdings nicht ¨aquivalent zu der CTL-Formelψ= AF AG p.

s2 s1

s0 s3

Abb 2.18 Temporale Struktur, die ein Modell f¨ur AF G p ist [457]

Der Grund hierf¨ur ist, dass LTL-Formeln mit individuellen Pfaden assoziiert

wer-den Auf jedem unendlichen Pfad beginnend im Zustand s0kann der Zustand s2

er-reicht werden Sobald s2erreicht ist, gilt p in jedem Folgezustand Die CTL-Formel

ψ:= AF AGp verlangt allerdings, dass auf jedem Pfad, beginnend in s0, ein Zustand

erreicht werden kann, in dem AG p gilt Der einzige Zustand, in dem AG p gilt, ist Zustand s2 Allerdings muss nicht jeder Pfad zwangsl¨aufig zum Zustand s2f¨uhren

Vielmehr gibt es einen Pfad, der beliebig lange in Zustand s0verweilt Genau dieser

Pfad ist ein Gegenbeispiel f¨ur die G¨ultigkeit von AF AG p.

Ngày đăng: 03/07/2014, 08:20