Lazy Execution of Model-to-Model Transformations

  • Massimo Tisi
  • Salvador Martínez
  • Frédéric Jouault
  • Jordi Cabot
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6981)

Abstract

The increasing adoption of Model-Driven Engineering in industrial contexts highlights scalability as a critical limitation of several MDE tools. Most of the current model-to-model transformation engines have been designed for one-shot translation of input models to output models, and present efficiency issues when applied to very large models. In this paper, we study the application of a lazy-evaluation approach to model transformations. We present a lazy execution algorithm for ATL, and we empirically evaluate a prototype implementation. With it, the elements of the target model are generated only when (and if) they are accessed, enabling also transformations that generate infinite target models. We achieve our goal on a significant subset of ATL by extending the ATL compiler.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Beaudoux, O., Blouin, A., Barais, O., Jézéquel, J.-M.: Active operations on collections. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010. LNCS, vol. 6394, pp. 91–105. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  2. 2.
    Clavel, M., Egea, M., de Dios, M.A.G.: Building an efficient component for OCL evaluation. ECEASST 15 (2008)Google Scholar
  3. 3.
    Drey, Z., Fleurey, F., Vojtisek, D., Faucher, C., Mahé, V.: Kermeta Language, Reference Manual (2009)Google Scholar
  4. 4.
    Geiß, R., Batz, G.V., Grund, D., Hack, S., Szalkowski, A.: GrGen: A fast SPO-based graph rewriting tool. In: Corradini, A., Ehrig, H., Montanari, U., Ribeiro, L., Rozenberg, G. (eds.) ICGT 2006. LNCS, vol. 4178, pp. 383–397. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  5. 5.
    Hearnden, D., Lawley, M., Raymond, K.: Incremental model transformation for the evolution of model-driven systems. In: Wang, J., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 321–335. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  6. 6.
    Henderson, P., Morris Jr., J.H.: A lazy evaluator. In: Proceedings of the 3rd ACM SIGACT-SIGPLAN Symposium on Principles on Programming Languages, POPL 1976, pp. 95–103. ACM, New York (1976)Google Scholar
  7. 7.
    Hudak, P., Hughes, J., Jones, S.L.P., Wadler, P.: A history of Haskell: being lazy with class. In: HOPL, pp. 1–55. ACM, New York (2007)Google Scholar
  8. 8.
    Jouault, F., Kurtev, I.: Transforming models with ATL. In: Bruel, J.-M. (ed.) MoDELS 2005. LNCS, vol. 3844, pp. 128–138. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  9. 9.
    Jouault, F., Sottet, J.S.: An AmmA/ATL Solution for the GraBaTs 2009 Reverse Engineering Case Study. In: 5th International Workshop on Graph-Based Tools, Grabats (2009)Google Scholar
  10. 10.
    Jouault, F., Tisi, M.: Towards incremental execution of ATL transformations. In: Tratt, L., Gogolla, M. (eds.) ICMT 2010. LNCS, vol. 6142, pp. 123–137. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  11. 11.
    Mészáros, T., Mezei, G., Levendovszky, T., Asztalos, M.: Manual and automated performance optimization of model transformation systems. STTT 12, 231–243 (2010)CrossRefGoogle Scholar
  12. 12.
    OMG. MOF QVT Final Adopted Specification. Object Management Group (2005)Google Scholar
  13. 13.
    OMG. Object Constraint Language Specification, version 2.0. Object Management Group (June 2005)Google Scholar
  14. 14.
    Schott, S., Noga, M.L.: Lazy XSL transformations. In: ACM Symposium on Document Engineering, pp. 9–18. ACM, New York (2003)Google Scholar
  15. 15.
    Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework, 2nd edn. The Eclipse Series. Addison-Wesley Professional, Reading (2008)Google Scholar
  16. 16.
    Taentzer, G., Ehrig, K., Guerra, E., de Lara, J., Lengyel, L., Levendovszky, T., Prange, U., Varró, D., Varró-Gyapay, S.: Model transformation by graph transformation: A comparative study. In: Proc. Workshop Model Transformation in Practice (2005)Google Scholar
  17. 17.
    Varró, G., Friedl, K., Varró, D.: Adaptive graph pattern matching for model transformations using model-sensitive search plans. Electr. Notes Theor. Comput. Sci. 152, 191–205 (2006)CrossRefGoogle Scholar
  18. 18.
    Visser, E.: Program transformation with Stratego/XT: Rules, strategies, tools, and systems in Stratego/XT 0.9. In: Lengauer, C., Batory, D., Blum, A., Vetta, A. (eds.) Domain-Specific Program Generation. LNCS, vol. 3016, pp. 216–238. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  19. 19.
    Wijngaarden, J.V., Visser, E.: Program transformation mechanics: A classification of mechanisms for program transformation with a survey of existing transformation systems. Technical report, UU-CS (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Massimo Tisi
    • 1
  • Salvador Martínez
    • 1
  • Frédéric Jouault
    • 1
  • Jordi Cabot
    • 1
  1. 1.AtlanMod, INRIA & École des Mines de NantesFrance

Personalised recommendations