Přispěvatelé: |
NaoMod - Nantes Software Modeling Group (LS2N - équipe NaoMod), Laboratoire des Sciences du Numérique de Nantes (LS2N), Institut National de Recherche en Informatique et en Automatique (Inria)-Centre National de la Recherche Scientifique (CNRS)-IMT Atlantique (IMT Atlantique), Institut Mines-Télécom [Paris] (IMT)-Institut Mines-Télécom [Paris] (IMT)-École Centrale de Nantes (Nantes Univ - ECN), Nantes Université (Nantes Univ)-Nantes Université (Nantes Univ)-Nantes université - UFR des Sciences et des Techniques (Nantes univ - UFR ST), Nantes Université - pôle Sciences et technologie, Nantes Université (Nantes Univ)-Nantes Université (Nantes Univ)-Nantes Université - pôle Sciences et technologie, Nantes Université (Nantes Univ)-Institut National de Recherche en Informatique et en Automatique (Inria)-Centre National de la Recherche Scientifique (CNRS)-IMT Atlantique (IMT Atlantique), Nantes Université (Nantes Univ), Département Automatique, Productique et Informatique (IMT Atlantique - DAPI), IMT Atlantique (IMT Atlantique), Institut Mines-Télécom [Paris] (IMT)-Institut Mines-Télécom [Paris] (IMT), Ecole nationale supérieure Mines-Télécom Atlantique, Gerson Sunyé |
Popis: |
The design space for defining adistributed model transformation engine is a large spectrum of possibilities and opportunities to enhance performances in terms of computation time and memory consumption. Depending on the adopted decisions, the use of a transformation engine can be completely different (e.g., an incremental solution for an often-modified model vs a formally specified engine for reasoning, not performing). Already existing solutions propose engines with different goals based on several approaches including distribution, laziness, incrementality, and correctness. However, comparing the solutions is not trivial, and does not necessarily make sense. That is why we have implemented a new engine, integrating variability, that allows an analysis of its design space. From a language that has formal specifications, we created SparkTE, a parametrizable and distributed transformation engine on top of Spark. In this thesis, we aim at analysing the impact of the choices at different levels: the used programming models for defining expressions; the different semantics used to define the computation of a transformation; and the impact of engineering choices.; L’espace de conception pour définir un moteur de transformation de modèle distribué est un large spectre de possibilités et d’opportunités pour améliorer les performances en termes de temps de calcul et de consommation mémoire. Selon les décisions adoptées, l’utilisation d’un moteur de transformation peut être complètement différente (par exemple, une solution incrémentale pour un modèle souvent modifié contre un moteur formellement spécifié pour le raisonnement, non performant). Les solutions déjà existantes proposent des moteurs avec différents objectifs basés sur plusieurs approches,notamment la distribution, la paresse, l’incrémentalité et l’exactitude. Cependant, comparer les solutions n’est pas anodin, et n’a pas forcément de sens. C’est pourquoi nous avons mis en place un nouveau moteur, intégrant la variabilité, qui permet une analyse de son espace de conception. À partir d’un langage doté de spécifications formelles, nous avons créé SparkTE, un moteur de transformation paramétrable et distribué au-dessus de Spark. Dans cette thèse, nous cherchons à analyser l’impact des choix à différents niveaux : les modèles de programmation utilisés pour définir les expressions ; les différentes sémantiques utilisées pour définir le calcul d’une transformation ; et l’impact des choix d’ingénierie. |