Skip to main content

A framework for model transformation verification

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.

This is a preview of subscription content, access via your institution.

References

  1. Ab Rahim L, Whittle J (2010) Verifying semantic conformance of state machine-to-Java code generators, MODELS 2010, LNCS

  2. Anastasakis K, Bordbar B, Kuster J (2007) Analysis of model transformations via alloy, Modevva

  3. 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

    Article  Google Scholar 

  4. 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

  5. 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

  6. 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

  7. Bezivin J, Buttner F, Gogolla M, Jouault F, Kurtev I, Lindow A (2006) Model transformations? Transformation models!. ATLAS group, University of Nantes

    Google Scholar 

  8. Boronat A, Heckel R, Meseguer J (2009) Rewriting logic semantics and verification of model transformations. FASE 2009. pp 18–33

  9. Brucker A, Wolff B (2006) The HOL-OCL book. Technical report 525. ETH Zurich

  10. Brucker A, Krieger M, Wolff B (2010) Extending OCL with null-references. MODELS 2009 Workshops, LNCS 6002. pp 261–275

  11. Buttner F, Cabot J, Gogolla M (2011) On validation of ATL transformation rules by transformation models. Modevva 2011

  12. Buttner F, Egea M, Cabot J, Gogolla M (2012) Verification of ATL transformations using transformation models and model finders. ICFEM 2012

  13. 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

    Article  Google Scholar 

  14. 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

  15. 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

  16. Drey Z, Faucher C, Fleurey F, Mahe V, Vojtisek D (2009) Kermeta language reference manual.https://www.kermeta.org/docs/KerMeta-Manual.pdf, April

  17. Eclipsepedia, ATL user guide. http://wiki.eclipse.org/ATL/User_Guide_-_The_ATL_Language, 2014.

  18. Ehrig H, Ehrig K, Ermel C, Hermann F, Taentzer G (2007) Information preserving bidirectional model transformations. In: FASE 2007. pp 72–86

  19. Event-B and Rodin platform. http://www.event-b.org, 2014

  20. FAA (2012) DO-178C, Software considerations in airborne systems and equipment certification

  21. 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)

  22. Goguen J, Burstall R (1992) Institutions: abstract model theory for specification and programming. J ACM 39:95–146

    Article  MathSciNet  MATH  Google Scholar 

  23. 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

  24. 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

  25. Inaba K, Hidaka S, Hu Z, Kato H, Nakano K (2011) Graph-transformation verification using monadic second-order logic. In: PDPP ’11

  26. Jouault F, Kurtev I (2006) Transforming models with ATL. In: MoDELS 2005. LNCS, vol 3844. Springer, Berlin, pp 128–138

  27. 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

    Google Scholar 

  28. 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

    Article  Google Scholar 

  29. Kolovos DS, Paige RF, Polack F (2008) The epsilon transformation language. In: ICMT. pp 46–60

  30. 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

  31. Kuster J (2006) Definition and validation of model transformations. SoSyM 5(3):233–259

    Google Scholar 

  32. Lano K (1996) The B language and method, Springer, Berlin

  33. Lano K (2006) Using B to verify UML transformations, Modevva 06

  34. Lano K, Kolahdouz-Rahimi S (2010) Migration case study using UML-RSDS. TTC 2010, Malaga, Spain, July

  35. Lano K, Kolahdouz-Rahimi S (2011) Slicing techniques for UML models. J Object Technol 10

  36. Lano K, Kolahdouz-Rahimi S, Poernomo I (2012) Comparative evaluation of model transformation specification approaches. Int J Softw Inf 6(2):233–269

    Google Scholar 

  37. Lano K, Kolahdouz-Rahimi S, Clark T (2012) Comparing verification techniques for model transformations. Modevva workshop, MODELS

  38. Lano K, Kolahdouz-Rahimi S (2011) Model-driven development of model transformations. In: ICMT 2011. LNCS, vol 6707. pp 47–61

  39. Lano K, Kolahdouz-Rahimi S (2013) Constraint-based specification of model transformations. J Syst Softw 88(2):412–436

    Article  Google Scholar 

  40. Lano K, Kolahdouz-Rahimi S, Clark T (2012) Verification of model transformations. Dept. of Informatics, King’s College London

  41. Lano K (2014) Null considered harmful (for transformation verification). VOLT 2014, STAF conference, York

  42. Massoni T, Gheyi R, Borba P (2005) Formal refactoring for UML class diagrams. In: 19th Brazilian symposium on Software Engineering

  43. Mossakowski T, Maeder C, Luttich K (2012) The heterogeneous tool set. University of Bremen, Germany

  44. Narayanan A, Karsai G (2006) Towards verifying model transformations. In: GT-VMT 2006. ENTCS, vol 211. pp 191–200

  45. Narayanan A, Karsai G (2008) Verifying model transformations by structural correspondence. In: GT-VMT. EASST, vol 10

  46. OMG (2011) QVT specification, Version 1.1.

  47. OMG (2012) Object constraint language v2.3.1 specification, formal/2012-01-02

  48. Poernomo I (2008) Proofs as model transformations. In: ICMT

  49. Poernomo I, Terrell J (2010) Correct-by-construction Model Transformations from Spanning tree specifications in Coq. In: ICFEM

  50. Rensink A, Schmidt A, Varro D (2004) Model checking graph transformations: a comparison of two approaches. In: ICGT 2004. LNCS, vol 3256

  51. Soeken M, Wille R, Drechsler R (2012) Encoding OCL data types for SAT-based verification of UML/OCL models. University of Bremen

  52. Stenzel K, Moebius N, Reif W (2011) Formal verification of QVT transformations for code generation. In: MODELS 2011. LNCS, vol 6981. Springer, Berlin

  53. UML-RSDS toolset and manual (2013) http://www.dcs.kcl.ac.uk/staff/kcl/uml2web/

  54. 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

  55. Z3 Theorem Prover (2012) http://research.microsoft.com/en-us/um/redmond/projects/z3/

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Kevin Lano.

Additional information

Michael J. Butler

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-014-0313-z

Keywords

  • Model transformation verification
  • Model transformation specification
  • Model transformation engineering