Testing Problems using Finite Automata with Timing

advertisement
Optimal Homing Sequences for Machines with Timing Constraints
ARIEL STULMAN1, S. BLOCH1,2 , H.G. MENDELBAUM2,3
1Univ. Reims, RESYCOM, Reims, FRANCE
2
Jerusalem College of Technology – P.O.B. 16031 – Jerusalem, ISRAEL
3
Univ. Paris V, IUT, 143-av. de Versailles, Paris 75016, FRANCE
Abstract: - The new field of testing of timed-IUT (Implementation Under Test with time constraints) is
rapidly evolving, with new and extended test generation methods using timed automata. Most methods,
however, key their algorithms towards transformation of a timed-IUT into a regular IUT; thus, avoiding
the need of redefining well known test generation algorithms. In this paper we wish to demonstrate that as
far as the famous homing sequence problem, it is preferable to adapt the standard algorithm to meet the
special needs of a timed-IUT, sidestepping a costly transformation. We propose a method of generating a
timed- homing sequence, which allows the tester to directly test a timed-IUT. An example is used to show
the relevance of this method.
Key-Words: - homing sequence, timed automata, testing.
emerged. A number of papers were published
on the topic ([3,14,11], and others).
Most papers, however, were not
concerned with actually producing algorithms
for testing an implementation under test with
timing constraints (t-IUT). It suffices to
demonstrate how a t-IUT can be transformed
into a regular implementation under test
(IUT) for which we already have all the
necessary algorithms (see [3,14], and others).
In this paper we wish to adapt the homing
sequence generation algorithm so that it can
be implemented for t-IUT as well.
1 Introduction
Motivated mainly by automata
theory, the field of program testing was
heavily studied many years ago. Kohavi’s
book gives a good exposition of the major
results [8]. During the 80’s the topic mostly
died down, only to come up again due to its
application in the field of communication
protocol testing. The abundant and diverse
research in the area motivated many
algorithms and methods that attempted to
optimize the testing procedure (status
messages [4], separating family of sequences,
distinguishing sequences [6], UIO sequences
[13,1], characterizing sequences [5,10,8], and
identifying sequences [8]). A survey of the
main methods can be found in [9].
Due to the wide use of finite state
machines (FSM) as the modeling technique
for the systems under test, its inherent flaw
was automatically projected into the field of
system testing. Standard FSMs do not take
into account the temporal constraints that may
be applicable within the system; and as such,
most methods developed for system testing
were not applicable to real-time systems.
With the proposal of Alur and Dill's 'Timed
automata' [2] in 1994, the entire new field of
system testing for real-time (reactive) systems
2 Preliminaries
2.1 Modeling Time
The notion of time can be described
as discrete or dense [2]. In a discrete timing
model, time increases monotonically by some
constant decided upon a priori (usually 1)
every cycle of the system. When such is the
case, there is no need for a real clock. A
variable that represents the current “time” is
sufficient. Using such a model limits the
accuracy with which physical systems can be
modeled.
A more natural model for physical
processes operating over continuous time is
the dense-time model. When we talk about
“real” timing of systems, we must have a
1
clock that keeps the time. The advancement
of the clock is irrespective of the cycle time
of the system, and can increase monotonically
without bound. Using such a model also
decreases the risk of an explosion of the
automata’s states; there is one time state that
has a floating-point value. As such, the proofs
on the automata are much easier.
For simplicity we extend the state transfer
function, λ, from single input symbols to
input strings as follows: for some initial state
s1, let the input sequence σ = α1,α2,...,αk take
the machine successively through the states
sj+1 = λ(sj,αj), j = 1,2,…,k, such that the final
state of λ(s1,σ) = sk+1. In the same manner we
extend the output function, δ, from a single
output to an output string such that: δ(s1,σ) =
β1,β2,...,βk where βj = δ(sj,αj), j = 1,2,...,k.
Obviously, αj  I and βj  O .
Assumption
2.1.1: Unless otherwise
mentioned, we use a discrete-time model in
the rest of this discussion. [Justification: It is
well known that physical hardware of
computer systems functions in discrete cycles,
and as such the use of a discrete-time model
seems more appropriate. Therefore, we prefer
the use of such a model due to its natural
association to real processes.]
2.3 State Uncertainty
It may be the case that some state
information of the IUT is missing. The state
uncertainty of the IUT is defined as the set of
states that may adequately complete the
missing state information [8]. If the initial
state of the IUT in unknown, we speak of an
initial state uncertainty; a set containing all
possible states that may be the IUTs initial
state. For example, consider the automata in
Fig. 1 that represents the internal logic of an
IUT. If the machine can begin in any of the
four states, we say that the initial state
uncertainty is {ABCD}.
An input sequence σ induces a
partitioning of the states of the FSM, such
that two states, si,sj  S , are placed in the
same block if they are not distinguished by σ
(i.e.: λ(si,σ) = λ(sj,σ) and δ(si,σ) = δ(sj,σ)).
2.2 I/O Automata
Most of the testing that is discussed
in the literature is based on a variant FSM: the
famous Mealy machine [7]. This fact is based
upon the ability of the Mealy machine to
exchange messages (input and output) with its
environment. A deterministic transition is
stimulated by input from the environment,
and as a consequence the machine can return
an output message back to the environment (a
reactive machine). Since the essence of
testing is the use of a black box model (one
cannot see the internal structure of the IUT
but has access to its input and output ports),
the Mealy machine is a sufficient candidate
for the representation of the internal logic of
the IUT.
IUT
Definition 2.2.1 (Mealy machine): A Mealy
machine, M, is a 6-tuple S , s0 , I , O,  ,  ,
C
0/1
1/1
1/0
1/1
0/0
1/1
where:
 S is a finite set of states.
 s0  S is the initial state of the system.
 I is a finite set of input events
