30.04.2013 Views

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

SHOW MORE
SHOW LESS

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.

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

Saved successfully!

Ooh no, something went wrong!