REUTEL 2000 : Outils et techniques pour applications de télécommunications réutilisables


Version 1.18 - Date 2015/09/09 12:15:51

Plan


Executive Summary

Reutel is a long-term collaborative research project between ALCATEL and INRIA. The collaboration started in 1995 with the Reutel-Arctica contract (11/1995-01/1998). It was then followed by the two phases of the Reutel-2000 contract: a first phase (09/1997-02/1999) and a second one (04/1999-08/2000).

The project is coordinated by Claude Jard from the INRIA side. The latter phase involves five INRIA teams: ADP, COMPOSE, EP-ATR, PAMPA, and VASY. This collaboration seeks to master the software development process of reusable telecommunication applications using tools supporting formal transformations within a development process defined by ALCATEL, by combining object-oriented approaches and the synchronous and asynchronous models of concurrency.

Keywords

asynchronous language, code generation, communication protocol, compiler, concurrency, CORBA, distributed application, distributed system, formal method, formal specification, IDL, interface, modelling, object-oriented language, protocol engineering, reactive system, simulation, software engineering, synchronous language, telecommunications, test generation, UML, validation, verification.


Résumé

Reutel is une collaboration de recherche à long terme entre ALCATEL et l'INRIA. Cette collaboration a débuté en 1995 par le contract Reutel-Arctica (11/1995-01/1998). Elle s'est poursuivie par les deux phases du contrat Reutel-2000: une première phase (09/1997-02/1999) suivie d'une seconde (04/1999-08/2000).

Le projet est coordonné par Claude Jard pour l'INRIA. Cinq équipes INRIA participent à la seconde phase: ADP, COMPOSE, EP-ATR, PAMPA et VASY. 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 manipulations formelles à 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.

Mots-clés

application répartie, compilation, concurrence, CORBA, génération de code, génération de tests, génie logiciel, IDL, ingénierie des protocoles, interface, langage à objets, langage asynchrone, langage synchrone, méthode formelle, modélisation, protocole de communication, simulation, spécification formelle, système distribué, système réactif, télécommunications, UML, validation, vérification.


Programme de recherche

Depuis avril 1999, l'équipe VASY participe à la deuxième phase du projet Reutel-2000, un contrat de recherche 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 Modeling 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'interfaces offre une certaine indépendance vis-à-vis des différents langages utilisés pour la programmation des objets logiciels et des différentes plate-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.


Contribution de VASY

La seconde phase de Reutel comporte quatre axes de recherche : l'équipe VASY intervient 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 fonctionalités de simulation, de vérification et de génération de tests. La contribution de VASY a porté sur les points suivants :

  • Nous avons poursuivi le développement du simulateur OCIS (Open/Caesar Interactive Simulator) dans le but d'en faire un outil robuste utilisable pour UML.

  • Nous avons finalisé le portage des outils CADP sous le système WINDOWS afin de permettre leur utilisation dans l'environnement de développement d'ALCATEL.

  • En collaboration avec Thierry Jéron, Pierre Morel et Séverine Simon de l'équipe PAMPA, nous avons participé à l'amélioration du générateur de tests TGV et à son intégration au sein de la boîte à outils CADP.

  • En collaboration avec Alain Le Guennec de l'équipe PAMPA, nous avons joué un rôle de conseil pour la connexion de l'outil UMLAUT à l'environnement OPEN/CAESAR. UMLAUT permet d'appliquer des transformations complexes à un modèle UML selon des règles définies par l'utilisateur. En particulier, le modèle UML d'une application répartie peut être automatiquement transformé en un système de transitions étiquetées, ce qui permet de lui appliquer tous les outils disponibles dans l'environnement OPEN/CAESAR.

  • En collaboration avec Hubert Canon de l'équipe PAMPA, nous avons joué un rôle de conseil pour la connexion du compilateur BDL à l'environnement OPEN/CAESAR. Conçu par les équipes EP-ATR et PAMPA, BDL (Behavioural Description Language) est un langage d'interface qui permet d'enrichir les diagrammes de classes UML avec des concepts comportementaux. En effet, la notation UML comporte un grand nombre de diagrammes (diagrammes de séquences, StateCharts...) sans pour autant garantir la cohérence entre ces différentes vues comportementales. La langage BDL se veut un formalisme "pivot" entre les diverses vues et assure la connexion des outils de l'INRIA dans la chaîne de développement d'ALCATEL. Il permet d'abstraire un objet et ses méthodes sous la forme d'un ensemble de graphes orientés étiquetés par les états de l'objet et de son environnement. Ces graphes permettent de coder les communications et leur ordonnancement, ainsi que les dépendances de données et de contrôle. Du point de vue sémantique, BDL se fonde sur les automates d'ordres partiels qu'il est possible d'interpréter de manière synchrone (on se retrouve alors dans le monde des langages synchrones tels que SIGNAL, ce qui permet de récupérer les techniques de preuve et de génération de code associées) ou asynchrone (en s'appuyant sur le modèle des systèmes de transitions étiquetées, ce qui autorise une connexion avec les outils CADP et TGV).


Pour en savoir plus...

Rapport d'activité INRIA 1996

Rapport d'activité INRIA 1997

Rapport d'activité INRIA 1998

8èmes Rencontres INRIA-Industrie (1998)

Rapport d'activité INRIA 1999

Rapport d'activité INRIA 2000

Eléments techniques



Back to the VASY Home Page