Précédent : Applications Remonter : Applications Suivant : Applications
tolérantes aux défaillances
Participants : Eddy Fromentin, Michel Hurfin
Mots-clés : algorithme réparti, causalité, débogage réparti, détection de propriétés
Une des applications étudiées par le projet ADP a pour objet les techniques de validation et de mise au point des logiciels répartis. Depuis 1991, cette recherche s'est focalisée sur les problèmes liés à l'analyse du comportement d'une application répartie au cours d'une exécution particulière. Peu d'environnements de programmation comportent des outils de mise au point susceptibles d'aider efficacement un concepteur d'applications réparties. Cette absence d'outils adaptés est d'autant plus regrettable que les raisons pour recourir à de tels outils sont variées : localisation d'une erreur (débogueur), meilleure appréhension des comportements potentiels de l'application (outils d'observation et de visualisation), appréciation de la qualité d'un algorithme (mesure du parallélisme et de la concurrence).
Partant de ce constat, nous avons entrepris il y a quatre ans l'étude et la conception d'un outil appelé EREBUS qui permet la mise au point d'applications réparties spécifiées dans le langage ESTELLE. En 1996, cet outil a été enrichi d'un mécanisme de détection de propriétés et d'une interface graphique permettant d'exploiter les services offerts par le mécanisme de réexécution. Dans le cadre de sa thèse, Eddy Fromentin a implémenté et évalué différents algorithmes de détection à la volée.
L'outil EREBUS permet d'expérimenter et de valider les résultats des travaux effectués. Sa simplicité d'utilisation en fait par ailleurs un outil pédagogique intéressant. Des contacts ont été établis avec le professeur J.-D. Cunha de la faculté des sciences de l'Université de Lisbonne afin que les deux équipes puissent partager leur expérience acquise dans le domaine de la mise au point des applications réparties et amorcer une coopération sur ce thème. Depuis 1992, chacune des équipes a conçu son propre outil de mise au point. Dans les deux cas, une approche similaire a été adoptée : un mécanisme de réexécution est la pierre angulaire des deux outils développés.