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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
ATL Transformation ZOO, http://www.eclipse.org/atl/atlTransformations/
AUTOSAR Consortium: The AUTOSAR Standard, http://www.autosar.org/
GraBaTs 2009 Case Study, http://www.emn.fr/z-info/atlanmod/index.php/GraBaTs_2009_Case_Study .
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)
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)
Blair, G., Bencomo, N., France, R.B.: Models@ run. time. Computer 42(10), 22–27 (2009)
Boehm, P., Fonio, H.-R., Habel, A.: Amalgamation of graph transformations: a synchronization mechanism. J. Comput. Syst. Sci. 34(2-3), 377–408 (1987)
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)
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)
Dean, J., Ghemawat, S.: Mapreduce: simplified data processing on large clusters. Communications of the ACM 51(1), 107–113 (2008)
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)
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)
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)
Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: Atl: A model transformation tool. Science of Computer Programming 72(1), 31–39 (2008)
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)
Patterson, D.A., Hennessy, J.L.: Computer organization and design: the hardware/software interface. Morgan Kaufmann (2009)
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)
Steel, J., Drogemuller, R., Toth, B.: Model interoperability in building information modelling. Software & Systems Modeling 11(1), 99–109 (2012)
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)
Ulrich, W.M., Newcomb, P.: Information Systems Transformation: Architecture-Driven Modernization Case Studies. Morgan Kaufmann (2010)
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)
Varró, D., Balogh, A.: The model transformation language of the viatra2 framework. Science of Computer Programming 68(3), 214–234 (2007)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Tisi, M., Martínez, S., Choura, H. (2013). Parallel Execution of ATL Transformation Rules. In: Moreira, A., Schätz, B., Gray, J., Vallecillo, A., Clarke, P. (eds) Model-Driven Engineering Languages and Systems. MODELS 2013. Lecture Notes in Computer Science, vol 8107. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-41533-3_40
Download citation
DOI: https://doi.org/10.1007/978-3-642-41533-3_40
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-41532-6
Online ISBN: 978-3-642-41533-3
eBook Packages: Computer ScienceComputer Science (R0)