14.08.2013 Views

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

SHOW MORE
SHOW LESS

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 .

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!