Model Checking Dynamic UML Consistency

UML is widely accepted and extensively used in software modeling. However, using different diagrams to model different aspects of a system brings the risk of inconsistency among diagrams. In this paper, we investigate an approach to check the consistency between the sequence diagrams and statechart diagrams using the SPIN model checker. To deal with the hierarchy structure of statechart diagrams, we propose a formalism called Split Automata, a variant of automata, which is helpful to bridge the statechart diagrams to SPIN efficiently. Compared with the existing work on model checking UML which do not have formal verification for their translation from UML to the model checker, we formally define the semantics and prove that the automatically translated model (i.e. Split Automata) does simulate the UML model. In this way, we can guarantee that the translated model does represent the original model.

[1]  Gregor Engels,et al.  Consistent Interaction of Software Components , 2002, Trans. SDPS.

[2]  Michael Boggs,et al.  Mastering UML with Rational Rose 2002 , 2002 .

[3]  Shengchao Qin,et al.  The Equivalence of Statecharts , 2003, ICFEM.

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

[5]  Shengchao Qin,et al.  A Relational Model for Object-Oriented Designs , 2004, APLAS.

[6]  Stephan Merz,et al.  Model checking UML state machines and collaborations , 2001, Workshop on Software Model Checking @ CAV.

[7]  Klaus Havelund,et al.  Model Checking Programs , 2004, Automated Software Engineering.

[8]  Terry Quatrani Visual modelling with Rational Rose 2000 and UML , 1998 .

[9]  Gerard J. Holzmann,et al.  The SPIN Model Checker , 2003 .

[10]  Martin Fowler What Is the Point of the UML? , 2003, UML.

[11]  Ernesto Pimentel,et al.  Debugging UML Designs with Model Checking , 2002, J. Object Technol..

[12]  Henry Muccini,et al.  Automated check of architectural models consistency using SPIN , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).

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

[14]  Edmund M. Clarke,et al.  Sequential circuit verification using symbolic model checking , 1991, DAC '90.

[15]  Paola Inverardi,et al.  Checking consistency between architectural models using SPIN , 2001 .

[16]  Edmund M. Clarke,et al.  Model checking and abstraction , 1994, TOPL.

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

[18]  Jochen M. Küster,et al.  Towards Explicit Behavioral Consistency Concepts in the UML , 2003 .

[19]  Michael Boggs,et al.  Mastering UML with Rational Rose , 1999 .

[20]  Quan Long,et al.  Consistent code generation from UML models , 2005, 2005 Australian Software Engineering Conference.

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

[22]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[23]  Gerard J. Holzmann,et al.  The SPIN Model Checker - primer and reference manual , 2003 .

[24]  John C. Platt,et al.  Elastically deformable models , 1987, SIGGRAPH.

[25]  Rob Pooley,et al.  The unified modelling language , 1999, IEE Proc. Softw..

[26]  Gianna Reggio,et al.  An Attempt at Analysing the Consistency Problems in the UML from a Classical Algebraic Viewpoint , 2002, WADT.

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

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

[29]  Stephen J. Mellor,et al.  Executable UML - A Foundation for Model-Driven Architecture , 2002, Addison Wesley object technology series.