A feedback technique for unsatisfiable UML/OCL class diagrams

In Model‐Driven Development (MDD), detection of model defects is necessary for correct model transformations. Formal verification tools and techniques can to some extent verify models. However, scalability is a serious issue in relation to verification of complex UML/OCL class diagrams. We have proposed a model slicing technique that slices the original model into submodels to address the scalability issue. A submodel can be detected as unsatisfiable if there are no valid values for one or more attributes of an object in the diagram or if the submodel provides inconsistent conditions on the number of objects of a given type. In this paper, we propose a novel feedback technique through model slicing that detects unsatisfiable submodels and their integrity constraints among the complex hierarchy of an entire UML/OCL class diagram. The software developers can therefore focus their revision efforts on the incorrect submodels while ignoring the rest of the model. Copyright © 2013 John Wiley & Sons, Ltd.

[1]  Rolf Drechsler,et al.  Using unsatisfiable cores to debug multiple design errors , 2008, GLSVLSI '08.

[2]  Uffe Kock Wiil,et al.  Evaluation of Tools and Slicing Techniques for Efficient Verification of UML/OCL Class Diagrams , 2011, Adv. Softw. Eng..

[3]  Axel Uhl,et al.  Using an OCL Impact Analysis Algorithm for View-Based Textual Modelling , 2011 .

[4]  Frank Tip,et al.  A survey of program slicing techniques , 1994, J. Program. Lang..

[5]  Daniel Jackson,et al.  Alloy: a lightweight object modelling notation , 2002, TSEM.

[6]  Axel Uhl,et al.  Incremental Updates for View-Based Textual Modelling , 2011, ECMFA.

[7]  Jaiprakash T. Lallchandani,et al.  Slicing UML architectural models , 2008, SOEN.

[8]  M. Eliantonio,et al.  Private Parties and the Annulment Procedure: Can the Gap in the European System of Judicial Protection Be Closed? , 2010 .

[9]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[10]  Uffe Kock Wiil,et al.  Verification-driven slicing of UML/OCL models , 2010, ASE.

[11]  Uffe Kock Wiil,et al.  UOST: UML/OCL aggressive slicing technique for efficient verification of models , 2010, SAM'10.

[12]  Peter J. Stuckey,et al.  Constraint Logic Programming , 1992, Handbook of Constraint Programming.

[13]  Martin Gogolla,et al.  Validation of UML and OCL Models by Automatic Snapshot Generation , 2003, UML.

[14]  Uffe Kock Wiil,et al.  UMLtoCSP (UOST): a tool for efficient verification of UML/OCL class diagrams through model slicing , 2012, SIGSOFT FSE.

[15]  Jordi Cabot,et al.  Determining the Structural Events That May Violate an Integrity Constraint , 2004, UML.

[16]  Ernest Teniente,et al.  Reasoning on UML Class Diagrams with OCL Constraints , 2006, ER.

[17]  Krzysztof R. Apt,et al.  Constraint logic programming using Eclipse , 2007 .

[18]  Achim D. Brucker,et al.  HOL-OCL: A Formal Proof Environment for UML/OCL , 2008, FASE.

[19]  Jordi Cabot Sagrera,et al.  Verification of UML/OCL Class Diagrams Using Constraint Programming , 2008 .

[20]  Achim D. Brucker,et al.  A Formal Proof Environment for uml/ocl , 2008 .

[21]  Indrakshi Ray,et al.  UML2Alloy: a challenging model transformation , 2007, MODELS'07.

[22]  Michael Altenhofen,et al.  OCL support in an industrial environment , 2006, MoDELS'06.

[23]  David W. Binkley,et al.  Program slicing , 2008, 2008 Frontiers of Software Maintenance.

[24]  Krzysztof R. Apt,et al.  Constraint Logic Programming Using ECL i PS e : Constraint propagation in ECL i ps e , 2006 .

[25]  Andrew M. Sutton,et al.  Context-free slicing of UML class models , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[26]  Felix Sheng-Ho Chang,et al.  Finding Minimal Unsatisfiable Cores of Declarative Specifications , 2008, FM.

[27]  Jordi Cabot,et al.  UMLtoCSP: a tool for the formal verification of UML/OCL models using constraint programming , 2007, ASE.

[28]  Martin Gogolla,et al.  Metric-based selective representation of UML diagrams , 2002, Proceedings of the Sixth European Conference on Software Maintenance and Reengineering.