2018
|
Journal ArticleAmine Benelallam, Abel Gómez, Massimo Tisi, Jordi Cabot Distributing relational model transformation on MapReduce In: Journal of Systems and Software, vol. 142, pp. 1 - 20, 2018, ISSN: 0164-1212. Abstract | Links | BibTeX | Tags: ATL, Distributed Computing, MapReduce, Model Persistence, Model Transformation (MT), NeoEMF, Very Large Models (VLMs) @article{Benelallam:JSS:2018,
title = {Distributing relational model transformation on MapReduce},
author = {Amine Benelallam and Abel G\'{o}mez and Massimo Tisi and Jordi Cabot },
doi = {10.1016/j.jss.2018.04.014},
issn = {0164-1212},
year = {2018},
date = {2018-04-11},
journal = {Journal of Systems and Software},
volume = {142},
pages = {1 - 20},
abstract = {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.},
keywords = {ATL, Distributed Computing, MapReduce, Model Persistence, Model Transformation (MT), NeoEMF, Very Large Models (VLMs)},
pubstate = {published},
tppubtype = {article}
}
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. |
2015
|
ConferenceAbel Gómez, Amine Benelallam, Massimo Tisi Decentralized Model Persistence for Distributed Computing Proceedings of the 3rd Workshop on Scalable Model Driven Engineering part of the Software Technologies: Applications and Foundations (STAF 2015) federation of conferences, vol. 1406, CEUR Workshop Proceedings, L'Aquila, Italy, 2015, ISBN: 1613-0073. Abstract | Links | BibTeX | Tags: Distributed Computing, Distributed Persistence, HBase, Key-Value Stores, Model Persistence, NeoEMF @conference{Gomez:ECMFA:2015,
title = {Decentralized Model Persistence for Distributed Computing},
author = {Abel G\'{o}mez and Amine Benelallam and Massimo Tisi},
editor = {Dimitris Kolovos and Davide Di Ruscio and Nicholas Matragkas and Jes\'{u}s S\'{a}nchez Cuadrado and Istv\'{a}n R\'{a}th and Massimo Tisi },
url = {http://ceur-ws.org/Vol-1406/paper5.pdf},
isbn = {1613-0073},
year = {2015},
date = {2015-07-21},
booktitle = {Proceedings of the 3rd Workshop on Scalable Model Driven Engineering part of the Software Technologies: Applications and Foundations (STAF 2015) federation of conferences},
volume = {1406},
pages = {42-51},
publisher = {CEUR Workshop Proceedings},
address = {L'Aquila, Italy},
abstract = {The necessity of manipulating very large amounts of data and the wide availability of computational resources on the Cloud is boosting the popularity of distributed computing in industry. The applicability of model-driven engineering in such scenarios is hampered today by the lack of an efficient model-persistence framework for distributed computing. In this paper we present NeoEMF/HBase, a persistence backend for the Eclipse Modeling Framework (EMF) built on top of the Apache HBase data store. Model distribution is hidden from client applications, that are transparently provided with the model elements they navigate. Access to remote model elements is decentralized, avoiding the bottleneck of a single access point. The persistence model is based on key-value stores that allow for efficient on-demand model persistence.},
keywords = {Distributed Computing, Distributed Persistence, HBase, Key-Value Stores, Model Persistence, NeoEMF},
pubstate = {published},
tppubtype = {conference}
}
The necessity of manipulating very large amounts of data and the wide availability of computational resources on the Cloud is boosting the popularity of distributed computing in industry. The applicability of model-driven engineering in such scenarios is hampered today by the lack of an efficient model-persistence framework for distributed computing. In this paper we present NeoEMF/HBase, a persistence backend for the Eclipse Modeling Framework (EMF) built on top of the Apache HBase data store. Model distribution is hidden from client applications, that are transparently provided with the model elements they navigate. Access to remote model elements is decentralized, avoiding the bottleneck of a single access point. The persistence model is based on key-value stores that allow for efficient on-demand model persistence. Open Access |
ConferenceAmine Benelallam, Abel Gómez, Massimo Tisi ATL-MR: Model Transformation on MapReduce Proceedings of the 2Nd International Workshop on Software Engineering for Parallel Systems, SEPS 2015 ACM, New York, NY, USA, 2015, ISBN: 978-1-4503-3910-0, (Pittsburgh, PA, USA). Abstract | Links | BibTeX | Tags: ATL, Distributed Computing, MapReduce, Model Transformation (MT), Tool @conference{Benelallam:SEPS:2015,
title = {ATL-MR: Model Transformation on MapReduce},
author = {Amine Benelallam and Abel G\'{o}mez and Massimo Tisi},
doi = {10.1145/2837476.2837482},
isbn = {978-1-4503-3910-0},
year = {2015},
date = {2015-01-01},
booktitle = {Proceedings of the 2Nd International Workshop on Software Engineering for Parallel Systems},
pages = {45--49},
publisher = {ACM},
address = {New York, NY, USA},
series = {SEPS 2015},
abstract = {The Model-Driven Engineering (MDE) paradigm has been successfully embraced for manufacturing maintainable software in several domains while decreasing costs and efforts. One of its principal concepts is rule-based Model Transformation (MT) that enables an automated processing of models for different intentions. The user-friendly syntax of MT languages is designed for allowing users to specify and execute these operations in an effortless manner. Existing MT engines, however, are incapable of accomplishing transformation operations in an acceptable time while facing complex transformations. Worse, against large amount of data, these tools crash throwing an out of memory exception. In this paper, we introduce ATL-MR, a tool to automatically distribute the execution of model transformations written in a popular MT language, ATL, on top of a well-known distributed programming model, MapReduce. We briefly present an overview of our approach, we describe the changes with respect to the standard ATL transformation engine, finally, we experimentally show the scalability of this solution. },
note = {Pittsburgh, PA, USA},
keywords = {ATL, Distributed Computing, MapReduce, Model Transformation (MT), Tool},
pubstate = {published},
tppubtype = {conference}
}
The Model-Driven Engineering (MDE) paradigm has been successfully embraced for manufacturing maintainable software in several domains while decreasing costs and efforts. One of its principal concepts is rule-based Model Transformation (MT) that enables an automated processing of models for different intentions. The user-friendly syntax of MT languages is designed for allowing users to specify and execute these operations in an effortless manner. Existing MT engines, however, are incapable of accomplishing transformation operations in an acceptable time while facing complex transformations. Worse, against large amount of data, these tools crash throwing an out of memory exception. In this paper, we introduce ATL-MR, a tool to automatically distribute the execution of model transformations written in a popular MT language, ATL, on top of a well-known distributed programming model, MapReduce. We briefly present an overview of our approach, we describe the changes with respect to the standard ATL transformation engine, finally, we experimentally show the scalability of this solution. |
ConferenceAmine Benelallam, Abel Gómez, Massimo Tisi, Jordi Cabot Distributed Model-to-model Transformation with ATL on MapReduce Proceedings of the 2015 ACM SIGPLAN International Conference on Software Language Engineering, SLE 2015 ACM, New York, NY, USA, 2015, ISBN: 978-1-4503-3686-4, (Pittsburgh, PA, USA). Abstract | Links | BibTeX | Tags: ATL, Distributed Computing, Language Engineering, MapReduce, Model Transformation (MT) @conference{Benelallam:SLE:2015,
title = {Distributed Model-to-model Transformation with ATL on MapReduce},
author = {Amine Benelallam and Abel G\'{o}mez and Massimo Tisi and Jordi Cabot},
doi = {10.1145/2814251.2814258},
isbn = {978-1-4503-3686-4},
year = {2015},
date = {2015-01-01},
booktitle = {Proceedings of the 2015 ACM SIGPLAN International Conference on Software Language Engineering},
pages = {37--48},
publisher = {ACM},
address = {New York, NY, USA},
series = {SLE 2015},
abstract = {Efficient processing of very large models is a key requirement for the adoption of Model-Driven Engineering (MDE) in some industrial contexts. One of the central operations in MDE is rule-based model transformation (MT). It is used to specify manipulation operations over structured data coming in the form of model graphs. However, being based on computationally expensive operations like subgraph isomorphism, MT tools are facing issues on both memory occupancy and execution time while dealing with the increasing model size and complexity. One way to overcome these issues is to exploit the wide availability of distributed clusters in the Cloud for the distributed execution of MT. In this paper, we propose an approach to automatically distribute the execution of model transformations written in a popular MT language, ATL, on top of a well-known distributed programming model, MapReduce. We show how the execution semantics of ATL can be aligned with the MapReduce computation model. We describe the extensions to the ATL transformation engine to enable distribution, and we experimentally demonstrate the scalability of this solution in a reverse-engineering scenario. },
note = {Pittsburgh, PA, USA},
keywords = {ATL, Distributed Computing, Language Engineering, MapReduce, Model Transformation (MT)},
pubstate = {published},
tppubtype = {conference}
}
Efficient processing of very large models is a key requirement for the adoption of Model-Driven Engineering (MDE) in some industrial contexts. One of the central operations in MDE is rule-based model transformation (MT). It is used to specify manipulation operations over structured data coming in the form of model graphs. However, being based on computationally expensive operations like subgraph isomorphism, MT tools are facing issues on both memory occupancy and execution time while dealing with the increasing model size and complexity. One way to overcome these issues is to exploit the wide availability of distributed clusters in the Cloud for the distributed execution of MT. In this paper, we propose an approach to automatically distribute the execution of model transformations written in a popular MT language, ATL, on top of a well-known distributed programming model, MapReduce. We show how the execution semantics of ATL can be aligned with the MapReduce computation model. We describe the extensions to the ATL transformation engine to enable distribution, and we experimentally demonstrate the scalability of this solution in a reverse-engineering scenario. |