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.

188 Machiel van der Bijl and Fabien Peureux<br />

possibility of coffee <strong>in</strong> the right branch. This is correct, s<strong>in</strong>ce the specification<br />

p1 gives the choice between implement<strong>in</strong>g either one (or both).<br />

The difference between ioco and ≤ior is the same difference as between ≤iot<br />

and ioconf. ioco is capable of deal<strong>in</strong>g with <strong>in</strong>complete specifications, whereas<br />

≤ior is not.<br />

The <strong>in</strong>put-output implementation relations that we have <strong>in</strong>troduced so far<br />

can be easily related. The only variable is the set of traces over which we<br />

test. Based on the relations between the sets of tested traces we can relate the<br />

strength of the implementation relations. This is easy to see s<strong>in</strong>ce traces(s) ⊆<br />

Straces(s), L ∗ ⊆ L ∗ δ<br />

. For reasons of completeness we have also added the pre-<br />

orders of the previous section. We know that these are def<strong>in</strong>ed on IOA and not<br />

on LTS’s and IOTS’s, but these relations can be easily converted to each others<br />

realms. The fair test<strong>in</strong>g preorder is not <strong>in</strong> this comparison. As far as we know,<br />

nobody has made a comparison between the fair test<strong>in</strong>g preorder and the other<br />

implementation relations <strong>in</strong> this chapter. It is clear that the fair test<strong>in</strong>g preorder<br />

is stronger than the quiescent preorder, but it is not clear to what extent the<br />

fair test<strong>in</strong>g preorder is comparable to ioco.<br />

Proposition 7.19. Comparison of expressiveness of the implementation relations.<br />

⎧ ⎫<br />

⊑Q<br />

� �<br />

⎪⎨ ⎪⎬<br />

⊑MAY<br />

⊒MUST<br />

⊂≤ior ⊂<br />

⊂ ioconf<br />

≤tr<br />

≤iot ⎪⎩ ⎪⎭<br />

ioco<br />

7.4.3 Work Introduced by M. Phalippou<br />

We present <strong>in</strong> this section the implementation relations used <strong>in</strong> the method<br />

<strong>in</strong>troduced by M.Phalippou [Pha94b]. This method is def<strong>in</strong>ed on a particular<br />

model of automata: <strong>in</strong>put/output state mach<strong>in</strong>e (see IOSM def<strong>in</strong>ition 7.4).<br />

Moreover, we are only <strong>in</strong>terested <strong>in</strong> the states which are reachable from the<br />

<strong>in</strong>itial state by a f<strong>in</strong>ite number of transitions. We can thus remove the set of all<br />

the states which do not verify this condition, or we only use the connex graph<br />

of the automaton conta<strong>in</strong><strong>in</strong>g the <strong>in</strong>itial state. In a more formal way, this connex<br />

component of an automaton is def<strong>in</strong>ed as follows.<br />

Def<strong>in</strong>ition 7.20 (Connex component of IOSM).<br />

Let 〈S, L, T , s0〉 be an IOSM. The connex component of this IOSM conta<strong>in</strong><strong>in</strong>g<br />

the <strong>in</strong>itial state is an IOSM CC (〈S, L, T , s0〉) =〈SC , LC , TC , s0C 〉 def<strong>in</strong>ed by:<br />

(1) LC = L<br />

(2) s0C = s0<br />

(3) SC is recursively def<strong>in</strong>ed by the rules:<br />

(a) s0C ∈ SC<br />

(b) if s ∈ SC and (s,µ,s ′ ) ∈ T then s ′ ∈ SC<br />

(4) TC = {(s,µ,s ′ ) ∈ T , s ∈ SC }

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

Saved successfully!

Ooh no, something went wrong!