Formal Aspects of Computing

, Volume 27, Issue 1, pp 193–235 | Cite as

A framework for model transformation verification

  • Kevin LanoEmail author
  • T. Clark
  • S. Kolahdouz-Rahimi
Original Article


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.


Model transformation verification Model transformation specification Model transformation engineering 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. AbW10.
    Ab Rahim L, Whittle J (2010) Verifying semantic conformance of state machine-to-Java code generators, MODELS 2010, LNCSGoogle Scholar
  2. ABK07.
    Anastasakis K, Bordbar B, Kuster J (2007) Analysis of model transformations via alloy, ModevvaGoogle Scholar
  3. ABG10.
    Anastasakis K, Bordbar B, Georg G, Ray I (2010) On challenges of model transformation from UML to alloy. Softw Syst Model 9(1):69–86CrossRefGoogle Scholar
  4. AEL10.
    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 42Google Scholar
  5. BBG06a.
    Becker B, Beyer D, Giese H, Klein F, Schilling D (2006) Symbolic invariant verification for systems with dynamic structural adaptation. In: ICSE 2006, ACM PressGoogle Scholar
  6. BLD11.
    Becker B, Lambers L, Dyck J, Birth S, Giese H (2011) Iterative development of consistency-preserving rule-based refactorings. In: ICMT 2011, LNCS, vol 6707Google Scholar
  7. BBG06b.
    Bezivin J, Buttner F, Gogolla M, Jouault F, Kurtev I, Lindow A (2006) Model transformations? Transformation models!. ATLAS group, University of NantesGoogle Scholar
  8. BHM09.
    Boronat A, Heckel R, Meseguer J (2009) Rewriting logic semantics and verification of model transformations. FASE 2009. pp 18–33Google Scholar
  9. BrW06.
    Brucker A, Wolff B (2006) The HOL-OCL book. Technical report 525. ETH ZurichGoogle Scholar
  10. BKW10.
    Brucker A, Krieger M, Wolff B (2010) Extending OCL with null-references. MODELS 2009 Workshops, LNCS 6002. pp 261–275Google Scholar
  11. BCG11.
    Buttner F, Cabot J, Gogolla M (2011) On validation of ATL transformation rules by transformation models. Modevva 2011Google Scholar
  12. BEC12.
    Buttner F, Egea M, Cabot J, Gogolla M (2012) Verification of ATL transformations using transformation models and model finders. ICFEM 2012Google Scholar
  13. CCG10.
    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–302CrossRefGoogle Scholar
  14. CCR07.
    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 PressGoogle Scholar
  15. CLS11.
    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–127Google Scholar
  16. DFF09.
    Drey Z, Faucher C, Fleurey F, Mahe V, Vojtisek D (2009) Kermeta language reference manual., April
  17. Ecl14.
  18. EEE07.
    Ehrig H, Ehrig K, Ermel C, Hermann F, Taentzer G (2007) Information preserving bidirectional model transformations. In: FASE 2007. pp 72–86Google Scholar
  19. Eve14.
    Event-B and Rodin platform., 2014
  20. FAA12.
    FAA (2012) DO-178C, Software considerations in airborne systems and equipment certificationGoogle Scholar
  21. GGL06.
    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)Google Scholar
  22. GoB92.
    Goguen J, Burstall R (1992) Institutions: abstract model theory for specification and programming. J ACM 39:95–146CrossRefMathSciNetzbMATHGoogle Scholar
  23. GLK10.
    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–120Google Scholar
  24. HEO11.
    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–752Google Scholar
  25. IHH11.
    Inaba K, Hidaka S, Hu Z, Kato H, Nakano K (2011) Graph-transformation verification using monadic second-order logic. In: PDPP ’11Google Scholar
  26. JoK06.
    Jouault F, Kurtev I (2006) Transforming models with ATL. In: MoDELS 2005. LNCS, vol 3844. Springer, Berlin, pp 128–138Google Scholar
  27. JBK10.
    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–271Google Scholar
  28. KLP14.
    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–40CrossRefGoogle Scholar
  29. KPP08.
    Kolovos DS, Paige RF, Polack F (2008) The epsilon transformation language. In: ICMT. pp 46–60Google Scholar
  30. KuG12.
    Kuhlmann M, Gogolla M (2012) From UML and OCL to relational logic and back. In: MODELS 2012. LNCS, vol 7590. Springer, Berlin, pp 415–431Google Scholar
  31. Kus06.
    Kuster J (2006) Definition and validation of model transformations. SoSyM 5(3):233–259Google Scholar
  32. Lan96.
    Lano K (1996) The B language and method, Springer, BerlinGoogle Scholar
  33. Lan06.
    Lano K (2006) Using B to verify UML transformations, Modevva 06Google Scholar
  34. LaK10.
    Lano K, Kolahdouz-Rahimi S (2010) Migration case study using UML-RSDS. TTC 2010, Malaga, Spain, JulyGoogle Scholar
  35. LaK11a.
    Lano K, Kolahdouz-Rahimi S (2011) Slicing techniques for UML models. J Object Technol 10Google Scholar
  36. LKP12.
    Lano K, Kolahdouz-Rahimi S, Poernomo I (2012) Comparative evaluation of model transformation specification approaches. Int J Softw Inf 6(2):233–269Google Scholar
  37. LKC12a.
    Lano K, Kolahdouz-Rahimi S, Clark T (2012) Comparing verification techniques for model transformations. Modevva workshop, MODELSGoogle Scholar
  38. LaK11b.
    Lano K, Kolahdouz-Rahimi S (2011) Model-driven development of model transformations. In: ICMT 2011. LNCS, vol 6707. pp 47–61Google Scholar
  39. LaK12.
    Lano K, Kolahdouz-Rahimi S (2013) Constraint-based specification of model transformations. J Syst Softw 88(2):412–436CrossRefGoogle Scholar
  40. LKC12b.
    Lano K, Kolahdouz-Rahimi S, Clark T (2012) Verification of model transformations. Dept. of Informatics, King’s College LondonGoogle Scholar
  41. Lan14.
    Lano K (2014) Null considered harmful (for transformation verification). VOLT 2014, STAF conference, YorkGoogle Scholar
  42. MGB05.
    Massoni T, Gheyi R, Borba P (2005) Formal refactoring for UML class diagrams. In: 19th Brazilian symposium on Software EngineeringGoogle Scholar
  43. MML12.
    Mossakowski T, Maeder C, Luttich K (2012) The heterogeneous tool set. University of Bremen, GermanyGoogle Scholar
  44. NaK06.
    Narayanan A, Karsai G (2006) Towards verifying model transformations. In: GT-VMT 2006. ENTCS, vol 211. pp 191–200Google Scholar
  45. NaK08.
    Narayanan A, Karsai G (2008) Verifying model transformations by structural correspondence. In: GT-VMT. EASST, vol 10Google Scholar
  46. OMG11.
    OMG (2011) QVT specification, Version 1.1.Google Scholar
  47. OMG12.
    OMG (2012) Object constraint language v2.3.1 specification, formal/2012-01-02Google Scholar
  48. Poe08.
    Poernomo I (2008) Proofs as model transformations. In: ICMTGoogle Scholar
  49. PoT10.
    Poernomo I, Terrell J (2010) Correct-by-construction Model Transformations from Spanning tree specifications in Coq. In: ICFEMGoogle Scholar
  50. RSV04.
    Rensink A, Schmidt A, Varro D (2004) Model checking graph transformations: a comparison of two approaches. In: ICGT 2004. LNCS, vol 3256Google Scholar
  51. SWD12.
    Soeken M, Wille R, Drechsler R (2012) Encoding OCL data types for SAT-based verification of UML/OCL models. University of BremenGoogle Scholar
  52. SMR11.
    Stenzel K, Moebius N, Reif W (2011) Formal verification of QVT transformations for code generation. In: MODELS 2011. LNCS, vol 6981. Springer, BerlinGoogle Scholar
  53. UML13.
    UML-RSDS toolset and manual (2013)
  54. VVE06.
    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 4178Google Scholar
  55. Z312.

Copyright information

© British Computer Society 2014

Authors and Affiliations

  1. 1.Department of InformaticsKing’s College LondonLondonUK
  2. 2.Department of InformaticsMiddlesex UniversityLondonUK

Personalised recommendations