GT Ingénierie Dirigée par les Modèles

Last modified by Mireille Blay-Fornarino on 2021/02/11 15:29

L'ingénierie dirigée par les modèles (IDM) est une discipline qui date maintenant d'une vingtaine d'année. Son objectif initial est de donner aux modèles une place prépondérante dans le développement logiciel. Les modèles servent tout au long du cycle de vie, permettant la production automatique de nombreux artéfacts logiciels. Les modèles sont utilisés, manipulés, transformés et vérifiés, de la conception à l'implémentation, à l'exécution et la maintenance. De nombreux langages, outils et plates-formes ont été conçus dans les laboratoires de recherche à cet effet, dont certains sont largement diffusés par les entreprises qui développent du logiciel. Les travaux de la communauté française s’articulent tant sur la production de méthodes et outils permettant la mise en oeuvre de l’IDM que son utilisation dans différents domaines logiciels. 

Nous avons relevé un certain nombre de défis et de de domaines du GL où l’apport de l’IDM est attendu.

Domain Specific Languages (DSL)

Un des apports majeurs de l'IDM est une nouvelle façon de concevoir des langages dédiés, des DSL (Domain Specific Language).

Plusieurs défis du GDR GPL font apparaître des besoins autour de l'IDM et des DSL. Le défi autour de la sécurité souligne la nécessité de modéliser des politiques de sécurité mais également des failles ou des vulnérabilités. Le défi autour de l'intelligence artificielle propose de revisiter l'IDM et la production de DSL pour la définition de systèmes logiciels intégrant de l'intelligence artificielle. Le défi sur la co-évolution rappelle que ce problème est étudié depuis longtemps par la communauté IDM mais que les communautés IDM et SLE doivent sans doute réfléchir à de nouveaux moyens de structurer les générateurs de code. Enfin, le défi autour des systèmes de confiance cite un lien avec un GT IDM au niveau du GDR ;  l’aspect vérification et validation apparaissant comme fondamental.

L’utilité d’avoir une méthode et des outils qui attestent qu’un modèle ou qu’un DSL est correct, surtout dans le cadre des DSLs exécutables Il existe une panoplie d’approches, que la communauté aurait intérêt à intégrer autour d’actions communes pour définir un cadre homogène (pourquoi pas standardisé, comme le MOF) pour aborder la correction d’un DSL. 

Depuis maintenant plusieurs années, il y a eu un rapprochement entre l'IDM et l'ingénierie des langages (SLE pour Software Language Engineering) autour des DSL. L'IDM permet de développer des environnements dédiés à un DSL avec la création de modèles et leur manipulation. Plusieurs défis mettent en avant la nécessité de définir des DSL mais il est également nécessaire de développer de nouvelles techniques de génération de code, de co-évolution entre un modèle et le code, de nouveaux débogueurs ou bien de composition de DSL. Les nouvelles approches de développement logiciel low-code ou no-code basées sur des modèles d'application définis à haut-niveau dans des éditeurs graphiques peuvent également et naturellement bénéficier des travaux autour de l'IDM avec la définition de ces modèles, un développement guidé par les modèles et la génération de code associée.

Les plate-formes de développement no-code se doivent d'être utilisables par des non-informaticiens, ce qui implique que les DSL sous-jacents doivent permettre de définir un logiciel complet par interactions de briques prédéfinies et avec un soucis d'ergonomie dans l'édition des modèles.

Industrialisation des modèles, passage à l'échelle

En parallèle de cela se pose aussi la question du passage à l'échelle et de l'industrialisation des modèles. 

Dans un système il y a souvent des modèles critiques et d’autres un peu (voire beaucoup) moins critiques. La réalisation de ces systèmes gagnerait à faire interagir les différents outils, en conservant la sémantique d’exécution de chaque modèle, écrite dans le langage adéquat. Le challenge est donc ici de composer leurs DSLs et de faire collaborer leurs exécutions. 

