Optimal Synchronizing Sequences for Machines with Timing Constraints Ariel Stulman Dep. Of Computer Science CReSTIC (LICA) University of Reims Reims, France

H.G. Mendelbaum Dep. Of Computer Science Jerusalem College of Technology Jerusalem, Israel 91160

Simon Bloch Dep. Of Computer Science CReSTIC (LICA) University of Reims Reims, 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, un-timed IUT; thus, avoiding the need of redefining well known test generation algorithms. In this paper we wish to demonstrate that as far as the well known synchronizing 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 new method of generating a timed- synchronizing sequence, which allows direct testing of a timed-IUT. An example is used to show the relevance of this method. Keywords: synchronizing sequence, state identification, timed automata, testing.

1.0 Introduction Motivated mainly by automata theory, the field of program testing was heavily studied many years ago. Kohavi’s book [9] gives a good exposition of the major results. 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 [1],[14], characterizing sequences [5],[9],[11], and identifying sequences [9]). A survey of the main methods can be found in [10]. Due to the wide use of finite state machines (FSM) as the modeling technique for the IUTs, its inherent flaw was automatically projected into system testing. Standard FSMs do not take into account temporal constraints that may influence the IUT; 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, an entirely new field of system testing for real-time (reactive) systems emerged. A number of papers were published on the topic ([3],[15],[12] and others). Most papers, however, were not concerned with actually producing algorithms for testing an IUT

with timing constraints (t-IUT). Their main objective was in demonstrating how a t-IUT can be transformed into a regular, un-timed IUT, for which all necessary algorithms pre-exist (see [3],[15] and others). In this paper we propose a new, adapted synchronizing sequence generation algorithm so that it can be implemented directly for t-IUTs as well.

2.0 Preliminaries 2.1 I/O Automata The majority of the testing techniques discussed in the literature are 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 a black box testing model [8] – where one cannot see the internal structure of the IUT but has access to its input and output ports – is the basic premise of checking experiments, the Mealy machine is a sufficient candidate for representing the internal logic of an IUT.

Definition 1 (Mealy Machine). A Mealy machine, M, is a 6-tuple S , s 0 , I , O, λ , δ ,

IUT

where: • S is a finite set of states. • s 0 ∈ S is the initial state of the system. • I is a finite set ( I = ι1 ,ι 2 ,...,ι p ).

{

}

of

input

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), where 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) with j = 1,2,...,k. Obviously, αj ∈ I and βj ∈ O .

1/0

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 [9]. 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}. When the current state of the IUT is unknown, we speak of a current state uncertainty set. Suppose, for example, that σ = 0. After the input of σ to the IUT in Fig. 1, {CB} is the current state uncertainty.1

1

The two other special uncertainty vectors, namely homogenous and trivial, were unmentioned due to their lack of influence in the synchronization problem.

1/1

0/0 1/1

B

D

0/0

Fig. 1: FSM representation of an IUT.

2.3 Successor Tree A successor tree is a tree that represents the states that can be reached by the IUT based on all possible inputs combinations. The purpose of the tree is to graphically display the successors of the root; thus, aiding the experimenter in the selection of the most suitable input sequence to meet his needs. {ABCD} 1

0

{ACDB}

{ABC} 0

1

{ABD}

{AC}

2.2 State Uncertainty

C

0/1

1/1

events

• 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).

0/0

A

0

0

{BC}

{DAC}

{CB}

{DB}

{CA}

1

0

1

0

1

1

0

1

{A} 0

{C}

0

{B} 1

{D}

0

{C}

{CB} 1

{A}

1

{CDB} 0

{ABC}

{AD}

{C} 0

{BCA}

{BA}

{AC}

{AC}

0

1

1

{BCA}

1

{DC} 0

{BA}

1

{CB}

Fig. 2: Successor tree of the IUT in Fig. 1.

The root of the tree is the initial state of the IUT. When it is not known, we associate with the root an initial state uncertainty. The edges represent input to the IUT. Every node is associated with a current state uncertainty representing accumulated state uncertainty knowledge until that point; σ being the concatenation of labels on the edges that form the path from the root to the node. For example, a successor tree for the IUT in

Fig. 1 with an initial state uncertainty {ABCD} is shown in Fig. 2. Since the degree of the tree is I , the number of acceptable inputs in the language of the IUT, at level j (0 ≤ j ≤ ∞ ) we may have I

