Vérification statique de programmes répartis

par Fabien Dagnat

Thèse de doctorat en Informatique

Sous la direction de Patrick Sallé.

Soutenue en 2001

à Toulouse, INPT .


  • Résumé

    Dans les programmes acteurs ou objets concurrents, et plus généralement dans les logiciels clients/serveurs, certaines requêtes ne pourront pas être traitées par leur cible. Une telle requête est appelée message orphelin, elle peut être : soit un orphelin de sûreté (son destinataire ne pourra jamais la traiter), soit un orphelin de vivacité (son destinataire pourrait éventuellement la traiter, mais il n'atteindra pas l'état nécessaire à ce traitement). Dans le cadre de l'équipe Vestale qui m'a accueilli, des systèmes de type ont été conçus pour détectér les orphelins de sûreté pour un calcul de processus modélisant les acteurs. Dans cette thèse, nous adaptons ces analyses statiques pour détecter certains problèmes de communication au sein de vrais langages de programmation. Le premier, ML-ACT, une extension de ML avec des primitives du modèle d'acteurs conçue au sein de l'équipe Vestale. Le second, ERLANG, est un langage focntionnel concurrent et réparti conçu par ERICSSON pour construire des applications de télécommunication. Pour détecter les orphelins, nos systèmes sont basés sur un processus d'inférence qui calcule le type des différentes entités du programme. Les types qui approximent les acteurs sont inspirés des types utilisés usuellement pour les enregistrements ou les objets. Les systèmes de type sont très sophistiqués, ils contiennent une notion de sous-typage et reposent sur des algorithmes d'inférence qui collectent des contraintes à partir du code source, puis les résolvent. Leur correction est démontrée en utilisant une sémantique opérationnelle du modèle d'acteurs reposant sur un entrelacement de deux réductions (une sur les expressions fonctionnelles et une sur les acteurs). Le formalisme modélisant les acteurs, appelé configuration, est général et commun aux deux langages ( qui ne se distinguent donc que par le calcul fonctionnel). En conclusion, nous faisons un bilan des évolutions des théories et techniques qui ont été nécessaires pour adapter des sytèmes construits sur un calcul de processus à des langages de programmation complexes.


  • Pas de résumé disponible.

Consulter en bibliothèque

La version de soutenance existe sous forme papier

Informations

  • Détails : XIV-269 p.
  • Notes : Publication autorisée par le jury
  • Annexes : Bibliogr. p.257-269

Où se trouve cette thèse\u00a0?

  • Bibliothèque : École nationale supérieure d'électrotechnique, d'électronique, d'informatique, d'hydraulique et des télécommunications. Bibliothèque.
  • Disponible pour le PEB
  • Cote : 01INPT005H/1

Cette version existe également sous forme de microfiche :

  • Bibliothèque : Université Grenoble Alpes (Saint-Martin d'Hères, Isère). Bibliothèque et Appui à la Science Ouverte. Bibliothèque universitaire Joseph-Fourier.
  • Non disponible pour le PEB
  • Cote : MF-2001-DAG
  • Bibliothèque : Université Paris-Est Créteil Val de Marne. Service commun de la documentation. Section multidisciplinaire.
  • PEB soumis à condition
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.