Formal verification of Statecharts using finite-state model checkers

This paper presents a new approach to the formal verification of properties of discrete control specifications given by Statecharts. Specifications for the Statechart behavior are given by temporal logic expressions for the Statechart computation tree, that is, the tree of possible sequences of Statechart configurations. To take advantage of existing model checking technology, the Statechart is converted into a finite-state representation and the Statechart specification is converted into an equivalent specification for the finite-state system. The definitions and general procedure applies for arbitrary Statechart semantics (a specific semantics results in a particular realization of the procedure). The results are illustrated with examples using the Math-Works Stateflow Toolbox (for Statecharts) and the SMV model checking program. The procedure is realized in an extension of the MATLAB sf2smv command presented in previous papers.

[1]  Scott A. Smolka,et al.  A Compositional Semantics for Statecharts using Labeled Transition Systems , 1994, CONCUR.

[2]  Simin Nadjm-Tehrani,et al.  Formal Verification of Dynamic Properties in an Aerospace Application , 1999, Formal Methods Syst. Des..

[3]  K. Butts,et al.  Symbolic verification of executable control specifications , 1999, Proceedings of the 1999 IEEE International Symposium on Computer Aided Control System Design (Cat. No.99TH8404).

[4]  Amir Pnueli,et al.  What is in a step , 1989 .

[5]  Andrea Maggiolo-Schettini,et al.  Projectable Semantics for Statecharts , 1998, MFCS Workshop on Concurrency.

[6]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[7]  Amnon Naamad,et al.  The STATEMATE semantics of statecharts , 1996, TSEM.

[8]  George S. Avrunin,et al.  Patterns in property specifications for finite-state verification , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[9]  Amir Pnueli,et al.  What is in a Step: On the Semantics of Statecharts , 1991, TACS.

[10]  Peter Kelb,et al.  An OBDD-representation of statecharts , 1994, Proceedings of European Design and Test Conference EDAC-ETC-EUROASIC.

[11]  P. Caspi,et al.  A methodology for proving control systems with Lustre and PVS , 1999, Dependable Computing for Critical Applications 7.

[12]  David Notkin,et al.  Decoupling synchronization from local control for efficient symbolic model checking of statecharts , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[13]  Michael von der Beeck,et al.  A Comparison of Statecharts Variants , 1994, FTRTFT.

[14]  David Harel,et al.  On visual formalisms , 1988, CACM.

[15]  Arcot Sowmya,et al.  Extending Statecharts with Temporal Logic , 1998, IEEE Trans. Software Eng..

[16]  Andrea Maggiolo-Schettini,et al.  Equivalences of Statecharts , 1996, CONCUR.