Software & Systems Modeling

, Volume 13, Issue 2, pp 873–907 | Cite as

Correct-by-construction synthesis of model transformations using transformation patterns

  • K. Lano
  • S. Kolahdouz-Rahimi
  • I. Poernomo
  • J. Terrell
  • S. Zschaler
Regular Paper


Model transformations are an essential part of model-based development approaches, such as Model-driven Architecture (MDA) and Model-driven Development (MDD). Model transformations are used to refine and abstract models, to re-express models in a new modelling language, and to analyse, refactor, compare and improve models. Therefore, the correctness of model transformations is critically important for successful application of model-based development: software developers should be able to rely upon the correct processing of their models by transformations in the same way that they rely upon compilers to produce correct executable versions of their programs. In this paper, we address this problem by defining standard structures for model transformation specifications and implementations, which serve as patterns and strategies for constructing a wide range of model transformations. These are incorporated into a tool-supported process which automatically synthesises implementations of model transformations from their specifications, these implementations are correct-by-construction with respect to their specifications.


Model transformation Patterns Model-driven development Verification 



The work presented here was carried out in the EPSRC HoRTMoDA project at King’s College London.


  1. 1.
    Agrawal, A., Vizhanyo, A., Kalmar, Z., Shi, F., Narayanan, A., Karsai, G.: Reusable idioms and patterns in graph transformation languages. In: Electronic notes in Theoretical Computer Science, pp. 181–192 (2005)Google Scholar
  2. 2.
    Akehurst, D., Howells, W., McDonald-Maier, K.: Kent model transformation language. In: Model Transformations, in Practice (2005)Google Scholar
  3. 3.
    van Amstel, M., Bosems, S., Kurtev, I., Pires, L.F.: Performance in model transformations: experiments with ATL and QVT, ICMT 2011. In: LNCS, vol. 6707, pp. 198–212. Springer, Berlin (2011)Google Scholar
  4. 4.
    Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: On challenges of model transformation from UML to Alloy. SoSyM 9(1) (2010)Google Scholar
  5. 5.
    Bezivin, J., Jouault, F., Palies, J.: Towards Model Transformation Design Patterns. University of Nantes, ATLAS group (2003)Google Scholar
  6. 6.
    Cabot, J., Clariso, R., Guerra, E., De Lara, J.: Verification and validation of declarative model-to-model transformations through invariants. J. Syst. Softw. 83(2), 283–302 (2010)Google Scholar
  7. 7.
    Cleaveland, C.: Program Generators with XML and Java. Prentice Hall, Englewood Cliffs (2001)Google Scholar
  8. 8.
    Cuadrado, J.S., Jouault, F., Molina, J.G., Bezivin, J.: Optimization patterns for OCL-based model transformations, MODELS 2008. In: LNCS, vol. 5421. Springer, Berlin (2008)Google Scholar
  9. 9.
    Cuadrado, J., Molina, J.: Modularisation of model transformations through a phasing mechanism. Softw. Syst. Modell. 8(3), 325–345 (2009)CrossRefGoogle Scholar
  10. 10.
    Czarnecki, K., Helsen, S.: Classification of Model Transformation Approaches, OOPSLA 03 workshop on Generative Techniques in the context of Model-Driven Architecture, OOPSLA (2003)Google Scholar
  11. 11.
    Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–645 (2006)CrossRefGoogle Scholar
  12. 12.
    Duddy, K., Gerber, A., Lawley, M., Raymond, K., Steel, J.: Model transformation: a declarative, reusable pattern approach. In: 7th International Enterprise Distributed Object Computing Conference (EDOC ’03) (2003)Google Scholar
  13. 13.
    Eclipse organisation, EMF Ecore specification (2011).
  14. 14.
    ESA, Hood Reference Manual R4 (2011).
  15. 15.
    France, R., Chosh, S., Song, E., Kim, D.: A metamodelling approach to pattern-based model refactoring. IEEE Softw. 20(5), 52–58 (2003)CrossRefGoogle Scholar
  16. 16.
    France, R., Rumpe, B.: Model-driven development of complex software: a research roadmap, FOSE ’07. IEEE (2007)Google Scholar
  17. 17.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Menlo Park (1994)Google Scholar
  18. 18.
    Goldschmidt, T., Wachsmuth, G.: Refinement Transformation Support for QVT Relational Transformations. FZI, Karlsruhe (2011)Google Scholar
  19. 19.
    Van Gorp, P., Mazanek, S., Rensink, A.: Live challenge problem, TTC 2010. Malaga (2010)Google Scholar
  20. 20.
    Guerra, E., de Lara, J., Kolovos, D., Paige, R., Marchi dos Santos, O.: transML: a family of languages to model model transformations, MODELS 2010. In: LNCS, vol. 6394. Springer, Berlin (2010)Google Scholar
  21. 21.
    Iacob, M.E., Steen, M.W.A., Heerink, L.: Reusable model transformation patterns. In: Enterprise Distributed Object Computing Conference (2008)Google Scholar
  22. 22.
    Johannes, J., Zschaler, S., Fernandez, M., Castillo, A., Kolovos, D., Paige, R.: Abstracting complex languages through transformation and composition, MODELS 2009. In: LNCS, vol. 5795, pp. 546–550. Springer, Berlin (2009)Google Scholar
  23. 23.
    Kermeta (2010).
  24. 24.
    Kolahdouz-Rahimi, L., Lano, K., Pillay, S., Troya, J., Van Gorp, P.: Goal-oriented measurement of model transformation methods. Sci. Comput. Program. (2012) (submitted)Google Scholar
  25. 25.
    Kolovos, D., Paige, R., Polack, F.: The Epsilon Transformation Language. In: ICMT 2008, LNCS, vol. 5063, pp. 46–60, Springer, Berlin (2008)Google Scholar
  26. 26.
    Kurtev, I., Van den Berg, K., Joualt, F.: Rule-based modularisation in model transformation languages illustrated with ATL. In: Proceedings 2006 ACM Symposium on Applied Computing (SAC 06), pp. 1202–1209. ACM Press, New York (2006)Google Scholar
  27. 27.
    Lano, K.: The B Language and Method. Springer, Berlin (1996)CrossRefGoogle Scholar
  28. 28.
    Lano, K.: A catalogue of UML model transformations (2006).
  29. 29.
    Lano, K. (ed.): UML 2 Semantics and Applications. Wiley, New York (2009)Google Scholar
  30. 30.
    Lano, K., Kolahdouz-Rahimi, S.: Slicing of UML models using Model Transformations, MODELS 2010. In: LNCS, vol. 6395, pp. 228–242. Springer, Berlin (2010)Google Scholar
  31. 31.
    Lano, K., Kolahdouz-Rahimi, S.: Migration case study using UML-RSDS, TTC 2010. Malaga, Spain (2010)Google Scholar
  32. 32.
    Lano, K., Kolahdouz-Rahimi, S.: Model-driven development of model transformations, ICMT (2011)Google Scholar
  33. 33.
    Lano, K., Kolahdouz-Rahimi, S.: Specification of the “Hello World” case study, TTC (2011)Google Scholar
  34. 34.
    Lano, K., Kolahdouz-Rahimi, S.: Specification of the GMF migration case study, TTC (2011)Google Scholar
  35. 35.
    Lano, K., Kolahdouz-Rahimi, S.: Slicing techniques for UML models, JOT (2011)Google Scholar
  36. 36.
    Lano, K., Kolahdouz-Rahimi, S.: Composition of model transformations in UML-RSDS. In: Lano, K., Zschaler, S., Tratt, L. (eds.) Composition and Evolution of Model Transformations. Bentham Science Press, United Arab Emirates (2012)Google Scholar
  37. 37.
    Lano, K., Kolahdouz-Rahimi, S.: Transformation invertibility and interpretations in UML-RSDS. Dept. of Informatics, Kings College, London (2012)Google Scholar
  38. 38.
    Lano, K., Kolahdouz-Rahimi, S., Clark, T.: Comparing Verification Techniques for Model Transformations. Modevva workshop, MODELS (2012)Google Scholar
  39. 39.
    Mens, T., Czarnecki, K., Van Gorp, P.: A Taxonomy of Model Transformations, Dagstuhl Seminar Proceedings 04101 (2005)Google Scholar
  40. 40.
    Markovic, S., Baar, T.: Semantics of OCL Specified with QVT. Softw. Syst. Modell. 7(4), 399–422 (2008)Google Scholar
  41. 41.
    OMG: Query/View/Transformation Specification, ptc/05-11-01 (2005)Google Scholar
  42. 42.
    OMG: Query/View/Transformation Specification, annex A (2010)Google Scholar
  43. 43.
    OMG: Model-Driven Architecture (2004).
  44. 44.
    OMG: Meta Object Facility (MOF) Core Specification, OMG document formal/06-01-01 (2006)Google Scholar
  45. 45.
    OptXware The Viatra-I Model Transformation Framework Users Guide (2010)Google Scholar
  46. 46.
    Orejas, F., Guerra, E., J Ehrig, de Lara H.: Correctness, completeness and termination of pattern-based model-to-model transformation. CALCO 2009, pp. 383–397 (2009)Google Scholar
  47. 47.
    Poernomo, I.: Proofs as model transformations, ICMT (2008)Google Scholar
  48. 48.
    Poernomo, I., Terrell, J.: Correct-by-construction Model Transformations from Spanning tree specifications in Coq. ICFEM (2010)Google Scholar
  49. 49.
    Pons, C., Giandini, R., Perez, G., Baum, G.: A two-level calculus for composing hybrid QVT transformations. SCCC, pp. 105–114. IEEE Press, New York (2009)Google Scholar
  50. 50.
    Rensink, A., Kuperus, J-H.: Repotting the Geraniums: on nested graph transformation rules, proceedings of GT-VMT 2009. Electronic communications of the EASST, vol. 18 (2009)Google Scholar
  51. 51.
    Romeikat, R., Roser, S., Mullender, P., Bauer, B.: Translation of QVT Relations into QVT Operational Mappings. ICMT (2008)Google Scholar
  52. 52.
    Rose, L., Herrmannsdoerfer, M., Mazanek, S., et al.: Graph and Model Transformation Tools for Model Migration. SoSym (2012) (to appear)Google Scholar
  53. 53.
    Schurr, A.: Specification of graph translators with triple graph grammars, WG ’94. In: LNCS, vol. 903, pp. 151–163. Springer, Berlin (1994)Google Scholar
  54. 54.
    Sen, S., Moha, N., Mahe, V., Barais, O., Baudry, B., Jezequel, J.-M.: Reusable model transformations. Softw. Syst. Modell. 11(1), 111–125 (2012)Google Scholar
  55. 55.
    Syriani, E., Vangheluwe, H.: De-/re-constructing model transformation languages. Proceedings of 9th international workshop GT-VMT, Electronic Communications of EASST (2010)Google Scholar
  56. 56.
    Taentzer, G., Ehrig, K., Guerra, E., de Lara, J., Lengyel, L., Levendovsky, T., Prange, U., Varro, D., Varro-Gyapay, S.: Model transformation by graph transformation: a comparative study. MODELS (2005)Google Scholar
  57. 57.
    Tisi, M., Cabot, J., Jouault, F.: Improving higher-order transformations support in ATL, ICMT 2010. In: LNCS, vol. 6142, pp. 215–229. Springer, Berlin (2010)Google Scholar
  58. 58.
    Varro, D., Asztalos, M., Bisztray, D., Boronat, A., Dang, D.-H., Geis, R., Greenyer, J., Van Gorp, P., Kniemeyer, O., Narayanan, A., Rencis, E., Weinell, E.: Transformation of UML models to CSP: a case study for graph transformation tools, AGTIVE 2007. In: LNCS, vol. 5088, pp. 540–565. Springer, Berlin (2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • K. Lano
    • 1
  • S. Kolahdouz-Rahimi
    • 1
  • I. Poernomo
    • 1
  • J. Terrell
    • 1
  • S. Zschaler
    • 1
  1. 1.Department of InformaticsKing’s CollegeLondonUK

Personalised recommendations