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

power of refusal preorder over trace preorder comes thus at a cost which may or<br />

may not be acceptable <strong>in</strong> practice.<br />

One reason for which practical considerations are of <strong>in</strong>terest is that preorders<br />

are a key element <strong>in</strong> conformance test<strong>in</strong>g [Tre94]. In such a framework we are<br />

given a formal specification and a possible implementation. The implementation<br />

is treated as a black box (perhaps somebody else wrote a poorly commented<br />

piece of code) exhibit<strong>in</strong>g some external behavior. The goal is then to determ<strong>in</strong>e<br />

by means of test<strong>in</strong>g whether the implementation implements correctly the<br />

specification. Such a goal <strong>in</strong>duces naturally an implementation relation, or a<br />

preorder. Informally, the practical use of a preorder relation ⊑ consists then <strong>in</strong><br />

the algorithmic problem of determ<strong>in</strong><strong>in</strong>g whether s ⊑ i for two processes i (the<br />

implementation) and s (the specification) by means of apply<strong>in</strong>g on the two processes<br />

tests taken from the test<strong>in</strong>g scenario associated with ⊑. Iftherelation<br />

holds then i implements (or conforms to) s (accord<strong>in</strong>g to the respective test<strong>in</strong>g<br />

scenario). The formal <strong>in</strong>troduction of conformance test<strong>in</strong>g is left to the end of<br />

this chapter, namely to Section 5.9 on page 145 to which we direct the <strong>in</strong>terested<br />

reader for details. For now we get busy with def<strong>in</strong><strong>in</strong>g preorders and analyz<strong>in</strong>g<br />

their properties.<br />

Wherewegofromhere We present <strong>in</strong> the next section the necessary prelim<strong>in</strong>aries<br />

related to process representation and test<strong>in</strong>g (<strong>in</strong>clud<strong>in</strong>g a first preorder to<br />

compare th<strong>in</strong>gs with). Sections 5.3 to 5.8 are then the ma<strong>in</strong> matter of this chapter;<br />

we survey here the most prom<strong>in</strong>ent preorders and we compare them with<br />

each other. We also <strong>in</strong>clude a presentation of conformance test<strong>in</strong>g <strong>in</strong> Section 5.9.<br />

5.1.1 Notations and Conventions<br />

It is often the case that our def<strong>in</strong>itions of various sets (and specifically <strong>in</strong>ductive<br />

def<strong>in</strong>itions) should feature a f<strong>in</strong>al item conta<strong>in</strong><strong>in</strong>g a statement along the l<strong>in</strong>e that<br />

“noth<strong>in</strong>g else than the above constructions belong to the set be<strong>in</strong>g def<strong>in</strong>ed.” We<br />

consider that the presence of such an item is understood and we shall not repeat<br />

it over and over. “Iff” stands for “if and only if.” We denote the empty str<strong>in</strong>g,<br />

and only the empty str<strong>in</strong>g by ε.<br />

We present a number of concepts throughout this chapter based on one particular<br />

paper [vG01] without cit<strong>in</strong>g it all the time, <strong>in</strong> order to avoid tiresome<br />

repetitions.<br />

Many figures show processes that are compared throughout the paper us<strong>in</strong>g<br />

various preorders. We show parenthetically <strong>in</strong> the captions of such figures the<br />

most relevant relations established between the depicted processes. Parts of these<br />

parenthetical remarks do not make sense when the figures are first encountered,<br />

but they will reveal themselves as the reader progresses through the chapter.<br />

5.2 Process Representation and Test<strong>in</strong>g<br />

Many formal descriptions for processes have been developed <strong>in</strong> the past, most<br />

notably under the form of process algebraic languages such as CCS [Mil80] and

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

Saved successfully!

Ooh no, something went wrong!