( I  1 , 2 ,..., p ).

0/0
A
B
D
0/0
Figure 1: FSM representation of an IUT

Thus, based on the input and output we can
determine a partition that contains the current
state of the IUT as one of its elements, but
which of the elements in the partition is the
current state is still undistinguishable. When
the current state of the IUT is unknown, we
speak of a current state uncertainty set. For
 O is a finite set of output events
( O  1 , 2 ,..., r ).
 λ is the state transfer-function (λ: S×I →
S).
 δ is the output function (δ: S×I → O).
2
(ABCD)
0
1
(A)(BCC)
example, suppose σ = 1 and the IUT in Fig. 1
outputs 1. We now know that the machine can
be in any of the states D, A, or C, depending
on whether the initial state was A, B, or D,
respectively. The set {DAC} is the current
state uncertainty after the input of σ.
A trivial state uncertainty is a state
uncertainty where each block contains exactly
one state (for example: {{A}{B}{D}}). A
homogenous state uncertainty is a state
uncertainty where each block may contain the
same state one or more times (for example:
{{AA}{C}{DDD}}).
0
0
1
1
(A)(B)(CD)
0
1
(A)(A)(C)(C) (A)(B)(B)(D) (A)(B)(C)(C) (A)(B)(C)(D)
Figure 2: Successor tree of the IUT in Fig. 1
fire, and hence no output or internal state
change can occur, if the clock guard on the
transition is not satisfied. Obviously, a clock
or set of clocks must be included within the
system to allow for the definition of time.
Definition 2.5.1 (clock constraint): Let a
clock constraint, Δ, over a set C of clocks be
defined as a Boolean expression of the form x
op z, where x  C , op is a classical relational
operator (=,≤,≥,>,<,≠), and z is a
mathematical expression composed of integer
constants and/or clock values and evaluates to
an integer.
A successor tree is a tree that
represents all of the possible inputs
combinations and the states that can be
reached by the IUT based on those inputs.
The purpose of the tree is to display
graphically the successors of the root; thus,
aiding the experimenter in the selection of the
most suitable input sequence to suite his
needs.
The root of the tree is the initial state
of the IUT. When it is not known, we
associate with the root the initial state
uncertainty. The edges represent the input to
the IUT. With every node we associate a
current state uncertainty that represents the
state partitioning at that point, with σ being
the labels on the edges that form the path
from the root to the node. For example, the
successor tree for the IUT in Fig. 1 with an
initial state uncertainty {ABCD} is shown in
Fig. 2.
Since the degree (number of branches
stemming from a single node) of the tree is
I , the number of acceptable inputs in the
Definition 2.5.2 (clock guard): Let a clock
guard, ψ, over C be a conjunction of clock
constraints
over
C:
  1   2  ...   m  .
