Le paradigme MDE
De nos jours, la plupart des systèmes qui nous entourent requièrent des composants logiciels critiques à leur fonctionnement, comme pour une usine de production, une automobile, ou un lave-linge. La complexité du logiciel des systèmes atteint un niveau tel que les concepteurs de logiciels s’appuient fortement sur les pouvoirs conjoints de l’abstraction et de l’automatisation. Le paradigme qui jumelle ces deux concepts est l’ingénierie dirigée par les modèles (model-driven engineering – MDE). Le MDE est une approche de développement logiciel qui promeut la modélisation des systèmes à des niveaux d'abstraction plus élevés que la programmation traditionnelle. Les concepteurs MDE utilisent des langages de modélisation spécifiquement conçus, pour restreindre le modélisateur à ne penser qu’au niveau d’abstraction désiré et réduire la complexité accidentelle imposée par la plupart des outils et langages de programmation génériques. Les modèles résultants sont des artéfacts de développement qui sont souvent transformés dans le but de générer le code automatiquement, effectuer de l’analyse formelle du système, générer et effectuer les tests, ou déployer en production.
Expertise MDE au DIRO
Le groupe de génie logiciel GEODES au DIRO a affiné les pratiques MDE suivant plusieurs perspectives, dont les suivantes :
- Langages dédiés : Les modèles développés en MDE sont exprimés en utilisant les concepts, notations et comportements qui s'accordent le mieux avec le domaine original du système réel modélisé, plutôt qu'à du code. Un expert du domaine, tel qu'un ingénieur électrique, un biologiste, un enseignant, un joueur, ou un client, a le pouvoir et les connaissances pour construire lui-même ses modèles, grâce à des langages de modélisation dédiés au domaine. Dans le laboratoire GEODES, en collaboration avec des partenaires à travers le monde, nous développons des outils de modélisation génériques qui permettent de générer des éditeurs dédiés à un domaine en particulier. C'est le cas, entre autres, d'AToMPM, notre outil de modélisation à paradigmes multiples. Nous développons également des prototypes basés sur des technologies standards et libres, telles que l’Eclipse Modeling Framework.
- Lignes de produits logiciels : Les écosystèmes industriels modernes sont caractérisés par un souci omniprésent de soutenir des degrés toujours plus élevés de personnalisation et de variabilité. Pour résoudre ce problème, les concepteurs logiciels ont développé des techniques de ligne de produits logiciels (software product line engineering – SPLE). Ceux-ci permettent la spécification, la gestion et l'analyse de grandes familles de produits logiciels reliés, chacun étant similaire, mais différent de tous les autres. Les chercheurs de GEODES travaillent sur la conception, l’analyse et la transformation des lignes de produits logiciels, basés sur le paradigme MDE.
- Automatisation : En plus de l’abstraction, l’automatisation est un pilier essentiel du paradigme MDE. Nous exprimons le comportement de modèles et les relations exécutables entre modèles à l'aide de transformations. La conception, l'implémentation et la génération automatique de transformations de modèles sont des sujets de recherche cruciaux. Les transformations de modèles servent à synthétiser, traduire, évoluer, analyser et exécuter les modèles. Par exemple, nous utilisons et développons des techniques avancées de génération de code automatique pour des plateformes variées, telles que les PC, les mobiles et les systèmes embarqués. Nous travaillons, entre autres, sur l’apprentissage automatique des transformations et des règles de bonne formation de modèles à partir d’exemples.
Nouveaux projets
À partir de la recherche en MDE, les chercheurs de l’équipe GEODES travaillent sur une grande variété de sujets, en appliquant les principes d’abstraction et d’automatisation dans plusieurs domaines d’application. Par exemple, nous travaillons sur des sujets qui touchent l’internet des objets (IoT), l’informatique nuagique (cloud computing), les applications mobiles, l’interaction homme-machine et la création d’outils pour assister dans la recherche empirique.
L’équipe GEODES
L’équipe GEODES a été fondée au DIRO en 1992. Depuis, près de 150 étudiants ont obtenu un diplôme de maîtrise et plus d’une trentaine de PhD ont été décernés. Plusieurs de ces étudiants sont professeurs au Québec, au Canada, et dans le monde (UQAM, ÉTS, Polytechnique, Ottawa, Michigan, etc.). L’équipe actuelle compte trois professeurs (Michalis Famelis, Houari Sahraoui et Eugene Syriani), une quinzaine d’étudiants à la maîtrise et au doctorat et plusieurs collaborateurs un peu partout dans le monde.
En plus de la recherche en MDE, les travaux de recherche portent sur l’ingénierie des besoins, la visualisation et la compréhension des logiciels, la rétro-ingénierie et la migration des logiciels légataires vers les nouveaux paradigmes, l’automatisation du développement et de la maintenance du logiciel et la simulation. L’équipe a développé plusieurs partenariats avec des PME locales et de grands groupes industriels œuvrant dans le secteur des technologies de l’information.
Logo GEODES
Mots clés (extraits des titre d’articles)