Timed CTL Model Checking in Real-Time Maude⋆ - IfI
Timed CTL Model Checking in Real-Time Maude⋆ - IfI
Timed CTL Model Checking in Real-Time Maude⋆ - IfI
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong><strong>Time</strong>d</strong> <strong>CTL</strong> <strong>Model</strong> <strong>Check<strong>in</strong>g</strong> <strong>in</strong> <strong>Real</strong>-<strong>Time</strong> Maude 7<br />
<strong>Real</strong>-<strong>Time</strong> Maude extends Maude’s l<strong>in</strong>ear temporal logic model checker to<br />
check whether each behavior, possibly up to a certa<strong>in</strong> time bound, satisfies an<br />
(untimed) LTL formula. State propositions are terms of sort Prop. The label<strong>in</strong>g<br />
of states with propositions can be specified by (possibly conditional) equations<br />
of the form<br />
{stateP attern} |= prop = b<br />
for b a term of sort Bool, which def<strong>in</strong>es the state proposition prop to evaluate to b<br />
<strong>in</strong> all states match<strong>in</strong>g the given pattern. We say that a set of atomic propositions<br />
is tick-<strong>in</strong>variant <strong>in</strong> R if tick rules do not change their values.<br />
S<strong>in</strong>ce the model check<strong>in</strong>g commands execute time-nondeterm<strong>in</strong>istic tick rules<br />
accord<strong>in</strong>g to a time sampl<strong>in</strong>g strategy, only a subset of all possible behaviors<br />
is analyzed. Therefore, <strong>Real</strong>-<strong>Time</strong> Maude analysis is <strong>in</strong> general not sound and<br />
complete. However, the reference [29] gives easily checkable sufficient conditions<br />
for soundness and completeness, which are satisfied by many large <strong>Real</strong>-<strong>Time</strong><br />
Maude applications.<br />
3 <strong><strong>Time</strong>d</strong> <strong>CTL</strong> <strong>Model</strong> <strong>Check<strong>in</strong>g</strong> for <strong>Real</strong>-<strong>Time</strong> Maude<br />
In untimed temporal logics it is not possible to reason about the duration<br />
of/between events. There are many timed extensions of temporal logics: both<br />
po<strong>in</strong>t-based and <strong>in</strong>terval-based, l<strong>in</strong>ear-time and branch<strong>in</strong>g-time, with discrete or<br />
dense time, based on po<strong>in</strong>twise or cont<strong>in</strong>uous semantics, etc. (see [4, 36, 12] for<br />
an overview). In this paper we consider T<strong>CTL</strong> [5] with <strong>in</strong>terval time constra<strong>in</strong>ts<br />
on temporal operators.<br />
3.1 <strong><strong>Time</strong>d</strong> <strong>CTL</strong><br />
In computation tree logic (<strong>CTL</strong>) [5], a state formula specifies a property over the<br />
computation tree correspond<strong>in</strong>g to the system behavior rooted <strong>in</strong> a given state.<br />
State formulae are constructed by add<strong>in</strong>g universal (A ) and existential (E )<br />
path quantifiers <strong>in</strong> front of path formulae to specify whether the path formula<br />
must hold, respectively, on each path start<strong>in</strong>g <strong>in</strong> the given state, or just on some<br />
path. Path formulae are built from state formulae us<strong>in</strong>g the temporal operators<br />
X (“next”) and U (“until”). Intuitively, the path formula p U q (“p until q”)<br />
is satisfied by a path if the property q becomes valid with<strong>in</strong> a f<strong>in</strong>ite number of<br />
steps and the property p constantly holds on the path before.<br />
As syntactic sugar we use the common abbreviations: E F ϕ is def<strong>in</strong>ed as<br />
E true U ϕ; A F ϕ is def<strong>in</strong>ed as A true U ϕ; E G ϕ is def<strong>in</strong>ed as ¬A F ¬ϕ and<br />
A G ϕ is def<strong>in</strong>ed as ¬E F ¬ϕ.<br />
<strong><strong>Time</strong>d</strong> <strong>CTL</strong> (T<strong>CTL</strong>) is a quantitative extension of <strong>CTL</strong> [5], where the scope<br />
of the temporal operators can be limited <strong>in</strong> time by subscript<strong>in</strong>g them with time<br />
constra<strong>in</strong>ts. In this paper we consider an <strong>in</strong>terval-bound version of T<strong>CTL</strong> where<br />
the temporal operators are subscripted with a time <strong>in</strong>terval. A time <strong>in</strong>terval I<br />
is an <strong>in</strong>terval of the form [a, b], (a, b], [a, b∞) or (a, b∞), where a and b are values<br />
of sort <strong>Time</strong> and b∞ is a value of sort <strong>Time</strong>Inf.