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.

5 Preorder Relations 135<br />

(1) p ⊑may q if for any o ∈Omay, p may o implies that q may o.<br />

(2) p ⊑must q if for any o ∈Omust, p must o implies that q must o.<br />

(3) p ⊑conv q if p ⊑may q and p ⊑must q.<br />

The equivalence relations correspond<strong>in</strong>g to the three preorders are denoted by<br />

�may, �must, and�conv, respectively. We shall use ⊑T (for “test<strong>in</strong>g preorder”)<br />

<strong>in</strong>stead of ⊑conv <strong>in</strong> subsequent sections.<br />

Note that the relation ⊑conv is implicitly def<strong>in</strong>ed <strong>in</strong> terms of observers from<br />

the set O = Omay ∪Omust. Also note that actually we do not need three sets of<br />

observers, s<strong>in</strong>ce all the three preorders make sense under O. The reason for <strong>in</strong>troduc<strong>in</strong>g<br />

these three dist<strong>in</strong>ct sets is solely for the benefit of hav<strong>in</strong>g different test<strong>in</strong>g<br />

scenarios for the three test<strong>in</strong>g preorders (that are also tight, i.e., they conta<strong>in</strong><br />

the smallest set of observers possible), accord<strong>in</strong>g to our ways of present<strong>in</strong>g th<strong>in</strong>gs<br />

(<strong>in</strong> which the test<strong>in</strong>g scenario def<strong>in</strong>es the preorder).<br />

The most discern<strong>in</strong>g relation is of course ⊑conv. It is also the case that <strong>in</strong><br />

order to see whether two processes are <strong>in</strong> the relation ⊑conv we have to check<br />

both the other relations, so our subsequent discussion will deal mostly the other<br />

two preorders (s<strong>in</strong>ce the properties of ⊑conv will follow immediately).<br />

One may wonder what we get out of test<strong>in</strong>g preorders <strong>in</strong> terms of practical<br />

considerations. First, as opposed to trace preorders, we no longer need to record<br />

the whole trace of a process; <strong>in</strong>stead we only dist<strong>in</strong>guish between success and<br />

failure of tests. It is also the case that we do not need to comb<strong>in</strong>e all the outcomes<br />

of test runs as <strong>in</strong> observation preorder. We still have a notion of “global test<strong>in</strong>g,”<br />

but the comb<strong>in</strong>ation of the outcomes is either forbidden (<strong>in</strong> ⊑may) or simplified.<br />

In all, we arguably get a preorder that is more practical. We also note that, by<br />

contrast to trace preorders we can have f<strong>in</strong>ite tests (or observers) even if the<br />

processes themselves consist <strong>in</strong> <strong>in</strong>f<strong>in</strong>ite runs. Indeed, <strong>in</strong> trace preorders a test<br />

succeeds only when the end of the trace is reached, whereas we can now stop<br />

our test whenever we are satisfied with the behavior observed so far (at which<br />

time we simply <strong>in</strong>sert a Succ or Fail <strong>in</strong> our test).<br />

In terms of discern<strong>in</strong>g power, recall first the example shown <strong>in</strong> Figure 5.5 on<br />

page 132, where the two processes p and q are not equivalent under observation<br />

preorder. We argued that this is not necessarily a mean<strong>in</strong>gful dist<strong>in</strong>ction.<br />

Accord<strong>in</strong>g to this argument test<strong>in</strong>g preorders are better, s<strong>in</strong>ce they do not differentiate<br />

between these two processes. Indeed, p and q always perform an action<br />

a followed by either an action b or an action c, depend<strong>in</strong>g on which branch of<br />

the process tree is taken (recall that the dist<strong>in</strong>ction between p and q under observation<br />

preorder was made <strong>in</strong> terms of nitpick<strong>in</strong>g refusals, that are no longer<br />

present <strong>in</strong> test<strong>in</strong>g preorders). We thus revert to the “good” properties of trace<br />

preorders.<br />

Recall now our argument that the processes from Figure 5.6 on page 133<br />

should be considered the same. We also argued the other way around, but for<br />

now we stick with the first argument because we also have s �may t. Indeed,<br />

it is always the case that processes such as the ones depicted <strong>in</strong> Figure 5.7 are<br />

equivalent under �may, and the equivalence of s and t follows. In other words,<br />

we keep the “good” properties of observation preorder.

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

Saved successfully!

Ooh no, something went wrong!