The Community for Technology Leaders
Green Image
Issue No. 02 - February (2009 vol. 58)
ISSN: 0018-9340
pp: 287
R. M. Hierons , Brunel University, Uxbridge, Middlesex
H. Ural , University of Ottawa, Ottawa
The paper [ 1] describes improvements on the algorithm from [ 2], which produces a checking sequence from a finite state machine $M$ that has a known distinguishing sequence $D$ . However, while the improvements described in [ 1] are valid, the final step of the checking sequence generation algorithm was not included and we outline this step here.
The algorithm in [ 1] produces a directed graph $G$ and then generates a tour $\cal T$ of $G$ such that $\cal T$ contains certain edges. Checking sequence generation is thus represented in terms of the rural Chinese postman problem. The checking sequence is produced by starting $\cal T$ at vertex $v_1$ . However, in contrast to [ 2], in doing this we may fail to check the final transition in the tour and, if this is the case, then we need to add a distinguishing sequence to the end of the sequence produced by [ 1]. We can thus produce a checking sequence from $\cal T$ in the following way: We choose an edge $e$ from $\cal T$ such that $e$ represents a transition test for a transition $\tau$ that ends at the initial state $s_1$ of $M$ . We replace $e$ by the corresponding sequence $e_1, \ldots, e_k$ of edges from $G$ to form a tour ${\cal T}'$ . Let $P$ denote a walk produced by starting ${\cal T}'$ with $e_2$ and let $Q$ be the label of $P$ . We return the input/output sequence $QD/\lambda(s_1,D)$ that forms our checking sequence.
Although both [ 1] and [ 2] correctly state that the algorithm of [ 2] should start a tour at the vertex $v_1$ , instead, in the examples, [ 1] started it at $v'_1$ . As a result, [ 1] did not apply the algorithm of [ 2] correctly to the example and should have given the checking sequence

$$\eqalign{&a/x, a/x, \alpha_1, L_{452}, L_{212}, L_{252}, a/x, b/y, \alpha_2, T_2, L_{441}, L_{124}, b/x, L_{531}, L_{112},\cr& T_2, b/x, L_{512}, T_2, b/x, b/y, L_{352}, T_2, b/x, b/y, L_{341}.}$$

The corrected algorithm of [ 1] returns the checking sequence

$$\eqalign{&D/\lambda(s_1,D), b/y, D/\lambda(s_1,D), a/x, \alpha'_1, a/x, D/\lambda(s_4,D), a/x,\cr& D/\lambda(s_2,D), b/x, D/\lambda(s_5,D), a/x, b/y, \alpha'_2, a/x, a/y, D/\lambda(s_1,D),\cr& a/x, b/y, b/x, D/\lambda(s_5,D), a/x, b/y, a/y, D/\lambda(s_4,D), b/y, D/\lambda(s_1,D)}$$

of length 64 (rather than one of length 61 reported).

    R.M. Hierons is with the School of Information Systems, Computing, and Mathematics, Brunel University, Uxbridge, Middlesex, UB8 3PH, UK.


    H. Ural is with the School of Information Technology and Engineering, University of Ottawa, Ottawa, Ontario, K1N 6N5, Canada.


Manuscript received 13 Nov. 2006; accepted 23 Jan. 2007; published online 15 Sept. 2008.

Recommended for acceptance by B. Bose.

For information on obtaining reprints of this article, please send e-mail to:, and reference IEEECS Log Number TC-0432-1106.

Digital Object Identifier no. 10.1109/TC.2008.173.


86 ms
(Ver 3.3 (11022016))