skip to main content
article

Canonical finite state machines for distributed systems

Published: 01 January 2010 Publication History

Abstract

There has been much interest in testing from finite state machines (FSMs) as a result of their suitability for modelling or specifying state-based systems. Where there are multiple ports/interfaces a multi-port FSM is used and in testing, a tester is placed at each port. If the testers cannot communicate with one another directly and there is no global clock then we are testing in the distributed test architecture. It is known that the use of the distributed test architecture can affect the power of testing and recent work has characterised this in terms of local s-equivalence: in the distributed test architecture we can distinguish two FSMs, such as an implementation and a specification, if and only if they are not locally s-equivalent. However, there may be many FSMs that are locally s-equivalent to a given FSM and the nature of these FSMs has not been explored. This paper examines the set of FSMs that are locally s-equivalent to a given FSM M. It shows that there is a unique smallest FSM @g"m"i"n(M) and a unique largest FSM @g"m"a"x(M) that are locally s-equivalent to M. Here smallest and largest refer to the set of traces defined by an FSM and thus to its semantics. We also show that for a given FSM M the set of FSMs that are locally s-equivalent to M defines a bounded lattice. Finally, we define an FSM that, amongst all FSMs locally s-equivalent to M, has fewest states. We thus give three alternative canonical FSMs that are locally s-equivalent to an FSM M: one that defines the smallest set of traces, one that defines the largest set of traces, and one with fewest states. All three provide valuable information and the first two can be produced in time that is polynomial in terms of the number of states of M. We prove that the problem of finding an s-equivalent FSM with fewest states is NP-hard in general but can be solved in polynomial time for the special case where there are two ports.

References

