Title page for ETD etd-10242009-020105
|Type of Document
||CATY :an ASN.1-C++ translator in support of distributed object-oriented applications
||Master of Science
||Computer Science and Applications
|Kafura, Dennis G.
|Arthur, James D.
- Object-oriented programming (Computer science)
|Date of Defense
When heterogeneous computers exchange data over a network, they
must agree on a common interpretation of the data. The OSI suite of protocols
includes a standard notation, Abstract Syntax Notation One (ASN.1), for
describing the structure ("abstract syntax") of data. Previous work has shown
that C++ is a good language for work with layered network architectures and
specifically with ASN.1: the inheritance and polymorphism features of C++ are
nicely suited for work with layered protocols, which can be seen and used in
object-oriented terms; a C++ class hierarchy, designed to capture the language
concepts of ASN.1, successfully separates the abstract syntax (or application
level) from the encoding used during transfer (the "transfer syntax" at
presentation level); and the class construct and scoping rules of C++ and the
design of the class hierarchy much better preserve the structure and content of
ASN.1 than do past attempts with C. This report presents CATV (Class-oriented
ASN.1 Translator, Yacc-based), a translator from ASN.1 to a corresponding C++ abstract syntax class hierarchy. It is shown in this report that the translations
produced by CATV are preferable to those produced by other translators based
on the following criteria: preservation of names and types, consistent access to
elements, support of modularity and subtypes, resolution of forward references,
flexibility of encoding, and generality of use. Furthermore, it is shown that CATV
has better throughput than PEPSY, an ASN.1 to C translator from ISODE.
|| Approximate Download Time
| 28.8 Modem
|| 56K Modem
|| ISDN (64 Kb)
|| ISDN (128 Kb)
|| Higher-speed Access
next to an author's name indicates that all
files or directories associated with their ETD
are accessible from the Virginia Tech campus network only.
If you have questions or technical
problems, please Contact DLA.