Incremental approach for application GUI migration using metamodels - TEL - Thèses en ligne Access content directly
Theses Year : 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

Abstract

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 not to become obsolete.To ease the migration of applications, previous researches designed automatic approaches dedicated to some migration projects. Whereas they provide good results, they are hard to adapt to several contexts. 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 legacy GUI to the latest technologies. Moreover, when performing automatic migration, 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 stand for months.Thus, companies need to migrate their application incrementally to ensure end-user delivery throughout the process.In this thesis, we propose a new incremental migration approach. It aims to allow the migration of large applications to ensure 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 GUI 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 incremental 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 afin qu'elles ne deviennent pas obsolètes.Pour faciliter la migration des applications, des recherches antérieures ont conçu des approches automatiques dédiées à certains projets de migration. Bien qu'elles fournissent de bons résultats, elles sont difficiles à adapter à plusieurs contextes. 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 héritées vers les technologies les plus récentes. En outre, lors de la migration automatique, 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. Ainsi, les entreprises doivent migrer leur application de manière incrémentielle afin de garantir la livraison à 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 afin d'assurer 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 repré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 incrémentale 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
These_VERHAEGHE_Benoit.pdf (2.42 Mo) Télécharger le fichier
Origin : Version validated by the jury (STAR)

Dates and versions

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

Identifiers

  • HAL Id : tel-03539458 , version 2

Cite

Benoît Verhaeghe. Incremental approach for application GUI migration using metamodels. Programming Languages [cs.PL]. Université de Lille, 2021. English. ⟨NNT : 2021LILUB014⟩. ⟨tel-03539458v2⟩
160 View
561 Download

Share

Gmail Facebook Twitter LinkedIn More