A Sound Execution Semantics for ATL via Translation Validation
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.
KeywordsModel transformation verification ATL Automatic theorem proving Intermediate verification language Boogie
- 1.Ab.Rahim, L., Whittle, J.: A survey of approaches for verifying model transformations. Soft. Syst. Modeling (2015) (to appear)Google Scholar
- 3.ATLAS Group: Specification of the ATL virtual machine. Technical report, Lina & INRIA Nantes (2005)Google Scholar
- 7.Cheng, Z., Monahan, R., Power, J.F.: Online repository for VeriATL system (2013). https://github.com/veriatl/veriatl
- 15.Troya, J., Vallecillo, A.: A rewriting logic semantics for ATL. J. Object Technol. 10(5), 1–29 (2011)Google Scholar