A Formal Semantics for Complete UML State Machines with Communications

UML is a widely used notation, and formalizing its semantics is an important issue. Here, we concentrate on formalizing UML state machines, used to express the dynamic behaviour of software systems. We propose a formal operational semantics covering all features of the latest version (2.4.1) of UML state machines specification. We use labelled transition systems as the semantic model, so as to use automatic verification techniques like model checking. Furthermore, our proposed semantics includes synchronous and asynchronous communications between state machines. We implement our approach in USM2C, a model checker supporting editing, simulation and automatic verification of UML state machines. Experiments show the effectiveness of our approach.

[1]  Willem P. de Roever,et al.  29 New Unclarities in the Semantics of UML 2.0 State Machines , 2005, ICFEM.

[2]  Michael von der Beeck A structured operational semantics for UML-statecharts , 2002 .

[3]  Jan Jürjens A UML statecharts semantics with message-passing , 2002, SAC '02.

[4]  Joost-Pieter Katoen,et al.  A probabilistic extension of UML statecharts: Specification and Verification. , 2002 .

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

[6]  Kais Klai,et al.  Formalizing non-concurrent UML state machines using colored petri nets , 2012, SOEN.

[7]  Dianxiang Xu,et al.  Specifying behavioral semantics of UML diagrams through graph transformations , 2009, J. Syst. Softw..

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

[9]  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.

[10]  Diego Latella,et al.  Model checking UML Statechart diagrams using JACK , 1999, Proceedings 4th IEEE International Symposium on High-Assurance Systems Engineering.

[11]  Dave Thomas,et al.  State Machines , 2002, IEEE Softw..

[12]  Kevin J. Compton,et al.  A toolset for supporting UML static and dynamic model checking , 2002, Proceedings 26th Annual International Computer Software and Applications.

[13]  Kais Klai,et al.  Formal verification of UML state diagrams: a petri net based approach , 2011, SOEN.

[14]  Yan Jin,et al.  A method for describing the syntax and semantics of UML statecharts , 2004, Software & Systems Modeling.

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

[16]  Zhang Guang-quan Formal Semantics of UML 2.0 , 2007 .

[17]  Colin F. Snook,et al.  UML-B: Formal modeling and design aided by UML , 2006, TSEM.

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

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

[20]  Stephan Merz,et al.  Model Checking and Code Generation for UML State Machines and Collaborations , 2002 .

[21]  Pablo de la Fuente,et al.  UML Automatic Verification Tool with Formal Methods , 2005, VLFM.

[22]  Michael von der Beeck A structured operational semantics for UML-statecharts , 2002, Software and Systems Modeling.

[23]  E. Börger,et al.  On Formalizing UML State Machines Using ASMs , 2003 .

[24]  Yang Liu,et al.  A Formal Semantics for the Complete Syntax of UML State Machines with Communications (Report) , 2013 .