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 5<br />

quantified by the variables appear<strong>in</strong>g <strong>in</strong> t, t ′ and cond, and specifies a set of<br />

local one-step transitions <strong>in</strong> the system. Rules are applied modulo the equations<br />

E. The set T Σ/E,s of states of sort s is def<strong>in</strong>ed by the E-equivalence classes of<br />

ground terms of sort s.<br />

<strong>Real</strong>-time rewrite theories [28] are used to specify real-time systems <strong>in</strong> rewrit<strong>in</strong>g<br />

logic. Rules are divided <strong>in</strong>to tick rules, that model time elapse <strong>in</strong> a system,<br />

and <strong>in</strong>stantaneous rules, that model <strong>in</strong>stantaneous change. Formally a real-time<br />

rewrite theory R is a tuple (Σ, E, R, φ, τ) such that<br />

– (Σ, E, R) is a rewrite theory, with a sort System and a sort GlobalSystem<br />

with no subsorts or supersorts and with only one operator {_} : System →<br />

GlobalSystem which satisfies no non-trivial equations; furthermore, for any<br />

f : s1 . . . sn → s <strong>in</strong> Σ, the sort GlobalSystem does not appear <strong>in</strong> s1 . . . sn.<br />

– φ : TIME → (Σ, E) is an equational theory morphism which <strong>in</strong>terprets<br />

TIME <strong>in</strong> R; the theory TIME [28] def<strong>in</strong>es time abstractly as an ordered commutative<br />

monoid (<strong>Time</strong>, 0, +, r with t −→ t ′′ for some<br />

t ′′ r0 r1 r2<br />

. A timed path <strong>in</strong> R is an <strong>in</strong>f<strong>in</strong>ite sequence π = t0 −→ t1 −→ t2 −→ · · · such<br />

that<br />

ri<br />

– for all i ∈ N, ti −→ ti+1 is a one-step rewrite <strong>in</strong> R; or<br />

ri<br />

– there exists a k ∈ N such that ti −→ ti+1 is a one-step rewrite <strong>in</strong> R for all<br />

0 ≤ i < k, there is no one-step rewrite from tk <strong>in</strong> R, and tj = tk and rj = 0<br />

for each j ≥ k.<br />

For paths π of the above form we def<strong>in</strong>e dπ m = m−1 i=0 ri, tπ m = tm and rπ m = rm.<br />

r0 r1 r2<br />

We call the timed path π = t0 −→ t1 −→ t2 −→ · · · a timed fair path if<br />

– for any ground term ∆ of sort <strong>Time</strong>, if there is a k such that for each j > k<br />

r<br />

there is a one-step tick rewrite tj −→ t with ∆ ≤ dπ j + r then there is an l<br />

with ∆ ≤ dπ l , and<br />

– for each k, if for each j > k both a maximal tick step with duration 0 and an<br />

<strong>in</strong>st<br />

<strong>in</strong>stantaneous rule can be applied <strong>in</strong> tj then tl −→ tl+1 is a one-step rewrite<br />

apply<strong>in</strong>g an <strong>in</strong>stantaneous rule for some l > k.<br />

We denote the set of all timed fair paths of R start<strong>in</strong>g <strong>in</strong> t0 by tfPathsR(t0). A<br />

term t is reachable from t0 <strong>in</strong> R <strong>in</strong> time r iff there is a path π ∈ tfPathsR(t0) with tπ k = t and dπ k = r for some k. A path π is time-divergent iff for each time<br />

value r ∈ <strong>Time</strong> there is an i ∈ N such that dπ i > r.<br />

r ′

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

Saved successfully!

Ooh no, something went wrong!