Show item record

dc.contributor.advisorSahraoui, Houari
dc.contributor.advisorWimmer, Manuel
dc.contributor.authorKessentini, Wael
dc.date.accessioned2019-05-13T19:02:43Z
dc.date.availableNO_RESTRICTIONfr
dc.date.available2019-05-13T19:02:43Z
dc.date.issued2019-03-13
dc.date.submitted2018-08
dc.identifier.urihttp://hdl.handle.net/1866/21740
dc.subjectSearch-based Software Engineeringfr
dc.subjectSoftware Evolutionfr
dc.subjectModel Driven Engineeringfr
dc.subjectMulti-Objective Optimizationfr
dc.subjectEvolution des logicielsfr
dc.subjectIngénierie dirigée par les modèlesfr
dc.subjectOptimisation multi-objectiffr
dc.subject.otherApplied Sciences - Computer Science / Sciences appliqués et technologie - Informatique (UMI : 0984)fr
dc.titleMetamodel co-evolution with related model-driven engineering artifacts : a multi-objective search frameworkfr
dc.typeThèse ou mémoire / Thesis or Dissertation
etd.degree.disciplineInformatiquefr
etd.degree.grantorUniversité de Montréalfr
etd.degree.levelDoctorat / Doctoralfr
etd.degree.namePh. D.fr
dcterms.abstractLes produits logiciels sont, en général, évolués en introduisant des changements continus. Les tâches d’évolution et de maintenance sont fastidieuses et longues. Évidemment, il y a un besoin pour trouver de meilleures façons de faire évoluer les systèmes de logiciels. De la même manière que le code source, la conception est amenée à évoluer au fil du temps, en raison des changements des exigences et des contraintes techniques. Dans le développement dirigée par les modèles, l’évolution des métamodèles peut briser les relations avec les artefacts dépendants tels que les modèles, les règles de transformation et les contraintes OCL. Alors que plusieurs études de coévolution sont proposées, la plupart d’entre elles fournissent un support manuel ou semi-automatisé baser sur des modèles prédéfinis de scénarios d’évolution. En plus d’être prédéfinis, ces modèles sont spécifiques à l’artefact à coévoluer avec le métamodèle. L’objectif principal de notre recherche est de proposer un cadre de recherche générique qui automatise la dérivation de stratégies de coévolution sans utiliser de modèles prédéfinis pour des changements de métamodèles ou des types d’artefacts spécifiques. Pour qu’un artefact coévolue, le but est de produire une nouvelle version conforme à la nouvelle version du métamodèle. À cette fin, nous considérons la coévolution comme un problème d’optimisation multi-objectif. La recherche des solutions est guidée par trois objectifs, qui visent à minimiser la violation de la structure du métamodèle révisé, le nombre de modifications appliquées à l’artefact initial et la perte d’informations. Ensuite, le cadre recommande un sous-ensemble approprié de solutions de coévolution, avec la possibilité d’intégrer l’utilisateur dans la boucle pour fournir des commentaires et mettre à jour les modifications recommandées. Nous avons validé notre cadre générique en utilisant trois cas de coévolution de métamodèles, des modèles, des règles de transformation et des contraintes OCL, sur des ensembles de données réelles. Les résultats de l’évaluation montrent que notre approche est efficace en termes d’exactitude, et d’utilité par rapport aux approches de coévolution les plus récentes.fr
dcterms.abstractSuccessful software products are evolved by introducing continuous changes at different levels. Thus, software industry is actively recruiting software engineers, not to create new software systems, but to evolve and maintain existing ones. Such evolution and maintenance tasks are tedious and time consuming. Thus, there is an urgent need to find better ways to evolve software systems and consequently, improve developers’ productivity. Like the source code, the design is subject to evolution due to changing requirements and technological constraints. Model-Driven Software Evolution is concerned with the changes related to the design of software systems, from initial development to maintenance. In model driven development, the evolution of metamodels may break the relationships to dependent artifacts like models, transformation rules and OCL constraints. While several coevolution studies are proposed, most of them are providing either a manual or semi-automated support based on pre-defined templates of evolution scenarios. In addition to be pre-defined, these templates are specific to the artifact to co-evolve with the metamodel. The main objective of our research is to propose a generic search-based framework for the automated recommendation of coevolution strategies without using pre-defined templates for specific metamodel changes or artifact types. For an artifact to co-evolve, the goal is to produce a new version that conforms to the new version of the metamodel. To this end, we view the co-evolution as a multi-objective optimization problem, and guide the search for solutions by three objectives, which aims at minimizing the violation of the structure of the revised metamodel, the number of changes applied to the initial artifact, and the loss of information. Then, the framework is able to recommend an appropriate subset of co-evolution solutions, with the possibility of integrating the user in the loop to provide feedback and update the recommended changes. We validated our generic framework using three metamodel co-evolution cases, models, transformation rules, and OCL constraints, on sets of real-world data. The evaluation results show that our approach is effective in terms of correctness and usefulness as compared to the state-of-the-art co-evolution approaches.fr
dcterms.languageengfr


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show item record

This document disseminated on Papyrus is the exclusive property of the copyright holders and is protected by the Copyright Act (R.S.C. 1985, c. C-42). It may be used for fair dealing and non-commercial purposes, for private study or research, criticism and review as provided by law. For any other use, written authorization from the copyright holders is required.