next up previous contents index
Next: 6.5.3 Computation of paths Up: 6.5 Reachability analysis Previous: 6.5.1 Reductions of the


6.5.2 Predicates and CTL model checking

In this section, you will find a short introduction into the syntax and semantics of CTL (Computational Tree Logic), and a description of the state predicates used in INA .

Subsections

State predicates

During the computation of minimal paths (see chapter 6.5.3 on page [*]ff), the reachability analysis (see under ``bad'' predicate on page [*] in chapter 6.5.4), and the model checking (see on page [*]ff in chapter 6.5.4), INA works with state predicates.

A predicate is a disjunction of conjunctions of possibly negated atoms (disjunctive normal form). An atom consists of a statement of the form

$low \leq value \leq upp$ (where $0\leq low\leq upp\leq \infty$)

As an example for the state predicates used in INA , value=number of tokens on a place; an atom $p_1:\;low=1,\;upp=2;$ is then satisfied by all states in which place p1 contains one or two tokens. For clocked transitions, restrictions of the clock positioning can be formulated in the same way.

When a predicate is requested at the predicate input file prompt, you can switch to the terminal mode by pressing <esc> . If so, enter the first conjunction of atoms: After entering a place number, the lower and upper bounds are asked for (lower bound, upper bound). With <o> , you can enter unbounded above. You can negate the atom or not (negate the atom?), and then enter another state number, or quit the current conjunction with <Q> . When working with time allocation, further state atoms can be defined with respect to time restrictions.

If you answer the question next conjunction with <Y> , you get to the definition of the next conjunction of (possibly negated) atoms.

Predicates are saved in files with the extension .pdc.

In chapter 6.5.4 on page [*]ff, you find a set of functions with which certain predicates can be generated automatically. In the atomic mode described there, simpler atoms, which represent the alternative whether a place is marked or not, can also be used as predicates.


Model checking

Testing the validity of CTL-formulae in the initial state is called model checking. Thereby, witnesses for existence-quantified sub-formulae, and counter examples for all-quantified sub-formulae can be determined and displayed. On the computation procedure and the entering of formulae, see chapter 6.5.4 on page [*]; on the implementation, see [Hel96].

Model checking is based on the structure M=[S,R,P] of a labelled state transition graph where


Syntax of CTL

The syntax of CTL-formulae is defined inductively:


Semantics of CTL

A path is an infinite sequence of states $(s_0,s_1,\ldots)$, so that $(s_i,s_{i+1})\in R$ holds for all i.

The relation $M,s_0\models f$ means that the CTL-formula f is satisfied in the state s0 within the given structure M.

We use the following inductive definition of $\models$:

The entering of CTL-formulae is described in chapter 6.5.4 on page [*]ff.


Equivalences and further notes

Among others, the following equivalences hold:

The semi-formal significance of the individual quantors is underlined by the symbols used: E stands for ``exists'', A for ``always'', X for ``next'', U for ``until'', B for ``before'', F for ``forward'', and G for ``globally''.


next up previous contents index
Next: 6.5.3 Computation of paths Up: 6.5 Reachability analysis Previous: 6.5.1 Reductions of the

© 1996-99 Prof. Peter H. Starke (starke@informatik.hu-berlin.de) und Stephan Roch (roch@...)

INA Manual Version 2.2 (last changed 1999-04-19)