typer la désérialisation sans sérialiser les types
Type d'évènement :
Séminaire
Nom de l'évènement :
interne
Débute le :
2 décembre 2005
Lieu :
ENSTA (Amphi Parmantier)
Contact :
EMAIL_TEMPLATE
Responsabilité :
ALI
Titre :
typer la désérialisation sans sérialiser les types
Annonce :
Lundi 2 décembre 2005 de 13h00 à 14h00
Détail :
lieu : ENSTA, amphi Parmantier
La sérialisation (marshaling ou pickling, en Anglais) d'une valeur (résultat d'un calcul) par un programme consiste à la représenter sous la forme d'une suite d'octets de sorte à pouvoir la sauvegarder dans un fichier pour relecture ultérieure ou la communiquer à d'autres programmes via un réseau. Pour sérialiser efficacement, on sauve une représentation linéaire du graphe mémoire de la valeur, en préservant partage et cycles. Manipuler ces valeurs après leur relecture dans un langage typé statiquement impose de leur attribuer un type statique sans risquer de compromettre les propriétés apportées par la discipline de typage du langage. Pour ce faire, on adjoint généralement aux valeurs sérialisées leur type, de sorte à pouvoir vérifier que le type attendu après relecture correspond bien au type effectif de la valeur relue.
Je présenterai dans cet exposé une technique de vérification de typage des valeurs sérialisées qui ne nécessite pas une telle adjonction d'information de type. Je présenterai aussi quelques-uns des éléments de la formalisation qui permet d'en énoncer et en prouver les propriétés.
Il s'agit d'un travail commun avec Grégoire Henry et Emmanuel Chailloux (PPS, Chevaleret, Paris 6).
La sérialisation (marshaling ou pickling, en Anglais) d'une valeur (résultat d'un calcul) par un programme consiste à la représenter sous la forme d'une suite d'octets de sorte à pouvoir la sauvegarder dans un fichier pour relecture ultérieure ou la communiquer à d'autres programmes via un réseau. Pour sérialiser efficacement, on sauve une représentation linéaire du graphe mémoire de la valeur, en préservant partage et cycles. Manipuler ces valeurs après leur relecture dans un langage typé statiquement impose de leur attribuer un type statique sans risquer de compromettre les propriétés apportées par la discipline de typage du langage. Pour ce faire, on adjoint généralement aux valeurs sérialisées leur type, de sorte à pouvoir vérifier que le type attendu après relecture correspond bien au type effectif de la valeur relue.
Je présenterai dans cet exposé une technique de vérification de typage des valeurs sérialisées qui ne nécessite pas une telle adjonction d'information de type. Je présenterai aussi quelques-uns des éléments de la formalisation qui permet d'en énoncer et en prouver les propriétés.
Il s'agit d'un travail commun avec Grégoire Henry et Emmanuel Chailloux (PPS, Chevaleret, Paris 6).