z-logo
Premium
ASN_EZE: An Analgesic for Writers of ASN.1 Applications
Author(s) -
GARDINER CHARLES W.
Publication year - 1996
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/(sici)1097-024x(199610)26:10<1087::aid-spe45>3.0.co;2-w
Subject(s) - computer science , programming language , compiler , code (set theory) , generator (circuit theory) , programmer , class hierarchy , object (grammar) , class (philosophy) , simple (philosophy) , code generation , object code , representation (politics) , operating system , object oriented programming , set (abstract data type) , power (physics) , philosophy , physics , epistemology , quantum mechanics , artificial intelligence , key (lock) , politics , political science , law
Many programmers find that the logical structure of data defined in ASA.1 is simple enough, but the physical representation requires painfully careful attention to lots of detail. ASN.1 'compilers' which we had used required a programmer ot know the intricacies of both ASN.1 and the generated code. Furthermore those which generated 'C' code were prone to 'memory leaks' and produced bulky code. Two features of object orientiation led us to develop a code generator that procues 'C++'. First Class inheritance permits a small number of functions to operate on objects of any derived class. Second, the destructors of such objects can be designed to prevent memory leaks automatically. Our own use of the system shows that within a few days programmers withh no pair exposure to ASN.1 can start writing applications using only the ASN.1 specification for reference. The generated code is compact and well protected anainst memory leaks. This paper describes the capabilies of the code generator, the library of functions for handling all ASN.1 objects so generated, and the interior structure of these objects which allows the library functions to navigate any hierarchy. The las section discusses our experience in using the system.

This content is not available in your region!

Continue researching here.

Having issues? You can contact us here