Projet Pampa

previous up next contents
Précédent : Résultats nouveaux Remonter : Projet PAMPA, Modèles et outils Suivant : Actions régionales, nationales et internationales



Actions industrielles

Diagnostic de pannes dans les réseaux de télécommunications

  Contrat CTI-CNET ref. 95 1B 151 - Novembre 1994-Novembre 1998



Participants : Claude Jard , Renée Boubour .


Mots-clés : gestion de réseau, supervision, gestion d'alarmes, diagnostic, systèmes distribués, réseaux de Petri, HMM


Gestion de réseau: désigne la couche haute de gestion d'un réseau de télécommunications (surveillance, maintenance, etc).

Supervision: opérations de surveillance, diagnostic et reconfiguration du réseau.

Gestion d'alarmes: opérations de traitement, filtrage et interprétation des alarmes circulant sur le réseau.

Diagnostic: interprétation des alarmes en vue des opérations de reconfiguration et maintenance.

HMM: Hidden Markov Models (Modèles de Markov Cachés), technique consistant à inférer, à partir d'observations ``bruitées'', l'état interne caché d'un automate stochastique (ou chaîne de Markov). Technique très utilisée en reconnaissance de la parole, et plus récemment dans le diganostic de systèmes dynamiques discrets ou hybrides. Nous étendons cette technique aux réseaux de Petri.

Résumé : Cette activité est commune avec le projet SIGMA2, et se situe dans le cadre de la CTI-CNET 95 1B 151. Il s'agit de développer une approche systématique pour le diagnostic de réseaux de télécommunications, avec les objectifs suivants:

Une technologie originale, fondée sur une notion nouvelle de Réseau de Petri stochastique conforme au point de vue dit de la ``concurrence vraie'' a été développée. Cette technologie nous permet naturellement de prendre en compte toutes les contraintes qui résultent du contexte ``distribué'' où nous nous situons.


