Implementing statecharts in PROMELA/SPIN

We translate statecharts into PROMELA, the input language of the SPIN verification system, using extended hierarchical automata as an intermediate format. We discuss two possible frameworks for this translation, leading to either sequential or parallel code. We show that in this context the sequential code can be verified more efficiently than the parallel code. We conclude with a discussion of an application of the resulting translator to a well-known case study, which demonstrates the feasibility of linear temporal logic model checking of statecharts.

[1]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[2]  Gerard J. Holzmann,et al.  An improvement in formal verification , 1994, FORTE.

[3]  Yassine Lakhnech,et al.  On formal semantics of statecharts as supported by STATEMATE , 1997, FME 1997.

[4]  Pierre Wolper,et al.  Reliable Hashing without Collosion Detection , 1993, CAV.

[5]  Yassine Lakhnech,et al.  Hierarchical Automata as Model for Statecharts , 1997, ASIAN.

[6]  Udo Brockmeyer,et al.  Tamagotchis Need Not Die - Verification of STATEMENT Design , 1998, TACAS.

[7]  Gerard J. Holzmann,et al.  A minimized automaton representation of reachable states , 1999, International Journal on Software Tools for Technology Transfer.

[8]  Willem P. de Roever,et al.  Introduction to Design Choices in the Semantics of Statecharts , 1991, Inf. Process. Lett..

[9]  David Notkin,et al.  Improving efficiency of symbolic model checking for state-based system requirements , 1998, ISSTA '98.

[10]  Uwe Schmidt,et al.  Programming with VDM Domains , 1990, VDM Europe.

[11]  Martin Peschke,et al.  Design and Validation of Computer Protocols , 2003 .

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

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

[14]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[15]  Robert P. Kurshan,et al.  Computer-Aided Verification of Coordinating Processes: The Automata-Theoretic Approach , 2014 .

[16]  Claus Lewerentz,et al.  Formal Development of Reactive Systems: Case Study Production Cell , 1995 .

[17]  Sérgio Vale Aguiar Campos,et al.  Symbolic Model Checking , 1993, CAV.

[18]  Peter Kelb Abstraktionstechniken für automatische Verifikationsmethoden , 1996 .

[19]  David Notkin,et al.  Model checking large software specifications , 1996, SIGSOFT '96.

[20]  Amir Pnueli,et al.  A Compositional Real-Time Semantics of STATEMATE Designs , 1997, COMPOS.