Reactive Systems: Modelling, Specification and Verification - Cs.ioc.ee
Reactive Systems: Modelling, Specification and Verification - Cs.ioc.ee
Reactive Systems: Modelling, Specification and Verification - Cs.ioc.ee
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
122 CHAPTER 6. HML WITH RECURSION<br />
F U s G min<br />
= G ∨ (F ∧ 〈Act〉tt ∧ [Act](F U s G)) , <strong>and</strong><br />
F U w G max<br />
= G ∨ (F ∧ [Act](F U w G)) .<br />
It should be clear that, as the names indicate, strong until is a stronger condition<br />
than weak until. We can use the ‘until’ operators to express Even(F ) <strong>and</strong> Inv(F ).<br />
In fact, Even(G) ≡ tt U s G <strong>and</strong> Inv(F ) ≡ F U w ff.<br />
Properties like ‘some time in the future’ <strong>and</strong> ‘until’ are examples of what we<br />
call temporal properties. Tempora is Latin—it is plural for tempus, which means<br />
‘time’—, <strong>and</strong> a logic that expresses properties that depend on time is called temporal<br />
logic. The study of temporal logics is very old <strong>and</strong> can be traced back to Aristotle.<br />
Within the last 30 years, researchers in computer science have started showing<br />
interest in temporal logic as, within this framework, it is possible to express properties<br />
of the behaviour of programs that change over time (Clarke, Emerson <strong>and</strong><br />
A.P. Sistla, 1986; Manna <strong>and</strong> Pnueli, 1992; Pnueli, 1977).<br />
The modal µ-calculus (Kozen, 1983) is a generalization of Hennessy-Milner<br />
logic with recursion that allows for largest <strong>and</strong> least fixed point definitions to be<br />
mixed fr<strong>ee</strong>ly. It has b<strong>ee</strong>n shown that the modal µ-calculus is expressive enough<br />
to describe any of the st<strong>and</strong>ard operators that occur in the framework of temporal<br />
logic. In this sense by extending Hennessy-Milner logic with recursion we obtain<br />
a temporal logic.<br />
From the examples in this section we can s<strong>ee</strong> that least fixed points are used to<br />
express that something will happen sooner or later, whereas the largest fixed points<br />
are used to express invariance of some state of affairs during computations, or that<br />
something does not happen as a system evolves.<br />
6.2 Syntax <strong>and</strong> semantics of HML with recursion<br />
The first step towards introducing recursion in HML is to add variables to the syntax.<br />
To start with we only consider one recursively defined property. We will study<br />
the more general case of properties defined by mutual recursion later.<br />
The syntax for Hennessy-Milner-logic with one variable X, denoted by M {X},<br />
is given by the following grammar:<br />
F ::= X | tt | ff | F1 ∧ F2 | F1 ∨ F2 | 〈a〉F | [a]F .<br />
Semantically a formula F (that may contain a variable X) is interpreted as a function<br />
OF : 2 Proc → 2 Proc that, given a set of processes that are assumed to satisfy<br />
X, gives us the set of processes that satisfy F .