By Topic

Marshaling/demarshaling as a compilation/interpretation process

Sign In

Cookies must be enabled to login.After enabling cookies , please use refresh or reload or ctrl+f5 on the browser for the login options.

Formats Non-Member Member
$31 $13
Learn how you can qualify for the best price for this item!
Become an IEEE Member or Subscribe to
IEEE Xplore for exclusive pricing!
close button

puzzle piece

IEEE membership options for an individual and IEEE Xplore subscriptions for an organization offer the most affordable access to essential journal articles, conference papers, standards, eBooks, and eLearning courses.

Learn more about:

IEEE membership

IEEE Xplore subscriptions

1 Author(s)
Queinnec, C. ; Paris VI Univ., France

Marshaling is the process through which structured values are serialized into a stream of bytes; demarshaling converts this stream of bytes back to structured values. Most often, for a given class of data, the marshaler and the demarshaler are tightly related pieces of code that are synthesized conjunctly. This paper proposes a new point of view: the demarshaler is considered as a byte-code interpreter evaluating a stream of bytes that is itself considered as a program, i.e. as a sequence of commands interspersed with quoted raw data. These programs are expressions of the marshaling language. From that point of view, the marshaler logically appears as a compiler translating structured values into expressions of the marshaling language. The demarshaler depends on the sole marshaling language. If this language is powerful enough to deal with any kind of data then the demarshaler can be kept constant while many marshalers may coexist. This asymmetry and programmatic view has far-reaching consequences: (i) it is simple to accommodate new dynamically created classes of data, (ii) it is possible to have simultaneously various marshalers that offer different, even evolving, strategies in order to cope with different situations such as network congestion or processor memory exhaustion

Published in:

Parallel Processing, 1999. 13th International and 10th Symposium on Parallel and Distributed Processing, 1999. 1999 IPPS/SPDP. Proceedings

Date of Conference:

12-16 Apr 1999