Symbolic model checking of hierarchical UML state machines

A compact symbolic encoding is described for the transition relation of systems modeled with asynchronously executing, hierarchical UML state machines that communicate through message passing and attribute access. This enables the analysis of such systems by symbolic model checking techniques, such as BDD-based model checking and SAT-based bounded model checking. Message reception, completion events, and run-to-completion steps are handled in accordance with the UML specification. The size of the encoding for state machine control logic is linear in the size of the state machine even in the presence of composite states, orthogonal regions, and message deferring. The encoding is implemented for the NuSMV model checker, and preliminary experimental results are presented.

[1]  Ivar Jacobson,et al.  The unified modeling language reference manual , 2010 .

[2]  Ivar Jacobson,et al.  Unified Modeling Language Reference Manual, The (2nd Edition) , 2004 .

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

[4]  Alex Groce,et al.  VeriAgent: an Approach to Integrating UML and Formal Verification Tools , 2004, WMF.

[5]  Armin Biere,et al.  Symbolic Model Checking without BDDs , 1999, TACAS.

[6]  Pekka Orponen,et al.  Security Topics and Mobility Management in Hierarchical Ad Hoc Networks (Samoyed): Final Report , 2007 .

[7]  Marco Pistore,et al.  Nusmv version 2: an opensource tool for symbolic model checking , 2002, CAV 2002.

[8]  Sara Van Langenhove Towards the Correctness of Software Behavior in UML: A Model Checking Approach Based on Slicing , 2006 .

[9]  Michelle L. Crane,et al.  On the Semantics of UML State Machines : Categorization and Comparison Technical Report 2005-501 , 2005 .

[10]  Diego Latella,et al.  Modular semantics for a UML statechart diagrams kernel and its extension to multicharts and branching time model-checking , 2002, J. Log. Algebraic Methods Program..

[11]  Stephan Merz,et al.  Model Checking , 2000 .

[12]  Magnus Malmqvist,et al.  Methodology of Dynamical Analysis of SDL Programs Using Predicate /Transition Nets , 1997 .

[13]  Keijo Heljanko,et al.  Symbolic Step Encodings for Object Based Communicating State Machines , 2008, FMOODS.

[14]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[15]  Timo Latvala,et al.  Incremental and Complete Bounded Model Checking for Full PLTL , 2005, CAV.

[16]  Ivan Porres,et al.  Model Checking Dynamic and Hierarchical UML State Machines , 2006 .

[17]  Ivan Porres,et al.  Coral : A Metamodel Kernel for Transformation Engines , 2004 .

[18]  Viktor Schuppan,et al.  Linear Encodings of Bounded LTL Model Checking , 2006, Log. Methods Comput. Sci..

[19]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[20]  Ilkka Niemelä,et al.  Planning as satisfiability: parallel plans and algorithms for plan search , 2006, Artif. Intell..

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

[22]  Kenneth L. McMillan,et al.  Symbolic model checking , 1992 .

[23]  Harald Fecher,et al.  UML 2.0 State Machines: Complete Formal Semantics Via core state machine , 2006, FMICS/PDMC.

[24]  Marco Pistore,et al.  NuSMV 2: An OpenSource Tool for Symbolic Model Checking , 2002, CAV.

[25]  Patric R. J. Östergård,et al.  Constructing Covering Designs by Simulated Annealing , 1993 .

[26]  Amir Pnueli,et al.  A discrete-time UML semantics for concurrency and communication in safety-critical applications , 2005, Sci. Comput. Program..

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