Marshaling/Unmarshaling as a Compilation/Interpretation Process
Encodage/décodage vu comme un processus de compilation/interprétation
Résumé
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.
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.
Domaines
Informatique [cs]Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...