07.01.2013 Views

Lecture Notes in Computer Science 3472

Lecture Notes in Computer Science 3472

Lecture Notes in Computer Science 3472

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

542 Séver<strong>in</strong>e Col<strong>in</strong> and Leonardo Mariani<br />

gate=open<br />

light=off<br />

flash<strong>in</strong>g<br />

gate=open<br />

light=flash<strong>in</strong>g<br />

clos<strong>in</strong>g<br />

gate=clos<strong>in</strong>g<br />

light=flash<strong>in</strong>g<br />

[1000000] [1000001] [1001101]<br />

gate=open<br />

light=off<br />

[1000010]<br />

off<br />

gate=open<br />

light=flash<strong>in</strong>g<br />

[1001001]<br />

open<br />

gate=open<strong>in</strong>g<br />

light=flash<strong>in</strong>g<br />

[1111001]<br />

closed<br />

gate=closed<br />

light=flash<strong>in</strong>g<br />

[1001001]<br />

open<strong>in</strong>g<br />

Fig. 18.8. Progress of the algorithm <strong>in</strong> Figure 18.7 for the trace flash<strong>in</strong>g, clos<strong>in</strong>g,<br />

closed, open<strong>in</strong>g, open, off. The content of the pre array is reported below each abstract<br />

state. Note that 0 is used for false and 1 for true.<br />

flash<strong>in</strong>g, clos<strong>in</strong>g, closed, off, open<strong>in</strong>g, open violates the formula<br />

↑ is open<strong>in</strong>g ⇒ [is clos<strong>in</strong>g, ↓ is flash<strong>in</strong>g)S by simulat<strong>in</strong>g the execution<br />

of the program shown <strong>in</strong> Figure 18.7.<br />

Analyz<strong>in</strong>g a fixed past time LTL formula by the PathExplorer dynamically<br />

generated algorithm is straightforward, its time complexity is Θ(n)wheren is the<br />

length of the <strong>in</strong>put trace, and the required memory is constant s<strong>in</strong>ce the length<br />

of the two arrays is equal to the size of the past time LTL formula. However,<br />

if you <strong>in</strong>clude the size m of the formula <strong>in</strong> the analysis, the time complexity<br />

is Θ(n · m), while the required memory is 2 · (m + 1) bits. The procedure for<br />

enumerat<strong>in</strong>g a given formula is l<strong>in</strong>ear, thus the algorithm which synthesizes a<br />

dynamic programm<strong>in</strong>g algorithm from a past LTL formula is l<strong>in</strong>ear with the size<br />

of the formula.<br />

PathExplorer Architecture PathExplorer can be regarded as consist<strong>in</strong>g of<br />

three ma<strong>in</strong> modules: an <strong>in</strong>strumentation module, an observer module, and an<br />

<strong>in</strong>teraction module. The <strong>in</strong>strumentation module performs a script-driven automated<br />

<strong>in</strong>strumentation of the program that must be observed by us<strong>in</strong>g the Jtrek<br />

Java byte-code eng<strong>in</strong>eer<strong>in</strong>g tool [Coh]. The <strong>in</strong>strumented program emits events<br />

to the <strong>in</strong>teraction module, which forwards them further to the observation module.<br />

If the observer runs on a different computer, events are transmitted over<br />

sockets.<br />

18.5.3 Monitor<strong>in</strong>g and Check<strong>in</strong>g (MaC) Method<br />

The Monitor<strong>in</strong>g and Check<strong>in</strong>g (MaC) method [LKK + 99, KKL + 01] that has been<br />

developed at the University of Pennsylvania ensures that a system is behav<strong>in</strong>g

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

Saved successfully!

Ooh no, something went wrong!