Types abstraits dans les systèmes répartis

par Gilles Peskine

Thèse de doctorat en Informatique

Sous la direction de Jean-Jacques Lévy.

Soutenue en 2008

à Paris 7 .


  • Résumé

    Soit un réseau de machines exécutant des programmes ML qui s'échangent des données. Comment peut-on garantir le typage des communications en présence de types abstraits ? Une approche sûre est de traiter des types abstraits définis sur des machines différentes comme distincts. En pratique, cela est bien trop restrictif, en particulier lorsqu'un type abstrait sert à garantir un invariant. Les principales contributions de cette thèse sont les suivantes : je définis une notion d'empreinte de type abstrait : deux types abstraits sont réputés compatibles s'ils ont la même empreinte ; je propose une sémantique opérationnelle pour un système de module qui préserve les types, y compris abstraits ; je décris un système de module nouveau, mieux adapté aux applications réparties. L'empreinte d'un type abstrait doit refléter sa sémantique attendue, qui n'est pas toujours apparente au vu du code source. Une approximation sûre est de donner la même empreinte à deux modules lorsqu'ils ont le même code. Des modules composés sont compatibles si leurs composants te sont. Les sémantiques opérationnelles habituelles des modules de ML effacent les barrières d'abstraction. J'utilise des crochets colorés qui matérialisent ces barrières et évitent la perte d'information. J'étudie deux calculs ainsi équipés, un lambda-calcul simplement typé et un système de module expressif pour ML. J'exprime des équivalences de modules de signature arbitraire, pas seulement de types, au moyen de signatures singleton. Un système d'effets simple préserve le typage statique et permet de distinguer des foncteurs applicatifs et génératifs. Je discute de formes statiques et dynamiques du scellage de modules.

  • Titre traduit

    Abstract Types in Distributed Systems


  • Pas de résumé disponible.


  • Résumé

    Consider a network of nodes running ML programs that exchange data. How can data which has an abstract type on one node be accepted on another node? A safe approach is to treat abstract types as distinct whenever they are defined on different nodes. However this is too restrictive in practice, for example in the common case where an abstract type enforces a semantic invariant. The main contributions of this thesis are threefold: i define a notion of hash of an abstract type, whereby abstract types that have the same hash are deemed compatible; l give an operational semantics for a module System that preserves types, including abstract types; l also propose a new, more general module System that is well-suited to distributed applications. The hash of an abstract type must reflect its intended semantics, which is often not apparent from the program's code. In practice, two modules have the same hash if they have the same code. Compound modules are compatible when they are built from compatible components. Existing operational semantics for ML modules lose information as they erase abstraction boundaries. L use coloured brackets to track the visibility of abstract types, l study two calculi equipped with brackets, a simply-typed lambda-calculus and a rich ML module calculus. I use singleton signatures to keep track of not only type but also code sharing, so that module equivalence is defined at arbitrary signatures. A simple effect System limits type constraint to a statically checkable fragment, while permitting both applicative and generativ functors. I discuss static and dynamo forms of module sealing.

Consulter en bibliothèque

La version de soutenance existe sous forme papier

Informations

  • Détails : 1 vol. (260 f.)
  • Notes : Publication autorisée par le jury
  • Annexes : 106 réf.

Où se trouve cette thèse ?

  • Bibliothèque : Université Paris Diderot - Paris 7. Service commun de la documentation. Bibliothèque Universitaire des Grands Moulins.
  • PEB soumis à condition
  • Cote : TS (2008) 050
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.