Développement d'applications à grande échelle par composition de méta-modèles / Germàn Eduardo Vega Baez ; sous la direction de Jacky Estublier

Date :

Type : Livre / Book

Type : Thèse / Thesis

Langue / Language : français / French

Estublier, Jacky (1950-.... ; auteur en génie informatique) (Directeur de thèse / thesis advisor)

Université Joseph Fourier (Grenoble ; 1971-2015) (Organisme de soutenance / degree-grantor)

Relation : Développement d'applications à grande échelle par composition de méta-modèles / Germàn Eduardo Vega Baez / Villeurbanne : [CCSD] , 2006

Relation : Développement d'applications à grande échelle par composition de méta-modèles / Germàn Eduardo Vega Baez ; sous la direction de Jacky Estublier / Grenoble : Atelier national de reproduction des thèses , 2005

Résumé / Abstract : Parmi les approches de génie logiciel, l'Ingénierie Dirigée par les Modèles (IDM) vise à fournir un cadre qui permet de s'attaquer à la complexité croissante du développement des logiciels dans un paradigme unificateur : elle conçoit l'intégralité du cycle de vie du logiciel comme un processus de production, de raffinement itératif et d'intégration de modèles. Les travaux de cette thèse se placent dans cette mouvance. Nous nous intéressons particulièrement à la problématique de la gestion de la complexité et de la diversité de domaines métier impliqués dans les applications de grande taille, et nous proposons de l'approcher sous une optique IDM. Un domaine est un champ d'expertise, potentiellement partagé par de multiples applications. La connaissance et le savoir-faire développé au sein de ce domaine deviennent des atouts majeurs. Cette expertise peut être formalisée, et surtout réutilisé, sous la forme d'un langage de modélisation dédié, un Domain Specific Language (DSL). Nous proposons une démarche basée sur la description d'un système par divers modèles exprimés dans des langages de modélisation dédiés différents. La composition de modèles permet de modéliser des applications complexes couvrant plusieurs domaines simultanément. L'originalité de notre démarche est que, d'une part, chaque DSL est spécifié par un méta-modèle suffisamment précis pour pouvoir construire, de façon semi-automatique, une machine virtuelle spécialisée du domaine ; c'est cette machine virtuelle qui permet l'exécution des modèles associés. D'autre part, il est possible de composer ces méta-modèles pour définir de nouveaux domaines plus complexes. La composition de méta-modèles permet d'améliorer la modularité, d'obtenir de taux de réutilisation plus importants, et surtout d'obtenir des fonctionnalités plus vastes et sophistiquées que celles des domaines composés.

Résumé / Abstract : Model Driven Software Engineering (MDSE) is a Software Engineering approach that addresses the ever increasing complexity of software development and maintenance through a unified conceptual framework in which the whole software life cycle is seen as a process of model production, refinement and integration. This thesis contributes to this MDSE trend. We focus mainly on the issues raised by the complexity and diversity of the domains of expertise involved in large size software applications, and we propose to address these issues in an MDSE perspective. A domain is an expertise area, potentially shared by many different software applications. The knowledge and know-how in a domain are major assets. This expertise can be formalized and reused when captured by a Domain Specific Language (DSL). We propose an approach in which the target system is described by different models, written in different DSL. In this approach, composing these different models allows for modeling complex application covering simultaneously different domains. Our approach is an original contribution in that each DSL is specified by a meta model precise enough to build, in a semi automatic way, a domain virtual machine ; it is this virtual machine that interprets the domain models. Then, it is possible to compose these meta models to define new and more complex domains. Meta model composition increases modularity and reuse, and allows building domain with much larger functional scope than possible with traditional approaches.