2019
|
ConferenceGwendal Daniel, Abel Gómez, Jordi Cabot UMLto[No]SQL: Mapping Conceptual Schemas to Heterogeneous Datastores 2019 13th International Conference on Research Challenges in Information Science (RCIS), IEEE, 2019, ISBN: 978-1-7281-4844-1. Abstract | Links | BibTeX | Tags: Model Partitioning, Model Persistence, Model-Driven Engineering (MDE), NoSQL, RDBMS, Unified Modeling Language (UML) @conference{Daniel:RCIS:2019,
title = {UMLto[No]SQL: Mapping Conceptual Schemas to Heterogeneous Datastores},
author = {Gwendal Daniel and Abel G\'{o}mez and Jordi Cabot},
editor = {Manuel Kolp and Jean Vanderdonckt and Monique Snoeck and Yves Wautelet},
doi = {10.1109/RCIS.2019.8877094},
isbn = {978-1-7281-4844-1},
year = {2019},
date = {2019-05-29},
booktitle = {2019 13th International Conference on Research Challenges in Information Science (RCIS)},
pages = {215--227},
publisher = {IEEE},
abstract = {The growing need to store and manipulate large volumes of data has led to the blossoming of various families of data storage solutions. Software modelers can benefit from this growing diversity to improve critical parts of their applications, using a combination of different databases to store the data based on access, availability, and performance requirements. However, while the mapping of conceptual schemas to relational databases is a well-studied field of research, there are few works that target the role of conceptual modeling in a multiple and diverse data storage settings. This is particularly true when dealing with the mapping of constraints in the conceptual schema. In this paper we present the UMLto[No]SQL approach that maps conceptual schemas expressed in UML/OCL into a set of logical schemas (either relational or NoSQL ones) to be used to store the application data according to the data partition envisaged by the designer. Our mapping covers as well the database queries required to implement and check the model’s constraints. UMLto[No]SQL takes care of integrating the different data storages, and provides a modeling layer that enables a transparent manipulation of the data using conceptual level information.},
keywords = {Model Partitioning, Model Persistence, Model-Driven Engineering (MDE), NoSQL, RDBMS, Unified Modeling Language (UML)},
pubstate = {published},
tppubtype = {conference}
}
The growing need to store and manipulate large volumes of data has led to the blossoming of various families of data storage solutions. Software modelers can benefit from this growing diversity to improve critical parts of their applications, using a combination of different databases to store the data based on access, availability, and performance requirements. However, while the mapping of conceptual schemas to relational databases is a well-studied field of research, there are few works that target the role of conceptual modeling in a multiple and diverse data storage settings. This is particularly true when dealing with the mapping of constraints in the conceptual schema. In this paper we present the UMLto[No]SQL approach that maps conceptual schemas expressed in UML/OCL into a set of logical schemas (either relational or NoSQL ones) to be used to store the application data according to the data partition envisaged by the designer. Our mapping covers as well the database queries required to implement and check the model’s constraints. UMLto[No]SQL takes care of integrating the different data storages, and provides a modeling layer that enables a transparent manipulation of the data using conceptual level information. |
2018
|
ConferenceAbel Gómez, Jordi Cabot, Manuel Wimmer TemporalEMF: A Temporal Metamodeling Framework Conceptual Modeling, vol. 11157, Springer International Publishing, Cham, 2018, ISBN: 978-3-030-00847-5. Abstract | Links | BibTeX | Tags: Model Persistence, Model-Driven Engineering (MDE), Temporal Models @conference{Gomez:RE:2018,
title = {TemporalEMF: A Temporal Metamodeling Framework},
author = {Abel G\'{o}mez and Jordi Cabot and Manuel Wimmer},
editor = {Juan C. Trujillo and Karen C. Davis and Xiaoyong Du and Zhanhuai Li and Tok Wang Ling and Guoliang Li and Li Lee Mong},
doi = {10.1007/978-3-030-00847-5_26},
isbn = {978-3-030-00847-5},
year = {2018},
date = {2018-09-26},
booktitle = {Conceptual Modeling},
volume = {11157},
pages = {365--381},
publisher = {Springer International Publishing},
address = {Cham},
abstract = {Existing modeling tools provide direct access to the most current version of a model but very limited support to inspect the model state in the past. This typically requires looking for a model version (usually stored in some kind of external versioning system like Git) roughly corresponding to the desired period and using it to manually retrieve the required data. This approximate answer is not enough in scenarios that require a more precise and immediate response to temporal queries like complex collaborative co-engineering processes or runtime models.
In this paper, we reuse well-known concepts from temporal languages to propose a temporal metamodeling framework, called TemporalEMF, that adds native temporal support for models. In our framework, models are automatically treated as temporal models and can be subjected to temporal queries to retrieve the model contents at different points in time. We have built our framework on top of the Eclipse Modeling Framework (EMF). Behind the scenes, the history of a model is transparently stored in a NoSQL database. We evaluate the resulting TemporalEMF framework with an Industry 4.0 case study about a production system simulator. The results show good scalability for storing and accessing temporal models without requiring changes to the syntax and semantics of the simulator.},
keywords = {Model Persistence, Model-Driven Engineering (MDE), Temporal Models},
pubstate = {published},
tppubtype = {conference}
}
Existing modeling tools provide direct access to the most current version of a model but very limited support to inspect the model state in the past. This typically requires looking for a model version (usually stored in some kind of external versioning system like Git) roughly corresponding to the desired period and using it to manually retrieve the required data. This approximate answer is not enough in scenarios that require a more precise and immediate response to temporal queries like complex collaborative co-engineering processes or runtime models.
In this paper, we reuse well-known concepts from temporal languages to propose a temporal metamodeling framework, called TemporalEMF, that adds native temporal support for models. In our framework, models are automatically treated as temporal models and can be subjected to temporal queries to retrieve the model contents at different points in time. We have built our framework on top of the Eclipse Modeling Framework (EMF). Behind the scenes, the history of a model is transparently stored in a NoSQL database. We evaluate the resulting TemporalEMF framework with an Industry 4.0 case study about a production system simulator. The results show good scalability for storing and accessing temporal models without requiring changes to the syntax and semantics of the simulator. |
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. |
2017
|
Journal ArticleGwendal Daniel, Gerson Sunyé, Amine Benelallam, Massimo Tisi, Yoann Vernageau, Abel Gómez, Jordi Cabot NeoEMF: A multi-database model persistence framework for very large models In: Science of Computer Programming, vol. 149, no. Supplement C, pp. 9 - 14, 2017, ISSN: 0167-6423, (Special Issue on MODELS'16). Abstract | Links | BibTeX | Tags: Model Persistence, NeoEMF, Scalability, Very Large Models (VLMs) @article{Daniel:SciCo:2017,
title = {NeoEMF: A multi-database model persistence framework for very large models},
author = {Gwendal Daniel and Gerson Suny\'{e} and Amine Benelallam and Massimo Tisi and Yoann Vernageau and Abel G\'{o}mez and Jordi Cabot},
doi = {10.1016/j.scico.2017.08.002},
issn = {0167-6423},
year = {2017},
date = {2017-01-01},
journal = {Science of Computer Programming},
volume = {149},
number = {Supplement C},
pages = {9 - 14},
abstract = {The growing role of Model Driven Engineering (MDE) techniques in industry has emphasized scalability of existing model persistence solutions as a major issue. Specifically, there is a need to store, query, and transform very large models in an efficient way. Several persistence solutions based on relational and NoSQL databases have been proposed to achieve scalability. However, they often rely on a single data store, which suits a specific modeling activity, but may not be optimized for other use cases. This paper presents NeoEMF, a tool that tackles this issue by providing a multi-database model persistence framework. Tool website: http://www.neoemf.com},
note = {Special Issue on MODELS'16},
keywords = {Model Persistence, NeoEMF, Scalability, Very Large Models (VLMs)},
pubstate = {published},
tppubtype = {article}
}
The growing role of Model Driven Engineering (MDE) techniques in industry has emphasized scalability of existing model persistence solutions as a major issue. Specifically, there is a need to store, query, and transform very large models in an efficient way. Several persistence solutions based on relational and NoSQL databases have been proposed to achieve scalability. However, they often rely on a single data store, which suits a specific modeling activity, but may not be optimized for other use cases. This paper presents NeoEMF, a tool that tackles this issue by providing a multi-database model persistence framework. Tool website: http://www.neoemf.com |
2016
|
ConferenceGwendal Daniel, Gerson Sunyé, Amine Benelallam, Massimo Tisi, Yoann Vernageau, Abel Gómez, Jordi Cabot NeoEMF: a Multi-database Model Persistence Framework for Very Large Models Proceedings of the MoDELS 2016 Demo and Poster Sessions co-located with ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems (MoDELS 2016), Saint-Malo, France, October 2-7, 2016., vol. 1725, CEUR Workshop Proceedings, Saint-Malo, France, 2016, ISSN: 1613-0073. Abstract | Links | BibTeX | Tags: Model Persistence, NeoEMF, Scalability, Very Large Models (VLMs) @conference{Daniel:MODELS:2016,
title = {NeoEMF: a Multi-database Model Persistence Framework for Very Large Models},
author = {Gwendal Daniel and Gerson Suny\'{e} and Amine Benelallam and Massimo Tisi and Yoann Vernageau and Abel G\'{o}mez and Jordi Cabot},
editor = {Juan de Lara and Peter J. Clarke and Mehrdad Sabetzadeh},
url = {http://ceur-ws.org/Vol-1725/demo1.pdf},
issn = {1613-0073},
year = {2016},
date = {2016-11-11},
booktitle = {Proceedings of the MoDELS 2016 Demo and Poster Sessions co-located with ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems (MoDELS 2016), Saint-Malo, France, October 2-7, 2016.},
volume = {1725},
pages = {1-7},
publisher = {CEUR Workshop Proceedings},
address = {Saint-Malo, France},
abstract = {The growing use of Model Driven Engineering (MDE) techniques in industry has emphasized scalability of existing model persistence solutions as a major issue. Specifically,
there is a need to store, query, and transform very large models in an efficient way.
Several persistence solutions based on relational and NoSQL databases have been proposed to achieve scalability. However, existing solutions often rely on a single data store, which suits a specific modeling activity, but may not be optimized for other use cases.
In this article we present NeoEMF, a multi-database model persistence framework able to store very large models in key-value stores, graph databases, and wide column databases. We introduce NeoEMF core features, and present the different data stores and their applications. NeoEMF is open source and available online.},
keywords = {Model Persistence, NeoEMF, Scalability, Very Large Models (VLMs)},
pubstate = {published},
tppubtype = {conference}
}
The growing use of Model Driven Engineering (MDE) techniques in industry has emphasized scalability of existing model persistence solutions as a major issue. Specifically,
there is a need to store, query, and transform very large models in an efficient way.
Several persistence solutions based on relational and NoSQL databases have been proposed to achieve scalability. However, existing solutions often rely on a single data store, which suits a specific modeling activity, but may not be optimized for other use cases.
In this article we present NeoEMF, a multi-database model persistence framework able to store very large models in key-value stores, graph databases, and wide column databases. We introduce NeoEMF core features, and present the different data stores and their applications. NeoEMF is open source and available online. Open Access |
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 |
ConferenceAbel Gómez, Massimo Tisi, Gerson Sunyé, Jordi Cabot Map-Based Transparent Persistence for Very Large Models Fundamental Approaches to Software Engineering: 18th International Conference, FASE 2015, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, London, UK, April 11-18, 2015, Proceedings, vol. 9033, Lecture Notes in Computer Science Springer Berlin Heidelberg, 2015, ISBN: 978-3-662-46675-9. Abstract | Links | BibTeX | Tags: Key-Value Stores, Model Persistence, Model-Driven Engineering (MDE), NeoEMF, Very Large Models (VLMs) @conference{Gomez:FASE:2015,
title = {Map-Based Transparent Persistence for Very Large Models},
author = {Abel G\'{o}mez and Massimo Tisi and Gerson Suny\'{e} and Jordi Cabot},
editor = {Alexander Egyed and Ina Schaefer },
doi = {10.1007/978-3-662-46675-9_2},
isbn = {978-3-662-46675-9},
year = {2015},
date = {2015-04-11},
booktitle = {Fundamental Approaches to Software Engineering: 18th International Conference, FASE 2015, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, London, UK, April 11-18, 2015, Proceedings},
volume = {9033},
pages = {19--34},
publisher = {Springer Berlin Heidelberg},
series = {Lecture Notes in Computer Science},
abstract = {The progressive industrial adoption of Model-Driven Engineering (MDE) is fostering the development of large tool ecosystems like the Eclipse Modeling project. These tools are built on top of a set of base technologies that have been primarily designed for small-scale scenarios, where models are manually developed. In particular, efficient runtime manipulation for large-scale models is an under-studied problem and this is hampering the application of MDE to several industrial scenarios.
In this paper we introduce and evaluate a map-based persistence model for MDE tools. We use this model to build a transparent persistence layer for modeling tools, on top of a map-based database engine. The layer can be plugged into the Eclipse Modeling Framework, lowering execution times and memory consumption levels of other existing approaches. Empirical tests are performed based on a typical industrial scenario, model-driven reverse engineering, where very large software models originate from the analysis of massive code bases. The layer is freely distributed and can be immediately used for enhancing the scalability of any existing Eclipse Modeling tool.},
keywords = {Key-Value Stores, Model Persistence, Model-Driven Engineering (MDE), NeoEMF, Very Large Models (VLMs)},
pubstate = {published},
tppubtype = {conference}
}
The progressive industrial adoption of Model-Driven Engineering (MDE) is fostering the development of large tool ecosystems like the Eclipse Modeling project. These tools are built on top of a set of base technologies that have been primarily designed for small-scale scenarios, where models are manually developed. In particular, efficient runtime manipulation for large-scale models is an under-studied problem and this is hampering the application of MDE to several industrial scenarios.
In this paper we introduce and evaluate a map-based persistence model for MDE tools. We use this model to build a transparent persistence layer for modeling tools, on top of a map-based database engine. The layer can be plugged into the Eclipse Modeling Framework, lowering execution times and memory consumption levels of other existing approaches. Empirical tests are performed based on a typical industrial scenario, model-driven reverse engineering, where very large software models originate from the analysis of massive code bases. The layer is freely distributed and can be immediately used for enhancing the scalability of any existing Eclipse Modeling tool. |
2014
|
ConferenceAmine Benelallam, Abel Gómez, Gerson Sunyé, Massimo Tisi, David Launay Neo4EMF, A Scalable Persistence Layer for EMF Models Modelling Foundations and Applications: 10th European Conference, ECMFA 2014, Held as Part of STAF 2014, York, UK, July 21-25, 2014. Proceedings, vol. 8569, Springer International Publishing, 2014, ISBN: 978-3-319-09195-2, (York, UK). Abstract | Links | BibTeX | Tags: Graph Databases, Model Persistence, NeoEMF, Very Large Models (VLMs) @conference{Benelallam:ECMFA:2014,
title = {Neo4EMF, A Scalable Persistence Layer for EMF Models},
author = {Amine Benelallam and Abel G\'{o}mez and Gerson Suny\'{e} and Massimo Tisi and David Launay},
editor = {Jordi Cabot and Julia Rubin},
doi = {10.1007/978-3-319-09195-2_15},
isbn = {978-3-319-09195-2},
year = {2014},
date = {2014-01-01},
booktitle = {Modelling Foundations and Applications: 10th European Conference, ECMFA 2014, Held as Part of STAF 2014, York, UK, July 21-25, 2014. Proceedings},
volume = {8569},
pages = {230--241},
publisher = {Springer International Publishing},
abstract = {Several industrial contexts require software engineering methods and tools able to handle large-size artifacts. The central idea of abstraction makes model-driven engineering (MDE) a promising approach in such contexts, but current tools do not scale to very large models (VLMs): already the task of storing and accessing VLMs from a persisting support is currently inefficient. In this paper we propose a scalable persistence layer for the de-facto standard MDE framework EMF. The layer exploits the efficiency of graph databases in storing and accessing graph structures, as EMF models are. A preliminary experimentation shows that typical queries in reverse-engineering EMF models have good performance on such persistence layer, compared to file-based backends.},
note = {York, UK},
keywords = {Graph Databases, Model Persistence, NeoEMF, Very Large Models (VLMs)},
pubstate = {published},
tppubtype = {conference}
}
Several industrial contexts require software engineering methods and tools able to handle large-size artifacts. The central idea of abstraction makes model-driven engineering (MDE) a promising approach in such contexts, but current tools do not scale to very large models (VLMs): already the task of storing and accessing VLMs from a persisting support is currently inefficient. In this paper we propose a scalable persistence layer for the de-facto standard MDE framework EMF. The layer exploits the efficiency of graph databases in storing and accessing graph structures, as EMF models are. A preliminary experimentation shows that typical queries in reverse-engineering EMF models have good performance on such persistence layer, compared to file-based backends. |