Definition 2.5.3 (timed i/o automaton): A
timed i/o automaton, TA, is a 7-tuple
S , s0 , I , O, C,  ,  , where:
 S is a finite set of states.
 s0  S is the initial state of the system.
 I is a finite set of input events
( I  1 , 2 ,..., p ).


 O is a finite set of output events
( O  1 , 2 ,..., r ).
 C is a finite set of clocks.
 λ is the state transfer function (λ: S×I×ψ
→ S).
 δ is the output function (δ: S×I×ψ → O).
language of the IUT, at level j 0  j  
j
0
1
(AA)(C)(C) (A)(BB)(D) (A)(BC)(C)
2.4 Successor Tree
we may have I
(ACD)(B)
nodes. It is quite obvious
that in order to reduce the complexity of the
successor tree, some restrictions must be
placed (avoid redundancy, etc.).
Assumption 2.5.1: For simplicity, we assume
that the transfer between states and hence the
output is instantaneous. That is, if the
automaton TA receives  k  I at instant t, it
2.5 Timed I/O Automata
A timed automaton is a Mealy machine
with the addition of temporal constraints on
the transition function λ. A transition cannot
will also output the corresponding  b  O at
that exact instant. [Justification: In essence,
3
output is produced on a transition generated
by the input. Thus, if we take a transition time
to be infinitely small, we may consider the
input and output as the same instant
(especially if one uses a discrete timing
model).]
Definition 3.1 (homing sequence): An input
sequence, σhs, is said to be a homing sequence
(HS) if the final state of the IUT can be
determined uniquely from the IUTs response
to σhs, regardless of the initial state [8].
Assumption 2.5.2: For the remainder of the
discussion, we assume that the TA
representing a t-IUT contains only one clock,
and the clock guard, ψ, on a transition is
composed of at most one clock constraint.
Definition 3.2 (optimal homing sequence):
A HS is said to be optimal, σop, if there is no
other HS, σhs, accepted by the IUT that
contains fewer input symbols ( |σop|≤|σhs| ).
3.1 Regular un-timed IUT
2.6 Testing environment
3.1.1 Homing Tree (optimal HS)
The HS problem for un-timed IUTs,
was completely solved in [8]. To reach the
solution, a truncated version of the successor
tree, a homing tree, was used.
The need for testing arises due to the
lack of information about an IUT. Normally,
testing is performed using a black box model,
a model in which we do not have access to the
internal structure of the IUT. This requires the
deduction of missing information be
accomplished by means of inputting messages
to the machine (testing sequence) and
observing the output. We attempt to infer
required information from the outputs the
machine provided.
Definition 3.3 (homing tree): A homing tree
(HT) is a successor tree in which we deem a
node as terminal (leaf) when one of the
following occur:
1. The current uncertainty associated
with the node was already associated
with a node in a preceding level (we
reached a loop).
2. The current uncertainty associated
with the node it trivial or
homogenous.
3. (Special
case)
The
current
uncertainty associated with a node is
also associated with other nodes in
the same level. We classify one of
those nodes as non-terminal, and
deem all others as terminal.
Assumption 2.6.1: In the current context,
testing is performed on a fully specified 1 ,
strongly connected 2 and reduced 3 IUT or tIUT.
3 Homing Sequence
Often we do not know (or don’t care
about) the current state of the IUT, but we
wish to bring the IUT to some known final
state. Based upon some input sequence and
the observed output, we will determine the
final state of the IUT.
Using a breadth-first search (BFS), we
look for a terminal node that is associated
with a trivial or homogenous uncertainty. A
HS is constructed by concatenating the labels
on the edges of the HT leading from the initial
uncertainty (root) to the first terminal node
we found during the search.
It is clear that the length of the HS, |σhs|, is
equal to the depth of the node (the length of
its path). Since we used the first terminal
node found that allowed us to uniquely
identify the current state; by the definition of
BFS there is no other node at higher levels of
There exists a definition for each state, sj  S ,
and every input, αk  I ; i.e.: λ(sj,αk) and δ(sj,αk)
1
are

