Formalization and Model Checking of SysML State Machine Diagrams by CSP#

SysML state machine diagrams are used to describe the behavior of blocks in the system under consideration. The work in [1] proposed a formalization of SysML state machine diagrams in which the diagrams were translated into CSP# processes that could be verified by the state-of-the-art model checker PAT. In this paper, we make several modifications and add new rules to the translation described in that work. First, we modify three translation rules, which we think are inappropriately defined according to the SysML definition of state machine diagrams. Next, we add new translation rules for two components of the diagrams – junction and choice pseudostates – which have not been dealt with previously. As the contribution of this work, we can achieve more reasonable verification results for more general SysML state machine diagrams.

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

[2]  Michael J. Butler,et al.  Towards formalizing UML state diagrams in CSP , 2003, First International Conference onSoftware Engineering and Formal Methods, 2003.Proceedings..

[3]  Heike Wehrheim,et al.  Checking Consistency in UML Diagramms: Classes and State Machines , 2003, FMOODS.

[4]  Fausto Giunchiglia,et al.  NUSMV: A New Symbolic Model Verifier , 1999, CAV.

[5]  Wojciech Penczek,et al.  A New Approach to Model Checking of UML State Machines , 2009, Fundam. Informaticae.

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

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

[8]  Jan Friso Groote,et al.  The Formal Specification Language mCRL2 , 2006, MMOSS.

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

[10]  Yang Liu,et al.  An Automatic Approach to Model Checking UML State Machines , 2010, 2010 Fourth International Conference on Secure Software Integration and Reliability Improvement Companion.

[11]  Jun Sun,et al.  Model Checking CSP Revisited: Introducing a Process Analysis Toolkit , 2008, ISoLA.

[12]  Thomas A. Henzinger,et al.  Symbolic Model Checking for Real-Time Systems , 1994, Inf. Comput..

[13]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[14]  Bas Luttik,et al.  Towards model checking executable UML specifications in mCRL2 , 2009, Innovations in Systems and Software Engineering.

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

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

[17]  Tommi A. Junttila,et al.  Symbolic model checking of hierarchical UML state machines , 2008, 2008 8th International Conference on Application of Concurrency to System Design.

[18]  Robin Milner An Action Structure for Synchronous pi-Calculus , 1993, FCT.

[19]  Jos C. M. Baeten,et al.  Process Algebra , 2007, Handbook of Dynamic System Modeling.