C.7 Fluent Linear Temporal Logic (FLTL)


C.7 Fluent Linear Temporal Logic (FLTL)

C.7.1 Linear Temporal Logic

Given a set of atomic propositions image from book, a well-formed LTL formula is defined inductively using the standard Boolean operators ! (not), | | (or), && (and), and the temporal operators X (next) and U (strong until) as follows:

  • each member of image from book is a formula,

  • if φ and ψ are formulae, then so are ! φ, φ || ψ, φ && ψ, X φ, φ U ψ.

An interpretation for an LTL formula is an infinite word w = x0x1x2 ... over image from book. In other words, an interpretation maps to each instant of time a set of propositions that hold at that instant. We write wi for the suffix of w starting at xi. LTL semantics is then defined inductively as follows:

  • w |= p iff p x0, for p image from book

  • w |= ! φ iff not w| = φ

  • w |=φ || ψ iff (w| = φ) or (w| = ψ)

  • w |=φ && ψ iff (w| = φ) and (w| = ψ)

  • w |= X φ iff w1| = φ

  • w |=φ U ψ iff image from booki 0, such that: wi| = ψ and 0 j < i, wj| = φ

We introduce the abbreviations “true φ || ! φ” and “false ! true”. Implication -> and equivalence <-> are defined as:

image from book

Temporal operators <> (eventually),[] (always), and W (weak until) are defined in terms of the main temporal operators:

image from book

C.7.2 Fluents

We define a fluent Fl by a pair of sets, a set of initiating actions IFl and a set of terminating actions TFl:

image from book

In addition, a fluent Fl may initially be true or false at time zero as denoted by the attribute InitiallyFl.

The set of atomic propositions from which FLTL formulae are built is the set of fluents Φ. Therefore, an interpretation in FLTL is an infinite word over 2Φ, which assigns to each time instant the set of fluents that hold at that time instant. An infinite word < a0a1a2 ··· > over Act (i.e. an infinite trace of actions) also defines an FLTL interpretation < f0f1f2 ··· > over 2Φ as follows:

  • i N, Fl Φ, Fl fi iff either of the following holds

  • InitiallyFl image from book (k N · 0 k i, ak image from book TFl)

  • image from bookj N : ((j i) image from book (aj IFl) image from book (k N · j < k i, ak image from book TFl))

In other words, a fluent holds at a time instant if and only if it holds initially or some initiating action has occurred, and, in both cases, no terminating action has yet occurred. Note that the interval over which a fluent holds is closed on the left and open on the right, since actions have immediate effect on the values of fluents. Since the sets of initiating and terminating actions are disjoint, the value of a fluent is always deterministic with respect to a system execution.

Every action a implicitly defines a fluent whose initial set of actions is the singleton {a} and whose terminating set contains all other actions in the alphabet of a process A image from book Act :

image from book

Fluent(a) becomes true the instant a occurs and becomes false with the first occurrence of a different action. It is often more succinct in defining properties to declare a fluent implicitly for a set of actions as in:

image from book

This is equivalent to a0 || a1 || ... || an where ai represents the implicitly defined Fluent(ai).




Concurrency(c) State Models & Java Programs
Concurrency: State Models and Java Programs
ISBN: 0470093552
EAN: 2147483647
Year: 2004
Pages: 162

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net