Contrat Reutel-2000 (Alcatel)



Participants : Moëz Cherif, Hubert Garavel.

Mots clés : activité de conception, algorithme distribué, application répartie, compilation, concurrence, génération de code, génération de test, génie logiciel, ingénierie des protocoles, modélisation, langage à objets, langage d'interface, parallélisme asynchrone, parallélisme synchrone, protocole de communication, simulation, spécification formelle, synchronisation, système distribué, validation, vérification de programme .

Depuis avril 1999, nous participons à la deuxième phase du contrat REUTEL-2000, un contrat de recherche entre ALCATEL et l'INRIA s'inscrivant dans le contexte de l'accord-cadre de collaboration ALCATEL/INRIA. Les équipes ADP, COMPOSE, EP-ATR et PAMPA de l'INRIA Rennes sont également engagées dans le contrat REUTEL-2000 dont Claude Jard est le coordonnateur à l'INRIA.

L'objectif de cette collaboration est la maîtrise du développement logiciel d'applications de télécommunications réutilisables, par la conception d'outils de manipulation formelle à l'intérieur d'une chaîne de développement définie par ALCATEL, en combinant les approches à objets et les modèles de parallélisme synchrone et asynchrone.

L'industrie des télécommunications est soumise à de fortes contraintes visant à réduire les coûts et les délais de développement tout en améliorant la qualité du logiciel. Compte-tenu de la taille et de la complexité des applications mises en oeuvre, les spécifications et les programmes doivent être conçus de manière suffisamment générique pour pouvoir fonctionner dans des configurations hétérogènes, ainsi que pour assurer une flexibilité et une réactivité élevées en regard des évolutions du marché et des technologies naissantes.

Le cadre de développement considéré par ALCATEL prend en compte la norme CORBA ( Common Object Request Broker Architecture). Les spécifications sont élaborées selon une méthodologie de conception à objets compatible avec la notation UML ( Unified Meta Language). Le développement repose sur l'écriture de schémas de programmes dans des langages d'interface inspirés d'IDL ( Interface Definition Language) mais étendus pour faire apparaître des informations comportementales. L'utilisation de tels langages d'interface offre une certaine indépendance vis-à-vis des différents langages utilisés pour la programmation des objets logiciels et des différentes plates-formes d'exécution. Dans cette approche, la mise en oeuvre d'une application sur une plate-forme donnée se fait, lorsque cela est possible, par génération automatique de code (C, C++, JAVA, etc.).

Dans ce contexte, l'INRIA soutient l'utilisation de méthodes formelles et d'outils associés permettant la manipulation des schémas de programmes écrits dans les langages d'interface (génération de code, analyse, transformation et optimisation de code, vérification, génération de tests) afin d'assister les concepteurs d'applications et améliorer la maîtrise du développement.

La seconde phase de REUTEL comporte quatre axes de recherche : nous intervenons principalement dans le thème intitulé ``Outils de validation et de génération de code pour UML''. L'objectif est la réalisation d'une plate-forme de démonstration pour UML offrant des fonctionnalités de simulation, de vérification et de génération de tests. En 2000, notre contribution a porté sur les points suivants :