Marshaling/Unmarshaling as a Compilation/Interpretation Process

Ch. Queinnec

LIP6 1998/049: Rapport de Recherche LIP6 / LIP6 research reports
14 pages - Décembre/December 1998 - Document en anglais.

PostScript : 106 Ko /Kb

Contact : par mail / e-mail

Thème/Team: Sémantique, Preuve et Implantation

Titre français : Encodage/décodage vu comme un processus de compilation/interprétation
Titre anglais : Marshaling/Unmarshaling as a Compilation/Interpretation Process


Résumé : Les données que s'échangent des calculs répartis sont encodées en un train d'octets qui sont décodées en données équivalentes sur le site de réception. Le plus souvent, le codeur/décodeur est synthétisé à partir de la définition du type de la donnée échangée. Cet article propose une nouvelle vision où le décodeur est considéré comme un interprète qui exécute les octets arrivant. Le train d'octets est donc considéré comme un programme gouvernant le décodage c'est-à-dire comme une expression d'un langage de programmation spécifique. Le codeur est alors un compilateur qui transforme des graphes partiels de données structurées en des expressions du langage d'échange.

Abstract : Marshaling is the process through which structured values are serialized into a stream of bytes; unmarshaling converts this stream of bytes back to structured values. Most often, for a given data structure, the marshaler and the unmarshaler are tightly related pieces of code that are synthesized conjunctly. This paper proposes a new point of view: the unmarshaler is considered as a byte-code interpreter evaluating a stream of bytes considered as a program \ie{} a sequence of commands interspersed with quoted raw data. This program is an expression of the {\em marshaling language}. From that point of
view, the marshaler logically appears as a compiler translating values into expressions of the marshaling language.


Mots-clés : encodage/décodage, DMeroon, RMI, RPC, langage spécifique

Key-words : marshaling, serialization, deserialization, RMI, RPC, DMeroon


Publications internes LIP6 1998 / LIP6 research reports 1998

Responsable Éditorial / Editor
webmaster@lip6.fr