Verifying UML/OCL Operation Contracts

In current model-driven development approaches, software models are the primary artifacts of the development process. Therefore, assessment of their correctness is a key issue to ensure the quality of the final application. Research on model consistency has focused mostly on the models' static aspects. Instead, this paper addresses the verification of their dynamic aspects, expressed as a set of operations defined by means of pre/postcondition contracts. This paper presents an automatic method based on Constraint Programming to verify UML models extended with OCL constraints and operation contracts. In our approach, both static and dynamic aspects are translated into a Constraint Satisfaction Problem. Then, compliance of the operations with respect to several correctness properties such as operation executability or determinism are formally verified.

[1]  Aggelos Kiayias,et al.  Polynomial Reconstruction Based Cryptography , 2001, Selected Areas in Cryptography.

[2]  Toni Mancini,et al.  Finite Satisfiability of UML Class Diagrams by Constraint Programming , 2004, Description Logics.

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

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

[5]  Diego Calvanese,et al.  Reasoning over Extended ER Models , 2007, ER.

[6]  John Mylopoulos,et al.  On the Frame Problem in Procedure Specifications , 1995, IEEE Trans. Software Eng..

[7]  Ivar Jacobson,et al.  Unified Modeling Language , 2020, Definitions.

[8]  Peter J. Stuckey,et al.  Programming with Constraints: An Introduction , 1998 .

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

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

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

[12]  Michael Beetz,et al.  KI 2007: Advances in Artificial Intelligence, 30th Annual German Conference on AI, KI 2007, Osnabrück, Germany, September 10-13, 2007, Proceedings , 2007, KI.

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

[14]  Michael Thielscher,et al.  Integrating Action Calculi and Description Logics , 2007, KI.

[15]  Bernhard Thalheim,et al.  Conceptual Modeling - ER 2007 , 2007, Lecture Notes in Computer Science.

[16]  David W. Embley,et al.  Conceptual Modeling - Er 2006 , 2008 .

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

[18]  Diego Calvanese,et al.  Reasoning on UML class diagrams , 2005, Artif. Intell..

[19]  Achim D. Brucker,et al.  The HOL-OCL Book , 2006 .

[20]  Anne Elisabeth Haxthausen,et al.  Theoretical Aspects of Computing - ICTAC 2008, 5th International Colloquium, Istanbul, Turkey, September 1-3, 2008. Proceedings , 2008, ICTAC.

[21]  Tom Mens,et al.  Using Description Logic to Maintain Consistency between UML Models , 2003, UML.

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

[23]  Roel Wieringa,et al.  A survey of structured and object-oriented software specification methods and techniques , 1998, CSUR.

[24]  Neil Evans,et al.  Automatic Generation of CSP || B Skeletons from xUML Models , 2008, ICTAC.

[25]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[26]  Gilles Motet,et al.  A UML model consistency verification approach based on meta-modeling formalization , 2006, SAC.

[27]  Jordi Cabot From Declarative to Imperative UML/OCL Operation Specifications , 2007, ER.