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.

2 Part I. Test<strong>in</strong>g of F<strong>in</strong>ite State Mach<strong>in</strong>es<br />

for such systems a system part or a particular system behavior or <strong>in</strong>teraction<br />

with the environment, which can be modeled by a f<strong>in</strong>ite state mach<strong>in</strong>e. In many<br />

case this can be done through an abstraction process that allows the designer<br />

to ignore some details and focus on the f<strong>in</strong>ite part of the system <strong>in</strong>teraction<br />

with the environment. This f<strong>in</strong>ite part of the specification can be used to derive<br />

tests and to test the whole system. To apply these tests to the complete system,<br />

we have to assume that we know the <strong>in</strong>put and output f<strong>in</strong>ite vocabulary, and<br />

that the system produces a response to an <strong>in</strong>put signal with<strong>in</strong> a known, f<strong>in</strong>ite<br />

amount of time. A state of the system can be def<strong>in</strong>ed as a stable condition<br />

<strong>in</strong> which it has produced the expected output and is wait<strong>in</strong>g for a new <strong>in</strong>put.<br />

A transition is def<strong>in</strong>ed as the consumption of an <strong>in</strong>put, the generation of an<br />

output, and the possible move to a new state. In this chapter we consider only<br />

determ<strong>in</strong>istic systems, i.e. that produce the outputs and move to the next state<br />

<strong>in</strong> a determ<strong>in</strong>istic way.<br />

Typical problems from applications are as follows.<br />

• Conformance test<strong>in</strong>g: Check that a f<strong>in</strong>ite state mach<strong>in</strong>e conforms to a given<br />

specification. Typically the specification is given as a f<strong>in</strong>ite mach<strong>in</strong>e, and the<br />

conformance test<strong>in</strong>g is to check whether the system under test is equivalent<br />

to its specification, or that it implements it <strong>in</strong> the sense of some preorder<br />

relation.<br />

• Property check<strong>in</strong>g: Check that the behavior of a f<strong>in</strong>ite state mach<strong>in</strong>e satisfies<br />

certa<strong>in</strong> properties. These properties can be formulated, e.g., <strong>in</strong> some<br />

temporal logic.<br />

• Automata Learn<strong>in</strong>g: Given a f<strong>in</strong>ite state mach<strong>in</strong>e, determ<strong>in</strong>e its behavior.<br />

This is a harder problem, which is considered <strong>in</strong> Section 19.4 of this volume.<br />

In this Chapter, we will focus on the problem of conformance test<strong>in</strong>g. There is<br />

a wide literature on conformance test<strong>in</strong>g, especially <strong>in</strong> the area of communication<br />

protocol test<strong>in</strong>g. Most of these algorithms comb<strong>in</strong>e techniques for attack<strong>in</strong>g<br />

subproblems that <strong>in</strong>vestigat<strong>in</strong>g particular states or transitions of a f<strong>in</strong>ite state<br />

mach<strong>in</strong>e. We will therefore first consider these subproblems and techniques for<br />

their solution <strong>in</strong> Chapters 1 – 3. Chapter 4 will discuss how they can be comb<strong>in</strong>ed<br />

to the problem of test<strong>in</strong>g conformance.<br />

The contents of the respective chapters are as follows.<br />

• Chapter 1 considers the construction of Hom<strong>in</strong>g and Synchroniz<strong>in</strong>g Sequences:<br />

given a f<strong>in</strong>ite state mach<strong>in</strong>e with known states and transitions, a synchroniz<strong>in</strong>g<br />

sequence is a sequence of <strong>in</strong>put symbols which takes the mach<strong>in</strong>e<br />

to a unique f<strong>in</strong>al state, <strong>in</strong>dependent of the start<strong>in</strong>g state. A hom<strong>in</strong>g sequence<br />

is a sequence such that the f<strong>in</strong>al state (which need not be unique) can be<br />

uniquely determ<strong>in</strong>ed by observ<strong>in</strong>g the output.<br />

• Chapter 2 considers the problem of State Identification: Given a f<strong>in</strong>ite state<br />

mach<strong>in</strong>e with known states and transitions, identify <strong>in</strong> which state the mach<strong>in</strong>e<br />

currently is.<br />

• Chapter 3 considers the problem of State Verification: Given a f<strong>in</strong>ite state<br />

mach<strong>in</strong>e with known states and transitions, verify that a mach<strong>in</strong>e is <strong>in</strong> a<br />

particular state Björklund (36)

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

Saved successfully!

Ooh no, something went wrong!