Incremental Approach for Application GUI Migration using Metamodels - INRIA - Institut National de Recherche en Informatique et en Automatique Accéder directement au contenu
Thèse Année : 2021

Incremental Approach for Application GUI Migration using Metamodels

Approche Incrémentale pour la Migration des Interfaces Graphiques d’Applications utilisant les Métamodèles

Résumé

Developers use GUI frameworks to design the graphical user interface of their applications. It allows them to reuse existing graphical components and build applications in a fast way. However, with the generalization of mobile devices and Web applications, GUI frameworks evolve at a fast pace: JavaFX replaced Java Swing, Angular 8 replaced Angular 1.4 which had replaced GWT (Google Web Toolkit). Moreover, former GUI frameworks are not supported anymore. This situation forces organizations to migrate their applications to modern frameworks regularly to avoid becoming obsolete. To ease the migration of applications, previous research designed automatic approaches dedicated to migration projects. Whereas they provide good results, they are hard to adapt to other contexts than their original one. For instance, at Berger-Levrault, our industrial partner, applications are written in generic programming languages (Java/GWT), proprietary “4th generation” languages (VisualBasic 6, PowerBuilder), or markup languages (Silverlight). Thus, there is a need for a language-agnostic migration approach allowing one to migrate various GUI frameworks to the latest technologies. Moreover, when performing automatic migration with these approaches, part of the migrated application still needs to be manually fixed. This problem is even more important for large applications where this last step can last months. Thus, companies need to migrate their application incrementally to ensure end-user continuous delivery throughout the process. In this thesis, we propose a new incremental migration approach. It aims at allowing the migration of large applications while ensuring end-user delivery. It consists of migrating pages using our automatic GUI migration tool, fixing them, and integrating them in a hybrid application. To create our GUI migration tool, we designed a pivot meta-model composed of several packages representing the visual and the behavioral aspects of any GUI. We detailed multiple implementations of our GUI migration tool that extract and generate GUI using different frameworks. We successfully applied our migration approach to a real industrial application at Berger-Levrault. The migrated application is now in production. We also validated our automatic GUI migration tool on several migration projects, including applications developed with programming and markup languages. The company is currently using our approach for other migration projects.
Les développeurs utilisent des frameworks d’interface graphique (GUI frameworks) pour concevoir l’interface utilisateur graphique de leurs applications. Cela leur permet de réutiliser des composants graphiques existants et de construire des applications rapidement. Cependant, avec la généralisation des appareils mobiles et des applications Web, les GUI frameworks évoluent à un rythme rapide : JavaFX a remplacé Java Swing, Angular 8 a remplacé Angular 1.4 qui avait remplacé GWT (Google Web Toolkit). De plus, les anciens GUI frameworks ne sont plus supportés. Cette situation oblige les organisations à migrer régulièrement leurs applications vers des frameworks modernes pour éviter qu’elles deviennent obsolètes. Pour faciliter la migration des applications, des recherches antérieures ont conçu des approches automatiques dédiées à des projets de migration. Bien qu’elles fournissent de bons résultats, elles sont difficiles à adapter à d’autres contextes que celui d’origine. Par exemple, chez Berger-Levrault, notre partenaire industriel, les applications sont écrites dans des langages de programmation génériques (Java/GWT), des langages propriétaires de “4ème génération” (VisualBasic 6, PowerBuilder), ou des langages de balisage (Silverlight). Il est donc nécessaire d’adopter une approche de migration indépendante du langage, qui permette de faire migrer diverses interfaces graphiques vers les technologies les plus récentes. En outre, lors d’une migration automatique avec ces approches, une partie de l’application migrée doit encore être corrigée manuellement. Ce problème est encore plus important pour les grandes applications où cette dernière étape peut durer des mois. Les entreprises doivent donc migrer leur application de manière incrémentale afin de garantir une livraison continue à l’utilisateur final tout au long du processus. Dans cette thèse, nous proposons une nouvelle approche de migration incrémentale. Elle vise à permettre la migration de grandes applications tout en garantissant la livraison à l’utilisateur final. Elle consiste à migrer des pages à l’aide de notre outil de migration automatique de GUI, à les corriger et à les intégrer dans une application hybride. Pour créer notre outil de migration de GUI, nous avons conçu un méta-modèle pivot de GUI composé de plusieurs paquetages eprésentant les aspects visuels et comportementaux de toute GUI. Nous avons détaillé plusieurs implémentations de notre outil de migration de GUI qui extraient et génèrent des GUI utilisant différents frameworks. Nous avons appliqué avec succès notre approche de migration sur une application industrielle de Berger-Levrault. L’application migrée est maintenant en production. Nous avons également validé notre outil de migration automatique d’interface graphique sur plusieurs projets de migration incluant des applications développées avec des langages de programmation et de balisage. L’entreprise utilise actuellement notre approche pour d’autres projets de migration.
Fichier principal
Vignette du fichier
main.pdf (2.42 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

tel-03539458 , version 1 (15-11-2021)
tel-03539458 , version 2 (21-01-2022)

Identifiants

  • HAL Id : tel-03539458 , version 1

Citer

Benoît Verhaeghe. Incremental Approach for Application GUI Migration using Metamodels. Programming Languages [cs.PL]. Université de Lille, 2021. English. ⟨NNT : ⟩. ⟨tel-03539458v1⟩
190 Consultations
647 Téléchargements

Partager

Gmail Facebook X LinkedIn More