Sites Inria

English version

Recherche - Ingénierie logiciel

Jean-Michel Prima - 20/11/2010

Les modèles au service des logiciels métiers

Benoît Baudry, chercheur au sein de l'équipe-projet Triskell © J-M. Prima 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 trois cents 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 microseconde 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 consortiums, 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é six mois à Rennes. ll s'agit surtout d'échanger des connaissances. »
La première partie de ces travaux porte 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

Haut de page

Suivez Inria tout au long de son 50e anniversaire et au-delà !