Browse > Article

Equivalence Checking of Finite State Machines with SMV  

권기현 (경기대학교 정보과학부)
엄태호 (경기대학교 전자계산학과)
Abstract
In this paper, we are interested in checking equivalence of FSMs(finite state machines). Two FSMs are equivalent if and only if their responses are always equal with each other with respect to the same external stimuli. Equivalence checking FSMs makes complicated FSM be substituted for simpler one, if they are equivalent. We can also determine the system satisfies the requirements, if they are all written in FSMs. In this paper, we regard equivalence checking problem as model checking one. For doing so, we construct the product model $M ={M_A} {\beta}{M_B} from two FSMs ${M_A} and {M_B}$. And we also get the temporal logic formula ${\Phi}$ from the equivalence checking definition. Then, we can check with model checker whether if satisfies ${\Phi}$, written $M= {.\Phi}$. Two FSMs are equivalent, if $M= {.\Phi}$ Otherwise, it is not equivalent. In that case, model checker generates counterexamples which explain why FSMs are not equivalent. In summary, we solve the equivalence checking problem with model checking techniques. As a result of applying to several examples, we have many satisfiable results.
Keywords
Finite state machine; Equivalence checking; Product machine; Model checking; Temporal logic;
Citations & Related Records
연도 인용수 순위
  • Reference
1 C. Heitmeyer, et.al., 'Using Abstraction and Model Checking to Detect Safety Violations in Requirements Specifications,' IEEE Transactions on Software Engineering, Vol.24, No.11, 1998   DOI   ScienceOn
2 R. Skvarcius and W.B. Robinson, Discrete Mathematics with Computer Science Applications, The Benjamin/Cummings Publishing Company, 1986
3 D. Harel and A. Naamad, 'The STATEMATE Semantics of Statecharts,' ACM Transactions on Software Engineering and Methodology, Vol.5, No.4, pp.293-333, 1996   DOI
4 David Y.W. Park, et.al., 'Static Analysis to Identify Invariants in RSML Specifications,' In Proceedings of Formal Techniques in Real-Time and Fault-Tolerant'98, LNCS 1486, 1998   DOI   ScienceOn
5 E.M. Clarke, O. Grumberg, and D. Peled, Model Checking, MIT Press, 1999
6 S.Y. Huang, K.T. Cheng, K.C. Chen, C.Y. Huang, and F. Brewer, 'AQUILA: An Equivalence Checking System for Large Sequential Designs,' IEEE Transactions on Computer, Vol.49, No.5, pp.443-464, 2000   DOI   ScienceOn
7 Robert Meolic, Tatjana Kapus, Zmago Brezocnik, 'Computing Testing Equivalence with Binary Decision Diagrams,' In Proceedings of the Seventh Electrotechnical and Computer Science Conference ERK'98, pp.51-54, 1998
8 M. Huth and M. Ryan, Logic in Computer Science: Modelling and Reasoning about Systems, Cambridge University Press, 2000
9 C.A.J. van Eijk and J.A.G. Jess, 'Detection of Equivalent State Variables in Finite State Machine Verification,' In Proceedings of the 1995 ACM/IEEE International Workshop on Logic Synthesis, pp. 3.35-3.44, 1995
10 K.L. McMillan, 'Symbolic Model Checking: An approach to the state explosion problem,' PhD thesis, Carnegie Mellon University, 1992
11 A. Biere, A. Cimatti, E.M. Clarke, and Y. Zhu, 'Symbolic Model Checking without BDDs,' in Proceedings of Tools and Algorithms for the Analysis and Construction of Systems (TACAS'99), LNCS 1579 , 1999
12 C.A.J. van Eijk and J.A.G. Jess, 'Exploiting Functional Dependencies in Finite State Machine Verification,' In Proceedings of the European Design and Test Conference ED&TC, pp.9-14, 1996   DOI
13 E.M. Clarke, E.A. Emerson, and A.P. Sistla, 'Automatic Verification of Finite-State Concurrent Systems using Temporal Logic Specifications,' ACM Transactions on Programming Languages and Systems, Vol.8, No.2, pp.244-263, 1986   DOI   ScienceOn