defined
k
for
| 0  k  I .
s
j
|0 j  S
and
For every pair of states, si,sj  S , there exists an
input sequence, σ, which takes the IUT from si to
sj.
3
For every pair of states, si,sj  S , there exists an
input sequence, σ, which distinguished them; i.e.:
λ(si,σ) ≠ λ(sj,σ) or δ(si,σ) ≠ δ(sj,σ) for some σ.
2
4
the tree that also satisfies our requirements.
This implies that there is no HS with a shorter
path; thus, the HS found is an optimal homing
sequence, σop.
Thus,
of HSs.
3.2 Timed IUT
3.1.2 Example for HT
Suppose the successor tree of Fig. 2 is a
HT. There are two nodes at the second level
of the HT that are homogenous uncertainties.
We may stop our search; we found two HSs
(σ = 00 or σ = 01) that uniquely identify a
final state based on the output regardless of
the initial state. In Table 1 we demonstrate
the output and final state for σ = 00, the first
optimal HS found.
Initial
State
A
B
C
D
IUT
response
to σ = 00
01
01
10
00
n
n  1 is a tight bound on the length
2
The problem we face when dealing
with a t-IUT is essentially the same. We want
to bring the t-IUT to some known final state
without knowledge of what the initial state
was. Here too, we must accomplish the task
by inputting messages and observing the
output of the t-IUT (black box model).
When dealing with a t-IUT, however,
the situation is a bit more complex. We must
also take into account the timing constraints
that restrict transactions. Some transactions
may be applicable only at specific times and
inapplicable at others.4 The HS must contain
the timing of the input as well, so we can
coordinate the input to meet the constraints on
the transactions (σhs = α1[ψ1],α2[ψ2],...,αk[ψk];
where αj  I ).
Final
State
A
A
C
C
Table 1: IUT output for σ=00
3.2.1 Timed Homing Tree (optimal timed
homing sequence)
When we attempt to solve the
problem using a standard HT, we encounter a
serious problem. Consider Fig. 3 in which is a
portion of a t-IUT is shown. If the uncertainty
associated with a node in the HT contains
both A and B (as an initial state uncertainty
certainly will), simply labeling an edge in the
HT with 0 is insufficient. If the current node
is A, we must also consider compliance with
the constraint (c<6). Adding the constraint
0[c<6] to the edge, however, is also
insufficient. If the actual current node is B,
such a transfer constraint will become
undeterministic (if c=2 we will go to node C,
while if c=4 we will go to node D).
Note: Although level 3 of the HT in Fig. 2
also contains nodes with trivial uncertainties
that can be used for construction of HSs, they
do not represent optimal homing sequences. It
is easily understood by the method used to
construct the HS, that its’ length is determined
by the length of the path to the specific
terminating node. Thus, eligible terminating
nodes at higher levels of the HT necessarily
represent shorter HSs than lower levels
counterparts.
3.1.3 Bound on length of a HS
It has been shown in [15] that finding
the shortest HS is an NP-hard problem; thus,
unlikely to have a polynomial time algorithm.
In [8] and [9], however, an algorithm
generating a HS length of at most n  1 is
presented. [8] claims that this bound is not the
least upper bound. It can be shown that the
2
4
At this point it is applicable to note that for a tHS to surely exists, the IUT must be strongly
connected (assumption 2.6.1); yet, it is only
required that such be the case at the first instance
testing commences. Otherwise, unless we allow
for the resent of the clock, since at some clock
value the t-IUT will no longer remain strongly
connected, there will be no way to find the t-HS.
n
HS length need not exceed n  1 . As a
2
n
matter of fact, [8] also claims that n  1 is
2
also a lower bound for the length of HSs.
5
These findings lead us towards
building a tree that is a variant of the HT, a
timed-HT.
length of the path). Since we used the first
terminal node found that allowed us to
uniquely identify the current state; by the
definition of BFS there is no other node at
higher levels of the tree that also satisfies our
requirements. This implies that there is no tHS with a shorter path; thus, the t-HS found is
an optimal timed-homing sequence, σt-op.
To further increase the tree’s
efficiency, we can split the search for time
regions into I groups, one for each input of
Definition 3.4 (timed homing tree): A
timed-HT (t-HT) is a HT with the addition of
timing constraints on its edges.
The edge in the t-HT represents the
input of the label of the edge while complying
with the timing constraint associated with the
edge. For example, an edge labeled 0[c=3]
would represent the input of 0 when clock
0[c<3] / 0
A
0[c<6] / 0
the alphabet. We can see in Fig. 4 that for
0  I a region of 0 ≤ c < 3 is important,
while for 1  I a smaller region of 0 ≤ c ≤ 2
is required.
C
3.2.4 Example of t-HT
B
0[c≥3] / 1
0[c≥4]/0
D
0[c<4]/1
A
0[c≠3]/1
Figure 3: portion of a t-IUT
1/0
1[c>2]/0
c=3, while a label of 1[4≤c<17] would allow
for the input of 1 anytime between c≥4 and
c<17.
In order to find the time constraints that
should be placed on the tree edges, we search
the t-IUT for time ranges 5 , and place those
timing regions as the constraints on the tree’s
edges.6
As with a HT, using a BFS we look
for a terminal node that is associated with a
trivial or homogenous uncertainty. A timedHS (t-HS) is constructed by concatenating the
labels on the edges of the t-HT leading from
the initial uncertainty (root) to the first
terminal node we found during the search.
Each literal of the t-HS is given the timing
constraint to which it was associated on the
edge of the tree.
It is clear that the length of the t-HS,
|σt-hs|, is equal to the depth of the node (the
1/1
C
1[c≤2]/1
B
0[c=3]/0
0/1
Figure 4: automatonic description of t-IUT
In Fig. 5 we show the t-HT7 for the
automaton in Fig. 4. The t-HS extracted from
the tree using a BFS is 0[c=3]1[c>2]; a t-HS
clearly optimal.
3.2.5 Alternative method for finding a HS
(a traditional method)
As an alternative to our proposed
method of finding a t-HS, we may transform
the automaton representing the t-IUT into a
regular, un-timed automaton. In [2] a method
for such a transformation was suggested. The
method was further developed in [12] and
[14]. The basic idea was to extract time
regions from the t-IUT, and incorporate them
5
By time ranges we mean the time boundaries that
cause a change in the t-IUTs’ response to input.
6
It should be noted that the use of the t-HT format
allows us to relax assumption 2.1.1. It is no longer
essential that we use a discrete-time model. Once
all possible “times” are bound within our regions,
the theoretical dense-time model can be used
without additional “cost”.
7
We inserted into the tree two nodes (3 and 7) that
(A1B1C1)
would have been applicable
if a dense-time model
label: 0
is used. Based on assumption
2.1.1, however, the
range 3<c<4
is
an
impossibility;
thus,
we labeled
0
1
elapsed time
them(B1C1A1)
as not relevant (C1)(C1A1)
(NR).
(A2B2C2)
label: 1
6
label: 2
0
(A1)(A1B1)
label: 4
label: 3
1
(A1)(A1)(C1)
label: 5
Figure 7: HT for IUT of Fig. 6
within the states of a new automaton. That
way, the “timing” of the t-IUT was planted in
suggests, that for an efficient optimal t-HS
with respect to test run-time, the nodes should
be ordered with the lower time constraint
(ABC)
0
0[c<3]
(BCA)
1
0[3<c<4]
NR
7
0[c=3]
(BC)(B)
2
0[c>=4]
(CA)(C)
8
0[3<c<4]
NR
3
0[c>=4]
(A)(CA)
4
1[c<=2]
(C)(CA)
5
A1
B1
C1
A2
B2
C2
A3
B3
C3
A4
B4
C4
A5
B5
C5
1[c>2]
(CA)(A)
6
1[c>2]
(A)(A)(A)
9
Figure 5: timed-HT of Fig. 4
the “memory” of the automaton’s states. In
Fig. 6 we show the new un-timed automaton
that is equivalent to the automaton in Fig. 4.8
Besides the obvious disadvantage the
need to transform a t-IUT to a large IUT
encompasses, with the current example we
demonstrate
an
additional
drawback.
Although [12] and [14] claimed that the IUT
represented by the automaton in Fig. 6 is
equivalent to the one in Fig. 4, strictly (and
practically) speaking, the IUT violates
assumption 2.6.1; hence, we cannot extract a
HS that guarantees knowledge of a final state.
Theoretically9, however, we can assume that
the automaton begins at state X1
(representing an initialized clock); thus,
satisfying assumption 2.6.1.
In Fig. 7 we show the HT for the IUT
represented by Fig. 6 10 . A HS of 11 was
found, suggesting the existence of a t-HS
where
σop
=
1[0≤c≤1]1[0≤c≤2]. 11
Examination of the HS extracted from the HT
Figure 6: Equivalent un-timed automaton
placed first (see Fig. 8).
3.2.6 Comparing methods
At first glance, Fig. 8 seems more
cumbersome than Fig. 7, diminishing the
advantage we gained by not performing a
transformation. The figures, however, are
deceiving. Firstly, for the transformation we
must increase the number of nodes by a factor
equal to the regions extracted from the t-IUT.
Although the t-HT we will contain an
equivalent number of nodes at every level
(one for every time region), they are pruned
based on the input causing the region
boundaries. In addition, even if we find a
transformed IUT such that it adheres to
assumption 2.6.1 (specifically to the
requirement of the IUT to be fully connected),
the initial uncertainty vector will contain all
of the possible nodes, possibly increasing the
number of levels required to find a HS.12
8
For the sake of simplicity, we did not include the
required labeling on the edges of the graph. Our
intention is only to show the bombastic
enlargement of the automaton, and the hindrance
that it will impose on the HT that must be built for
it.
9
We stress theoretically, because practically there
is no way to guarantee that the automaton begins
at one of the X1 states (the transformation
assumes no internal clock to the system).
10
We assumed that there is a way to know that the
IUT initialized to state X1 (see previous footnote).
11
Although the first time range should’ve been
[0≤c≤2], we wrote [0≤c≤1] to guarantee the
insertion of the second literal within the same time
constraint.
3.2.7 Bound on the length of a t-HS
Simply by the virtue that we can
transform every t-IUT into a regular IUT (see
12
In the example shown in Fig. 7 that was not the
case because we assumed that the IUT began at
one of the X1 nodes (see footnote 10). Thus, we
artificially decreased the number of possibilities;
hence, reducing the levels required for finding the
HS.
7
an t-HT to find an optimal t-HS, σt-op. As with
a single clock, we must find time boundaries
that define time regions and insert them into
the t-HT. Again, we can prune the tree by
creating separate time regions for the different
inputs.
[2], [12] and [14]), and given that a regular
IUT has a bound on the length of the HS (see
section 3.1.3), a bound must exists on the
length of the t-HS. Since the transformation
increases the number of nodes by a factor
equal to the number of regions needed for the
transformation (see example above: Figures 4
and 6), the bound on the length of the t-HS
can
be
no
longer
than
n * regions
2
n * regions   1 ,
0[c≥4]/0
0[c<4]/1
A
0[c≠3]/1
the bound
0[d≠1]/1
1/0
1[c>2]/0
1[d<c]/1
1[c≤2]/1
on the length of the equivalent HS.
This, however, is confined by the
condition that the transformed IUT adheres to
assumption 2.6.1 (which is not always the
C
B
0[c=3]/0
0[d=1]/1
1[d≥c]/0
(ABC)
0
1[c<=2]
(C)(CA)
label: 1
1[c>2]
(CA)(A)
label: 2
0[c<3]
(BCA)
label: 3
0[c=3]
(BC)(B)
label: 4
Figure 9: automatonic description of t-IUT
0[3<c<4]
NR
label: 5
Consider the automaton in Fig. 9,
representing the internal structure of a t-IUT.
It is easily seen that the automaton adheres to
assumption 2.6.1, and that there are more than
two clocks that influence its’ constraints.
From Fig. 10, the t-HT used for extracting
optimal t-HSs, σt-op, for the automaton in Fig.
3.8, we can see that there are actually two
such sequences, 1[c≤d≤2] and 0[d>1 & c=3].
0[c>=4]
(A)(CA)
label: 6
1[c<=2]
(A)(A)(C)
label: 7
(ABC)
label: 0
Figure 8: Rearanged timed HT of Fig. 4
case, as in Fig. 6). Simply allowing for the
reset of the clock, however, is insufficient.
The reset must allow, in some way, for a
traversal from the maximum region possible
to the minimal one.13 If, however, we do not
allow for such a reset, the IUT will not be
strongly connected; thus, we cannot guarantee
any bound on the t-HS.
1[c<=d<=2]
(CC)(C)
label: 1
1[d>=c>2] 0[d<1 & c<3] 0[d=1 & c<3] 0[d>1 & c<3] 0[d>1 & c=3] 0[d>1 & 3<c<4] 0[d>1 & c>=4]
(CAC)
(BBA)
(BCA)
(BBA)
(BB)(B)
NR
(A)(BA)
label: 2
label: 3
label: 4
label: 5
label: 6
label: 7
label: 8
Figure 10: t-HT for automaton in Fig. 9
Note: Some time regions are not present in the
t-HT. Our choice of time regions is based
solely on the characteristics of the current tIUT; all regions that cannot be reached (due
to the lack of a clock reset within the system)
were discarded. This evolved directly from
the limitation performed in [12] and [14] for
discluding all unpractical regions.
3.2.8 Multi-clock t-IUT
Based on assumption 2.5.2, the
discussion above only contained t-IUT
constraints based on a single clock. We can,
however, relax that assumption and still use
4 Conclusion
13
It does not matter if there is a reset directly from
the maximum to the minimum, or through some
intermediate regions. For example, in Fig. 6 a
reset from X5 to X1 is sufficient. Alternatively,
from X5 to X2 and from X3 to X1 is also enough.
As we demonstrated in the above
discussion, advantage of using direct
extraction of a t-HS is two-fold. Firstly, using
8
Method,
IEEE
Trans
Software
Engineering, vol. 20, No. 2, 1994, pp.
149-162.
[11] Naik, K., Sarikaya, B., Protocol
Conformance Test Case Verification
using Timed – Transition, Proceedings of
the 14th International Symposium on
Protocol Specification, Testing and
Verification, Vancouver, Canada, 1994.
[12] Petitjean, E., Fouchal, H., From Timed
Automata to Testable Untimed Automata,
24th IFAC/IFIP International Workshop
on Real-Time Programming, Schloss
Dagstuhl, Germany, 1999.
[13] Sabnani, K.K., Dahbura A.T., A Protocol
Test Generation Procedure, Computer
Networks ISDN Systems, No. 15, 1998,
pp. 285-297.
[14] Salva, S., Fouchal, H., Bloch, S. Metrics
for Timed Systems Testing, 4th OPODIS
International Conference on Distributed
Systems, Paris, 2000, pp. 177-2.
[15] Eppstein, D., (1990) Reset Sequences for
Monotonic Automata, SIAM Journal on
Computing, vol. 19, No. 3, 1990. pp. 500510.
our method will always find an optimal
homing sequence, something that is not
always true of the “equivalent” un-timed IUT.
Also, even if the “equivalent” un-timed IUT
was able to guarantee the extraction of an
optimal HS, it is associated with the high cost
of the transformation, a cost circumvented in
our method.
In the future we hope to build a tool
that will implement our method for t-HS
extraction.
References:
[1] Aho, A.V., Dahbura, A.T., Lee, D., Uyar,
M.U., An Optimization Technique for
Protocol Conformance Test Generation
based on UIO Sequences and Rural
Chinese
Postman
Tours,
IEEE
Transactions on Communications, vol.
39, 1991, pp. 1604-1615.
[2] Alur, R., Dill, D., A Theory of Timed
Automata, Theoretical Computer Science,
vol. 126, 1994, pp. 183-235.
[3] Bloch, S., Fouchal, H., Petitjean, E.,
Salva, S., Some Issues on Testing RealTime Systems, International Journal of
Computer and Information Science, vol.
2, No. 4, 2001, pp. 230-.
[4] Chan, W.Y.L., Voung, S.T., Ito M.R., An
Improved Protocol Test Generation
Procedure based on UIO’s, Proc
SIGCOM, 1992, pp. 283-278.
[5] Chow, T.S., (1978) Testing Software
Design Modeled by Finite State
Machines,
IEEE
Transactions
on
Software Engineering, SE-4, No. 3, 1978,
pp. 178-187.
[6] Gonec, G., A Method for the Desing of
Fault Detection Experiment, IEEE
Transactions on Computers, C-19, 1980,
pp. 551-558.
[7] Hopcroft, J.E., Ullmann J.D., Intoduction
to Automata Theory, Languages, and
Computation, Addison-Wesley, 1979.
[8] Kohavi, Z., Switching and Finite
Automata Theory, 2nd ed, McGraw-Hill,
1978.
[9] Lee, D., Yannakakis, M., Principles and
Methods of Testing Finite State Machines
– A Survey, Proc of the IEEE, vol. 84,
No. 8, 1996, pp. 1090-1126.
[10] Luo, G., von Bochmann, G., Petrenko,
A.F.,
Test
Selection
based
on
Communicating Nondeterministic Finite
State Machines using a Generalized Wp-
9
Download