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.

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

The ma<strong>in</strong> difference between an IOSM and an IOA is that there is no equivalence<br />

relation <strong>in</strong> the IOSM def<strong>in</strong>ition. Furthermore <strong>in</strong>ternal actions are abstracted<br />

<strong>in</strong>to one action τ. Another difference is that the sets of states, <strong>in</strong>put<br />

labels and output labels are restricted to be f<strong>in</strong>ite. Phalippou also uses the notion<br />

of locally (output and <strong>in</strong>ternal) and exteriorly (<strong>in</strong>put) controlled actions<br />

and strong <strong>in</strong>put-enabledness.<br />

Example. In Figure 7.1, the transition system <strong>in</strong> the middle is an IOSM. It is<br />

very similar to the IOA on the left. The only difference is that the <strong>in</strong>ternal action<br />

‘<strong>in</strong>it’ is replaced by τ.<br />

Input output transition system. This is the model as <strong>in</strong>troduced by Tretmans<br />

[Tre96c].<br />

Def<strong>in</strong>ition 7.5. An <strong>in</strong>put-output transition system is a 5-tuple 〈Q, I , U , T , q0〉<br />

where<br />

• Q is a countable, non-empty set of states.<br />

• I is a countable set of <strong>in</strong>put labels.<br />

• U is a countable set of output labels, such that I ∩ U = ∅.<br />

• T ⊆ Q × (I ∪ U ∪{τ}) × Q is the transition relation, whereτ /∈ I ,τ /∈ U .<br />

Furthermore, every state is weakly <strong>in</strong>put-enabled: ∀ q ∈ Q, a ∈ I : q a<br />

=⇒ .<br />

• q0 ∈ Q is the start state.<br />

The <strong>in</strong>put-output transition system (IOTS) is a more general version of the<br />

IOSM. Like the IOSM it does not have the equivalence relation of the IOA and<br />

it also models <strong>in</strong>ternal actions with the τ label. However, it does not restrict the<br />

set of states and labels to be f<strong>in</strong>ite. Furthermore, there is a clean partition<strong>in</strong>g of<br />

the label set <strong>in</strong> <strong>in</strong>puts and outputs, where the IOSM hides this <strong>in</strong> the transition<br />

relation. A subtle but important difference with IOA is that an IOTS is weakly<br />

<strong>in</strong>put enabled: ∀a ∈ I , q ∈ Q : q a<br />

=⇒ . We denote the class of <strong>in</strong>put-output<br />

transition systems over I and U by IOTS(I , U ).<br />

Example. In Figure 7.1, the transition system on the right is an IOTS. We see<br />

that the <strong>in</strong>ternal action <strong>in</strong>it is replaced by τ. Notice furthermore that the states<br />

q1 and q4 do not have the self-loops with button1 and button2. This is allowed<br />

because an IOTS is weakly enabled. With an <strong>in</strong>ternal action we can go from q1<br />

to the <strong>in</strong>put enabled state q2 (note that the same holds for q4 and q5).<br />

7.4 Implementation Relations with Inputs and Outputs<br />

In this section, we will <strong>in</strong>troduce a number of implementation relations. As was<br />

<strong>in</strong>troduced <strong>in</strong> the conformance test<strong>in</strong>g framework <strong>in</strong> Section II, an implementation<br />

relation (or conformance relation) is a relation that def<strong>in</strong>es a notion of<br />

correctness between an implementation and a specification. When the implementation<br />

relation holds we say that the specification is implemented by the<br />

implementation or, <strong>in</strong> other words, that the implementation conforms to the

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

Saved successfully!

Ooh no, something went wrong!