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.
6 D. Lepri, E. Ábrahám, and P. Cs. Ölveczky<br />
The <strong>Real</strong>-<strong>Time</strong> Maude tool [30] extends the Maude system [15] to support<br />
the specification, simulation, and analysis of real-time rewrite theories. <strong>Real</strong>-<br />
<strong>Time</strong> Maude is parametric <strong>in</strong> the time doma<strong>in</strong>, which may be discrete or dense,<br />
and def<strong>in</strong>es a supersort <strong>Time</strong>Inf of <strong>Time</strong> which adds the <strong>in</strong>f<strong>in</strong>ity element INF.<br />
To cover all time <strong>in</strong>stances <strong>in</strong> a dense time doma<strong>in</strong>, tick rules often have one of<br />
the forms<br />
crl [tick] : {t} => {t ′ } <strong>in</strong> time x if x {t ′ } <strong>in</strong> time x if cond [nonexec] . (∗), or<br />
rl [tick] : {t} => {t ′ } <strong>in</strong> time x [nonexec] . (§).<br />
where x is a new variable of sort <strong>Time</strong> not occurr<strong>in</strong>g <strong>in</strong> {t} and cond. This<br />
ensures that the tick rules can advance time by any amount <strong>in</strong> rules of the form<br />
(∗) or (§) and any amount less than or equal to u <strong>in</strong> rules of the form (†). Rules<br />
of these forms are called time-nondeterm<strong>in</strong>istic and are not directly executable<br />
<strong>in</strong> general, s<strong>in</strong>ce many choices are possible for <strong>in</strong>stantiat<strong>in</strong>g the new variable x.<br />
In contrast to, e.g., timed automata, where the restrictions <strong>in</strong> the formalism<br />
allow the abstraction of the dense time doma<strong>in</strong> by “clock regions” conta<strong>in</strong><strong>in</strong>g<br />
bisimilar states [3], for the more complex systems expressible <strong>in</strong> <strong>Real</strong>-<strong>Time</strong><br />
Maude there is not such a discrete “quotient”. Instead, <strong>Real</strong>-<strong>Time</strong> Maude executes<br />
time-nondeterm<strong>in</strong>istic tick rules by offer<strong>in</strong>g a choice of different time sampl<strong>in</strong>g<br />
strategies [30], so that only some moments <strong>in</strong> the time doma<strong>in</strong> are visited.<br />
For example, the maximal time sampl<strong>in</strong>g strategy advances time by the maximum<br />
possible time elapse u <strong>in</strong> rules of the form (†) (unless u equals INF), and<br />
tries to advance time by a user-given time value r <strong>in</strong> tick rules hav<strong>in</strong>g other<br />
forms. In the default mode each application of a time-nondeterm<strong>in</strong>istic tick rule<br />
will try to advance time by a given time value r.<br />
The paper [30] expla<strong>in</strong>s the semantics of <strong>Real</strong>-<strong>Time</strong> Maude <strong>in</strong> more detail.<br />
In particular, given a real-time rewrite theory R and a time sampl<strong>in</strong>g strategy<br />
σ, there is a real-time rewrite theory R σ that has been obta<strong>in</strong>ed from R<br />
by apply<strong>in</strong>g a theory transformation correspond<strong>in</strong>g to us<strong>in</strong>g the time sampl<strong>in</strong>g<br />
strategy σ when execut<strong>in</strong>g the tick rules. In particular, the real-time rewrite<br />
theory R maxDef (r) denotes the real-time rewrite theory R where the tick rules<br />
are applied accord<strong>in</strong>g to the maximal time sampl<strong>in</strong>g strategy, while R def(r) denotes<br />
R where the tick rules are applied accord<strong>in</strong>g to the default time sampl<strong>in</strong>g<br />
strategy (tick steps which advance time by 0 are not applied).<br />
A real-time rewrite theory R is time-robust if the follow<strong>in</strong>g hold for all ground<br />
terms t, t ′ , t ′′ of sort GlobalSystem and all ground terms r, r ′ , of sort <strong>Time</strong>:<br />
– t = t ′ holds <strong>in</strong> the underly<strong>in</strong>g equational theory for any 0-time tick step<br />
0<br />
t −→ t ′ .<br />
– t r+r′<br />
−→ t ′′ if and only if there is a t ′ r<br />
of sort <strong>Time</strong> such that t −→ t ′ and<br />
−→ t ′′ .<br />
r<br />
– If t −→ t ′ ′ <strong>in</strong>st<br />
is a tick step with r > 0, and t −→ t ′′ is an <strong>in</strong>stantaneous one-step<br />
r<br />
rewrite, then t −→ t ′′ is a maximal tick step.<br />
– for M = {r | ∃t ′ r<br />
. t −→ t ′ } we have that either there is a maximal element <strong>in</strong><br />
M or M is the whole doma<strong>in</strong> of <strong>Time</strong>.<br />
t ′ r ′