j

nodes. It is

quite obvious that in order to reduce the size of the successor tree, some restrictions must be placed (avoid redundancy, etc.).

2.4 Timed I/O Automata A timed automaton is a Mealy machine with the addition of temporal constraints on the transition function λ. A transition cannot 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 (Clock Constraint). Let a clock constraint, ∆, over a set of clocks, C, 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. Definition 3 (Clock Guard). Let a clock guard over C be a conjunction of clock constraints over C: (clock _ gaurd = ∆ 1 ∧ ∆ 2 ∧ ... ∧ ∆ m ) . Let ψ be the set of possible clock guards pertaining to the system. Definition 4 (Timed I/O Automata). A timed i/o automata, TA, is a 7-tuple S , s 0 , I , O, C , λ , δ , where: • S is a finite set of states. • s 0 ∈ S is the initial state of the system. • I is a finite set ( I = ι1 ,ι 2 ,...,ι p ).

{

}

of

input

events

• 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).

Assumption 1. For simplicity, we assume that if TA receives ι k ∈ I at instant t, it will also output the corresponding ο b ∈ O at that exact instant. [Justification: In essence, output is produced on a transition generated by the input. Reducing transition time to be infinitely small, we may consider the input and output as the same instant.] Assumption 2. For simplicity, we assume that the TAs contain a single clock, and the clock guard on a transition is composed of at most one clock constraint. (This assumption will be lifted later).

2.5 Testing Environment The need for testing arises due to the lack of information about an IUT. Normally, testing is performed using a black box 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). In some problems (homing and distinguishing sequences) we attempt to infer required information from the outputs the machine provided. Assumption 3. In the current context, testing is performed on a fully specified2, strongly connected3 and reduced4 IUT or t-IUT.

3.0 Synchronizing Sequence Problem and Solution 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 predetermined state (such as a RESET sequence). Based upon some input

2

There exists a definition for each state, sj ∈ S , and every

input, αk ∈ I ; i.e.: λ(sj,αk) and δ(sj,αk) are defined for sj in S and αk in I. 3 For every pair of states, s ,s ∈ S , there exists an input i j sequence, σij, which takes the IUT from si to sj; i.e. λ(si, σij) = sj. 4 For every pair of states, s ,s ∈ S , there exists an input i j sequence, σ, which distinguishes them; i.e.: λ(si,σ) ≠ λ(sj,σ) or δ(si,σ) ≠ δ(sj,σ) for some σ.

sequence, we wish to guarantee the arrival of the IUT at the specified state. Definition 5 (Synchronizing Sequence). An input sequence, σ ss , is said to be a synchronizing sequence (SS) of an IUT, if it brings the IUT to the same final state5 regardless of the initial state of the IUT prior to initialization of σ ss or the output returned in response to σ ss [9]. That is, λ(si, σss) = λ(sj, σss) ∀si , s j ∈ S . Definition 6 (Optimal Synchronizing Sequence). We classify a SS as optimal, σ ss ( op ) , if for



all ss ( op )

SSs,

)

σ ss , accepted by the IUT

≤ σ ss .

3.1 Synchronizing Tree Synchronizing Sequence)

