Heterogeneous verification of model transformations

This thesis is about formal verification in the context of the Model-Driven Engineering (MDE) paradigm. The paradigm proposes a software engineering life-cycle based on an abstraction from its complexity by defining models, and on a (semi)automatic construction process driven by model transformations. Our purpose is to address the verification of model transformations which includes, by extension, the verification of their models. We first review the literature on the verification of model transformations to conclude that the heterogeneity we find in the properties of interest to verify, and in the verification approaches, suggests the need of using different logical domains, which is the base of our proposal. In some cases it can be necessary to perform a heterogeneous verification, i.e. using different formalisms for the verification of each part of the whole problem. Moreover, it is useful to allow formal experts to choose the domain in which they are more skilled to address a formal proof. The main problem is that the maintenance of multiple formal representations of the MDE elements in different logical domains, can be expensive if there is no automated assistance or a clear formal relation between these representations. Motivated by this, we define a unified environment that allows formal verification of model transformations using heterogeneous verification approaches, in such a way that the formal translations of the MDE elements between logical domains can be automated. We formally base the environment on the Theory of Institutions, which provides a sound basis for representing MDE elements (as so called institutions) without depending on any specific logical domain. It also provides a way for specifying semantic-preserving translations (as so called comorphisms) from these elements to other logical domains. We use standards for the specification of the MDE elements. In fact, we define an institution for the well-formedness of models specified with a simplified version of the MetaObject Facility, and another institution for Query/View/Transformation Relations transformations. However, the idea can be generalized to other transformation approaches and languages.

[1]  Franklin Ramalho,et al.  A Static Analyzer for Model Transformations , 2011, MtATL@TOOLS.

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

[3]  Hartmut Ehrig,et al.  A Typed Attributed Graph Grammar with Inheritance for the Abstract Syntax of UML Class and Sequence Diagrams , 2008, Electron. Notes Theor. Comput. Sci..

[4]  S. Lane Categories for the Working Mathematician , 1971 .

[5]  Iman Poernomo,et al.  Correct-by-Construction Model Transformations from Partially Ordered Specifications in Coq , 2010, ICFEM.

[6]  Liliana Favre A Formal Foundation for Metamodeling , 2009, Ada-Europe.

[7]  Xavier Crégut,et al.  A Transformation-Driven Approach to Automate Feedback Verification Results , 2013, MEDI.

[8]  Joseph A. Goguen,et al.  Introducing Institutions , 1983, Logic of Programs.

[9]  Tom Mens Model Transformation: A Survey of the State of the Art , 2013 .

[10]  María Victoria Cengarle,et al.  A Heterogeneous Approach to UML Semantics , 2008, Concurrency, Graphs and Models.

[11]  Dániel Varró,et al.  VIATRA - visual automated transformations for formal verification and validation of UML models , 2002, Proceedings 17th IEEE International Conference on Automated Software Engineering,.

[12]  Frank Pfenning,et al.  Inductively Defined Types in the Calculus of Constructions , 1989, Mathematical Foundations of Programming Semantics.

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

[14]  Tobias Nipkow,et al.  A Proof Assistant for Higher-Order Logic , 2002 .

[15]  Jochen M. Küster,et al.  Systematic Validation of Model Transformations , 2004 .

[16]  Brent Hailpern,et al.  Software debugging, testing, and verification , 2002, IBM Syst. J..

[17]  Markus Roggenbach,et al.  Algebraic-coalgebraic specification in CoCasl , 2006, J. Log. Algebraic Methods Program..

[18]  Martin Wirsing,et al.  Correct Realization of Interface Constraints with OCL , 1999, UML.

[19]  Christoph Weidenbach,et al.  SPASS version 2.0 , 2002 .

[20]  Reiko Heckel,et al.  Confluence of Typed Attributed Graph Transformation Systems , 2002, ICGT.

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