Un autre point concerne la nécessité  de pouvoir stocker, lire et afficher (potentiellement graphiquement) de grands modèles contenant beaucoup d'éléments. Le passage à l’échelle soulève aussi le problème de la gestion de larges espaces de modèles et requiert des solutions de classification, structuration ainsi que de moteurs de recherche de modèles efficaces. Le travail collaboratif, à savoir l'édition et la gestion de versions, pose également de nouveaux problèmes technologiques et scientifiques.

Model-Based Software Engineering (MBSE)

La visualisation des modèles et leur utilisabilité réelle dans le domaine industriel est l’un des défis majeurs de la mise en place du MBSE (Model-Based Software Engineering). En effet, si l’utilisation de l’IDM est clairement vue comme une nécessité et un atout pour sa mise en oeuvre, il manque encore d’outils matures et intuitifs permettant une mise en confiance des parties prenantes. 

Par ailleurs, si le MBSE explose sur le marché et s’avère d’une réelle nécessité, en particulier dans la réalisation de systèmes complexes (aéronautique, automobile, …), il s’avère qu’il manque de personnels compétents. La formation à la réalisation et l’exploitation des modèles tout au long de la chaîne de MBSE est un des éléments à adresser. 

Porteurs du GT

  • Eric Cariou (équipe GL, LIUPPA / Université de Pau et des Pays de l'Adour)
  • Sophie Ebersold (equipe SM@RT, IRIT, Université Toulouse 2)

Animation

  • Session annuelle aux journées du GDR GPL pour présenter des travaux représentatifs de la communauté française en IDM
  • Organisation de journées thématiques en fonction des demandes des équipes liées à l'IDM
  • Soutien ponctuel par exemple à des doctorants pour présenter un article à une conférence
  • Etablir un catalogue des enseignements et formations pour les étudiants de master, les doctorants et également les industriels

Equipes

Equipe / laboratoire / tutelles / responsable ou contact / nombre de permanents sur la thématique IDM :

  • SPIRALS, CRIStAL, Université de Lille, Lionel Seinturier, 3
  • CARAMEL, CRIStAL, Université de Lille / CNRS, Olivier Caron, 3
  • CARBON, CRIStAL, Université de Lille, Cédric Dumoulin, 3
  • ACADIE, IRIT, INP / UPS / Université Toulouse 1, Philippe Guéinnec, 2
  • SM@RT, IRIT, Université Toulouse 2, Jean-Michel Bruel, 5
  • LSEA, CEA LIST, Chokri Mraidha, 10
  • Vasco, LIG, Université Grenoble Alpes / CNRS, Yves Ledru, 2
  • Naomod, L2SN, Université de Nantes / CNRS / Ecole Centrale de Nantes / IMT Atlantique, Gerson Sunyé, 5
  • MAREL, LIRMM, Université de Montpellier / CNRS, David Delahaye, 2
  • ERIS, ESEO-TECH, ESEO, Olivier Beaudoux, 5
  • MoVe, LIP6, Sorbonne Université, Twefik Ziadi, 20
  • GL, LIUPPA, Université de Pau et des Pays de l'Adour, Eric Cariou, 3
  • DiverSE, IRISA, Université de Rennes 1 / INRIA, Benoit Combemale, 8
  • VESONTIO, département DISC, institut FEMTO-ST, Ahmed Hammad, 4
  • P4S, Lab-STICC, IMT-Atlantique, ENSTA-Bretagne, Antoine Beugnard, 7

Equipe étrangère : 

  • IT Architecture and Model Driven Systems Development (IMS), ENSIAS / Université Mohammed V, Rabat, Maroc, Mahmoud El Hamlaoui, 3

Interactions

Le groupe IDM partage des interactions scientifiques avec les GT ayant des besoins en termes de modélisation et de définition de DSL comme les GT GL et intelligence artificielle, sécurité ou bien encore ingénierie des exigences.