Heterogeneous verification in the context of model driven engineering

Abstract In some cases it may be useful to represent a problem in many logical domains, since they provide different perspectives for addressing formal verification. However, the maintenance of multiple representations in separate domains can be expensive if there is neither automated assistance nor a clear formal relation between these domains. We have addressed this problem in the context of Model-Driven Engineering (MDE). We defined solid foundations of a theoretical environment for formal verification using heterogeneous verification approaches. The environment is based on the Theory of Institutions which provides a sound basis for representing MDE elements and a way for specifying translations from these elements to other domains used for verification. In this paper we present how this environment can be supported in practice within the Heterogeneous Tool Set ( Hets ). Hets supports heterogeneous specifications and provides capabilities for monitoring the overall correctness of a heterogeneous proof. We first extend the theoretical environment with the inclusion of an institution for the Object Constraint Language (OCL), and then we define semantic-preserving translations from the OCL-constrained MDE elements to a core language of Hets . With this we can verify basic properties of our specification, and then use the existent connections between logical domains within Hets for broadening the spectrum of domains in which complementary verification properties can be addressed.

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

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

[3]  Christoph Lange,et al.  The Distributed Ontology, Modeling and Specification Language , 2013, WoMO.

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

[5]  Artur Boronat,et al.  What Is a Multi-modeling Language? , 2008, WADT.

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

[7]  Jean-Marc Jézéquel,et al.  Model Driven Engineering , 2017, Encyclopedia of GIS.

[8]  Andrzej Tarlecki,et al.  Towards Heterogeneous Specifications , 1998, FroCoS.

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

[10]  Till Mossakowski,et al.  Heterogeneous Logical Environments for Distributed Specifications , 2008, WADT.

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

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

[13]  Marina Egea,et al.  Formal executable semantics for conformance in the MDE framework , 2010, Innovations in Systems and Software Engineering.

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

[15]  Till Mossakowski,et al.  Specification refinements: Calculi, tools, and applications , 2017, Sci. Comput. Program..

[16]  Nora Szasz,et al.  Institution-based foundations for verification in the context of model-driven engineering , 2015, Sci. Comput. Program..

[17]  Petros S. Stefaneas,et al.  Logical support for modularisation , 1993 .

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

[19]  Peter D. Mosses,et al.  Casl Reference Manual , 2004, Lecture Notes in Computer Science.

[20]  María Victoria Cengarle,et al.  Institutions for OCL-Like Expression Languages , 2015, Software, Services, and Systems.

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

[22]  Daniel Calegari García,et al.  Heterogeneous verification of model transformations , 2014 .

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

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

[25]  Kevin Lano Null Considered Harmful (for Transformation Verification) , 2014, VOLT@STAF.

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

[27]  Christoph Weidenbach,et al.  S PASS Version 2.0 , 2002, CADE.

[28]  Achim D. Brucker,et al.  Featherweight OCL: A Proposal for a Machine-Checked Formal Semantics for OCL 2.5 , 2014, Arch. Formal Proofs.

[29]  María Victoria Cengarle,et al.  OCL 1.4/5 vs. 2.0 Expressions Formal semantics and expressiveness , 2004, Software & Systems Modeling.

[30]  Manuel Clavel,et al.  Checking Unsatisfiability for OCL Constraints , 2010, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[31]  Markus Roggenbach,et al.  Towards an Institutional Framework for Heterogeneous Formal Development in UML - - A Position Paper - , 2015, Software, Services, and Systems.

[32]  Grigore Rosu,et al.  Institution Morphisms , 2013, Formal Aspects of Computing.

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

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

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

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

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

[38]  S. Wölfl,et al.  The Heterogeneous Tool Set , 2007 .

[39]  Dominic R. Verity,et al.  ∞-Categories for the Working Mathematician , 2018 .

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

[41]  Till Mossakowski,et al.  A Simple Refinement Language for Casl , 2004, WADT.

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

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

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

[45]  Till Mossakowski,et al.  The Distributed Ontology, Model and Specification Language - DOL , 2016, WADT.

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

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

[48]  Andrei Voronkov,et al.  Automated Deduction—CADE-18 , 2002, Lecture Notes in Computer Science.

[49]  Holger Giese,et al.  Bridging the gap between formal semantics and implementation of triple graph grammars , 2010, 2010 Workshop on Model-Driven Engineering, Verification, and Validation.

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

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

[52]  Nora Szasz,et al.  Model-Driven Engineering in the Heterogeneous Tool Set , 2014, SBMF.

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

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

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

[56]  José Meseguer,et al.  May I Borrow Your Logic? (Transporting Logical Structures Along Maps) , 1997, Theor. Comput. Sci..

[57]  Donald Sannella,et al.  Specifications in an Arbitrary Institution , 1988, Inf. Comput..