Professional Documents
Culture Documents
Temporal Logic
6.1 Where it ts
Temporal logics have been used to specify properties of concurrent sys-
tems since they were rst proposed for this purpose around 1976, by
Amir Pnueli. These logics dier from all of the specication methods
we have seen so far in that they consider an entire execution at once,
as a distinct object. The other methods consider individual steps that
can be taken under various conditions, and infer what the executions
can be from descriptions of the allowed and required steps. Here, the
situation is reversed. The entire execution is the object under consider-
ation, and what individual steps can or must be taken is derived from
the temporal logic specication.
Temporal logic is a particular variant of modal logic, where new
logical operators are introduced to quantify over a family of objects
in the system. In the case of temporal logic in the simplest form, the
object in question is a sequence. We interpret this sequence as possible
states of the system being specied, as changed over time by atomic
actions. This is the only thing \temporal" about the logic. Time does
not appear explicitly in it, and in fact the operators could be applied
to any sequence.
Temporal logics have been used to specify entire systems, to aug-
ment other specication methods that can only express safety proper-
ties, and as input to (semi-) automatic verication systems for nite
1
2 CHAPTER 6. TEMPORAL LOGIC
state programs. This application will be considered in more detail in
Section 6.8.
Several variants of temporal logic have been developed. The basic
operators of linear temporal logic will be presented rst, and then some
possible extensions will be introduced as the diculties in expressive
power are analyzed.