An Spin / Promela Application for Model checking UML Sequence Diagrams

UML sequence diagrams usually represent the behavior of systems execution. Automated verification of UML sequence diagrams’ correctness is necessary because they can model critical algorithmic behaviors of information systems. UML sequence diagrams applications are often on the requirement and design phases of the software development process, and their correctness guarantees the accurate and transparent implemen-tation of software products. The primary goal of this article is to review and improve the translation of basic and complex UML sequence diagrams into Spin / Promela code taking into account behavioral properties and elements of combined fragments of UML sequence diagrams for synchronous and asynchronous messages. This article also redefines a previous proposal for a transition system for UML sequence diagrams by specifying Linear Temporal Logic (LTL) formulas to verify the model correctness. We present an application example of our modeling proposal on a modified version of a traditional case study by using UML sequence diagrams to translate it into Promela code to verify their properties and correctness.

[1]  Craig Larman,et al.  "Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development”, Third Edition, Pearson Education, 2005. , 2015 .

[2]  Moshe Y. Vardi An Automata-Theoretic Approach to Linear Temporal Logic , 1996, Banff Higher Order Workshop.

[3]  Shrisha Rao,et al.  Distributed Systems: An Algorithmic Approach , 2008, IEEE Distributed Systems Online.

[4]  Selim G. Akl Superlinear Performance in Real-Time Parallel Computation , 2004, The Journal of Supercomputing.

[5]  Sousuke Amasaki,et al.  Model Checking Consistency of UML Diagrams Using Alloy , 2010 .

[6]  Sandeep S. Kulkarni,et al.  Application of Automated Revision for UML Models: A Case Study , 2012, ICDCN.

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

[8]  Cristian L. Vidal-Silva,et al.  Una Propuesta de Algoritmo Spin / Promela para el Análisis y Diagnóstico de Errores en Diagramas de Secuencia UML , 2019 .

[9]  Tai-hoon Kim,et al.  A Survey of Consistency Checking Techniques for UML Models , 2008, 2008 Advanced Software Engineering and Its Applications.

[10]  Sukumar Ghosh Distributed Systems: An Algorithmic Approach, Second Edition , 2014 .

[11]  Martin Gogolla,et al.  Quality Improvement of Conceptual UML and OCL Schemata through Model Validation and Verification , 2017, Conceptual Modeling Perspectives.

[12]  Luciano Baresi,et al.  An Efficient Solution for Model Checking Graph Transformation Systems , 2008, Electron. Notes Theor. Comput. Sci..

[13]  Uwe Zdun,et al.  A Model Checking Based Approach for Containment Checking of UML Sequence Diagrams , 2016, 2016 23rd Asia-Pacific Software Engineering Conference (APSEC).

[14]  Abdelkrim Amirat,et al.  From UML 2.0 Sequence Diagrams to PROMELA code by Graph Transformation using AToM3 , 2011, CIIA.

[15]  Sousuke Amasaki,et al.  Symbolic Model Checking of Interactions in Sequence Diagrams with Combined Fragments by SMV , 2010 .

[16]  Lingyu Wang,et al.  Formal Verification and Validation of UML 2.0 Sequence Diagrams using Source and Destination of Messages , 2009, SSV.

[17]  Craig Larman,et al.  Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition) , 1997 .