Model Checking of Statechart Models: Survey and Research Directions

We survey existing approaches to the formal verification of statecharts using model checking. Although the semantics and subset of statecharts used in each approach varies considerably, along with the model checkers and their specification languages, most approaches rely on translating the hierarchical structure into the flat representation of the input language of the model checker. This makes model checking difficult to scale to industrial models, as the state space grows exponentially with flattening. We look at current approaches to model checking hierarchical structures and find that their semantics is significantly different from statecharts. We propose to address the problem of state space explosion using a combination of techniques, which are proposed as directions for further research.

[1]  R. Gerth,et al.  Modeling Statecharts Behaviour in a Fully Abstract Way , 1988, CAAP.

[2]  Rajeev Alur,et al.  Model checking of hierarchical state machines , 1998, TOPL.

[3]  Rajeev Alur,et al.  Exploiting Behavioral Hierarchy for Efficient Model Checking , 2002, CAV.

[4]  Amir Pnueli,et al.  Compositionality: The Significant Difference , 1999, Lecture Notes in Computer Science.

[5]  Bran Selic,et al.  Real-time object-oriented modeling , 1994, Wiley professional computing.

[6]  Nancy G. Leveson,et al.  Requirements Specification for Process-Control Systems , 1994, IEEE Trans. Software Eng..

[7]  Rajeev Alur,et al.  Efficient Reachability Analysis of Hierarchical Reactive Machines , 2000, CAV.

[8]  David Harel,et al.  Modeling Reactive Systems With Statecharts : The Statemate Approach , 1998 .

[9]  Rajeev Alur,et al.  Modular refinement of hierarchic reactive machines , 2000, POPL '00.

[10]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[11]  Amir Pnueli,et al.  On the Development of Reactive Systems , 1989, Logics and Models of Concurrent Systems.

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

[13]  S. Ramesh Communicating Reactive State Machines: Design, Model and Implementation , 1998 .

[14]  David Harel,et al.  Executable object modeling with statecharts , 1997, Computer.

[15]  Amir Pnueli,et al.  A Formal Semantics for a UML Kernel Language , 2001 .

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

[17]  RAJEEV ALUR,et al.  Modular Refinement of Hierarchic Reactive Machines 1 , 2000 .

[18]  E BryantRandal Graph-Based Algorithms for Boolean Function Manipulation , 1986 .

[19]  Tiziano Villa,et al.  VIS: A System for Verification and Synthesis , 1996, CAV.

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

[21]  A. Pnueli,et al.  STATEMATE: a working environment for the development of complex reactive systems , 1988, [1988] Proceedings. The Third Israel Conference on Computer Systems and Software Engineering.

[22]  Aloysius K. Mok,et al.  A Graph-Theoretic Approach for Timing Analysis and its Implementation , 1987, IEEE Transactions on Computers.

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

[24]  S. Ramesh,et al.  Refinement and Efficient Verification of Synchronous Programs (Extended Abstract)1 , 2000 .

[25]  Ivar Jacobson,et al.  Unified Modeling Language , 2020, Definitions.

[26]  Kenneth L. McMillan,et al.  Symbolic model checking: an approach to the state explosion problem , 1992 .

[27]  Werner Damm,et al.  The STATEMATE Verification Environment - Making It Real , 2000, CAV.

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

[29]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[30]  Johan Lilius,et al.  vUML: a tool for verifying UML models , 1999, 14th IEEE International Conference on Automated Software Engineering.

[31]  Florence Maraninchi,et al.  Argos: an automaton-based synchronous language , 2001, Comput. Lang..

[32]  Hardi Hungar,et al.  Formal Verification of an Avionics Application using Abstraction and Symbolic Model Checking , 1999 .

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

[34]  Wolfgang Thomas,et al.  Automata on Infinite Objects , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[35]  S. Ramesh,et al.  Slicing Synchronous Reactive Programs , 2002, SLAP@ETAPS.

[36]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[37]  Mieke Massink,et al.  Automatic Verication of a Behavioural Subset of UML Statechart Diagrams Using the SPIN , 1999 .

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

[39]  David Harel,et al.  Executable object modeling with statecharts , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

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

[41]  Shin Nakajima,et al.  The SPIN Model Checker : Primer and Reference Manual , 2004 .

[42]  Pierre Wolper,et al.  An Automata-Theoretic Approach to Automatic Program Verification (Preliminary Report) , 1986, LICS.

[43]  Rajeev Alur,et al.  Model checking of hierarchical state machines , 2001, SIGSOFT '98/FSE-6.

[44]  Amir Pnueli,et al.  On the Formal Semantics of Statecharts (Extended Abstract) , 1987, LICS.

[45]  Sanjit A. Seshia,et al.  A Translation of Statecharts to Esterel , 1999, World Congress on Formal Methods.

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

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

[48]  Jozef Hooman,et al.  A Compositional Axiomatization of Statecharts , 1992, Theor. Comput. Sci..

[49]  Diego Latella,et al.  Towards a Formal Operational Semantics of UML Statechart Diagrams , 1999, FMOODS.

[50]  Sampath Kannan,et al.  Communicating Hierarchical State Machines , 1999, ICALP.

[51]  Amnon Naamad,et al.  Statemate: a working environment for the development of complex reactive systems , 1988, ICSE '88.

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

[53]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

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

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