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 1drei 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 218 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 32.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 4a) 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 5diesem 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 6LTL-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 7F ϕ :
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ϕ = ¬X ¬ϕ
Gϕ = ¬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 8modallogischen 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 9s0 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 10Eine 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.