Parallel Execution of ATL Transformation Rules
- 13 Citations
- 2.1k Downloads
Abstract
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.
Keywords
Virtual Machine Model Transformation Object Constraint Language Graph Transformation Rule ApplicationPreview
Unable to display preview. Download preview PDF.
References
- 1.ATL Transformation ZOO, http://www.eclipse.org/atl/atlTransformations/
- 2.AUTOSAR Consortium: The AUTOSAR Standard, http://www.autosar.org/
- 3.GraBaTs 2009 Case Study, http://www.emn.fr/z-info/atlanmod/index.php/GraBaTs_2009_Case_Study.
- 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.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.Blair, G., Bencomo, N., France, R.B.: Models@ run. time. Computer 42(10), 22–27 (2009)CrossRefGoogle Scholar
- 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.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.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.Dean, J., Ghemawat, S.: Mapreduce: simplified data processing on large clusters. Communications of the ACM 51(1), 107–113 (2008)CrossRefGoogle Scholar
- 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.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.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.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.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.Patterson, D.A., Hennessy, J.L.: Computer organization and design: the hardware/software interface. Morgan Kaufmann (2009)Google Scholar
- 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.Steel, J., Drogemuller, R., Toth, B.: Model interoperability in building information modelling. Software & Systems Modeling 11(1), 99–109 (2012)CrossRefGoogle Scholar
- 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.Ulrich, W.M., Newcomb, P.: Information Systems Transformation: Architecture-Driven Modernization Case Studies. Morgan Kaufmann (2010)Google Scholar
- 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.Varró, D., Balogh, A.: The model transformation language of the viatra2 framework. Science of Computer Programming 68(3), 214–234 (2007)MathSciNetCrossRefzbMATHGoogle Scholar