Verifying Statecharts with State Invariants

Statecharts are an executable visual language for specifying the reactive behavior of systems. We propose to statically verify the design expressed by a statechart by allowing individual states to be annotated with invariants and checking the consistency of the invariants with the transitions. We present an algorithm that uses the locality of state invariants for generating "many small" verification conditions that should be more amenable to automatic checking than an approach based on a single global invariant.

[1]  S. Ramesh,et al.  Model Checking of Statechart Models: Survey and Research Directions , 2004, ArXiv.

[2]  Rik Eshuis,et al.  Requirements-Level Semantics and Model Checking of Object-Oriented Statecharts , 2002, Requirements Engineering.

[3]  Edmund M. Clarke,et al.  Modular Translation of Statecharts to SMV , 2000 .

[4]  Stephan Merz,et al.  Model Checking - Timed UML State Machines and Collaborations , 2002, FTRTFT.

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

[6]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

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

[8]  Ralph-Johan Back,et al.  Invariant Based Programming , 2006, ICATPN.

[9]  Jeffrey J. Joyce,et al.  The Semantics of Statecharts in HOL , 1993, HUG.

[10]  Gerard J. Holzmann,et al.  Implementing statecharts in PROMELA/SPIN , 1998, Proceedings. 2nd IEEE Workshop on Industrial Strength Formal Specification Techniques.

[11]  Emil Sekerinski,et al.  iState: A Statechart Translator , 2001, UML.

[12]  Diego Latella,et al.  Automatic Verification of a Behavioural Subset of UML Statechart Diagrams Using the SPIN Model-checker , 1999, Formal Aspects of Computing.

[13]  Emil Sekerinski,et al.  Graphical Design of Reactive Systems , 1998, B.

[14]  Alexander Knapp,et al.  Interactive Verification of UML State Machines , 2004, ICFEM.

[15]  Johan Lilius,et al.  Formalising UML State Machines for Model Checking , 1999, UML.

[16]  Emil Sekerinski,et al.  Translating Statecharts to B , 2002, IFM.

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

[18]  John A. McDermid,et al.  Experiences with the Application of Discrete Formal Methods to the Development of Engine Control Software , 1998 .

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

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