(Optimal

The synchronizing sequence problem was completely solved in [9]. To reach the solution, a truncated version of the successor tree, a synchronizing tree, was used: Definition 7 (Synchronizing Tree). A synchronizing tree (ST) 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 contains a single state.6 3. (Special case) The current uncertainty associated with a node is also associated with other nodes on the same level. We classify one of those nodes as non-terminal, and deem all others as terminal. Using a breadth first search (BFS), we look for a terminal node that is associated with a single state uncertainty. The SS is constructed by concatenating the labels on the edges of the ST leading from the initial uncertainty (root) to the first node found during the search. It is clear that the length of the SS, σ ss , is equal to the depth of the node (the length of its path). Since the first terminal node found that guarantees the synchronization of the IUT was used, by the definition of BFS a node at a higher level of the tree that also satisfies our requirements cannot exist. This implies that there isn't any SS with a shorter path; thus, the SS found is an optimal synchronizing sequence, σ ss ( op ) .

3.2 Example for ST Consider the IUT represented by the automaton in Fig. 1. For finding an optimal synchronization sequence the ST in Fig. 2 is used.7 At the fifth level of the tree we find the first terminal node that is associated with a single current state uncertainty. It is the path from the root to that node that constitutes the optimal SS for the above IUT.8 σ ss ( op ) = 01010 synchronizes 6

5

The actual final state is inconsequential, as long as it is known in advance. Assuming, however, the existence of a synchronizing sequence,

σ ss ,

for some node, sp ∈ S , we

can construct a sequence to synchronize the IUT to any specific, predetermined node as well. Proof. By assumption 3, the automaton is strongly connected. This implies that for every pair of states, si,sj ∈ S ,

∃σ pj

∃σ ij

which takes the IUT from si to sj. Thus,

that would bring the IUT from sp to sj. By

concatenating

σ pj

to

σ ss , we construct a new sequence

that synchronizes the IUT to sj ∈ S .▫

If we wish to find an optimal synchronizing sequence for synchronizing the IUT to a specific node, we would terminate a node associated with a current uncertainty containing a single node iff the single state is the one predetermined for synchronization. By the theorem in footnote 5, the synchronizing sequence we seek is guaranteed within n more levels of the tree. T7 T Dashed nodes are terminal. Dashed edges were inserted for the current discussion; they will not be reached by the BFS. 8 We included two more levels in the tree to accommodate the option of synchronizing the IUT to a specific, predetermined node (see footnote 5). If one searches for a synchronizing sequence that leads the IUT specifically to node C, we may stop the search at the fifth level of the tree. If a sequence leading the IUT to nodes A or B is required, we must descend another level. For node D, yet another level is

the

IUT

to

{λ (s ,01010) = C s j

j

node

C;

}

i.e.,

∈ S ,0 ≤ j ≤ S .

3.3 Bound on Length of a Synchronizing Sequence It has been shown in [16] that finding the shortest SS, σ ss ( op ) , is an NP-hard problem; thus, is unlikely to have a polynomial time algorithm. Assuming, however, that the IUT contains a SS, [9] and [10] show an algorithm for generating a SS of at most

(n − 1)2 n

(1)

2

input symbols in polynomial time. In [9] it is claimed that this bound is not the least upper bound. It can be shown that the least upper bound, L, on the length of synchronizing sequences is

(n − 1)2 ≤ L ≤ n(n − 1)(n + 1) 6

(2)

.

we must accomplish the task only by inputting messages to the t-IUT (black box). 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. The SS must contain the timing of the input as well, so we can coordinate the input to meet the constraints on the transactions. Definition 8 (Timed- Synchronizing Sequence). A timed- synchronizing sequence (t-SS), σ t − ss , is a SS that includes the timing for the inputting of input. σ t − ss is of the form α1[ψ1].α2[ψ2].....αk[ψk];

where, αj ∈ I and ψm ∈ψ , the timing constraint for that input.

Definition 9 (Optimal Timed- Synchronizing Sequence). We classify a t-SS as optimal, σ t − ss ( op ) , if for all t-SSs, σ t − ss , accepted by the

(

)

IUT σ t − ss ( op ) ≤ σ t − ss .

4.0 Synchronizing Sequence Problem and Solution for Timed-IUT The problem we face when dealing with a t-IUT is essentially the same. We want to bring the t-IUT to some specified final state without knowledge (or regard) of what the initial state was. Here too,

needed. In Table 1 we show the sequences that will synchronize the IUT for each of the four final possibilities. One must note that although the seventh level of the ST in Fig. 2 also contains nodes with singleton uncertainties that can be used for construction of SSs for nodes A and C, they do not represent optimal sequences. Table 1: Final state of the IUT based on the inputted sequence for synchronization.

Synchronization Sequences

Final State

010100

A

010101

B

01010

C

0101001

D

A

0[c<6] / 0

0[c<3] / 0

C

0[c≥3] / 1

D

B

Fig. 3: Portion of a t-IUT.

4.1 Timed Synchronizing Tree Attempting to solve the problem using a standard ST, a serious problem is encountered. Consider Fig. 3 in which a portion of a t-IUT is shown. If the uncertainty associated with a node in the ST contains both A and B (as an initial state uncertainty certainly will), simply labeling an edge in the ST 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, will not suffice. Since the actual current node might be B, such a transfer constraint will be un-deterministic (if c=2 we will go to node C, while if c=4 we will go to node D).

These findings lead us towards building a tree that is a variant of the ST, a timed-ST: Definition 10 (Timed- Synchronizing Tree). A timed-ST (t-ST) is a ST with the addition of timing constraints on its edges. An edge in the t-ST represents the input of its label while complying with the timing constraint to which it is coupled. For example, an edge labeled 1[4≤c<17] would allow for the input of 1 anytime while 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 ranges9 and place those timing regions as the constraints on the tree’s edges. As with a ST, using a BFS we look for a terminal node that is associated with a single state uncertainty. A t-SS, σ t − ss , is constructed by concatenating the labels on the edges of the t-ST leading from the initial uncertainty (root) to the first terminal node we found during the search. Each literal of the t-SS is given the specific timing constraint taken from the constraint to which it was coupled on the edge of the tree. To further increase the tree’s efficiency, we can split the search for time regions into I groups, one for each input of 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. 0[c≥4]/0 0[c<4]/1

A 0[c≠3]/1

1/0 1/1

C

1[c>2]/0 1[c≤2]/1 0[c=3]/0

B

0/1

Fig. 4. Automata description of a t-IUT.

The proof of optimality is the same as the proof given for the un-timed SS in section 3.1. 9

By time ranges, we mean the time boundaries that cause a change in the t-IUTs response to input (see [13] and [15]).

4.2 Example of t-ST In Fig. 5 we show the t-ST for the automaton in Fig. 4. The t-SS extracted from the tree using a BFS is 0[c=3]1[c>2]; a t-SS clearly optimal. {ABC} 0

0[c<3] {BCA} 1

0[c=3] {BC} 2

0[3
0[3
0[c>=4] {CA} 8

1[c>2] {A} 9

0[c>=4] {AC} 4

1[c<=2] {CA} 5

1[c>2] {CA} 6

Fig. 5. Timed- ST for the t-IUT in Fig. 4.

Note. We inserted into the tree two nodes (3 and 7) that would have been applicable if a dense-time model is used. In a discrete model, however, the range 3
4.3 Alternative Method for Finding a t-SS (a Traditional Method) As an alternative to our proposed method of finding a t-SS, 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 [13] and [15]. The basic idea was to extract time regions from the t-IUT, and incorporate them within the states of a new automaton. That way, the “timing” of the t-IUT was planted in 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. Besides the obvious disadvantage the need to transform a t-IUT to a large IUT encompasses, the current example we demonstrate additional drawbacks. Firstly, [13] and [15] claimed that the automata in Fig. 6 is equivalent to the one in Fig. 4. Strictly (and practically) speaking, however, this IUT violates assumption 3; hence, we cannot guarantee the extraction of a SS even if one does exist. Theoretically, however, we can assume that the automaton begins at one of the states that represent an initialized clock, A1, B1 or C1, such

that at the initiation of the test we are able to reach every state; satisfying assumption 3. A1

B1

C1

A2

B2

C2

A3

B3

C3

A4

B4

C4

A5

B5

C5

Fig. 6. Un-timed automata equivalent to the automata in Fig. 5. All downward edges are labeled ‘elapsed time’, representing the increase in clock value. Right and left pointing arrows are labeled by 0 or 1, and were omitted for the sake of simplicity.

In addition, in Fig. 7 we show the ST for the IUT represented by Fig. 610. A SS was found, σ ss = 101 . Equivalency of the two forms suggests that there is a t-SS of 101 while still in the first time region11; namely: σ t − ss = 1[c = 0]0[c = 1]1[c = 2] . This, however, is by no means optimal ( σ t − ss ≠ σ t − ss ( op ) already found in section 4.2 to be 2). This evidence suggests a drawback in the transformation as opposed to our suggested method: the standard method of using a BFS on a ST for construction of the optimal SSs, σ ss ( op ) , does not work with the transformed automaton. As a matter of fact, in the above example two more levels must be added to the tree before the optimal equivalent SS in encountered. Using the 10

For the building of the tree we assumed that there is a way to know that the IUT actually initialized to a first level state, A1, B1 or C1. 11 Based on the definition of the transformation, states A1, B1 and C1, represent the respective states of the t-IUT while within the first time region. States A2, B2 and C2, represent the t-IUTs states while the clock is in the second region, etc.

traditional ST on the automaton created by the transformation requires that the tree be built and searched in its entirety (!!) before an optimal sequence can be established. The explanation for this phenomenon is based on the fact that ‘elapsed time’ constitutes an input to the IUT (as required by the definition 1 for Mealy machines). In the t-IUT, however, it doesn’t. Rather, advancement of time is self-occurring (or at least so it seems internally to the t-IUT), allowing for shorter sequences to be present further down the ST. {A1B1C1} label: 0

0 {B1C1A1} label: 1

1 {C1A1} label: 2

0 {A1B1} label: 4

1 {A1C1} label: 5

elapsed time {A2B2C2} label: 3

elapsed time {C2A2} label: 6

0 {B2C2A2} label: 7

1 {C2A2} label: 8

elapsed time {A3B3C3} label: 9

0 1 {B1C1} {C1} label: 10 label: 11

Fig. 7. Synchronizing tree for IUT described in Fig. 6.

4.4 Bound on the Length of a t-SS Simply by the virtue that we can transform every t-IUT into a regular IUT (see [2], [13] and [15]), and given that a regular IUT has a bound on the length of the SS, a bound must exists on the length of the t-SS as well. Since the transformation increases the number of nodes by a factor equal to the number of regions needed for the transformation (see example above: Fig. 5 and Fig. 7), the bound on the length of the t-SS can be no longer than

n * regions 2

((n * regions ) − 1)

2

,

(3)

the bound on the length of the equivalent SS.

4.5 Multi-clock t-IUT Based on assumption 2, the discussion so far only contained constraints based on a single clock. We can, however, relax that assumption and still use

the t-ST to find an optimal t-SS, σ t − ss ( op ) . As with a single clock, we must find time boundaries that define time regions and insert them into the tree. See [13] and [15] for the method used for finding time regions and the criteria for including or excluding regions.

5.0 Conclusion As discussed and demonstrated above, the advantage of using our direct t-SS generation method is two-fold. Firstly, assuming the existence of a SS, our method will always find an optimal timedsynchronizing sequence, something that is not true of the “equivalent”, untimed IUT. Secondly, it is all accomplished without the high transformation costs.

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 Trans. Commun., 39 (1991) 1604-1615 [2] Alur, R., Dill, D.: A Theory of Timed Automata. Theoretical Computer Science, 126 (1994) 183-235 [3] Bloch, S., Fouchal, H., Petitjean, E., Salva, S.: Some Issues on Testing Real-time Systems. Int. J. of Comp. and Info. Science, 2(4) (2001) 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) 283-278 [5] Chow, T.S.: Testing Software Design Modeled by Finite State Machines. IEEE Trans. Software Eng. SE4(3) (1978) 178-187 [6] Gonec, G.: A Method for the Desing of Fault Detection Experiment. IEEE Trans. on Comp. C-19 (1980) 551-558 [7] Hopcroft, J.E., Ullmann, J.D.: Intoduction to Automata Theory, Languages, and Computation. Addison-Wesley, Reading Massachusetts USA (1979) [8] Hsieh, E.P.: Optimal Checking Experiments for Sequential Machines. IEEE Trans. on Computers. C-20 (1971) 1152-1166 [9] Kohavi, Z.: Switching and Finite Automata Theory. 2nd ed, McGraw-Hill (1978) [10] Lee, D., Yannakakis, M.: Principles and Methods of Testing Finite State Machines – a Survey. Proc. of the IEEE 84(8) (1996) 1090-1126 [11] Luo, G., von Bochmann, G., Petrenko, A.F.: Test Selection based on Communicating Nondeterministic Finite State Machines using a Generalized Wp-method. IEEE Trans. Software. Eng. 20(2) (1994) 149-162

[12] 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) [13] Petitjean, E., Fouchal, H.: From Timed Automata to Testable Untimed Automata. 24th IFAC/IFIP International Workshop on Real-Time Programming, Schloss Dagstuhl Germany (1999) [14] Sabnani, K.K., Dahbura, A.T.: A Protocol Test Generation Procedure. Comp. Networks ISDN Sys. 15 (1998) 285-297 [15] Salva, S., Fouchal, H., Bloch, S.: Metrics for Timed Systems Testing. 4th OPODIS International Conference on Distributed Systems, Paris (2000) 177-2 [16] Eppstein, D.: Reset Sequences for Monotonic Automata. SIAM J. on Computing 19(3) (1990) 500510

Testing Problems using Finite Automata with Timing ...

2.1 I/O Automata. The majority of the testing techniques discussed in the literature are based on a variant FSM: the famous Mealy machine [7]. This fact is based.

254KB Sizes 2 Downloads 279 Views

Recommend Documents

No documents