Distributing Relational Model Transformation on MapReduce Amine Benelallam

MDE has been successfully adopted in the production of software for several domains. As the models that need to be handled in MDE grow in scale, it becomes necessary to design scalable algorithms for model transformation (MT) as well as suitable frameworks for storing and retrieving models efficiently. One way to cope with scalability is to exploit the wide availability of distributed clusters in the Cloud for the parallel execution of MT. However, because of the dense interconnectivity of models and the complexity of transformation logic, the efficient use of these solutions in distributed model processing and persistence is not trivial. This paper exploits the high level of abstraction of an existing relational MT language, ATL, and the semantics of a distributed programming model, MapReduce, to build an ATL engine with implicitly distributed execution. The syntax of the language is not modified and no primitive for distribution is added. Efficient distribution of model elements is achieved thanks to a distributed persistence layer, specifically designed for relational MT. We demonstrate the effectiveness of our approach by making an implementation of our solution publicly available and using it to experimentally measure the speed-up of the transformation system while scaling to larger models and clusters.

[1]  Frank Weil,et al.  Model-Driven engineering in a large industrial context — motorola case study , 2005, MoDELS'05.

[2]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Graph Transformation , 2006, Monographs in Theoretical Computer Science. An EATCS Series.

[3]  Yuan Yu,et al.  Dryad: distributed data-parallel programs from sequential building blocks , 2007, EuroSys '07.

[4]  Richard F. Paige,et al.  The Grand Challenge of Scalability for Model Driven Engineering , 2009, MoDELS.

[5]  Timothy Lethbridge,et al.  Problems and opportunities for model-centric versus code-centric software development: a survey of software professionals , 2008, MiSE '08.

[6]  Jean Bézivin,et al.  ATL: A model transformation tool , 2008, Sci. Comput. Program..

[7]  Ravi Kumar,et al.  Pig latin: a not-so-foreign language for data processing , 2008, SIGMOD Conference.

[8]  Jingren Zhou,et al.  SCOPE: easy and efficient parallel processing of massive data sets , 2008, Proc. VLDB Endow..

[9]  Holger Giese,et al.  From model transformation to incremental bidirectional model synchronization , 2009, Software & Systems Modeling.

[10]  Pete Wyckoff,et al.  Hive - A Warehousing Solution Over a Map-Reduce Framework , 2009, Proc. VLDB Endow..

[11]  Tihamer Levendovszky,et al.  Towards truly parallel model transformations: A distributed pattern matching approach , 2009, IEEE EUROCON 2009.

[12]  Aart J. C. Bik,et al.  Pregel: a system for large-scale graph processing , 2010, SIGMOD Conference.

[13]  Jimmy J. Lin,et al.  Design patterns for efficient graph algorithms in MapReduce , 2010, MLG '10.

[14]  Frédéric Jouault,et al.  Towards Incremental Execution of ATL Transformations , 2010, ICMT@TOOLS.

[15]  Jesús Sánchez Cuadrado,et al.  Morsa: a scalable approach for persisting and accessing large models , 2011, MODELS'11.

[16]  Mark Rouncefield,et al.  Empirical assessment of MDE in industry , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[17]  Christian Komusiewicz,et al.  Graph-based data clustering with overlaps , 2009, Discret. Optim..

[18]  Anatolij Zubow,et al.  Automated and transparent model fragmentation for persisting large models , 2012, MODELS'12.

[19]  Gábor Imre,et al.  Parallel Graph Transformations on Multicore Systems , 2012, MSEPT.

[20]  Ákos Horváth,et al.  Applying Incremental Graph Transformation to Existing Models in Relational Databases , 2012, ICGT.

[21]  E. Brewer,et al.  CAP twelve years later: How the "rules" have changed , 2012, Computer.

[22]  Arto Kiviniemi,et al.  The IFC Standard - A Review of History, Development, and Standardization , 2012, J. Inf. Technol. Constr..

[23]  Dimitrios S. Kolovos,et al.  Comparative analysis of data persistence technologies for large-scale models , 2012, XM '12.

[24]  Tassilo Horn The TTC 2013 Flowgraphs Case , 2013, TTC.

[25]  Salvador Martínez Perez,et al.  Parallel Execution of ATL Transformation Rules , 2013, MoDELS.

[26]  Dániel Varró,et al.  IncQuery-D: incremental graph search in the cloud , 2013, BigMDE '13.

[27]  Antonio Vallecillo,et al.  On the concurrent execution of model transformations with Linda , 2013, BigMDE '13.

[28]  Miroslaw Staron,et al.  Evolution of Long-Term Industrial Meta-Models -- An Automotive Case Study of AUTOSAR , 2014, 2014 40th EUROMICRO Conference on Software Engineering and Advanced Applications.

[29]  Jordi Cabot,et al.  MoDisco: A model driven reverse engineering framework , 2014, Inf. Softw. Technol..

[30]  Frank Schultmann,et al.  Building Information Modeling (BIM) for existing buildings — Literature review and future needs , 2014 .

[31]  Vasco Amaral,et al.  Classification of Model Transformation Tools: Pattern Matching Techniques , 2014, MoDELS.

[32]  Miroslaw Staron,et al.  Quantifying Long-Term Evolution of Industrial Meta-Models - A Case Study , 2014, 2014 Joint Conference of the International Workshop on Software Measurement and the International Conference on Software Process and Product Measurement.

[33]  Dániel Varró,et al.  Streaming Model Transformations By Complex Event Processing , 2014, MoDELS.

[34]  Antonio Vallecillo,et al.  LinTraP: Primitive Operators for the Execution of Model Transformations with LinTra , 2014, BigMDE@STAF.

[35]  Kevin Lano,et al.  Model-Transformation Design Patterns , 2014, IEEE Transactions on Software Engineering.

[36]  Dominic Breuker,et al.  Towards Model-Driven Engineering for Big Data Analytics -- An Exploratory Analysis of Domain-Specific Languages for Machine Learning , 2014, 2014 47th Hawaii International Conference on System Sciences.

[37]  Jesús García Molina,et al.  Querying large models efficiently , 2014, Inf. Softw. Technol..

[38]  Jordi Cabot,et al.  Distributed model-to-model transformation with ATL on MapReduce , 2015, SLE.

[39]  Abel Gómez,et al.  Decentralized Model Persistence for Distributed Computing , 2015, BigMDE@STAF.

[40]  Ákos Horváth,et al.  Viatra 3: A Reactive Model Transformation Platform , 2015, ICMT.

[41]  Ákos Horváth,et al.  EMF-IncQuery: An integrated development environment for live model queries , 2015, Sci. Comput. Program..

[42]  Holger Giese,et al.  Implementing Graph Transformations in the Bulk Synchronous Parallel Model , 2014, Software Engineering & Management.

[43]  Zhenjiang Hu,et al.  Towards Systematic Parallelization of Graph Transformations Over Pregel , 2017, International Journal of Parallel Programming.

[44]  Jordi Cabot,et al.  NeoEMF: a Multi-database Model Persistence Framework for Very Large Models , 2016, D&P@MoDELS.

[45]  Salvador Martínez Perez,et al.  Reactive model transformation with ATL , 2017, Sci. Comput. Program..

[46]  P. Alam ‘G’ , 2021, Composites Engineering: An A–Z Guide.