[22]  Hong Zhu,et al.  Semantics of Metamodels in UML , 2009, 2009 Third IEEE International Symposium on Theoretical Aspects of Software Engineering.

[23]  Till Mossakowski,et al.  The VSE Refinement Method in Hets , 2009, ICFEM.

[24]  Anneke Kleppe,et al.  MDA explained - the Model Driven Architecture: practice and promise , 2003, Addison Wesley object technology series.

[25]  Jim Steel,et al.  On model typing , 2007, Software & Systems Modeling.

[26]  Tom Mens,et al.  04101 Discussion - A Taxonomy of Model Transformations , 2004, Language Engineering for Model-Driven Software Development.

[27]  Hao Wu,et al.  Exploiting Attributed Type Graphs to Generate Metamodel Instances Using an SMT Solver , 2013, 2013 International Symposium on Theoretical Aspects of Software Engineering.

[28]  Daniel Calegari,et al.  Estado del arte de lenguajes y herramientas de transformación de modelos , 2009 .

[29]  Hartmut Ehrig,et al.  Formal Analysis of Functional Behaviour for Model Transformations Based on Triple Graph Grammars , 2010, ICGT.

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

[31]  Nora Szasz,et al.  Bridging Technological Spaces for the Verification of Model Transformations , 2013, CIbSE.

[32]  Juan de Lara,et al.  Formal Support for QVT-Relations with Coloured Petri Nets , 2009, MoDELS.

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

[34]  Jean Bézivin,et al.  On the unification power of models , 2005, Software & Systems Modeling.

[35]  Yves Bertot,et al.  Interactive Theorem Proving and Program Development: Coq'Art The Calculus of Inductive Constructions , 2010 .

[36]  Hong Zhu,et al.  An institution theory of formal meta-modelling in graphically extended BNF , 2012, Frontiers of Computer Science.

[37]  Shmuel Katz Aspect Categories and Classes of Temporal Properties , 2006, LNCS Trans. Aspect Oriented Softw. Dev..

[38]  Joseph A. Goguen,et al.  What is a Logic , 2007 .

[39]  Till Mossakowski,et al.  Heterogeneous Specification and the Heterogeneous Tool Set , 2004 .

[40]  Dieter Hutter,et al.  Development graphs - Proof management for structured specifications , 2006, J. Log. Algebraic Methods Program..

[41]  Antonio Vallecillo,et al.  Formal Specification and Analysis of Domain Specific Models Using Maude , 2009, Simul..

[42]  Christiano Braga,et al.  On the Specification, Verification and Implementation of Model Transformations with Transformation Contracts , 2011, SBMF.

[43]  Paulo Borba,et al.  Formal Refactoring for UML Class Diagrams , 2005, Anais do XIX Simpósio Brasileiro de Engenharia de Software (SBES 2005).

[44]  Hans Vangheluwe,et al.  Systematic Transformation Development , 2009, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[45]  Frédéric Jouault,et al.  Typing artifacts in megamodeling , 2011, Software & Systems Modeling.

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

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

[48]  Perdita Stevens A Simple Game-Theoretic Approach to Checkonly QVT Relations , 2009, ICMT@TOOLS.

[49]  Kevin Lano,et al.  Model-Driven Development of Model Transformations , 2011, ICMT@TOOLS.

[50]  Douglas C. Schmidt,et al.  Guest Editor's Introduction: Model-Driven Engineering , 2006, Computer.

[51]  Dániel Varró,et al.  Termination Criteria for Model Transformation , 2005, Transformation Techniques in Software Engineering.

[52]  Ralf Möller,et al.  Certification of transformation algorithms in model-driven software development , 2007, Software Engineering.

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

[54]  Donald Sannella,et al.  Foundations of Algebraic Specification and Formal Software Development , 2012, Monographs in Theoretical Computer Science. An EATCS Series.

[55]  Hartmut Ehrig,et al.  Efficient Detection of Conflicts in Graph-based Model Transformation , 2006, Electron. Notes Theor. Comput. Sci..

