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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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

Implementation I1<br />

q1<br />

q2<br />

q3<br />

q4<br />

?button<br />

?button<br />

Implementation I2<br />

q1<br />

q2<br />

?button<br />

?button<br />

?button<br />

?button q3 ?button q3 ?button<br />

!tea !coffee !tea !coffee !tea !soup<br />

q4<br />

?button<br />

q5<br />

?button ?button<br />

q4<br />

Implementation I3<br />

q1<br />

q2<br />

q5<br />

?button<br />

q6<br />

?button ?button ?button<br />

Fig. 7.9. Examples of IOSM implementation of coffee mach<strong>in</strong>e<br />

Implementation I4<br />

q1<br />

q2<br />

q3<br />

?button<br />

?button<br />

?button<br />

The conformance is then def<strong>in</strong>ed as a relation, called implementation relation,<br />

between the implementation and its relevant specification. The next def<strong>in</strong>ition<br />

formally expresses this relation by means of IOSM as <strong>in</strong>troduced by M. Phalippou.<br />

Def<strong>in</strong>ition 7.24 (Implementation relation on IOSM).<br />

An implementation relation on IOSM is a relation R on IOSM × IOSM .Given<br />

an implementation I and a specification S such as I , S ∈ IOSM ,ifR(I , S) holds<br />

then we say that I conforms to S.<br />

The choice of an implementation relation is generally arbitrary, although<br />

some m<strong>in</strong>imal properties have to be respected accord<strong>in</strong>g to the conformance<br />

objectives [PBD93]. To elaborate such relations, we place ourselves <strong>in</strong> a test<strong>in</strong>g<br />

situation where all that we can do is to send <strong>in</strong>teractions towards a black box<br />

system to be tested, and to analyze the outputs returned by the black box.<br />

Def<strong>in</strong>ition 7.25 (Outputs authorized by the specification).<br />

Given σ ∈ Tr (S) andL a f<strong>in</strong>ite non empty set of labels, O =(σ, S) ={a ∈ L |<br />

σ!a ∈ Tr (S)} denotes the set of all the outputs authorized by the specification<br />

S after the trace σ.<br />

All the def<strong>in</strong>itions needed to present implementation relations on IOSM are<br />

now described. M. Phalippou def<strong>in</strong>es five implementation relations adapted to<br />

the IOSM (these examples illustrate the variety of the arbitrary choices) [Pha93].<br />

A first idea, to ensure that an implementation conforms to a specification,<br />

consists <strong>in</strong> verify<strong>in</strong>g that the outputs returned by the implementation never<br />

contradict what is envisaged by the specification when someth<strong>in</strong>g is envisaged.<br />

The goal of apply<strong>in</strong>g this k<strong>in</strong>d of implementation relation, is not to know what<br />

it occurs when <strong>in</strong>teractions, that are not specified by the specification, are send<br />

to the implementation. This implementation relation is known as R1.<br />

Def<strong>in</strong>ition 7.26 (Relation R1).<br />

R1(I , S) iff(∀ σ ∈ Tr (S))(σ ∈ Tr (I ) ⇒ O(σ, I ) ⊆ O(σ, S))

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

Saved successfully!

Ooh no, something went wrong!