Specification and Verification of Graph-Based Model Transformation Properties

We extend a previously proposed symbolic model transformation property prover for the DSLTrans transformation language. The original prover generated the set of path conditions (i.e., symbolic transformation executions), and verified atomic contracts (constraints on input-output model relations) on these path conditions. The prover evaluated atomic contracts to yield either true or false for the transformation when run on any input model. In this paper we extend the prover such that it can verify atomic contracts and more complex properties composed of atomic contracts. Besides demonstrating our prover on a simple transformation, we use it to verify different kinds of properties of an industrial transformation. Experiments on this transformation using our prover show a speed-up in verification run-time by two orders of magnitude over another verification tool that we evaluated in previous research.

[1]  Levi Lucio,et al.  DSLTrans: A Turing Incomplete Transformation Language , 2010, SLE.

[2]  Juan de Lara,et al.  Checking Model Transformation Refinement , 2013, ICMT.

[3]  Laurence Tratt,et al.  Eco: A Language Composition Editor , 2014, SLE.

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

[5]  Antonio Vallecillo,et al.  A Rewriting Logic Semantics for ATL , 2011, J. Object Technol..

[6]  J. Küster,et al.  Analysis of Model Transformations via Alloy , 2007 .

[7]  Jürgen Dingel,et al.  A Tridimensional Approach for Studying the Formal Verification of Model Transformations , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

[8]  Jürgen Dingel,et al.  Model Transformations for Migrating Legacy Models: An Industrial Case Study , 2012, ECMFA.

[9]  Gabriele Taentzer,et al.  AGG: A Graph Transformation Environment for Modeling and Validation of Software , 2003, AGTIVE.

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

[11]  Luciano Baresi,et al.  On the Use of Alloy to Analyze Graph Transformation Systems , 2006, ICGT.

[12]  Fernando Orejas,et al.  On the Specification and Verification of Model Transformations , 2009, Semantics and Algebraic Specification.

[13]  Manfred Nagl,et al.  Applications of Graph Transformations with Industrial Relevance , 2004, Lecture Notes in Computer Science.

[14]  Jürgen Dingel,et al.  Automated Verification of Model Transformations in the Automotive Industry , 2013, MoDELS.

[15]  Juan de Lara,et al.  A Visual Specification Language for Model-to-Model Transformations , 2010, 2010 IEEE Symposium on Visual Languages and Human-Centric Computing.

[16]  Jon Whittle,et al.  A survey of approaches for verifying model transformations , 2013, Software & Systems Modeling.

[17]  Márk Asztalos,et al.  Formal specification and analysis of functional properties of graph rewriting‐based model transformation , 2013, Softw. Test. Verification Reliab..

[18]  Francesca Arcelli Fontana,et al.  Using Design Pattern Clues to Improve the Precision of Design Pattern Detection Tools , 2011, J. Object Technol..

[19]  Steffen Zschaler,et al.  Modular DSLs for Flexible Analysis: An e-Motions Reimplementation of Palladio , 2014, ECMFA.

[20]  Gabriele Taentzer,et al.  Henshin: advanced concepts and tools for in-place EMF model transformations , 2010, MODELS'10.

[21]  Hans Vangheluwe,et al.  De-/Re-constructing Model Transformation Languages , 2010, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[22]  Holger Giese,et al.  Symbolic invariant verification for systems with dynamic structural adaptation , 2006, ICSE.