A Sound Execution Semantics for ATL via Translation Validation - Research Paper

In this work we present a translation validation approach to encode a sound execution semantics for the ATL specification. Based on our sound encoding, the goal is to soundly verify an ATL specification against the specified OCL contracts. To demonstrate our approach, we have developed the VeriATL verification system using the Boogie2 intermediate verification language, which in turn provides access to the Z3 theorem prover. Our system automatically encodes the execution semantics of each ATL specification as it appears in the ATL matched rules into the intermediate verification language. Then, to ensure the soundness of the encoding, we verify that it soundly represents the runtime behaviour of its corresponding compiled implementation in terms of bytecode instructions for the ATL virtual machine. The experiments demonstrate the feasibility of our approach. They also illustrate how to automatically verify an ATL specification against specified OCL contracts.

[1]  Jean Bézivin,et al.  ATL: A model transformation tool , 2008, Sci. Comput. Program..

[2]  Iman Poernomo Proofs-as-Model-Transformations , 2008, ICMT@TOOLS.

[3]  Jordi Cabot,et al.  On verifying ATL transformations using 'off-the-shelf' SMT solvers , 2012, MODELS'12.

[4]  K. Rustan M. Leino,et al.  Dafny: An Automatic Program Verifier for Functional Correctness , 2010, LPAR.

[5]  Xavier Leroy,et al.  Formal certification of a compiler back-end or: programming a compiler with a proof assistant , 2006, POPL '06.

[6]  Benoît Combemale,et al.  Essay on Semantics Definition in MDE - An Instrumented Approach for Model Verification , 2009, J. Softw..

[7]  Levi Lucio,et al.  A technique for automatic validation of model transformations , 2010, MODELS'10.

[8]  Kevin Lano,et al.  A framework for model transformation verification , 2014, Formal Aspects of Computing.

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

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

[11]  Bor-Yuh Evan Chang,et al.  Boogie: A Modular Reusable Verifier for Object-Oriented Programs , 2005, FMCO.

[12]  ATL: Atlas Transformation Language Specification of the ATL Virtual Machine , 2005 .

[13]  Ernst-Rüdiger Olderog,et al.  Verification of Sequential and Concurrent Programs , 1991, Texts and Monographs in Computer Science.

[14]  Nora Szasz,et al.  A Type-Theoretic Framework for Certified Model Transformations , 2010, SBMF.