Abstract
A model transformation verification task may involve a number of different transformations, from one or more of a wide range of different model transformation languages, each transformation may have a particular transformation style, and there are a number of different verification properties which can be verified for each language and style of transformation. Transformations may operate upon many different modelling languages. This diversity of languages and properties indicates the need for a suitably generic framework for model transformation verification, independent of particular model transformation languages, and able to provide support for systematic procedures for verification across a range of languages, and for a range of properties. In this paper we describe the elements of such a framework, and apply this framework to some example transformation verification problems. The paper is novel in covering a wide range of different verification techniques for a wide range of MT languages, within an integrated framework.
Similar content being viewed by others
References
Ab Rahim L, Whittle J (2010) Verifying semantic conformance of state machine-to-Java code generators, MODELS 2010, LNCS
Anastasakis K, Bordbar B, Kuster J (2007) Analysis of model transformations via alloy, Modevva
Anastasakis K, Bordbar B, Georg G, Ray I (2010) On challenges of model transformation from UML to alloy. Softw Syst Model 9(1):69–86
Asztalos M, Ekler P, Lengyel L, Levendovszky T, Mezei G, Meszaros T (2010) Automated verification by declarative description of graph rewriting-based model transformations. In: MPM 2010. EASST, vol 42
Becker B, Beyer D, Giese H, Klein F, Schilling D (2006) Symbolic invariant verification for systems with dynamic structural adaptation. In: ICSE 2006, ACM Press
Becker B, Lambers L, Dyck J, Birth S, Giese H (2011) Iterative development of consistency-preserving rule-based refactorings. In: ICMT 2011, LNCS, vol 6707
Bezivin J, Buttner F, Gogolla M, Jouault F, Kurtev I, Lindow A (2006) Model transformations? Transformation models!. ATLAS group, University of Nantes
Boronat A, Heckel R, Meseguer J (2009) Rewriting logic semantics and verification of model transformations. FASE 2009. pp 18–33
Brucker A, Wolff B (2006) The HOL-OCL book. Technical report 525. ETH Zurich
Brucker A, Krieger M, Wolff B (2010) Extending OCL with null-references. MODELS 2009 Workshops, LNCS 6002. pp 261–275
Buttner F, Cabot J, Gogolla M (2011) On validation of ATL transformation rules by transformation models. Modevva 2011
Buttner F, Egea M, Cabot J, Gogolla M (2012) Verification of ATL transformations using transformation models and model finders. ICFEM 2012
Cabot J, Clariso R, Guerra E, De Lara J (2010) Verification and validation of declarative model-to-model transformations through invariants. J Syst Softw 83(2):283–302
Cabot J, Clariso R, Riera D (2007) UMLtoCSP: a tool for the verification of UML/OCL models using constraint programming. In: Automated Software Engineering ’07. pp. 547–548, ACM Press
Calegari D, Luna C, Szasz N, Tasistro L (2011) A type-theoretic framework for certified model transformations. In: FM 2011. LNCS, vol 6527. pp 112–127
Drey Z, Faucher C, Fleurey F, Mahe V, Vojtisek D (2009) Kermeta language reference manual.https://www.kermeta.org/docs/KerMeta-Manual.pdf, April
Eclipsepedia, ATL user guide. http://wiki.eclipse.org/ATL/User_Guide_-_The_ATL_Language, 2014.
Ehrig H, Ehrig K, Ermel C, Hermann F, Taentzer G (2007) Information preserving bidirectional model transformations. In: FASE 2007. pp 72–86
Event-B and Rodin platform. http://www.event-b.org, 2014
FAA (2012) DO-178C, Software considerations in airborne systems and equipment certification
Giese H, Glesner S, Leitner J, Shafer W, Wagner R (2006) Towards verified model transformations. In: Proceedings of 3rd international workshop on model-driven engineering, verification and validation (Modevva)
Goguen J, Burstall R (1992) Institutions: abstract model theory for specification and programming. J ACM 39:95–146
Guerra E, de Lara J, Kolovos DS, Paige RF, Marchi dos Satos O (2010) transML: a family of languages to model model transformations. In: MODELS 2010. LNCS, vol 6394. Springer, Berlin, pp 106–120
Hermann F, Ehrig H, Orejas F, Czarnecki K, Diskin Z, Xiong Y (2011) Correctness of model synchronisation based on Triple Graph Grammars. In: MODELS 2011. LNCS, vol 6981. Springer, Berlin, pp 748–752
Inaba K, Hidaka S, Hu Z, Kato H, Nakano K (2011) Graph-transformation verification using monadic second-order logic. In: PDPP ’11
Jouault F, Kurtev I (2006) Transforming models with ATL. In: MoDELS 2005. LNCS, vol 3844. Springer, Berlin, pp 128–138
Jakumeit E, Buchwald S, Kroll M (2010) GrGen.NET: the expressive, convenient and fast graph rewrite system. Int J Softw Tools Technol Transf 12:263–271
Kolahdouz-Rahimi S, Lano K, Pillay S, Troya J, Van Gorp P (2014) Evaluation of model transformation approaches for model refactoring. Sci Comput Progr 85:5–40
Kolovos DS, Paige RF, Polack F (2008) The epsilon transformation language. In: ICMT. pp 46–60
Kuhlmann M, Gogolla M (2012) From UML and OCL to relational logic and back. In: MODELS 2012. LNCS, vol 7590. Springer, Berlin, pp 415–431
Kuster J (2006) Definition and validation of model transformations. SoSyM 5(3):233–259
Lano K (1996) The B language and method, Springer, Berlin
Lano K (2006) Using B to verify UML transformations, Modevva 06
Lano K, Kolahdouz-Rahimi S (2010) Migration case study using UML-RSDS. TTC 2010, Malaga, Spain, July
Lano K, Kolahdouz-Rahimi S (2011) Slicing techniques for UML models. J Object Technol 10
Lano K, Kolahdouz-Rahimi S, Poernomo I (2012) Comparative evaluation of model transformation specification approaches. Int J Softw Inf 6(2):233–269
Lano K, Kolahdouz-Rahimi S, Clark T (2012) Comparing verification techniques for model transformations. Modevva workshop, MODELS
Lano K, Kolahdouz-Rahimi S (2011) Model-driven development of model transformations. In: ICMT 2011. LNCS, vol 6707. pp 47–61
Lano K, Kolahdouz-Rahimi S (2013) Constraint-based specification of model transformations. J Syst Softw 88(2):412–436
Lano K, Kolahdouz-Rahimi S, Clark T (2012) Verification of model transformations. Dept. of Informatics, King’s College London
Lano K (2014) Null considered harmful (for transformation verification). VOLT 2014, STAF conference, York
Massoni T, Gheyi R, Borba P (2005) Formal refactoring for UML class diagrams. In: 19th Brazilian symposium on Software Engineering
Mossakowski T, Maeder C, Luttich K (2012) The heterogeneous tool set. University of Bremen, Germany
Narayanan A, Karsai G (2006) Towards verifying model transformations. In: GT-VMT 2006. ENTCS, vol 211. pp 191–200
Narayanan A, Karsai G (2008) Verifying model transformations by structural correspondence. In: GT-VMT. EASST, vol 10
OMG (2011) QVT specification, Version 1.1.
OMG (2012) Object constraint language v2.3.1 specification, formal/2012-01-02
Poernomo I (2008) Proofs as model transformations. In: ICMT
Poernomo I, Terrell J (2010) Correct-by-construction Model Transformations from Spanning tree specifications in Coq. In: ICFEM
Rensink A, Schmidt A, Varro D (2004) Model checking graph transformations: a comparison of two approaches. In: ICGT 2004. LNCS, vol 3256
Soeken M, Wille R, Drechsler R (2012) Encoding OCL data types for SAT-based verification of UML/OCL models. University of Bremen
Stenzel K, Moebius N, Reif W (2011) Formal verification of QVT transformations for code generation. In: MODELS 2011. LNCS, vol 6981. Springer, Berlin
UML-RSDS toolset and manual (2013) http://www.dcs.kcl.ac.uk/staff/kcl/uml2web/
Varro D, Varro-Gyapay S, Ehrig H, Prange U, Taentzer G (2006) Termination analysis of model transformations by Petri Nets. In: ICGT 2006. LNCS, vol 4178
Z3 Theorem Prover (2012) http://research.microsoft.com/en-us/um/redmond/projects/z3/
Author information
Authors and Affiliations
Corresponding author
Additional information
Michael J. Butler
Rights and permissions
About this article
Cite this article
Lano, K., Clark, T. & Kolahdouz-Rahimi, S. A framework for model transformation verification. Form Asp Comp 27, 193–235 (2015). https://doi.org/10.1007/s00165-014-0313-z
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00165-014-0313-z