Présentation générale et objectifs
English
 
Le   développement  des  réseaux d'ordinateurs  permettant l'interconnexion de machines se poursuit. Aussi les questions posées par la construction du logiciel pour ces systèmes sont d'une grande actualité. Même si des progrès spectaculaires ont été accomplis dans les méthodes de génie logiciel, le caractère intrinsèquement parallèle et réparti des logiciels mis en oeuvre continue à poser des problèmes ardus de programmation.   La question la plus sensible à nos yeux est celle de la maîtrise de la fiabilité du logiciel,  c'est-à-dire le contrôle des conditions de son bon fonctionnement.   La maîtrise du développement passe par le renforcement des activités de conception, validation et test.

Du point de vue  de la conception,  la priorité  est  donnée aux  environnements de  conception objet  et à  l'invention  de "frameworks" spécialisés pour les systèmes communicants et intégrant des outils de validation.

Du point de vue de la validation,  l'idée  est  de  renforcer l'impact des méthodes formelles  et des  outils  d'analyse pour permettre la mise au point des spécifications et la génération de tests pour les codes répartis.

L'approche  du projet  Pampa  consiste  à contribuer  à l'élaboration  de nouvelles technologies logicielles par l'étude de modèles formels des protocoles  et l'invention  d'outils informatiques associés.  Nous privilégions la conception d'outils automatiques permettant d'aider  aux tâches de conception,  vérification, génération de code et test de programmes réels. Ces outils ont vocation à être diffusés dans le milieu académique et/ou industriel.

La mise  au point  des modèles et  outils s'effectue  dans  le cadre d'applications réparties situées principalement dans le domaine du logiciel pour les télécommunications.

Le fonds scientifique du projet est constitué des méthodes formelles en logiciel de télécommunication, des techniques du type  "model-checking"  fondées  sur des parcours de systèmes de transitions,  des méthodes  de conception objet  et des techniques de distribution de code.

L'activité scientifique du projet peut être structurée en trois thèmes de recherche :  
- vérification et test des programmes répartis, 
- méthodes et modèles pour le logiciel objet réparti, 
- nouveaux modèles pour les logiciels de télécommunications.

 

La vérification et le test des programmes répartis :

La vérification consiste à s'assurer, qu'avant toute implantation, l'application se comportera correctement. Cette question revêt une importance particulière pour les programmes répartis, compte-tenu de la complexité des comportements qu'ils engendrent. Elle est essentielle pour les logiciels critiques. L'activité de vérification est complétée par le test de la conformité des implantations. Nous nous concentrons sur les techniques par modèles (dites «model-checking»), et particulièrement sur les aspects algorithmiques (algorithmique à la volée). Nous avons étendu ces techniques pour être capable de générer automatiquement des séquences de test de conformité pendant la vérification des programmes, spécifiés dans des langages comme SDL ou LOTOS. Cela a conduit à un outil original par son algorithmique et son architecture (appelé TGV), que nous valorisons auprés de la société Vérilog. Un autre aspect du test est l'évaluation des comportements d'un code réparti à partir des traces qu'il produit. Pour modéliser les phénomènes de causalité et de concurrence, la théorie de l'ordre est notre outil mathématique de base. Nous avons plusieurs applications comme la détection au vol de propriétés, le test d'interopérabilité et le diagnostic de pannes dans les réseaux. Enfin, pour qu'elle ait un véritable impact, la validation (vérification/test) doit s'intégrer dans des environnements et méthodes de conception existantes. Pour cela, le paradigme objet et la notation UML sont maintenant incontournables.

 

Méthodes et modèles pour le logiciel objet réparti :

Une question scientifique difficile est d'être capable de construire des architectures logicielles fiables et efficaces, tout en prenant en compte les problèmes liés au parallélisme et à la répartition. Notre approche, fondée sur l'idée de réutilisation de solutions éprouvées, est l'identification de modèles spécifiques pour des domaines d'applications (exemple du modèle SPMD pour le calcul réparti ou de CORBA pour les objets télécoms), et la définition de cadres de conception, de réalisation et de validation adaptés à ces modèles («frameworks», «design patterns»).

 

Nouveaux modèles pour les logiciels de télécommunications :

La validation de logiciels objet, la nécessité de raisonner formellement sur des spécifications de plus en plus haut niveau et hétérogènes, nous conduisent à proposer de nouveaux modèles sémantiques qui pourront ensuite se prêter à des analyses ou transformations. Nous nous focalisons sur les aspects comportementaux des modèles que l'on représente par des familles d'ordres partiels. Nous proposons le formalisme BDL, en collaboration avec le projet EP-ATR pour étudier une sémantique mixte synchrone-asynchrone pour pouvoir faire bénéficier les systèmes répartis asynchrones de la technologie de compilation synchrone. L'analyse des MSC, l'analyse MaxPlus font partie des réflexions de ce thème amont qui a vocation à préparer les prototypes de demain. UML joue le rôle d'une notation fédératrice.


Page d'acceuil Page d'acceuil
Haut Précédente Suivante English