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.

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

• Petrenko, who developed a theory to test Input-Output Automata <strong>in</strong> a similar<br />

way as F<strong>in</strong>ite State Mach<strong>in</strong>es [TP98].<br />

Although we do not treat symbolic test<strong>in</strong>g <strong>in</strong> this chapter, we want to mention<br />

that Rusu et al. developed a theory to enable symbolic test generation for Input-<br />

Output Automata [RdBJ00].<br />

7.2 Formal Prelim<strong>in</strong>aries<br />

In this section we <strong>in</strong>troduce some standard notation for labeled transition systems.<br />

People that are familiar with this notation can skip this section.<br />

Labeled Transition Systems. A labeled transition system (LTS) description<br />

is def<strong>in</strong>ed <strong>in</strong> terms of states and labeled transitions between states, where the<br />

labels <strong>in</strong>dicate what happens dur<strong>in</strong>g the transition. Labels are taken from a<br />

global set L. We use a special label τ /∈ L to denote an <strong>in</strong>ternal action. For<br />

arbitrary L ⊆ L, weuseLτasa shorthand for L ∪{τ}. We deviate from the<br />

standard def<strong>in</strong>ition of labeled transition systems <strong>in</strong> that we assume the label set<br />

of an LTS to be partitioned <strong>in</strong> an <strong>in</strong>put and an output set and that the LTS is<br />

rooted; see for example def<strong>in</strong>ition 22.1.<br />

Def<strong>in</strong>ition 7.1. A labeled transition system is a 5-tuple 〈Q, I , U , T , q0〉 where<br />

Q is a non-empty countable set of states; I ⊆ L is the countable set of <strong>in</strong>put<br />

labels; U ⊆ L is the countable set of output labels, which is disjo<strong>in</strong>t from I ;<br />

T ⊆ Q × (I ∪ U ∪{τ}) × Q is a set of triples, the transition relation; q0 ∈ Q is<br />

the <strong>in</strong>itial state.<br />

We use L as shorthand for the entire label set (L = I ∪ U ); furthermore, we use<br />

Qp, Ip etc. to denote the components of an LTS p. We commonly write q λ<br />

−→ q ′ for<br />

(q,λ,q ′ ) ∈ T . S<strong>in</strong>ce the dist<strong>in</strong>ction between <strong>in</strong>puts and outputs is important, we<br />

sometimes use a question mark before a label to denote <strong>in</strong>put and an exclamation<br />

mark to denote output. We denote the class of all labeled transition systems over<br />

I and U by LTS(I , U ). We represent a labeled transition system <strong>in</strong> the standard<br />

way, by a directed, edge-labeled graph where nodes represent states and edges<br />

represent transitions.<br />

A state that cannot do an <strong>in</strong>ternal action is called stable. A state that cannot<br />

do an output or <strong>in</strong>ternal action is called quiescent. Weusethesymbolδ (�∈ Lτ )<br />

to represent quiescence: that is, p δ<br />

−→ p stands for the absence of any transition<br />

p λ<br />

−→ p ′ with λ ∈ Uτ. For an arbitrary L ⊆ L, weuseLδ as a shorthand for<br />

L ∪{δ}.<br />

An LTS is called strongly responsive or strongly convergent if it always eventually<br />

enters a quiescent state; <strong>in</strong> other words, if it does not have any <strong>in</strong>f<strong>in</strong>ite<br />

Uτ-labeled paths. For technical reasons we restrict LTS(I , U ) to strongly responsive<br />

transition systems.<br />

A trace is a f<strong>in</strong>ite sequence of observable actions. The set of all traces over<br />

L (⊆ L) is denoted by L ∗ , ranged over by σ, withɛ denot<strong>in</strong>g the empty sequence.<br />

If σ1,σ2 ∈ L ∗ ,thenσ1·σ2 is the concatenation of σ1 and σ2. Weuse

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

Saved successfully!

Ooh no, something went wrong!