Nous avons opté pour un cadre approprié à la description des états de fonctionnement des systèmes distribués, à savoir les Réseaux de Petri saufs (RdP) avec une sémantique adaptée au cadre de la vraie concurrence. Dans ce but, nous utilisons un modèle de temps en ``ordre partiel'': deux événements ne sont ordonnés que s'ils surviennent sur un même site, ou bien s'ils sont reliés par une relation de causalité (par exemple en tête et en queue d'une communication). Les techniques indiquées ci-après doivent être adaptées à ce point de vue ``ordres partiels'', ce qui fait la difficulté du sujet.

Le RdP permet de décrire l'apparition spontanée de pannes ou dysfonctionnements, ainsi que leur propagation et effets induits. Il joue ainsi, dans un cadre dynamique et distribué, le rôle d'arbre de défaillances. Le franchissement d'une transition matérialise un changement d'état de (dys)fonctionnement et cause l'émission d'un faisceau d'alarmes observées de manière répartie sur le réseau. Les transitions et l'émission des alarmes peuvent être randomisées (tout particulièrement la perte éventuelle des alarmes).

Le diagnostic est alors effectué par le biais 1/ du calcul à la volée de l'ensemble des trajectoires d'état interne compatibles avec les alarmes observées, et, en cas de multiplicité de solutions, 2/ le calcul de la trajectoire la plus probable par une technique de maximum de vraisemblance mise en oeuvre via une programmation dynamique généralisée aux systèmes distribués.

Pour réaliser le programme décrit plus haut, il nous a fallu 1/ développer une technique d'observateur d'état fondée sur une technique de dépliage de RdP, 2/ créer une nouvelle notion de RdP stochastique adaptée à la sémantique en ordres partiels et aux techniques de dépliage, 3/ étendre l'algorithme de Viterbi calculant la trajectoire d'état de vraisemblance maximale pour un automate stochastique aux RdP avec interprétation en ordres patiels. Le détail de ces techniques est décrit dans le rapport d'activité du projet Sigma2.

Un maquettage du logiciel correspondant est en cours de réalisation par Renée Boubour (projet PAMPA) et Armen Aghasarian (projet SIGMA2). Ce maquettage ne traite pas de la répartition du superviseur sur le réseau, seule une mise en oeuvre centralisée est donnée pour l'instant. L'application support est une partie de réseau SDH.

Validation de systèmes

 



Participants : César Viho , Hakim Kahlouche , Claude Jard , Thierry Jéron


Mots-clés : architecture multi-processeurs, hardware, cohérence de caches, vérification formelle, génération de tests


Résumé : Ce travail qui a démarré en 1996 pour le projet Pampa, s'effectue dans le cadre de l'action VASY (Validation de Systèmes) du GIE (Groupement d'Intérêt économique) Bull-Inria Dyade. En collaboration avec l'Inria Rhône-Alpes (H. Garavel), il s'agit de fournir des méthodes et outils pour la vérification formelle et le test du protocole de cohérence de caches de l'architecture multi-processeurs Polykid en cours de développement à Bull-Italie.


Sur la base de la spécification formelle en LOTOS (langage de spécification formelle normalisé par l'ISO) de l'architecture fournie par l'Inria Rhône-Alpes (qui s'occupe également de sa vérification formelle), le projet Pampa utilise son prototype TGV pour générer automatiquement des suites de tests abstraits pour le protocole de cohérences de caches. Ceci a permis :

Nous sommes actuellement dans la phase de traduction des tests abstraits en tests exécutables qui doit aboutir à la mise en oeuvre de ces tests sur la plate-forme réelle de test à Bull-Italie.

VALOOD : Validation formelle de logiciel orienté objets distribué

  Contrat INRIA 1 97 C699 00 31318 01 1, Octobre 1997 - Juillet 1998



Participants : Jean-Marc Jézéquel , Alain Le Guennec , Claude Jard , Thierry Jéron , Benoît Caillaud


Mots-clés : validation formelle, UML, technologies objets


Résumé : L'objectif de ce projet de collaboration Irisa/Pampa-Softeam est d'étudier la faisabilité de l'intégration des technologies de validation formelle de logiciel distribué dans un cycle de vie objet, afin de pouvoir relever le défi du déploiement de services distribués fiables (client-serveurs et autres multimedia), i.e. dépourvus de bogues logiciels dues à l'asynchronisme et au non-déterminisme.

L'élaboration de ce pont technologique entre technologie objet d'un côté et validation formelle de l'autre permettrait d'envisager la construction d'un environnement de développement intégré permettant de mener conjointement toutes les phases d'un projet industriel de haute qualité dans le domaine des objets distribués.


Pour la première fois, nous associons :

Le projet Pampa apporte son expertise en matière de technologie objet et de technologie de validation formelle, Softeam apporte sa maîtrise dans le domaine de l'analyse et de la conception par objet (avec notamment la méthode ClassRelation, seule méthode objet d'origine française largement référencée au niveau international) ainsi qu'un environnement de développement ouvert (Objecteering) dans lequel il est possible d'intégrer de nouveaux outils.

INRIA-NEC : évaluation HPF



Participants : Jean-Louis Pazat , Hugues Leroy (Ingénieur atelier)


Mots-clés : HPF, Cenju-3


Résumé : L'Inria et NEC Corporation (NEC) lancent sur deux ans une recherche conjointe dans le traitement parallèle. Pour soutenir ce projet, NEC a installé à l'Irisa le dernier-né de ses calculateurs parallèles, le Cenju-3. Coordonnées par le projet CAPS, l'Inria compte mener trois actions d'évaluation sur cette machine.

L'action du projet PAMPA consiste à évaluer le code produit par le compilateur HPF (High Performance Fortran) pour le Cenju-3. Le projet Pampa a été choisi pour sa longue expérience en la matière, notamment du fait de sa participation au projet européen Esprit Prepare.


MODISTARC : méthodes et outils pour la certification d'architectures réparties à base d'OSEK/VDX

  Contrat INRIA 1 97 A663 00 000MC 005, Septembre 1997 - Février 1999



Participants : Benoît Caillaud , Claude Jard , Thierry Jéron


Mots-clés : OSEK, Protocoles automobiles, génération de tests, TGV


Résumé : Projet européen R & D conduit par Dassault électronique, en collaboration avec plusieurs constructeurs automobiles, Modistarc a pour objectif de mettre en place une méthodologie de tests pour les protocoles de communications et de gestion embarqués sur les automobiles. Le projet Pampa participe en proposant une méthode automatique de génération de tests partant des spécifications formelles LDS existantes et en mettant le prototype TGV à disposition de Dassault.


Statut du projet

Objectifs et résultats

L'objectif du projet MODISTARC est de contribuer à l'effort des industriels Européens du secteur automobile pour développer une architecture normalisée de systèmes répartis embarqués pour l'automobile. Dans le cadre des activités du consortium OSEK/VDX (Open systems and the corresponding interfaces for automotive electronics), les industriels Européens de l'automobile ont défini trois nouveaux standards : un système d'exploitation pour calculateurs embarqués (ECU) pour l'automobile (OSEK/VDX OS), un protocole de communication inter et intra ECU (OSEK/VDX COM) et un protocole de gestion de réseaux idoine (OSEK/VDX NM). Ces standards ont pour vocation, d'une part de permettre la portabilité des applications d'un système à un autre et d'autre part, de permettre l'interopérabilité des plate-formes et des applications à l'intérieur d'un même système.

Les travaux au sein de projet MODISTARC portent sur :

Contribution du projet Pampa

La participation du projet Pampa porte sur la définition de la méthodologie de test pour la communication et la gestion de réseaux. La solution préconisée est la génération automatique des cas de tests à partir des spécifications formelles des protocoles COM et NM. L'outil de génération employé sera TGV (voir [*]). Pour la durée du projet, l'outil TGV sera mis à la disposition de Dassault Électronique qui effectuera le travail de production des cas de tests. Nous traitons en ce moment une étude de cas simplifiée fournie par Renault pour démontrer l'intérêt de notre technologie.

Alcatel/Reutel

  Contrat Inria n° 1 97 A 93600 000MC012, Novembre 1995 - Février 2001



Participants : Claude Jard , Jean-Marc Jézéquel , Benoît Caillaud , Zakaria Bouziane , Hubert Canon , Thierry Jéron .


Mots-clés : Méthode, UML, langage d'interface, IDL, BDL, synchrone, objets


Résumé : La collaboration avec Alcatel a commencé en novembre 1995 dans le cadre de l'appel Artica du ministère de la recherche et la mise à disposition d'un post-doctorant Inria chez Alcatel en 1996. En septembre 1997, elle a pris un nouvel essor avec un contrat direct avec Alcatel permettant le démarrage de plusieurs thèses. Claude Jard en est le coordinateur à l'Inria. L'objectif de la collaboration est la maîtrise du développement logiciel d'applications de télécommunication par la conception d'outils de manipulations formelles à l'intérieur d'une chaîne de développement définie par Alcatel. Cinq équipes de l'Inria participent au projet (Adp, Compose, Ep-Atr, Meije et Pampa) autour de quatre actions scientifiques. Pampa est principalement engagé avec Ep-Atr dans la définition et l'outillage d'un langage d'interface appelé BDL.


Le défi pour Alcatel est de réduire les coûts de développement tout en améliorant la qualité du logiciel. Il s'agit aussi d'assurer une flexibilité et réactivité élevées en regard des évolutions du marché et des technologies naissantes. Précisément, il s'agit d'utiliser et de contrôler au mieux la mise en oeuvre d'une application sur une plate-forme donnée (par génération de code quand c'est possible).

