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 145<br />

condition <strong>in</strong> that a successful state must be reached from every state <strong>in</strong> the<br />

system.<br />

It is immediate that ⊑should is coarser than ⊑fmust (s<strong>in</strong>ce the success condition<br />

is stronger). This relationship is even stronger for processes with only f<strong>in</strong>ite<br />

visible runs:<br />

Proposition 5.16. Foranytwoprocessespandq,p⊑should qimpliesp⊑fmust<br />

q (but not the other way around); for any two processes p and q for which all<br />

the visible runs are f<strong>in</strong>ite p ⊑should qiffp⊑fmust q.<br />

In addition ⊑should is a pre-congruence under hid<strong>in</strong>g—as well as under prefix<strong>in</strong>g<br />

and synchronization [BRV95]; <strong>in</strong> fact we have:<br />

Proposition 5.17. The relation ⊑should is the largest relation conta<strong>in</strong>ed <strong>in</strong><br />

⊑fmust that is a pre-congruence under synchronization and hid<strong>in</strong>g.<br />

5.9 Conformance Test<strong>in</strong>g, or Preorders at Work<br />

This section is different from the previous ones, because it does not <strong>in</strong>troduce<br />

new test<strong>in</strong>g scenarios and new preorders. Instead, it puts the exist<strong>in</strong>g scenarios<br />

<strong>in</strong> a formalization of the concept of conformance test<strong>in</strong>g [Tre94]. The description<br />

of such an environment <strong>in</strong> which preorders are put to good use is <strong>in</strong>deed a nice<br />

wrap up of our presentation.<br />

We mentioned at least two times that preorders can be <strong>in</strong>terpreted as implementation<br />

relations. In this sections we elaborate on this idea. We thus present<br />

here the application of everyth<strong>in</strong>g we talked about before.<br />

Conformance test<strong>in</strong>g consists <strong>in</strong> test<strong>in</strong>g the implementation of a system<br />

aga<strong>in</strong>st that system’s specification. Formally, we are given a formal specification<br />

language LFDT (such as CCS [Mil80] or even labeled transition systems),<br />

and we have to determ<strong>in</strong>e for some specification s ∈LFDT what are the implementations<br />

that conform to s (i.e., are a correct implementation of s). Of course,<br />

implementations are physical objects, so we analyze their properties by means<br />

of formal models of such implementations, that are also members of LFDT .We<br />

assume that any concrete implementation can be modeled <strong>in</strong> LFDT .<br />

There usually are more than one correct implementation of some specification,<br />

so we actually work with a set CONFORMs of implementations conform<strong>in</strong>g<br />

toaspecifications. This set can be def<strong>in</strong>ed us<strong>in</strong>g either a behavior (or modelbased)<br />

specification, orarequirement (or logical) specification.<br />

In the behavior specification approach the set CONFORMs is def<strong>in</strong>ed by<br />

means of an implementation relation imp, such that i imp s iff i conforms<br />

to s:<br />

CONFORMs = {i ∈LFDT | i imp s}.<br />

In the requirement specification approach we def<strong>in</strong>e the set CONFORMs by<br />

giv<strong>in</strong>g all the properties that should hold for all of its elements. Such properties,

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

Saved successfully!

Ooh no, something went wrong!