ASN.1 Products
Throughout the years, OSS Nokalva's customers have had many different requirements for code size, encoding/decoding speed and diagnostic capabilities on a variety of mainstream and embedded platforms. To satisfy our customers' various needs, OSS Nokalva offers three flavors of our ASN.1 Tools for Java runtime libraries.
All three flavors of the runtime libraries perform the same function and have an identical API consisting of methods for encoding/decoding ASN.1 messages, methods for copying, comparing and printing unencoded/decoded messages, and many other useful functions.
You can switch from one flavor of the ASN.1/Java runtime libraries to another with little or no impact to your application code. See the "OSS ASN.1 Tools for Java Reference Manual" for detailed instructions on how to switch between the various runtime flavors.
The Space-Optimized Encoder/Decoder (SOED) was so named because of its emphasis on minimizing memory usage (i.e., small code size), especially when the ASN.1 specification is large or complex. SOED is a popular choice for use during development. It offers a wealth of tracing, error trapping, diagnostic and recovery capabilities, our most flexible storage manager, and the ability to work interactively with an ASN.1 specification (which is useful, for example, when developing a protocol browser application which needs to access and manipulate data from OSS generated Java classes in a generic manner).
The time-optimized encoder/decoder (TOED) is a new choice highly suited for deployment because of its emphasis on minimizing CPU utilization. We minimized the tracing capability and used a code-driven rather than metadata-driven design to achieve a significant boost in performance.
The lean encoder/decoder (LED) is optimized to offer both smaller code size and faster encode/decode performance compared to SOED. It purposely does not possess a wealth of tracing and diagnostic capabilities. The lean runtime is half the size of the SOED runtime and runs up to 20% faster. It is often the best choice for working with large ASN.1 specifications, particularly when your software runs on systems with significant memory constraints.
Use the table below to choose the ASN.1/Java runtime that best suits your needs, based on its performance (expressed as both code size and the speed of encoding) and diagnostic capabilities.
SOED |
TOED |
LED |
|
Encoding/Decoding Speed |
Fast |
Fastest |
Faster |
Code Size1 |
Small |
Medium2 |
Small |
Diagnostic Capabilities |
Rich |
Reduced |
Reduced |
Ideal for Use During |
Development and Deployment |
Deployment |
Deployment |
Best Suited for |
|
|
|
For details about each of the ASN.1/Java runtimes, please consult the "OSS ASN.1 Tools for Java Reference Manual".
1The size of the code generated by the ASN.1 compiler is highly dependent on the particular ASN.1 specification used.
2If your ASN.1 specification is short and simple, the size of the generated code for use with TOED could be comparable with the size of the generated code for use with SOED and LED.