Formal validation of model transformation with Coq proof assistant

Facing the increasing complexity of systems and their design methods, the Model Driven Engineering (MDE) brings solutions to facilitate and automate the software development process. The model transformation is the most important artifact in MDE that it defines the automatic passing from one model to another. The validation of such model transformation are necessary to improve the safety of this latter, but most transformation languages have not a formal semantics to add detailed specifications on the expected behavior. So it is important to give solutions to integrate formal methods at this level. For this, we utilize the Coq proof assistant that is based on various calculus, for validating a model transformation specified with QVT-operational language. We illustrate our approach by transforming a UML state diagram into Petri net.

[1]  Wilhelm Schäfer,et al.  Towards Verified Model Transformations , 2006 .

[2]  Andy Schürr,et al.  Model transformation in the large , 2007, ESEC-FSE '07.

[3]  C. A. Petri Communication with automata , 1966 .

[4]  Miguel García Formalization of QVT-Relations : OCL-based Static Semantics and Alloy-based Validation , 2008 .

[5]  Bernhard Schätz,et al.  Verification of Model Transformations , 2010, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[6]  Jean-Marc Jézéquel,et al.  On Executable Meta-Languages applied to Model Transformations , 2005 .

[7]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

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

[9]  Nicolas Belloir,et al.  OCL contracts for the verification of model transformations , 2010, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[10]  Nora Szasz,et al.  Verification of Model Transformations: A Survey of the State-of-the-Art , 2013, CLEI Selected Papers.

[11]  Mohamed Mezghiche,et al.  A Case Study in Combining Formal Verification and Model-Driven Engineering , 2012, ICTERI.

[12]  Jochen Malte Küster,et al.  Validation of model transformations: first experiences using a white box approach , 2006, MoDELS'06.

[13]  Kais Klai,et al.  Formal verification of UML state diagrams: a petri net based approach , 2011, SOEN.

[14]  Franck Barbier,et al.  Contracts for Model Execution Verification , 2011, ECMFA.

[15]  Adam Chlipala,et al.  A certified type-preserving compiler from lambda calculus to assembly language , 2007, PLDI '07.

[16]  Jean Bézivin,et al.  KM3: A DSL for Metamodel Specification , 2006, FMOODS.

[17]  Krzysztof Czarnecki,et al.  Feature-based survey of model transformation approaches , 2006, IBM Syst. J..

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

[19]  M. Wimmer,et al.  Right or Wrong ? – Verification of Model Transformations using Colored Petri Nets , 2009 .

[20]  Pierre-Yves Schobbens,et al.  Approche formelle pour une Ingénierie des Modèles sûre , 2009 .

[21]  Luís Gomes,et al.  Towards Statecharts to Input-Output Place Transition Nets Transformations , 2011, DoCEIS.

[22]  Lars Michael Kristensen,et al.  Coloured Petri Nets and CPN Tools for modelling and validation of concurrent systems , 2007, International Journal on Software Tools for Technology Transfer.