Lineare temporale Logik
Lineare temporale Logik (LTL oder Linear temporal logic) ist eine formale modale temporale Logik, die zur Modellprüfung aufgestellt und benutzt wird. In LTL können Formeln über die Zukunft von Pfaden aufgestellt werden, beispielsweise dass eine Bedingung irgendwann wahr wird oder eine Bedingung wahr bleibt, bis eine andere Bedingung erfüllt wird.
Syntax
LTL ist aus einer Menge von Aussagenvariablen , den logischen Verknüpfungen und den nachfolgenden temporalen modalen Operatoren aufgebaut:
- X für Nachfolger (next; N wird synonym benutzt)
- G für global
- F für irgendwann (finally)
- U für bis (until)
- R für Auflösung (release).
Die ersten drei Operatoren sind unär, so dass X eine syntaktisch korrekte Formel ist, wenn syntaktisch korrekt ist. Die letzten zwei Operatoren sind binär, so dass U eine syntaktisch korrekte Formel ist, wenn und syntaktisch korrekte Formeln sind.
Semantik
Eine LTL-Formel kann sowohl über einer unendlichen Sequenz von Aussagen als auch einer einzigen Position auf dem Pfad ausgewertet werden. Eine LTL-Formel ist genau dann auf einem Pfad erfüllt, wenn sie auf Position 0 des Pfades erfüllt ist. Die Semantik der modalen Operatoren ist wie folgt.
Textform | Symbol | Erklärung | Beispielpfad |
---|---|---|---|
Einstellige Verknüpfungen: | |||
X | nächster (NeXt): gilt am nächsten Zustand. | ![]() | |
G | Global: gilt auf dem kompletten nachfolgenden Pfad. | ![]() | |
F | Finally: gilt irgendwann auf dem nachfolgenden Pfad. | ![]() | |
Zweistellige Verknüpfungen: | |||
U | Until: gilt an der aktuellen oder einer nachfolgenden Position und gilt mindestens solange, bis diese Position erreicht ist. An dieser Position muss nicht mehr gelten. | ![]() | |
R | Release: gilt einschließlich bis zur ersten Position, an der gilt, oder für immer, wenn eine solche Position nicht existiert. | ![]()
|
Bereits die zwei Operatoren X und U sind fundamental, das heißt, sie definieren die anderen durch geeignete Verknüpfungen:
- F = true U
- G = false R = F
- R = ( U )
Sonderverknüpfungen
Einige Autoren definieren einen schwachen bis-Operator (weak until, mit W bezeichnet), der eine ähnliche Semantik wie der bis-Operator besitzt, jedoch keine Haltebedingung erforderlich ist. Manchmal ist es sinnvoll, wenn U und R mit Formeln des schwachen bis-Operators definiert werden können:
- U = F ( W )
- R = W ()
- W = R ()
- W = ( U )G
Wichtige Eigenschaften
Es gibt zwei wichtige Klassen von Eigenschaften, die mittels linearer temporaler Logik beschrieben werden können: Sicherheit (safety), sagt aus, dass etwas Unerwünschtes nie auftritt (G) und Lebendigkeit (liveness), was aussagt, dass etwas Erwünschtes immer wieder passiert (GF oder GF). Generell: Sicherheitseigenschaften sind solche, für die als Gegenbeispiel ein endliches Präfix ausreicht, dessen beliebige unendliche Verlängerung die Eigenschaft stets verletzt. Bei Lebendigkeitseigenschaften wiederum kann jeder beliebige endliche Präfix eines Pfads noch zu einem unendlichen Pfad verlängert werden, welcher die Formel erfüllt.
Äquivalenzumformungen
Folgende Äquivalenzumformungen sind möglich:
Beziehungen zu anderen Logiken
Lineare temporale Logik (LTL) ist eine Teilmenge der Computation Tree Logic* (CTL*), besitzt eine gemeinsame Teilmenge mit CTL ist jedoch weder Ober- noch Untermenge von CTL.
LTL ist äquivalent zur Prädikatenlogik mit einstelligen Relationssymbolen und der kleiner-Relation , wie auch stern-freien regulären Ausdrücken.
Automatentheoretisches LTL Model Checking
Ein wichtiger Weg zur Modellprüfung besteht darin, die gewünschten Eigenschaften (wie oben beschrieben) mit LTL-Operatoren auszudrücken und dann zu überprüfen, ob das Modell diese Eigenschaften erfüllt.
Ferner ist es möglich, einen zum Modell äquivalenten Büchi-Automaten zu erstellen und einen, der zur Negation der zu prüfenden Eigenschaft äquivalent ist. Der Schnitt der beiden nicht-deterministischen Büchi-Automaten ist leer, wenn das Modell die Eigenschaften erfüllt.
Siehe auch
- Computation Tree Logic (CTL)
Weblinks
- P. Gumm - Lineare temporale Logik von der Universität Marburg (PDF, 3,12 MB)
- A presentation of LTL (englisch, PDF, 90 kB)
- Linear-Time Temporal Logic and Büchi Automata (englisch, PDF, 212 kB)