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.

562 Therese Berg and Harald Raffelt<br />

<strong>in</strong>sert co<strong>in</strong> refuse co<strong>in</strong><br />

<strong>in</strong>sertcoffee spendcoffee<br />

<strong>in</strong>sert co<strong>in</strong><br />

spendcoffee<br />

Fig. 19.2. Example Labeled Transition System<br />

a certa<strong>in</strong> atomic proposition holds, start<strong>in</strong>g from the <strong>in</strong>itial state?”. Temporal<br />

logics are logical formalisms designed for express<strong>in</strong>g such properties. There are<br />

two k<strong>in</strong>ds of temporal logics, l<strong>in</strong>ear-time and branch<strong>in</strong>g-time. L<strong>in</strong>ear-time logics<br />

are concerned with paths and treat each possible execution-path <strong>in</strong>dependently,<br />

branch<strong>in</strong>g-time logics, on the other hand, describe properties that depend on the<br />

branch<strong>in</strong>g structure of the model. The pros and cons of both logics are compared<br />

by Moshe Y. Vardi [Var01]. Both temporal logics have different expressiveness<br />

and therefore the k<strong>in</strong>d of properties a model checker can prove depends on the<br />

choice of the underly<strong>in</strong>g temporal logic. As an example, consider the two rooted<br />

labeled transitions systems <strong>in</strong> Figure 19.3, show<strong>in</strong>g two different vend<strong>in</strong>g mach<strong>in</strong>es<br />

offer<strong>in</strong>g coffee and tea. Both mach<strong>in</strong>es serve coffee or tea after a co<strong>in</strong><br />

has been <strong>in</strong>serted, but the right mach<strong>in</strong>e decides <strong>in</strong>ternally whether to serve<br />

coffee or tea, <strong>in</strong> contrast to the left mach<strong>in</strong>e which leaves the decision to the<br />

customer. Both mach<strong>in</strong>es have the same set of computations (maximal paths):<br />

{(co<strong>in</strong>, coffee) , (co<strong>in</strong>, tea)}. Unfortunately they can not be dist<strong>in</strong>guished <strong>in</strong><br />

l<strong>in</strong>ear-time logics, s<strong>in</strong>ce <strong>in</strong> l<strong>in</strong>ear-time logics each path is exam<strong>in</strong>ed separately.<br />

Branch<strong>in</strong>g-time logic, <strong>in</strong> contrast, can dist<strong>in</strong>guish these two mach<strong>in</strong>es, s<strong>in</strong>ce it<br />

is possible to express properties like “a coffee action is possible after any co<strong>in</strong><br />

action”.<br />

The choice of us<strong>in</strong>g l<strong>in</strong>ear-time or branch<strong>in</strong>g-time logic depends on the properties<br />

to be analyzed. L<strong>in</strong>ear-time logics are preferred when only path properties<br />

are of <strong>in</strong>terest, as when analyz<strong>in</strong>g data-flow properties, like dead-locks.<br />

Branch<strong>in</strong>g-time logics are often better for analyz<strong>in</strong>g reactive systems, due to<br />

their greater selectivity.<br />

L<strong>in</strong>ear Temporal Logic (LTL)[Pnu77] can be seen as the “standard” l<strong>in</strong>eartime<br />

logic. It is often presented <strong>in</strong> a form to be <strong>in</strong>terpreted over Kripke structures.<br />

Its formulas are constructed as follows:<br />

φ ::= true | p |¬φ | φ ∧ φ | X (φ) | φUφ

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

Saved successfully!

Ooh no, something went wrong!