logo inria

Actualités
L'INRIA
Recherche scientifique
Valorisation et Transfert
Publication et Documentation
Travailler et se former à l'INRIA

English version Annuaire Plan du site
 Recherche avancée et aide

Information de meme niveau :

Protocoles | Sécurité et mobilité | Liaisons satellitaires | Diffusion de groupe | Réseaux sans fil | Web | Langues naturelles | Ergonomie des logiciels | Nouveaux usages | Calcul scientifique | Algorithmes | Cartes à puce |

-----------------------
Le logiciel s'adapte à la complexité des nouveaux usages
-----------------------

Présentation -  Applications réparties -  Approche MDA -  Domaines applicatifs -  Carroll

Les technologies logicielles ont beaucoup évolué ces dix dernières années. Des démarches comme les modèles de composants ou l'ingénierie des modèles sont aujourd'hui au centre de nombreuses recherches, en particulier à l'INRIA.

La conception de logiciels et tout ce qui l'entoure (outils de développement, assemblage, tests, déploiement, exécution, administration…) globalement défini par le terme ingénierie logicielle, évolue au gré de la complexité croissante des systèmes développés, de plus en plus souvent embarqués, répartis entre plusieurs machines, fonctionnant en temps réel... Il est désormais courant pour un industriel de développer des logiciels de plusieurs millions de lignes de code. D'autre part, les contraintes de productivité, de qualité et de flexibilité sont sans cesse accrues. De toutes ces évolutions découle en particulier un fort besoin d'automatisation.

Les principaux développements actuels en ingénierie logicielle trouvent une partie de leur source dans le déploiement des technologies à objets, désormais largement répandues que ce soit pour l'analyse, la conception ou l'implémentation des systèmes informatiques. En 1991, l'OMG (Object management group), le consortium de standardisation dédié à ces technologies, a défini une architecture logicielle de référence pour des applications réparties - plusieurs composants qui coopèrent sur plusieurs sites - utilisant les technologies à objet : baptisé Corba, elle permet à des applications développées dans des langages différents de communiquer, même si elles ne sont pas sur le même ordinateur. Corba est une sorte d'intergiciel, une classe de logiciels qui assure des fonctions intermédiaires entre le transport des données et les applications comme des fonctions de communication, de distribution des tâches ou des propriétés comme la sécurité. Ce standard est largement utilisé dans l'industrie en particulier pour les systèmes d'information des serveurs d'entreprises et dans des applications de commande et de contrôle dans l'armée, pour certaines applications industrielles ou dans les télécommunications.

Déployer automatiquement du logiciel pour les applications réparties

Concernés par la conception d'applications réparties complexes – avec des contraintes spécifiques -, les chercheurs du projet de recherche JACQUARD se sont rapidement intéressés à Corba. Pour résoudre certains problèmes d'utilisation du logiciel, ils ont conçu dans le cadre de la thèse de Philippe Merle un langage de script pour Corba (un langage de programmation avec des propriétés spécifiques). Aussi, lorsqu'en 1997, l'OMG a lancé un appel à proposition sur le sujet, l'équipe a proposé sa solution, baptisée Corba scripting language, qui a été retenue en 2000. Du même coup, les chercheurs se sont familiarisés avec le fonctionnement de l'OMG et ont suivi les travaux menés dans les autres groupes de travail, en particulier concernant les modèles à base de composants logiciels, approche initiée par l'OMG en 1997 particulièrement adaptée aux applications réparties. De fait, les modèles à objets permettent de construire du logiciel mais ne permettent par exemple pas le déploiement automatique du logiciel sur un ensemble de machines, comme cela est nécessaire dans les applications réparties ; les modèles à base de composants apportent cette fonction, de manière transparente. Les chercheurs de JACQUARD ont rapidement intégré le groupe de travail sur le sujet et en ont finalement pris la direction en 2000. La recommandation Corba intégrant le modèle de composants est sortie en 2003.
En parallèle, ils ont expérimenté les modèles de composants jusqu'en 2002 sur leur propre prototype logiciel, une plate-forme baptisée OpenCCM développée dans le cadre du consortium ObjectWeb - créé par l'INRIA, France Telecom et Bull pour développer des intergiciels de qualité, en libre accès. Les recherches et développements se sont ensuite poursuivis dans le cadre de projets nationaux (RNTL IMPACT, RNRT COMPiTV, ACI GRID RMI) et européens (IST COACH, ITEA OSMOSE), en particulier avec Thales et une société grecque, Intracom. OpenCCM est diffusé sous forme de logiciel libre sur Internet depuis 2003. Il a été téléchargé plus de 2500 fois et l'OMG le considère comme une des deux plate-formes de référence pour implémenter sa recommandation de modèles de composants.

