Return to search

Domain-specific differencing and merging of models

En génie logiciel collaboratif, les systèmes de contrôle de version (SCV) jouent un rôle crucial dans la gestion des changements de code, la promotion de la collaboration et la garantie de l'intégrité des projets partagés. Cette importance s'étend à l'ingénierie dirigée par les modèles (IDM), où les experts du domaine conçoivent des modèles spécifiques au domaine (MSD). Dans ce contexte, la collaboration avec les SCV permet de coordonner les changements de modèles et de préserver l'intégrité des MSD. Cependant, les solutions existantes se concentrent principalement sur des approches génériques, considérant les modèles comme du texte générique. Ces SCV rapportent les différences entre les versions des modèles d'une manière abstraite et non intuitive pour les experts du domaine. Cela pose également des défis lors de la résolution des conflits et de la fusion des modèles, ce qui ajoute de la complexité au flux de travail des experts du domaine.

L'objectif de cette thèse est de fournir des SCV spécifiques à un domaine donné en se concentrant sur les deux principaux composants des SCV, à savoir la différenciation et la fusion. Nous présentons DSMCompare, un outil de comparaison de modèles spécifique au domaine, intégré avec des capacités de détection, de résolution et de fusion de conflits de triplets de versions. DSMCompare fournit des représentations concises des différences et conflits à différents niveaux de granularité, tout en utilisant la syntaxe graphique des MSD originaux. Dans nos évaluations, DSMCompare a démontré des améliorations notables par rapport aux solutions génériques de différenciation et de fusion, notamment une réduction de la verbosité des différences rapportée, des différences exprimée en utilisant la sémantique du domaine, une détection précise des différences sémantiques et des conflits entre différentes versions d’un modèle, une résolution correcte des conflits, une diminution des interactions manuelles requises et une amélioration globale de l'efficacité pour les experts du domaine. / In the context of collaborative software engineering, version control systems (VCS) play a crucial role in managing code changes, promoting collaboration, and ensuring the integrity of shared projects. This significance extends to model-driven engineering (MDE), where domain experts design domain-specific models (DSM). In this context, collaborating with VCS aids in coordinating model changes and preserving the integrity of DSMs. However, existing solutions primarily focus on generic approaches, considering models as generic text. VCS report the differences between model versions in an abstract and unintuitive way for domain experts. This also poses challenges when resolving conflicts and merging models, adding complexity to the workflow of domain experts.

The goal of this thesis is to provide domain-specific VCS for domain experts, focusing on the two main components of VCS, namely differencing and merging. We introduce DSMCompare, a domain-specific model comparison tool integrated with three-way conflict detection, resolution, and merging capabilities. DSMCompare provides concise representations of differences and conflicts at different levels of granularity, while using the graphical syntax of the original DSMs. In our evaluations, DSMCompare demonstrated significant improvements over generic differencing and merging solutions, including a reduction in reported difference verbosity, differences expressed using the semantics of the domain, accurate detection of semantic differences and conflicts between different versions of a model, correct conflict resolution, a reduction in manual interactions needed, and an overall improvement in efficiency for domain experts.

Identiferoai:union.ndltd.org:umontreal.ca/oai:papyrus.bib.umontreal.ca:1866/32585
Date11 1900
CreatorsZadahmad Jafarloiu, Manouchehr
ContributorsSyriani, Eugene
Source SetsUniversité de Montréal
LanguageEnglish
Detected LanguageFrench
Typethesis, thèse
Formatapplication/pdf

Page generated in 0.0028 seconds