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.

28 D. Lepri, E. Ábrahám, and P. Cs. Ölveczky<br />

In order to prove that T K gcd , t |=p A ϕ1 UI ϕ2, we have to show that for<br />

each π ∈ tfPathsT Kgcd(t) there is an <strong>in</strong>dex j s.t. dπ j ∈ I, T Kgcd , tπ j |=p ϕ2,<br />

and ∀ 0 ≤ i < j T K gcd , tπ i |=p ϕ1.<br />

Let π ∈ tfPathsT Kgcd(t). We know that π is also a path <strong>in</strong> T K, thus by<br />

assumption there exist a path ref<strong>in</strong>ement π ′ of π that satisfies the until path<br />

formula <strong>in</strong> the cont<strong>in</strong>uous semantics <strong>in</strong> T K. By def<strong>in</strong>ition, all tick durations<br />

<strong>in</strong> π ′ are ≤ ¯r<br />

2 , thus, we can def<strong>in</strong>e π′′ to be the same time abstraction of π ′<br />

that we def<strong>in</strong>ed <strong>in</strong> the proof for the (“⇒”) of the existential until, where we<br />

removed all states at time po<strong>in</strong>ts non-multiple of ¯r . We have already shown<br />

2<br />

how this path also satisfies the until path formula <strong>in</strong> T K, thanks to Lemma 1.<br />

In particular, we have that π ′′ = π and, by us<strong>in</strong>g the <strong>in</strong>duction hypotesis on<br />

ϕ1 and ϕ2 as we did for the “⇐” proof, we know that π ′′ satisfies the until<br />

path formula <strong>in</strong> the po<strong>in</strong>twise semantics <strong>in</strong> T K gcd , and hence T K gcd |=p ϕ.<br />

4.1 Soundness and completeness for TACLT and TECLT<br />

S<strong>in</strong>ce it is the theory R σ that is model checked, not all behaviors <strong>in</strong> the theory R<br />

are analyzed. Therefore, R σ , LΠ, s |= ϕ does not necessarily imply R, LΠ, s |= ϕ.<br />

However, for the universal fragment TA<strong>CTL</strong> 8 , <strong>in</strong> the po<strong>in</strong>twise semantics, if a<br />

counter-example exists <strong>in</strong> the model check<strong>in</strong>g of R σ , then this is also a counterexample<br />

<strong>in</strong> R; that is, for ϕA a TA<strong>CTL</strong> formula, we have<br />

R σ , LΠ, s |=p ϕA =⇒ R, LΠ, s |=p ϕA.<br />

Thus, R σ is a complete abstraction of R for TA<strong>CTL</strong>.<br />

However, if a counter-example does not exist <strong>in</strong> R σ , then this does not exclude<br />

the existence of a counter-example <strong>in</strong> R.<br />

Conversely, <strong>in</strong> the existential fragment, if the given state satisfies the TE<strong>CTL</strong><br />

formula <strong>in</strong> R σ <strong>in</strong> the po<strong>in</strong>twise semantics, mean<strong>in</strong>g that there exists a path π<br />

satisfy<strong>in</strong>g the given formula, then this holds also for R, s<strong>in</strong>ce π is also a path <strong>in</strong><br />

R; that is, for ϕE a TE<strong>CTL</strong> formula, we have<br />

R σ , LΠ, s |=p ϕE =⇒ R, LΠ, s |=p ϕE.<br />

Thus, R σ is a sound abstraction of R for TE<strong>CTL</strong>.<br />

5 Implementation<br />

Our model checker makes the natural and reasonable assumption that given a<br />

real-time rewrite theory R, and an <strong>in</strong>itial state t0 on which we would like to<br />

check some T<strong>CTL</strong> formula ϕ, all behaviors start<strong>in</strong>g from t0 are time-diverg<strong>in</strong>g<br />

8 The universal and the existential fragments [13] of T<strong>CTL</strong> are def<strong>in</strong>ed by allow<strong>in</strong>g<br />

negation only <strong>in</strong> front of propositions and by restrict<strong>in</strong>g quantification to the universal<br />

quantifier TA<strong>CTL</strong>, and to the existential quantifier <strong>in</strong> TE<strong>CTL</strong>.

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

Saved successfully!

Ooh no, something went wrong!