Lightweight and static verification of UML executable models

Executable models play a key role in many software development methods by facilitating the (semi)automatic implementation/execution of the software system under development. This is possible because executable models promote a complete and fine-grained specification of the system behaviour. In this context, where models are the basis of the whole development process, the quality of the models has a high impact on the final quality of software systems derived from them. Therefore, the existence of methods to verify the correctness of executable models is crucial. Otherwise, the quality of the executable models (and in turn the quality of the final system generated from them) will be compromised. In this paper a lightweight and static verification method to assess the correctness of executable models is proposed. This method allows us to check whether the operations defined as part of the behavioural model are able to be executed without breaking the integrity of the structural model and returns a meaningful feedback that helps repairing the detected inconsistencies. HighlightsChecking the quality of a model guarantees the quality of the final software system.Lightweight and static verifier to check the correctness of executable models.We focus on executability property of operations.Our method returns valuable feedback.

[1]  Mario Piattini,et al.  Quality of UML models , 2009, Inf. Softw. Technol..

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

[3]  Antoni Olivé,et al.  Conceptual Schema-Centric Development: A Grand Challenge for Information Systems Research , 2005, CAiSE.

[4]  Alexander Borgida,et al.  Conceptual Modeling of Information Systems , 1985, On Knowledge Base Management Systems.

[5]  Ernest Teniente,et al.  Reasoning on UML Conceptual Schemas with Operations , 2009, CAiSE.

[6]  Jordi Cabot,et al.  Verifying Action Semantics Specifications in UML Behavioral Models , 2009, CAiSE.

[7]  Elena Planas Hortal Lightweight and static verification of UML executable models , 2013 .

[8]  W. J. Kubitz,et al.  Biting the silver bullet: toward a brighter future for system development , 1992 .

[9]  Gerti Kappel,et al.  Testing Functional Requirements in UML Activity Diagrams , 2015, TAP@STAF.

[10]  Peter Herrmann,et al.  Transformation and Verification of Executable UML Models , 2004, CVUML.

[11]  Bas Luttik,et al.  Automated Verification of Executable UML Models , 2010, FMCO.

[12]  Damiano Distante,et al.  Conceptual Modeling of Web Application Transactions: Towards a Revised and Extended Version of the UWA Transaction Design Model , 2005, 11th International Multimedia Modelling Conference.

[13]  Isabelle Perseil,et al.  ALF formal , 2011, Innovations in Systems and Software Engineering.

[14]  Juan de Lara,et al.  Verification and validation of declarative model-to-model transformations through invariants , 2010, J. Syst. Softw..

[15]  Rik Eshuis,et al.  Symbolic model checking of UML activity diagrams , 2006, TSEM.

[16]  Dennis Shasha,et al.  The many faces of consensus in distributed systems , 1992, Computer.

[17]  Erwan Bousse,et al.  Aligning SysML with the B method to provide V&V for systems engineering , 2012, MoDeVVa '12.

[18]  Daniel Schwabe,et al.  Models and Meta Models for Transactions in Web Applications , 2010, ICWE Workshops.

[19]  Radu Grosu,et al.  Safety-liveness semantics for UML 2.0 sequence diagrams , 2005, Fifth International Conference on Application of Concurrency to System Design (ACSD'05).

[20]  Jordi Cabot,et al.  Lightweight Verification of Executable Models , 2011, ER.

[21]  Jordi Cabot,et al.  Two Basic Correctness Properties for ATL Transformations: Executability and Coverage , 2011, MtATL@TOOLS.

[22]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

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

[24]  Michel R. V. Chaudron,et al.  Evaluating the Impact of UML Modeling on Software Quality: An Industrial Case Study , 2009, MoDELS.

[25]  Martin Gogolla,et al.  USE: A UML-based specification environment for validating UML and OCL , 2007, Sci. Comput. Program..

[26]  Ernest Teniente,et al.  Checking query containment with the CQC method , 2005, Data Knowl. Eng..

[27]  Yves Kodratoff,et al.  Some Techniques for Recursion Removal from Recursive Functions , 1982, TOPL.

[28]  Florin Craciun,et al.  Towards Better Testing of fUML Models , 2013, 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation.

[29]  David Lorge Parnas,et al.  An Invitation to Formal Methods , 1996, Computer.

[30]  Michael Hanus,et al.  Programming with Constraints: An Introduction by Kim Marriott and Peter J. Stuckey, MIT Press, 1998. , 2001, Journal of Functional Programming.

[31]  Flemming Nielson,et al.  Principles of Program Analysis , 1999, Springer Berlin Heidelberg.

[32]  Nektarios Gioldasis,et al.  UTML: Unified Transaction Modeling Language , 2002, Proceedings of the Third International Conference on Web Information Systems Engineering, 2002. WISE 2002..

[33]  Steve A. Schneider,et al.  An integrated framework for checking the behaviour of fUML models using CSP , 2013, International Journal on Software Tools for Technology Transfer.

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

[35]  Andreas Reuter,et al.  Transaction Processing: Concepts and Techniques , 1992 .

[36]  Jordi Cabot,et al.  Verification of UML/OCL Class Diagrams using Constraint Programming , 1899, 2008 IEEE International Conference on Software Testing Verification and Validation Workshop.

[37]  David William Brown An introduction to object-oriented analysis : objects and UML in plain English , 2002 .

[38]  Vahid Garousi,et al.  Control Flow Analysis of UML 2.0 Sequence Diagrams , 2005, ECMDA-FA.

[39]  David Harel,et al.  Biting the silver bullet: toward a brighter future for system development , 1992, Computer.

[40]  Keith D. Cooper,et al.  Combining analyses, combining optimizations , 1995, TOPL.

[41]  Cristina Gómez,et al.  Improving the definition of general constraints in UML , 2007, Software & Systems Modeling.

[42]  Thouraya Bouabana-Tebibel,et al.  An object-oriented approach to formally analyze the UML 2.0 activity partitions , 2007, Inf. Softw. Technol..

[43]  Jordi Cabot,et al.  Verifying UML/OCL Operation Contracts , 2009, IFM.

[44]  Rajeev Alur,et al.  Model Checking: From Tools to Theory , 2008, 25 Years of Model Checking.

[45]  Gerti Kappel,et al.  Towards Scenario-Based Testing of UML Diagrams , 2012, TAP@TOOLS.

[46]  Marie-Pierre Gervais,et al.  Formalization of fUML: An Application to Process Verification , 2014, CAiSE.

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

[48]  T. Kaneshige Waiting for the Telecommunications Act to deliver , 1996 .

[49]  Fei Xie,et al.  Model checking for an executable subset of UML , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).

[50]  Andy Carpenter,et al.  Defining and verifying behaviour of domain specific language with fUML , 2012, BM-FA '12.