Editer autrement les modèles lors de la conception d'applications avec l'IDM : des interfaces utilisateurs graphiques d'applications à l'édition de modèles
Editing models differently in application design with MDE : from application GUIs to model editing
- Idm
- Édition de modèles
- Instrumentation de modèles
- Outillage
- Chaîne de compilation
- Architecture logicielle
- Ingénierie dirigée par les modèles
- Interfaces graphiques (informatique)
- Compilation (informatique)
- Architecture logicielle
- Applications Web
- Conception de systèmes informatiques
- Mde
- Model Editing
- Model instrumentation
- Tooling
- Tooling
- Software architecture
- Langue : Français
- Discipline : Informatique et applications
- Identifiant : 2025ULILB012
- Type de thèse : Doctorat
- Date de soutenance : 02/07/2025
Résumé en langue originale
L'Ingénierie Dirigée par les Modèles (IDM) est une approche du génie logiciel qui repose sur l'utilisation intensive de modèles tout au long du cycle de développement d'un système. Elle vise à structurer, voire automatiser la conception, l'analyse, la génération de code et l'évolution des systèmes. En permettant d'abstraire la complexité et de séparer les préoccupations, l'IDM s'appuie sur des modèles et des transformations de modèles pour améliorer la productivité, réduire les tâches manuelles répétitives et garantir la traçabilité et la cohérence entre les différentes étapes du développement.Dans ce travail, nous considérons un scénario où une chaîne de transformations génère automatiquement l'ensemble des artefacts nécessaires à l'exécution d'une application : code, structure de la base de données, interface utilisateur et logique métier. Cette chaîne repose sur des modèles qui doivent être édités à l'aide d'éditeurs spécialisés, essentiels à la conception et l'évolution des systèmes IDM. Toutefois, une rupture cognitive subsiste entre l'édition des modèles et les phases de test de l'application générée. Cette alternance constante entre conception et exécution induit des interruptions cognitives susceptibles de ralentir le processus de développement.Afin de pallier cette difficulté, nous proposons d'utiliser directement l'interface graphique de l'application en cours de conception comme outil d'édition de modèles. Étant fréquemment consultée par les concepteurs, et souvent plus intuitive qu'un éditeur graphique de modèles, cette interface permet une modification fluide et naturelle des modèles, sans nécessiter de changement d'outil.Nous avons réalisé un premier prototype de cette approche sur un framework existant de génération d'applications web, afin d'en valider la faisabilité. Cette expérimentation a permis d'évaluer l'effort de modélisation requis et a démontré une réduction du nombre de tâches nécessaires à l'édition des modèles. Dans un second temps, nous avons conçu une architecture logicielle reproductible sur d'autres chaînes de compilation. Un défi majeur de cette architecture est de ne pas polluer les chaînes de compilation et ainsi ne pas perturber le processus de compilation existant, de sorte qu'une fois l'application finalisée, les composants additionnels puissent être supprimés sans impact.Nous validons notre proposition d'architecture à travers des implémentations sur deux frameworks de génération d'applications distincts : le framework de génération d'application web utilisé pour le prototype initial et Sirius Desktop, un environnement dédié à la modélisation de diagrammes.Enfin, nous présentons un travail actuellement en cours visant à simplifier le déploiement de cette architecture selon les principes de l'IDM. Pour cela, nous avons créé et exploitons un métamodèle permettant de structurer et de générer partiellement certains composants de l'architecture logicielle. Cette approche ouvre la voie à une nouvelle manière de concevoir des éditeurs pour les approches lowcode/nocode, en permettant la création d'éditeurs low-code adapté à des domaines spécifiques. Enfin, nous montrons en quoi ces travaux constituent une première étape vers la conception de jumeaux numériques d'applications, représentant une perspective clé de cette approche.
Résumé traduit
Model-Driven Engineering (MDE) is a software engineering approach that emphasizes the extensive use of models throughout the system development lifecycle. It aims to structure and automate design, analysis, code generation, and system evolution. By abstracting system complexity and separating concerns, MDE relies on models and model transformations to enhance productivity, reduce repetitive manual tasks, and ensure traceability and consistency across development phases.In this work, we consider a scenario where a transformation chain automatically generates all artifacts required for application execution, including code, database structure, user interface, and business logic. This transformation chain is based on models that must be edited using model editors, which are essential for MDE-based system evolution. While these editors facilitate model manipulation, a cognitive gap persists between model editing and application testing. This constant shift between design and execution introduces cognitive disruptions that may hinder the development process.To address this issue, we propose leveraging the graphical user interface of the application under development as a model-editing tool. As designers frequently interact with this interface—often more intuitive than traditional model editors—our approach allows them to modify models in a seamless and natural manner, eliminating the need to switch between multiple tools.We implemented a prototype of this model-editing approach within an existing web application generation framework to validate its feasibility. This prototype enabled us to assess the modeling effort required and demonstrated a reduction in the number of tasks needed for model editing. Subsequently, we designed a reproducible software architecture adaptable to other compilation chains. A key challenge was ensuring that this architecture does not interfere with the compilation process, allowing the removal of additional components once the application is finalized.To validate our architectural proposal, we conducted technical implementations on two distinct application generation frameworks: the same web application generation framework used for the initial prototype and Sirius Desktop, a diagram description framework. Additionally, we explore an ongoing effort to simplify and automate the deployment of our architecture by applying MDE principles. This involves using a meta-model to structure and partially generate specific software architecture components. Our approach introduces a novel paradigm for designing editors in low-code/no-code methodologies, enabling domain-specific low-code editor creation.Finally, we discuss how this research paves the way for the development of application digital twins, which represents a key perspective of this work.
- Directeur(s) de thèse : Dumoulin, Cédric - Renaux, Emmanuel
- Président de jury : Bruel, Jean-Michel
- Rapporteur(s) : Ober, Ileana - Babau, Jean-Philippe
- Laboratoire : Centre de Recherche en Informatique, Signal et Automatique de Lille
- École doctorale : École graduée Mathématiques, sciences du numérique et de leurs interactions (Lille ; 2021-....)
AUTEUR
- Biyalou-Sama, Asbathou

