Parallel Execution of ATL Transformation Rules

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8107)


Industrial environments that make use of Model-Driven Engineering (MDE) are starting to see the appearance of very large models, made by millions of elements. Such models are produced automatically (e.g., by reverse engineering complex systems) or manually by a large number of users (e.g., from social networks). The success of MDE in these application scenarios strongly depends on the scalability of model manipulation tools. While parallelization is one of the traditional ways of making computation systems scalable, developing parallel model transformations in a general-purpose language is a complex and error-prone task. In this paper we show that rule-based languages like ATL have strong parallelization properties. Transformations can be developed without taking into account concurrency concerns, and a transformation engine can automatically parallelize execution. We describe the implementation of a parallel transformation engine for the current version of the ATL language and experimentally evaluate the consequent gain in scalability.


Virtual Machine Model Transformation Object Constraint Language Graph Transformation Rule Application 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
  2. 2.
    AUTOSAR Consortium: The AUTOSAR Standard,
  3. 3.
  4. 4.
    Bergmann, G., Horváth, Á., Ráth, I., Varró, D., Balogh, A., Balogh, Z., Ökrös, A.: Incremental evaluation of model queries over EMF models. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010, Part I. LNCS, vol. 6394, pp. 76–90. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  5. 5.
    Bézivin, J., Jouault, F., Valduriez, P.: On the Need for Megamodels. In: Proceedings of Workshop on Best Practices for Model-Driven Software Development at the 19th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (October 2004)Google Scholar
  6. 6.
    Blair, G., Bencomo, N., France, R.B.: Models@ run. time. Computer 42(10), 22–27 (2009)CrossRefGoogle Scholar
  7. 7.
    Boehm, P., Fonio, H.-R., Habel, A.: Amalgamation of graph transformations: a synchronization mechanism. J. Comput. Syst. Sci. 34(2-3), 377–408 (1987)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Burmester, S., Giese, H., Hirsch, M., Schilling, D., Tichy, M.: The fujaba real-time tool suite: model-driven development of safety-critical, real-time systems. In: Proceedings of the 27th International Conference on Software Engineering, pp. 670–671. ACM (2005)Google Scholar
  9. 9.
    Clasen, C., Del Fabro, M.D., Tisi, M., et al.: Transforming very large models in the cloud: a research roadmap. In: First International Workshop on Model-Driven Engineering on and for the Cloud (2012)Google Scholar
  10. 10.
    Dean, J., Ghemawat, S.: Mapreduce: simplified data processing on large clusters. Communications of the ACM 51(1), 107–113 (2008)CrossRefGoogle Scholar
  11. 11.
    Ehrig, H., Golas, U., Taentzer, G., Ermel, C., Biermann, E.: Parallel independence of amalgamated graph transformations applied to model transformation. In: Graph Transformations and Modeldriven Engineering, pp. 1–21 (2010)Google Scholar
  12. 12.
    Habel, A., Hoffmann, B.: Parallel independence in hierarchical graph transformation. In: Ehrig, H., Engels, G., Parisi-Presicce, F., Rozenberg, G. (eds.) ICGT 2004. LNCS, vol. 3256, pp. 178–193. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  13. 13.
    Imre, G., Mezei, G.: Parallel graph transformations on multicore systems. In: Pankratius, V., Philippsen, M. (eds.) MSEPT 2012. LNCS, vol. 7303, pp. 86–89. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  14. 14.
    Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: Atl: A model transformation tool. Science of Computer Programming 72(1), 31–39 (2008)MathSciNetCrossRefzbMATHGoogle Scholar
  15. 15.
    Mezei, G., Levendovszky, T., Mészáros, T., Madari, I.: Towards truly parallel model transformations: A distributed pattern matching approach. In: IEEE EUROCON 2009, pp. 403–410. IEEE (2009)Google Scholar
  16. 16.
    Patterson, D.A., Hennessy, J.L.: Computer organization and design: the hardware/software interface. Morgan Kaufmann (2009)Google Scholar
  17. 17.
    Pohjonen, R., Tolvanen, J.-P., Consulting, M.: Automated production of family members: Lessons learned. In: Proceedings of the Second International Workshop on Product Line Engineering-The Early Steps: Planning, Modeling, and Managing (PLEES 2002), pp. 49–57. Citeseer (2002)Google Scholar
  18. 18.
    Steel, J., Drogemuller, R., Toth, B.: Model interoperability in building information modelling. Software & Systems Modeling 11(1), 99–109 (2012)CrossRefGoogle Scholar
  19. 19.
    Sun, Y., Li, T., Zhang, Q., Yang, J., Liao, S.-W.: Parallel xml transformations on multi-core processors. In: IEEE International Conference on e-Business Engineering, ICEBE 2007, pp. 701–708. IEEE (2007)Google Scholar
  20. 20.
    Ulrich, W.M., Newcomb, P.: Information Systems Transformation: Architecture-Driven Modernization Case Studies. Morgan Kaufmann (2010)Google Scholar
  21. 21.
    Vajk, T., Dávid, Z., Asztalos, M., Mezei, G., Levendovszky, T.: Runtime model validation with parallel object constraint language. In: Proceedings of the 8th International Workshop on Model-Driven Engineering, Verification and Validation. ACM (2011)Google Scholar
  22. 22.
    Varró, D., Balogh, A.: The model transformation language of the viatra2 framework. Science of Computer Programming 68(3), 214–234 (2007)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  1. 1.AtlanMod, École des Mines de Nantes - INRIA, LINANantesFrance

Personalised recommendations