Au début des années 1990, pas moins d'une cinquantaine de méthodes de modélisation par objets avaient été développées. Pour assurer une certaine uniformisation de ces travaux, l'OMG a recommandé fin 1997 le premier formalisme de modélisation par objets unifié : UML (Unified modeling language). Les industriels ont rapidement adhéré à cette technique de génération de code à partir des modèles, une démarche à base de représentations graphiques. Chacun a développé sa variante d'UML, dédiée à son application : on les appelle des langages dédiés et UML est devenu un langage dédié parmi d'autres. Actuellement, les deux principaux acteurs dans ce domaine sont IBM et Microsoft. Chacun a développé sa plate-forme d'implémentation et son outillage : Eclipse pour IBM et Visual studio pour Microsoft.

L'approche MDA

Les concepts ambitieux de l'ingénierie des modèles
Une des solutions qui permettrait d'harmoniser ces développements un peu tous azimuts, assurer la compatibilité, l'interopérabilité de ces langages dédiés est l'ingénierie des modèles. Cette méthodologie de conception de logiciel fait l'objet de nombreux travaux de recherches dans le monde. Elle a été retenue en novembre 2000 comme une approche majeure par l'OMG, baptisée MDA™ (Model driven architecture). Les objectifs sont multiples et ambitieux : générer le code des logiciels automatiquement, pouvoir passer facilement, de façon automatisée, d'un modèle à un autre, d'un niveau d'abstraction à un autre ou d'une application donnée à une autre par exemple pour générer automatiquement des tests de composants logiciels. L'approche est basée sur plusieurs normes techniques déjà établies : des langages comme UML, des langages de modélisation comme MOF (Meta object facility) et surtout des langages de transformation de modèle comme QVT (Query view transformation). QVT est une spécification de langage de transformation de modèle, qui permet d'adapter un modèle à de nouvelles contraintes, de transformer n'importe quel langage dédié vers un autre. Ce langage est au cœur de la réussite de l'approche MDA.