Le cadre de développement d'Alcatel est défini dans l'esprit Corba (the Common Object Request Broker Architecture) et met l'accent sur l'écriture de schémas de programmes dans des langages d'interface comme IDL (Interface Definition Language). Il doit être compatible en amont avec une méthodologie de conception objet type UML. Il doit aussi pouvoir s'interfacer avec un choix libre de plate-formes d'exécution : il faut donc bien veiller au rôle tampon du langage d'interface qui doit abstraire correctement la plate-forme et permettre aussi l'utilisation de langages variés pour la programmation des objets logiciels.

Pour faire en sorte qu'il ne reste pas un simple guide de structuration du logiciel, et puisse vraiment répondre aux objectifs généraux de la maîtrise du développement, il est nécessaire de lui adjoindre une batterie d'outils pour assister le concepteur d'applications. C'est ici que se situe l'offre de l'Inria proposant l'utilisation de méthodes formelles. Par méthode formelle, nous entendons un formalisme fondé sur une sémantique mathématique et un ensemble de techniques associées permettant la manipulation (en général automatique) des programmes, à savoir la génération de code, des transformations, des vérifications, des optimisations, de la génération de tests, ... Le travail consiste à proposer des extensions aux langages d'interface pour faire apparaître des informations non fonctionnelles (comportementales) et à concevoir des outils de manipulation formelle traitant les schémas de programme définis par les interfaces. L'Inria se propose aussi de participer à l'extension de la chaîne pour la prise en compte de la résistance aux défaillances.

Les équipes Inria engagées dans Reutel sont :

et se sont regroupées sur quatre actions de recherche :

Le travail du projet Pampa se concentre principalement sur l'action 3 en coopération étroite avec le projet Ep-Atr. Nous concevons un nouveau langage d'interface : BDL (pour Behavioural Description Language). Le rôle de BDL est d'accompagner le développeur depuis les tâches préliminaires de spécification jusqu'au travaux de codage.

BDL intervient dans cette chaîne comme support à cet accompagnement et comme interface à l'intégration d'outils. Il est tout autant, pour son utilisateur, un langage de spécification, riche, expressif et structuré, avec une forte orientation objet, qu'un moyen de représentation intermédiaire simple, flexible et efficace pour l'utilisation des logiciels d'analyse, de test, de vérification et d'optimisation envisagés.

BDL se présente techniquement comme un formalisme permettant 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 de l'utilisateur, BDL se rapproche du formalisme des MSC (Message Sequence Charts), notation standard dans la méthode objet UML. Du point de vue sémantique, ils correspondent aux automates d'ordres partiels.

Lorsque ces ordres partiels sont synchronisés, on se retrouve dans le monde des langages synchrones à la Signal, ce qui permet de récupérer les techniques de preuve et de génération de code associés. Ces ordres partiels peuvent également être interprétés de manière asynchrone, donnant un fondement sémantique à la communication, et permettant aussi une connexion avec les outils de preuve et test CADP et TGV.



previous up next contents Précédent : Résultats nouveaux Remonter : Projet PAMPA, Modèles et outils Suivant : Actions régionales, nationales et internationales