Separating representation from translation of shared data in a heterogeneous computing environment

TR Number



Journal Title

Journal ISSN

Volume Title


Virginia Tech


Data sharing among heterogeneous computers involves both a model to represent the structure of the data and a model to translate the data to achieve the sharing. The translation, defined by a transfer syntax and corresponding set of encoding rules, is necessary because heterogeneous computers typically use incompatible implementations of the basic data types. The central question considered in this work is how to separate the representation of shared data from its translation. Such separation is useful because different systems use different encoding rules. The solution developed is a modification of an existing C++ data representation class hierarchy modeled after the Abstract Syntax Notation One (ASN.l) language. The class hierarchy was modified so that all translation specific elements were factored out of the representation class hierarchy and placed into an encoding rules class hierarchy. The rules class hierarchy is structured in a way that allows additional encoding rule sets to be added easily. Encoders and decoders have been written for the Basic Encoding Rules (BER) defined by the OSI standards and Sun's External Data Representation (XDR) standard, allowing data structures to be translated without support from vendor provided routines so the class hierarchy can be used on any system with a C++ compiler. The class hierarchy has interoperated with existing servers using Sun's Remote Procedure Call (RPC) protocol and the Basic Encoding Rules (BER).