Recherche - Ingénierie logiciel
Les modèles au service des logiciels métiers
Benoît Baudry
-
© J-M. Prima
L'ingénierie des modèles vise à développer des abstractions pour concevoir plus facilement des logiciels. La longue marche vers la standardisation a commencé, mais les confins de ce domaine restent encore à explorer, comme l'explique Benoît Baudry, chercheur Inria au sein de l'équipe-projet TRISKELL.
L'ingénierie de modèles ? "Un champ de recherche très vaste, prévient d'emblée Benoît Baudry. Un aspect connu concerne le refactoring, la ré-écriture de logiciels. Pour adapter un programme des années 1970 aux technologies de 2010, il faut reprendre le code à la main. C'est compliqué, long et cher." Mais il existe une alternative : "produire d'abord un modèle, c'est à dire une représentation abstraite du logiciel d'origine. Ensuite, transposer ce modèle vers la technologie 2010." L'avantage ? "Ces deux opérations successives peuvent être grandement automatisées et ré-utilisées. Au final, une migration en deux étapes via un modèle coûte donc bien moins cher."
Mais les modèles présentent aussi une autre vertu. Ils permettent de fabriquer directement des logiciels. "On peut par exemple concevoir le modèle d'un logiciel d'avion. Ce type de système embarqué exige beaucoup de vérifications. Quand on appuie sur un bouton et que l'on tire sur le manche, l'événement escompté doit se produire dans le délai imparti. Or, il est plus rapide de pratiquer ces vérifications sur le modèle que directement sur le logiciel final."
C'est ce deuxième aspect, la fabrication de logiciels via les modèles, qui constitue la spécialité de l'équipe-projet Triskell, à Rennes. "Nous travaillons d'abord sur ce qu'on pourrait appeler un socle générique. Nous concevons des outils indépendants des applications finales. Par exemple pour mesurer la taille d'un modèle. Peu importe que celui-ci représente un calculateur aéronautique ou le système d'information de la SNCF."
Des modèles en fonction des métiers
À l'inverse, "une autre partie de notre activité consiste à produire un modèle en fonction d'un besoin particulier." Orientée métiers, cette approche amène les chercheurs à côtoyer les industriels dans le cadre de projets collaboratifs. "Nous travaillons avec Airbus sur des calculateurs embarqués. Nous entamons aussi une collaboration avec EDF pour réaliser un modèle sur la gestion des exigences métier de centrale nucléaire. La définition de ces exigences mobilise 300 corps de métiers : physiciens, chimistes, ergonomes, mécaniciens, architectes, électroniciens, etc." Autant d'intervenants qui doivent se synchroniser. Le modèle doit capturer la complexité de toutes ces interactions auxquelles s'ajoutent les contraintes d'une réglementation évolutive. "S'il effectue un changement, l'industriel veut connaître l'impact, le coût, les délais..." Avion ou chantier BTP, certaines briques de base sont utiles pour les deux problèmes. "Mais après, la manière dont nous fabriquons le modèle pour capturer l'information est différente selon que le système doive réagir en une micro-seconde ou mesurer un impact."
À travers ces études de cas qui se présentent dans les corps de métiers, "nous voulons mieux comprendre ce qui peut être utile dans un contexte industriel ou dans un autre. Et cela en suivant une ligne scientifique clairement définie. Nous nous intéressons aux aspects fondamentaux, aux problèmes méthodologiques." Par l'intermédiaire des consortia, la standardisation est en marche. "Mais il reste encore beaucoup d'exploration à faire. Nos recherches s'effectuent dans cette zone trouble où un consensus ne se dégage pas encore sur les méthodes à adopter."
Une équipe transatlantique
Triskell et le département informatique de l'Université du Colorado collaborent dans le cadre d'une équipe associée baptisée Mocaa. "Nous travaillons avec trois professeurs de CSU, dont Robert France, qui a passé 6 mois à Rennes. ll s'agit surtout d'échanger des connaissances."
La première partie de ces travaux portent sur "la vérification non plus du modèle mais du logiciel métier qui va être fabriqué. Il faut s'assurer que ce programme se comporte comme prévu une fois plongé dans son vrai environnement. Car, si son écriture a été en partie automatisée, elle comprend aussi des interventions humaines. Or, fatalement, l'humain introduit de l'erreur."
Le deuxième axe de recherche tient à la taille des systèmes. "Plus ils sont immenses, plus le modèle abstrait devient lui aussi gros et complexe. Nous réfléchissons à la façon de le séparer en plusieurs morceaux plus faciles à appréhender ou à faire évoluer. Mais, à un moment donné, il faut bien remettre ces éléments ensemble. C'est ce qu'on appelle la composition de modèles."
Cette collaboration ne présente pas de finalité industrielle. "En revanche, il est intéressant de noter qu'à Rennes et à CSU, des prototypes académiques construits à partir des résultats de recherche sur la composition de modèles et de la génération automatique de programmes vont donner naissance à deux start-up." L'entreprise américaine élabore des systèmes d'information sur les maladies tropicales. A Rennes, Triskell développe Entimid, un intergiciel qui sera utilisé par Neociti pour le déploiement des services de maintien des malades à domicile.
Mots-clés : TRISKELL Ingénierie Logicel Modèle Inria Rennes - Bretagne Atlantique
Inria
Inria.fr
Inria Channel

En savoir plus
Contact