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

## Abstract

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.

### Keywords

Model transformation Patterns Model-driven development Verification## Notes

### Acknowledgments

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

### References

- 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.Akehurst, D., Howells, W., McDonald-Maier, K.: Kent model transformation language. In: Model Transformations, in Practice (2005)Google Scholar
- 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.Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: On challenges of model transformation from UML to Alloy. SoSyM
**9**(1) (2010)Google Scholar - 5.Bezivin, J., Jouault, F., Palies, J.: Towards Model Transformation Design Patterns. University of Nantes, ATLAS group (2003)Google Scholar
- 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.Cleaveland, C.: Program Generators with XML and Java. Prentice Hall, Englewood Cliffs (2001)Google Scholar
- 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.Cuadrado, J., Molina, J.: Modularisation of model transformations through a phasing mechanism. Softw. Syst. Modell.
**8**(3), 325–345 (2009)CrossRefGoogle Scholar - 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.Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J.
**45**(3), 621–645 (2006)CrossRefGoogle Scholar - 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.Eclipse organisation, EMF Ecore specification (2011). http://www.eclipse.org/emf
- 14.ESA, Hood Reference Manual R4 (2011). http://www.esa.int
- 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.France, R., Rumpe, B.: Model-driven development of complex software: a research roadmap, FOSE ’07. IEEE (2007)Google Scholar
- 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.Goldschmidt, T., Wachsmuth, G.: Refinement Transformation Support for QVT Relational Transformations. FZI, Karlsruhe (2011)Google Scholar
- 19.Van Gorp, P., Mazanek, S., Rensink, A.: Live challenge problem, TTC 2010. Malaga (2010)Google Scholar
- 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.Iacob, M.E., Steen, M.W.A., Heerink, L.: Reusable model transformation patterns. In: Enterprise Distributed Object Computing Conference (2008)Google Scholar
- 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.Kermeta (2010). http://www.kermeta.org
- 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.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.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.Lano, K.: The B Language and Method. Springer, Berlin (1996)CrossRefGoogle Scholar
- 28.Lano, K.: A catalogue of UML model transformations (2006). http://www.dcs.kcl.ac.uk/staff/kcl/tcat.pdf
- 29.Lano, K. (ed.): UML 2 Semantics and Applications. Wiley, New York (2009)Google Scholar
- 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.Lano, K., Kolahdouz-Rahimi, S.: Migration case study using UML-RSDS, TTC 2010. Malaga, Spain (2010)Google Scholar
- 32.Lano, K., Kolahdouz-Rahimi, S.: Model-driven development of model transformations, ICMT (2011)Google Scholar
- 33.Lano, K., Kolahdouz-Rahimi, S.: Specification of the “Hello World” case study, TTC (2011)Google Scholar
- 34.Lano, K., Kolahdouz-Rahimi, S.: Specification of the GMF migration case study, TTC (2011)Google Scholar
- 35.Lano, K., Kolahdouz-Rahimi, S.: Slicing techniques for UML models, JOT (2011)Google Scholar
- 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.Lano, K., Kolahdouz-Rahimi, S.: Transformation invertibility and interpretations in UML-RSDS. Dept. of Informatics, Kings College, London (2012)Google Scholar
- 38.Lano, K., Kolahdouz-Rahimi, S., Clark, T.: Comparing Verification Techniques for Model Transformations. Modevva workshop, MODELS (2012)Google Scholar
- 39.Mens, T., Czarnecki, K., Van Gorp, P.: A Taxonomy of Model Transformations, Dagstuhl Seminar Proceedings 04101 (2005)Google Scholar
- 40.Markovic, S., Baar, T.: Semantics of OCL Specified with QVT. Softw. Syst. Modell.
**7**(4), 399–422 (2008)Google Scholar - 41.OMG: Query/View/Transformation Specification, ptc/05-11-01 (2005)Google Scholar
- 42.OMG: Query/View/Transformation Specification, annex A (2010)Google Scholar
- 43.OMG: Model-Driven Architecture (2004). http://www.omg.org/mda/
- 44.OMG: Meta Object Facility (MOF) Core Specification, OMG document formal/06-01-01 (2006)Google Scholar
- 45.OptXware The Viatra-I Model Transformation Framework Users Guide (2010)Google Scholar
- 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.Poernomo, I.: Proofs as model transformations, ICMT (2008)Google Scholar
- 48.Poernomo, I., Terrell, J.: Correct-by-construction Model Transformations from Spanning tree specifications in Coq. ICFEM (2010)Google Scholar
- 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.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.Romeikat, R., Roser, S., Mullender, P., Bauer, B.: Translation of QVT Relations into QVT Operational Mappings. ICMT (2008)Google Scholar
- 52.Rose, L., Herrmannsdoerfer, M., Mazanek, S., et al.: Graph and Model Transformation Tools for Model Migration. SoSym (2012) (to appear)Google Scholar
- 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.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.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.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.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.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