[56]  Jean Bézivin,et al.  Technological Spaces: An Initial Appraisal , 2002 .

[57]  Peyton Jones,et al.  Haskell 98 language and libraries : the revised report , 2003 .

[58]  Jonathan P. Bowen,et al.  Software engineering and formal methods , 2008, CACM.

[59]  Jean-Marc Jézéquel,et al.  Weaving executability into object-oriented meta-languages , 2005, MoDELS'05.

[60]  Marcelo F. Frias,et al.  HeteroGenius: A Framework for Hybrid Analysis of Heterogeneous Software Specifications , 2013, LAFM.

[61]  Martin Gogolla,et al.  Model transformations? transformation models! , 2006, MoDELS'06.

[62]  María Victoria Cengarle,et al.  An Institution for UML 2.0 Static Structures , 2008 .

[63]  Adrián Riesco,et al.  Integrating Maude into Hets , 2010, AMAST.

[64]  Hartmut Ehrig,et al.  Attributed graph transformation with node type inheritance , 2007, Theor. Comput. Sci..

[65]  Reiko Heckel,et al.  Rewriting Logic Semantics and Verification of Model Transformations , 2009, FASE.

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

[67]  Luciano Baresi,et al.  Verification of Model Transformations: A Case Study with BPEL , 2006, TGC.

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

[69]  Jordi Cabot,et al.  Two Basic Correctness Properties for ATL Transformations: Executability and Coverage , 2011, MtATL@TOOLS.

[70]  Dániel Varró,et al.  Termination Analysis of Model Transformations by Petri Nets , 2006, ICGT.

[71]  Michael Haupt,et al.  A Platform for Experimenting with Language Constructs for Modularizing Crosscutting Concerns , 2010 .

[72]  Nora Szasz,et al.  Institutionalising UML 2.0 state machines , 2011, Innovations in Systems and Software Engineering.

[73]  Tihamer Levendovszky,et al.  Supporting domain-specific model patterns with metamodeling , 2009, Software & Systems Modeling.

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

[75]  Fabio Gadducci,et al.  An Institution for Graph Transformation , 2010, WADT.

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

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

[78]  Jean-Michel Bruel Satellite Events at the MoDELS 2005 Conference, MoDELS 2005 International Workshops, Doctoral Symposium, Educators Symposium, Montego Bay, Jamaica, October 2-7, 2005, Revised Selected Papers , 2006, MoDELS Satellite Events.

[79]  Kurt Stenzel,et al.  Formal verification of QVT transformations for code generation , 2011, MODELS'11.

[80]  Kevin Lano,et al.  Specification and Verification of Model Transformations Using UML-RSDS , 2010, IFM.

[81]  Artur Boronat,et al.  Algebraic Semantics of OCL-Constrained Metamodel Specifications , 2009, TOOLS.

[82]  Stuart Kent,et al.  Model Driven Engineering , 2002, IFM.

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

[84]  Till Mossakowski,et al.  The Heterogeneous Tool Set (Hets) , 2007, VERIFY.

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

[86]  Claudia Pons,et al.  A Lightweight Approach for the Semantic Validation of Model Refinements , 2008, MBT@ETAPS.

[87]  Razvan Diaconescu,et al.  Institutional semantics for many-valued logics , 2013, Fuzzy Sets Syst..

[88]  Juan de Lara,et al.  An Algebraic Semantics for QVT-Relations Check-only Transformations , 2012, Fundam. Informaticae.

[89]  Mehrdad Sabetzadeh,et al.  A relationship-based approach to model integration , 2011, Innovations in Systems and Software Engineering.

