Hier finden Sie wissenschaftliche Publikationen aus den Fraunhofer-Instituten.

Using XSL transformations for Java code generation of ASN.1 data structures

: Lautenschläger, Frank; Ebinger, Peter

Guimaraes, N. ; International Association for Development of the Information Society -IADIS-:
IADIS International Conference Applied Computing 2008. Proceedings. CD-ROM : Algarve, Portugal, 10-13 April 2008
Lisbon: IADIS Press, 2008
ISBN: 978-972-8924-52-2
International Conference Applied Computing <2008, Algarve>
Conference Paper
Fraunhofer IGD ()
code generation; ASN.1; XSLT

This article describes a system that automatically generates Java classes from a given declaration of Abstract Syntax Notation One (ASN.1) data structures in order to code and decode the corresponding ASN.1 structures. The ASN.1 standard is a formal notation used for describing data transmitted by telecommunication systems. Whenever a new telecommunications protocol is developed all previously undefined data structures have to be constructed, a process requiring substantial programming resources to generate the translation code. Due to the iterative nature of this process there is significant potential to automate this process. Taking into consideration the complexity of ASN.1, the goal of this project was to develop a program design that was modular in structure which would later allow for ease of extension. The forthcoming concept is based on the 'Pipes and Filters' design pattern which provides good expandability and flexible configuration, a model well suited to integrate a template mechanism for the production of desired ASN.1 data types. The parser generator JavaCC and Extensible Stylesheet Language Transformations (XSLT) are used as base technologies for the implementation of this concept, whereas specific pipeline filters are implemented using XSL style sheets. Each building block of the generation process is analyzed and assigned to an independent module (called filter). Afterwards the implementation of the code generator is explained in connection with the concept mentioned above. Prototype classes are defined as a basis for realizing different ASN.1 data types. Implementation of the defined concepts uses the CODEC library, a Java library for coding and decoding ASN.1 data structures when implementing network protocols or other tasks within cryptographic environments, e.g. X.509 certificates.