Deux équipes de l'INRIA (TRISKELL et ATLAS) mènent des recherches sur l'ingénierie des modèles. Elles ont exploré deux pistes différentes et complémentaires autour de la transformation de modèles pour l'adapter aux utilisateurs et ont développé deux langages de transformation de modèles, en quelque sorte des implémentations de QVT : ATL (ATLAS transformation language) développé par ATLAS et MTL (Model transformation language), par TRISKELL.
ATL est un langage de transformation de modèles destiné à être appliqué plus particulièrement à l'ingénierie des données, autrement dit aux systèmes d'information et aux systèmes de gestion de base de données. De fait, leur taille ne cesse de s'accroître, les données qu'elles contiennent sont de plus en plus hétérogènes et complexes et les applications qui les utilisent de plus en plus variées. ATL est issu de recherches menées en collaboration entre l'INRIA, l'université de Nantes et une société brestoise, TNI-Software. ATL et son environnement de programmation sont officiellement disponibles en logiciel libre sur la plate-forme Eclipse d'IBM depuis octobre 2004 (sur le site Generative model transformer). Cette même année, ATL a reçu le prix innovation Eclipse d'IBM. Parallèlement, l'équipe met en œuvre les mêmes principes selon la démarche cette fois de Microsoft, dans le cadre de conventions de recherche et étend les fonctionnalités des opérateurs au-delà de la transformation en prenant en compte par exemple le tissage de modèles. Ces travaux se font principalement dans des projets de coopération industrielle comme le projet européen ModelWare piloté par la société Thales. Des partenariats forts avec d'autres industriels français comme le groupe Sodifrance ont permis de développer d'autres outils complétant ATL dans le cadre d'une plate-forme de recherche en ingénierie des modèles (AMMA).
MTL est un langage objet générique, une brique de base qui permet de développer des " frameworks " (sortes de canevas d'application) de transformation de modèles. TRISKELL s'intéresse à des frameworks permettant des manipulations sémantiques puissantes (reposant sur des opérateurs algébriques). MTL est par exemple particulièrement adapté aux contrôles de composants logiciels, dans le but d'assurer la fiabilité de leur assemblage en particulier dans le cadre d'applications réparties. Il permet de générer automatiquement des tests de composants logiciels. C'est une autre façon de tirer parti de l'ingénierie des modèles, en changeant de mode de représentation. De fait, tester les composants logiciels, vérifier leur fiabilité avant de les assembler est devenu une étape sensible et souvent très coûteuse avant le déploiement d'une application. Les chercheurs du projet TRISKELL avaient déjà travaillé sur le sujet dans le cadre d'un projet national avec France Telecom, Gemplus et la société Softeam pour définir des techniques de tests en UML.

Proposer des solutions pour différents domaines applicatifs

En outre, les applications réparties sont de plus en plus souvent embarquées et fonctionnent en temps réel comme dans les téléphones mobiles ou des systèmes pour l'automobile ou l'aéronautique. Pour modéliser ces systèmes complexes embarqués, les chercheurs d'AOSTE développent depuis 20 ans des formalismes dits réactifs synchrones, baptisés RTE-ML (Real time embedded - Meta language) comme Esterel ou les SyncCharts. Ces langages sont finalement assez proches des diagrammes comportementaux d'états et d'activités UML, à ceci près qu'ils adhérent à une sémantique mathématique synchrone, indispensable dans le cadre d'applications réparties. La démarche a d'emblée intéressé les industriels qui développaient UML pour des systèmes embarqués, Thales en tête. En 2001, les chercheurs d'AOSTE ont conçu un profil RTE-ML compatible avec UML dans le cadre d'un projet européen avec Thales, Esterel Technologies (une start-up de l'INRIA), Nokia et des universités finlandaises.
Par ailleurs, les chercheurs d'ATLAS s'intéressent à une application particulière de l'ingénierie des modèles : trouver des solutions génériques pour rénover de façon automatique les anciens systèmes informatiques programmés il y a plusieurs dizaines d'années (par exemple en Cobol, PL/1 ou ADA), pour les adapter aux environnements technologiques modernes. L'OMG a lancé une initiative sur le sujet en 2003 qui vise à résoudre ce problème industriel d'envergure qui s'est déjà largement illustré au moment du passage à l'an 2000 puis du passage à l'euro. La plate-forme expérimentale d'ingénierie des modèles AMMA, avec ses différents composants (transformation, tissage, projection, gestion globale de modèles), sert de support à ces travaux de rétro-ingénierie des systèmes d'information où l'on se retrouve fréquemment confrontés à des problèmes difficiles d'ingénierie de données. Certains outils développés au sein de l'équipe ATLAS devraient pouvoir être directement appliqués à cette problématique industrielle de très grande importance.

Carroll : L'INRIA, partenaire incontournable en ingénierie du logiciel

Dans le cadre du développement de ses systèmes d'électronique de défense (maritime, terrestre ou aérienne), Thales a initié en mars 2003 un partenariat de recherche sur trois ans, baptisé Carroll, avec le CEA et l'INRIA dans les domaines de l'ingénierie logicielle des modèles et des technologies des intergiciels. L'INRIA contribue naturellement à ce partenariat grâce à ses compétences reconnues dans les domaines de l'informatique embarquée et temps réel, des applications réparties et des intergiciels. Les projets ATLAS, TRISKELL et AOSTE de l'INRIA ont initié 3 des 4 projets de Carroll. En particulier, ATLAS et TRISKELL contribuent au développement d'un langage de programmation compatible avec QVT. Par ailleurs, l'équipe TRISKELL développe des méthodes de génération automatique de tests de composants logiciels et les chercheurs d'AOSTE ont pour objectif de standardiser à l'OMG une solution issue de leur profil RTE-ML adapté aux systèmes temps réel embarqués. Ils ont proposé un cahier des charges des besoins du domaine (Request for proposal, RFP) qui a été voté en janvier 2005. Grâce à leurs travaux précédents, ils devraient ensuite être bien placés pour répondre à cette RFP.

--------------------------------
début de la page    |suite  Un standard au secours des consommateurs de calculs     | page d'accueil du site
© INRIA - mise à jour le 29.08.2006 - dri-webmaster@inria.fr