[90]  David A. Carrington,et al.  Verifying metamodel coverage of model transformations , 2006, Australian Software Engineering Conference (ASWEC'06).

[91]  Stuart Kent,et al.  A relational approach to defining and implementing transformations between metamodels , 2003, Software & Systems Modeling.

[92]  Hubert Dubois,et al.  Proving Model Transformations , 2010, 2010 4th IEEE International Symposium on Theoretical Aspects of Software Engineering.

[93]  Anne Elisabeth Haxthausen,et al.  Casl - The Common Algebraic Specification Language: Semantics and Proof Theory , 2003, Comput. Artif. Intell..

[94]  Razvan Diaconescu,et al.  Cafeobj Report - The Language, Proof Techniques, and Methodologies for Object-Oriented Algebraic Specification , 1998, AMAST Series in Computing.

[95]  Reiko Heckel,et al.  Model-Based Verification and Validation of Properties , 2003, UNIGRA.

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

[97]  Martin Gogolla,et al.  On validation of ATL transformation rules by transformation models , 2011, MoDeVVa.

[98]  Jochen Malte Küster,et al.  Definition and validation of model transformations , 2006, Software & Systems Modeling.

[99]  Márk Asztalos,et al.  Towards Automated, Formal Verification of Model Transformations , 2010, 2010 Third International Conference on Software Testing, Verification and Validation.

[100]  Bilel Derbel,et al.  Graph Transformations, 4th International Conference, ICGT 2008, Leicester, United Kingdom, September 7-13, 2008. Proceedings , 2008, ICGT.

[101]  J. Padberg,et al.  Reenement versus Veriication: Compatibility of Net Invariants and Stepwise Development of High-level Petri Nets , 1997 .

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

[103]  Indrakshi Ray,et al.  On challenges of model transformation from UML to Alloy , 2008, Software & Systems Modeling.

[104]  Reiko Heckel,et al.  Behavioral Refinement of Graph Transformation-Based Models , 2005, Electron. Notes Theor. Comput. Sci..

[105]  Kevin Lano,et al.  Model Transformation Specification and Design , 2012, Adv. Comput..

[106]  Nora Szasz,et al.  Experiment with a type-theoretic approach to the verification of model transformations , 2009 .

[107]  Markus Roggenbach,et al.  Designing Domain Specific Languages - A Craftsman's Approach for the Railway Domain Using Casl , 2012, WADT.

[108]  Nora Szasz,et al.  Institution-Based Semantics for MOF and QVT-Relations , 2013, SBMF.

[109]  Gabor Karsai,et al.  Specifying the correctness properties of model transformations , 2008, GRaMoT '08.

[110]  Narciso Martí-Oliet,et al.  Maude: specification and programming in rewriting logic , 2002, Theor. Comput. Sci..

[111]  Frank Hermann,et al.  Specification and Verification of Model Transformations , 2010, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[112]  Gerti Kappel,et al.  Automated verification of model transformations based on visual contracts , 2013, Automated Software Engineering.

[113]  Mihai Codescu,et al.  Recent Trends in Algebraic Development Techniques , 2015, Lecture Notes in Computer Science.

[114]  L´szló Lengyel,et al.  Validating Query/View/Transformation Relations , 2010, 2010 Workshop on Model-Driven Engineering, Verification, and Validation.

[115]  Gabor Karsai,et al.  Towards Verifying Model Transformations , 2008, GT-VMT@ETAPS.

[116]  H. J. Sander Bruggink Towards a Systematic Method for Proving Termination of Graph Transformation Systems , 2008, Electron. Notes Theor. Comput. Sci..

[117]  Till Mossakowski,et al.  Specification with Multi-Modal Logics Language Summary , 2004 .

[118]  Kenneth Chan Formal proofs for QoS-oriented Transformations , 2006, 2006 10th IEEE International Enterprise Distributed Object Computing Conference Workshops (EDOCW'06).

[119]  Joseph A. Goguen,et al.  Institutions: abstract model theory for specification and programming , 1992, JACM.

[120]  U. Keller,et al.  Translating the Object Constraint Language into First-order Predicate Logic , 2001 .