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.

124 Stefan D. Bruda<br />

Processes may be nondeterm<strong>in</strong>istic, so there may be different runs of a given<br />

test on a process, with different outcomes. In effect, the (overall) outcome of an<br />

observer test<strong>in</strong>g a process is a set, and therefore we are led to use powerdoma<strong>in</strong>s<br />

of O. In fact, we have three possible powerdoma<strong>in</strong>s:<br />

Pmay<br />

def<br />

=<br />

{⊤} = {⊥, ⊤}<br />

|<br />

{⊥}<br />

Pconv<br />

def<br />

=<br />

{⊤}<br />

|<br />

{⊥, ⊤}<br />

|<br />

{⊥}<br />

Pmust<br />

def<br />

=<br />

{⊤}<br />

|<br />

{⊥} = {⊥, ⊤}<br />

The names of the three powerdoma<strong>in</strong>s are not chosen haphazardly. By consider<strong>in</strong>g<br />

Pmay as possible outcomes we identify processes that may pass a test <strong>in</strong><br />

order to be considered successful. Similarly, Pmust identifies tests that must be<br />

successful, and by us<strong>in</strong>g Pconv we comb<strong>in</strong>e the may and must properties. The<br />

partial order relations <strong>in</strong>duced by the lattices Pmay, Pmust, andPconv shall be<br />

denoted by ⊆may, ⊆must, and⊆conv, respectively.<br />

We also need to <strong>in</strong>troduce the notion of refusal. A process refuses an action<br />

if the respective action is not applicable <strong>in</strong> the current state of the process, and<br />

there is no <strong>in</strong>ternal transition to change the state (so that we are sure that the<br />

action will not be applicable unless some other visible action is taken first).<br />

Def<strong>in</strong>ition 5.3. Process p ∈ Q refuses action a ∈ Act, written p ref a, iffp ↓B,<br />

p τ<br />

−−→/ ,andp a<br />

−−→/ . ⊓⊔<br />

We thus described the notions of test and test outcomes. We also <strong>in</strong>troduce<br />

at this po<strong>in</strong>t a syntax for tests. In fact tests are as we mentioned just processes<br />

that <strong>in</strong>teract with the process under test, so we can represent tests <strong>in</strong> the same<br />

way as we represent processes. Still, we f<strong>in</strong>d convenient to use a “denotational”<br />

representation for tests s<strong>in</strong>ce we shall refer quite often to such objects. We do<br />

this by def<strong>in</strong><strong>in</strong>g a set O of test expressions.<br />

While we are at it, we also def<strong>in</strong>e the “semantics” of tests, i.e., the way tests<br />

are allowed to <strong>in</strong>teract with the processes be<strong>in</strong>g tested. Such a semantics for tests<br />

is def<strong>in</strong>ed us<strong>in</strong>g a function obs : O×Q →P,whereP∈{Pmay, Pconv, Pmust}<br />

such that obs(o, p) is the set of all the possible outcomes.<br />

To concretize the concepts of syntax and semantics, we <strong>in</strong>troduce now our first<br />

test<strong>in</strong>g scenario (i.e., set of test expressions and their semantics), of observable<br />

test<strong>in</strong>g equivalence 2 [Abr87]. This is a rather comprehensive test<strong>in</strong>g model, which<br />

we will mostly restrict <strong>in</strong> order to <strong>in</strong>troduce other models—<strong>in</strong>deed, we shall<br />

restrict this scenario <strong>in</strong> all but one of our subsequent presentations. A concrete<br />

model for tests also allows us to <strong>in</strong>troduce our first preorder.<br />

For the rema<strong>in</strong>der of this section, we fix a transition system (Q, Act∪{τ}, −→ ,<br />

↑B) together with its derived transition system (Q, Act ∪{ε}, ⇒ , ↑).<br />

2 Just test<strong>in</strong>g equivalence orig<strong>in</strong>ally [Abr87]; we <strong>in</strong>troduce the new, awkward term<strong>in</strong>ology<br />

because the orig<strong>in</strong>al name clashes with the names of preorders <strong>in</strong>troduced<br />

subsequently.

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

Saved successfully!

Ooh no, something went wrong!