Projet Pampa

previous up next contents
Précédent : Fondements scientifiques Remonter : Projet PAMPA, Modèles et outils Suivant : Logiciels



Grands domaines d'application

Résumé : le domaine d'application principal du projet est celui des logiciels de télécommunication. C'est naturellement un lieu où foisonnent les protocoles et les applications réparties, et où l'augmentation de la complexité et les exigences de fiabilité et de réutilisation justifient pleinement les méthodes développées dans le projet. Les sujets abordés sont la validation de conceptions UML, la génération de tests de conformité pour les protocoles, la conception d'un langage d'interface pour objets communicants, et le suivi de pannes dans les réseaux. Le calcul réparti haute performance sur réseaux de calculateurs (grappes de stations) est aussi un domaine qui fait apparaître des objets communicants avec un besoin de techniques avancées pour distribuer du code à partir de spécifications centralisées. Le projet investit dans plusieurs applications de ce type, comme la comparaison parallèle de séquences génétiques.

Logiciels pour les télécommunications

 

Résumé : le secteur des télécommunications est en grande expansion, avec la mise en place d'infrastructures mondiales, l'explosion des télécommunications mobiles et le développement de nouveaux services. Le contexte industriel français et européen est par ailleurs assez favorable. Du point de vue du logiciel, la pression est grande pour augmenter la généricité des solutions proposées (aspect méthode) tout en raccourcissant les délais de mise au point (aspect outils). Le projet Pampa, spécialiste de l'ingénierie des protocoles, trouve là un terrain privilégié d'applications. Ceci à condition de ne pas manquer des évolutions majeures du domaine qui sont : la nécessité de considérer globalement le cycle de développement du logiciel, notamment dans le cadre des méthodes de conception objet; et l'intérêt croissant pour les protocoles des couches hautes exprimées sous la forme de services de communication ou de gestion.

L'activité de recherche du projet, centrée sur la maîtrise de la fiabilité, est en rapport avec deux types d'applications dans le domaine des télécommunications : la conception fiable de logiciels communicants et le test et diagnostic de systèmes communicants.

Conception fiable de logiciels communicants :

L'exigence de fiabilité des logiciels est facile à comprendre dans un contexte où ils sont présents à de trés nombreux exemplaires et dans différentes versions sur un grand réseau de télécommunication. L'accent est porté sur la faculté d'interopérer. Le coût d'apparition d'une faute majeure est considérable dans ces systèmes et la réparation longue et difficile. Il est à noter aussi une exigence d'évolutivité importante liée à la mise en oeuvre rapide de nouveau services. Nous encourageons l'utilisation de méthodes formelles pour faciliter la résolution de ces problèmes.

Mais il ne faut pas oublier que les méthodes formelles doivent de plus en plus s'intégrer à une ``approche système'' permettant aux ingénieurs de concevoir globalement les systèmes pour prendre en compte tout un ensemble de contraintes et d'objectifs liés aux besoins des utilisateurs. Ces méthodologies formalisées n'en sont qu'à leurs débuts : un bon exemple est l'approche objet qui s'étend rapidement au contexte des télécommunications.

Test et diagnostic des systèmes communicants :

Le test est l'autre facette du développement fiable; il consiste à s'assurer que le système, une fois réalisé, est conforme à ses spécifications. Quel que soit le soin apporté à la conception, cette phase reste de première importance pour vérifier le bon fonctionnement du système dans des environnements complexes et évolutifs. La surveillance et le diagnostic sont aussi un aspect du travail sur les implantations.

Le projet Pampa s'est focalisé sur la génération automatique de tests de conformité à partir de spécifications formelles, ainsi que sur le diagnostic en environnement réparti.

L'obtention d'une bonne suite de tests de conformité est d'un intérêt économique certain. C'est à l'heure actuelle un travail manuel coûteux et répétitif qui est ensuite utilisé à grande échelle. Nous participons au défi de l'automatisation en mettant particulièrement l'accent sur la qualité de la suite de tests (dans sa capacité à détecter les implantations non conformes et uniquement celles-ci). Sur plusieurs études de cas, nous avons montré la rentabilité de l'approche et le transfert industriel en cours de notre outil TGV en est l'exemple. La principale difficulté non résolue actuellement est le test réparti (dit d'interopérabilité); elle constitue une perspective importante de recherche pour le projet.

Cette question de test réparti apparaît d'ailleurs dans nos études sur la surveillance des comportements des réseaux. En effet, les questions de gestion des réseaux de plus en plus complexes sont d'une grande actualité. Beaucoup d'études sont menées sur l'architecture des protocoles et des services pour faire de la gestion. Un effort moins important est consacré à la conception d'algorithmes permettant d'offrir de tels services. Nos travaux sur la corrélation causale d'alarmes vont dans ce sens, avec la perspective principale de distribuer sur les capteurs la fonction de surveillance (notion de capteurs intelligents communicants que l'on souhaite développer dans le domaine des télécommunications). Sur ce sujet, nous travaillons avec le CNET.

Programmation des grappes de stations

 

Résumé : Les calculateurs parallèles à mémoire distribuée étaient la cible initiale de nombreux travaux dans le domaine du calcul hautes performances mais l'usage de ces machines reste confiné dans de grands laboratoires et pour des raisons de coût il semble que peu d'autres utilisations soient envisagées. Par contre les NOWs (Networks of Workstations) et COWS (Clusters of workstations) qui sont réalisés par l'interconnexion de stations de travail par des réseaux haut débit, se développent et sont d'un coût bien moindre (aussi bien à l'achat que pour leur maintenance). L'utilisation croissante de ces architectures que nous appellerons ``grappes'' de stations (ou simplement ``grappes'') est non seulement due à leur relativement faible coût et à leur facilité d'installation mais aussi aux possibilités d'usage non spécialisé de ces architectures comme stations de travail ordinaires. Bien que ces machines soient relativement faciles à installer, les difficultés d'utilisation des grappes ne doivent pas être sous-estimées. On retrouve en effet toutes les difficultés d'utilisation des calculateurs parallèles à mémoire distribuée auxquelles s'ajoutent de nouvelles contraintes qui doivent être prises en compte. Parmi ces difficultés nous nous intéressons en particulier à traiter : de l'hétérogénéité, de la reconfiguration, de la diversité des applications. Si l'on ne veut pas fixer plus précisément le modèle de programmation tout en cherchant à offrir des services adaptés aux applications, il est judicieux de séparer les spécificités d'un modèle de programmation du langage lui-même. Ceci peut être réalisé de manière élégante en utilisant des frameworks qui s'intègrent particulièrement bien à la programmation objet (cf. module [*]).



previous up next contents Précédent : Fondements scientifiques Remonter : Projet PAMPA, Modèles et outils Suivant : Logiciels