[1]
Barnett, M., Grieskamp, W., Nachmanson, L., Schulte, W., Tillmann, N. and Veanes, M., Towards a tool environment for model-based testing with AsmL. In: Lecture Notes in Computer Science, vol. 2931. Springer-Verlag, Montreal, Canada. pp. 252-266.
[2]
Bernard, E., Bouquet, F., Charbonnier, A., Legeard, B., Peureux, F., Utting, M. and Torreborre, E., Model-based testing from UML models. In: LNI, vol. 94. pp. 223-230.
[3]
Bogdanov, K. and Holcombe, M., Statechart testing method for aircraft control systems. Journal of Software Testing, Verification and Reliability. v11 i1. 39-54.
[4]
Boyd, S. and Ural, H., The synchronization problem in protocol testing and its complexity. Information Processing Letters. v40 i3. 131-136.
[5]
Cacciari, L. and Rafiq, O., Controllability and observability in distributed testing. Information and Software Technology. v41 i11-12. 767-780.
[6]
Chen, J., Hierons, R.M. and Ural, H., Conditions for resolving observability problems in distributed testing. In: Lecture Notes in Computer Science, vol. 3235. Springer-Verlag. pp. 229-242.
[7]
Chen, W. and Ural, H., Synchronizable checking sequences based on multiple UIO sequences. IEEE/ACM Transactions on Networking. v3. 152-157.
[8]
Dssouli, R. and von Bochmann, G., Error detection with multiple observers. In: Protocol Specification, Testing and Verification V, Elsevier Science, North Holland. pp. 483-494.
[9]
Dssouli, R. and von Bochmann, G., Conformance testing with multiple observers. In: Protocol Specification, Testing and Verification VI, Elsevier Science, North Holland. pp. 217-229.
[10]
Gören, S. and Ferguson, F.J., On state reduction of incompletely specified finite state machines. Computers&Electrical Engineering. v33 i1. 58-69.
[11]
Multi-paradigmatic model-based testing. In: Lecture Notes in Computer Science, vol. 4262. Springer. pp. 1-19.
[12]
W. Grieskamp, Y. Gurevich, W. Schulte, M. Veanes, Generating finite state machines from abstract state machines, in: Proceedings of the ACM SIGSOFT Symposium on Software Testing and Analysis, pp. 112-122, 2002
[13]
Guyot, S. and Ural, H., Synchronizable checking sequences based on UIO sequences. In: Protocol Test Systems, VIII, Chapman and Hall, Evry, France. pp. 385-397.
[14]
Haar, S., Jard, C. and Jourdan, G.-V., Testing input/output partial order automata. In: Lecture Notes in Computer Science, vol. 4581. Springer. pp. 171-185.
[15]
Harel, D. and Politi, M., Modeling Reactive Systems with Statecharts: The STATEMATE Approach. 1998. McGraw-Hill, New York.
[16]
Hierons, R.M., Bogdanov, K., Bowen, J.P., Cleaveland, R., Derrick, J., Dick, J., Gheorghe, M., Harman, M., Kapoor, K., Krause, P., Lüttgen, G., Simons, A.J.H., Vilkomir, S.A., Woodward, M.R. and Zedan, H., Using formal specifications to support testing. ACM Compututing Surveys. v41 i2.
[17]
Hierons, R.M., Kim, T.-H. and Ural, H., On the testability of SDL specifications. Computer Networks. v44 i5. 681-700.
[18]
Hierons, R.M. and Ural, H., Synchronized checking sequences based on UIO sequences. Information and Software Technology. v45 i12. 793-803.
[19]
Hierons, R.M. and Ural, H., The effect of the distributed test architecture on the power of testing. The Computer Journal. v51 i4. 497-510.
[20]
Hopcroft, J.E., An nlogn algorithm for minimizing the states in a finite automaton. In: Kohavi, Z. (Ed.), The Theory of Machines and Computation, Academic Press. pp. 189-196.
[21]
Joint Technical Committee ISO/IEC JTC 1, in: International Standard ISO/IEC 9646-1. Information Technology - Open Systems Interconnection - Conformance testing methodology and framework - Part 1: General concepts. ISO/IEC, 1994
[22]
Kam, T., Villa, T., Brayton, R.K. and Sangiovanni-Vincentelli, A.L., Synthesis of Finite State Machines: Functional Optimization. 1996. Kluwer Academic Press, London.
[23]
Karp, R.M., Reducibility among combinatorial problems. In: Miller, R.E., Thatcher, J.W. (Eds.), Complexity of Computer Computations, Plenum Press, New York, London. pp. 85-103.
[24]
Khoumsi, A., A temporal approach for testing distributed systems. IEEE Transactions on Software Engineering. v28 i11. 1085-1103.
[25]
Lee, D. and Yannakakis, M., Principles and methods of testing finite-state machines ¿ a survey. Proceedings of the IEEE. v84 i8. 1089-1123.
[26]
Luo, G., Dssouli, R. and Bochmann, G.v., Generating synchronizable test sequences based on finite state machine with distributed ports. In: The 6th IFIP Workshop on Protocol Test Systems, Elsevier, North-Holland. pp. 139-153.
[27]
Luo, G., Dssouli, R., Bochmann, G.v., Venkataram, P. and Ghedamsi, A., Test generation with respect to distributed interfaces. Computer Standards and Interfaces. v16. 119-132.
[28]
Pfleeger, C.P., State reduction in incompletely specified finite-state machines. IEEE Transactions on Computers. v22 i12. 1099-1102.
[29]
Rafiq, O. and Cacciari, L., Coordination algorithm for distributed testing. The Journal of Supercomputing. v24 i2. 203-211.
[30]
Ural, H. and Wang, Z., Synchronizable test sequence generation using UIO sequences. Computer Communications. v16 i10. 653-661.
[31]
G.v. Bochmann, A. Petrenko, O. Bellal, S. Maguiraga, Automating the process of test derivation from SDL specifications, in: SDL Forum¿97, Paris, France, 1997

Cited By

View all
  1. Canonical finite state machines for distributed systems

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image Theoretical Computer Science
    Theoretical Computer Science  Volume 411, Issue 2
    January, 2010
    280 pages

    Publisher

    Elsevier Science Publishers Ltd.

    United Kingdom

    Publication History

    Published: 01 January 2010

    Author Tags

    1. Canonical
    2. Distributed test architecture
    3. Equivalence
    4. Finite state machine

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 07 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all

    View Options

    View options

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media