Enhancements

       

OSS ASN.1 Tools 8.3 - Now Available

Introducing Extended XER (E-XER) Support in TOED

OSS ASN.1 Tools 8.3, available on Windows XP, Windows VISTA, Linux, Solaris, and HP-UX, introduces both ASN.1 compiler and ASN.1 runtime enhancements.

- ASN.1 Compiler Enhancements

  • The ASN.1 compiler has been changed to automatically select the
    -ignoreIncompleteItems option if the -relaxedMode option is specified.
  • The ASN.1 compiler now supports combining the -exer and -code options and generates a code file for encoding and decoding Extended XER data using the TOED runtime. The generated code provides for performance-optimized parsing and serialization of XML (E-XER) data in accordance with the ASN.1 specification, and mapping of this XML data from/to the compiler-generated C structures. The generated code works 2 to 3 times faster than LED E-XER and 3 to 4 times faster than SOED E-XER. You must link with version 8.3 or later of the TOED runtime in order to use E-XER with TOED.

    The compiler does not generate 'relay safe' code for Extended XER in the presence of the
    -relaySafe compiler option. Please contact OSS Nokalva support at support@oss.com if you need this feature.

- ASN.1 Runtime Enhancements

  • The file and socket memory managers have been modified to delete the temporary files created when ossterm() is called, even if the PDUs stored in these files were not freed with ossFreePDU(). You may restore the previous behavior by setting the new OSS_KEEP_MEMORY_MANAGER_TEMPORARY_FILES compat flag.
  • The Time-Optimized OSS runtime (TOED) now supports the Extended XER encoding rules. The new runtime routines efficiently parse and serialize the XML (E-XER) data in accordance with the ASN.1 specification, and map this XML data from/to the compiler-generated C structures. You must use version 8.3 or later of the ASN.1 compiler and specify -exer and -code on the compiler command line in order to generate the code file to use E-XER with TOED.

 

OSS ASN.1 Tools 8.2

Introducing full support for ISO 8601 time types and RelaySafe for all XML Encoding Rules

OSS ASN.1 Tools for C version 8.2 supports the full range of time types as specified in ISO 8601 (TIME, DATE, TIME-OF-DAY, DATE-TIME, DURATION). These representations of date and time were standardized to avoid misinterpretations when communicating across national boundaries. Support for time types is available in the Space-Optimized Encoder/Decoder (SOED), Time-Optimized Encoder/Decoder (TOED), and Lean Encoder / Decoder (LED).

RelaySafe mode is now supported for XER/CXER/E-XER in all of the ASN.1/C Runtimes -- the Space-Optimized Encoder/Decoder (SOED), Time-Optimized Encoder/Decoder (TOED), and Lean Encoder/Decoder (LED). When
-relaySafe is in effect, a new OSS-specific directive, OSS.ExtensibleUseType, can be applied locally or globally to selected extensible CHOICE types being encoded in E-XER. The new directive instructs the E-XER decoder to handle unknown alternatives of an extensible CHOICE type as unknown extensions, so that the complete XML or binary encoding of the unknown type is preserved.

A new OSS-specific directive, OSS.ExerNumericBoolean, can be applied locally or globally to BOOLEAN types causing the E-XER encoder to produce numeric BOOLEAN values (0 and 1) instead of textual values (true/false or their replacements as set using the TEXT encoding instruction).

OSS ASN.1 Tools 8.1.3

Introducing the new OSS ASN.1 GUI for Windows

The new OSS ASN.1 GUI is the first true Integrated Development Environment (IDE) for ASN.1. Now even beginners can build, test, deploy ASN.1 applications with ease.

The new ASN.1 GUI consists of two offerings:

  • OSS ASN.1 Compiler GUI
  • OSS ASN-1EDGE

The OSS ASN.1 Compiler GUI is an easy-to-use graphical interface to our ASN.1 compiler. The GUI allows users to graphically choose the input files and options for the ASN.1 compiler, and save the settings for later retrieval.

Key features of the OSS ASN.1 Compiler GUI include:

  • Syntax checking of your ASN.1 specification
  • ASN.1 compile and generation of header files and encoding/decoding information
  • A full featured Syntax Editor designed specifically for ASN.1
OSS ASN-1EDGE, a separately purchased add-on, is a development tool designed to ease ASN.1 application development, deployment, and maintenance. It provides an intuitive graphical user interface for ASN.1 syntax checking and for encoding, decoding, creating, editing, and viewing ASN.1 messages.

ASN-1EDGE provides the following key features:

  • A full featured Syntax Editor designed specifically for ASN.1
  • Navigation of ASN.1 syntax via an easy-to-use graphical tree
  • A Code Wizard which greatly simplifies ASN.1 development by creating scenario code based on the OSS compiler-generated structures
  • Encoding of any valid value reference into any ASN.1 standard encoding rule
  • Decoding of any valid encoding given its corresponding ASN.1 type definition
  • Generation of test encodings for all value notation in the input ASN.1 specification
  • Display of any PDU message saved in a file encoded using any standard encoding rule, in a graphical expandable/collapsible tree-like view
  • A Value Editor for all ASN.1 standard encoding rules - this is an invaluable tool when generating test case data, debugging, or performing protocol analysis
  • A Hex Editor for editing binary data
  • Exportation of a value tree to HTML, CSV, or RTF files
Learn More -   OSS ASN.1 GUI Overview
                           OSS ASN.1 GUI Tutorial

Additional new features:

  • A new compiler option, -reservedWords, allows you to instruct the compiler to mangle the words you specify for this option; this will avoid name conflicts with reserved words that must be present in the generated output.
  • A new compiler option, -ignoreIncompleteItems, instructs the compiler to ignore incomplete ASN.1 definitions that appear within ASN.1 modules and directly or indirectly reference undefined types or values. This allows you to successfully utilize specs that have unresolved references that don’t affect your application.
  • A new OSS-specific directive, OSS.SelfCompleteWildcard, can be applied globally or locally to types that contain an “ANY-ELEMENT XER” encoding instruction. This directive will mark the associated type as a self-complete entity whose content will be taken as a complete XML document that can be passed to another application or function.
  • The TOED XER and LED XER/E-XER encoders have been optimized for the encoding of REAL values. Encoding of character REAL values (when the exponential form is not used) is up to 20% faster than the previous version.
  • A new runtime function, ossIdentifyPDUByEXERName(), returns the PDU number when supplied with the associated root XML (E-XER) tag name.

OSS ASN.1 Tools 8.1

New features for improved usability:

  • A new runtime function, ossDescribeReturnCode(), provides useful debugging information. It displays full textual descriptions corresponding to the numeric codes returned from any OSS API function.

  • The LED runtime now supports builtin compression/decompression via zlib; this functionality was previously available only in the SOED runtime.

  • New API functions, ossCompress() and ossUnCompress(), have been added to the SOED and LED runtimes. This API provides the ability to utilize user-specified compression/decompression and encryption/decryption routines. This is in addition to the builtin zlib compression feature.

  • The LED BER/DER/XER/E-XER decoders have been enhanced to automatically determine PDU number by the topmost tag of an encoded PDU if a zero PDU number is passed to the ossDecode() function. Previously, this feature was available only in the SOED runtime.

OSS ASN.1 Tools 8.0
- New Rapid Application Development (RAD) Features & Improved Performance

New features help expedite application development by eliminating the need to understand the ASN.1 compiler-generated structures.

The new RAD features include:

  • New, more intuitive naming rules for ASN.1 types/fields, resulting in the generation of more user-friendly context-based names.

  • Helper Macros generated by the ASN.1/C compiler create new instances of ASN.1 compiler generated structures and populate data into these structures. These Helper Macros greatly reduce development time and result in cleaner and leaner application code - all without a performance penalty.

  • Linked-list types are now generated, by default, by the ASN.1 compiler for the SET OF and SEQUENCE OF types. The compiler also generates List APIs to automate the manipulation of these linked lists in the application program - for example, functions are provided to add/remove nodes to/from a list, update/insert nodes into a list, etc. The availability of these List APIs results in cleaner application code and reduced development time.

  • A new compiler option, -restrictedContraintChecking, allows runtime constraint checking to be applied selectively (for individually selected types.

  • New APIs allow users to set various debugging levels to control the amount of debug data that is generated at runtime while encoding or decoding. The ossPrintHex function has been enhanced to display the hex data and its ASCII equivalent.

  • A new memory management mode improves the performance of the encoder and decoder by doing the following:

    - Decreases the number of calls to system 'malloc' and 'free' functions when encoding and decoding

    - Reuses allocated dynamic memory blocks when the encoder and decoder are being run in a loop

    - Significantly speeds up freeing of complex data structures

  • New API functions are available to easily convert between ASN.1 Time Type values and time_t ANSI C data type values.

  • The LED Runtime has been enhanced to produce more descriptive (SOED-like) error messages.

  • TOED BER and PER runtimes have been optimized for speed. For example, on the Windows platform, the decoder speed improvement is 50-60% for both BER and PER decoders.

.:. Top

OSS ASN.1 Tools for C 7.0
- New Features including E-XER

OSS ASN.1 Tools for C 7.0, now available for download and upgrade, offers exciting new features:
  • Extended XML Encoding Rules (E-XER) full support has been added to the SOED and the Lean Encoder/Decoder (LED) libraries. Now you can have the full capabilities of XML with ASN.1. Extended-XER encoding makes ASN.1 an XML schema notation as powerful as XSD, with the simplicity of ASN.1.
    The SOED are space-optimized libraries.The LED libraries are a perfect solution for resource starved embedded systems.
  • A new API function has been added which is useful when you need to skip "padding" bytes in an encoding before or after decoding it using ossDecode().
  • A new API function has been added which gives you an easy to use view of the valid ASN.1 notation. It's especially useful if you are debugging, or writing a protocol analyzer.
  • A new compiler option has been added so you can control whether relaxed checking is performed. Relaxed checking will eliminate the generation of warning messages, and some insignificant error messages, by the compiler.
  • A new directive has been added so that your ASN.1 notation can now customize the generated XER encoding layout for selected ASN.1 types. This capability is useful when your ASN.1 syntax defines rich semantics for simple ASN.1 types such as OCTET STRING, and you want to generate more readable XML encodings to reflect these semantics.
  • A new compiler option and a new runtime flag have been added which give you further compression beyond BER, PER, or other ASN.1 encoding rules. Additionally, you can customize the compression algorithm to suit your data which gives you the ability to minimize the compressed data size.
  • The sample directory structure for OSS ASN.1/C Tools has been changed and more samples added. The samples are divided into four categories:

    addons
    advanced
    basic
    standards

To view our E-XER Whitepaper click on E-XER. For an example of building an ASN.1 application with E-XER support click E-XER Example.

Experience the benefit of E-XER yourself. If you are an exisiting C Tools customer, simply upgrade your Tools - have your username and password ready. Otherwise, download an evaluation copy of the Tools for C now. For information on purchasing, contact our Sales department at info@oss.com, Toll Free +1-888-OSS-ASN1 (USA & Canada), or +1-732-302-0750.

.:. Top

Version 6.1 Enhancements

The OSS ASN.1 Tools for C 6.1 release offers expanded support of the XML Encoding Rules (XER):

  • XER support has now been added to our LEAN Encoder/Decoder Libraries (LED), which are perfect for resource starved embedded systems.
  • Canonical XML Encoding Rules (CXER) are supported in our Time Optimized Encoder/Decoder Libraries (TOED).
  • A new compiler option which will generate XSD files, so that one can use the XML Encoding Rules (XER) to represent binary ASN.1 data in XML software such as schema-aware XML editors, Schema compilers, browsers, and so on.
  • The introduction of two new API functions will make conversion between XML and binary encodings an easy, one step process.
  • A new API function which allows you to print the contents of an XER/CXER encoding in a well-formatted manner.
  • The Time-optimized encoder/decoders have been improved to encode/decode much faster !

  • For PER, a value with extension fields of SEQUENCE and SET types can be encoded 650% faster and decoded 550% faster than it was previously in the TOED. And values of most String types have improved on average with an encoding speed increased by 210%-250% and an average decoding speed of 140%-370%.

  • For the XER/CXER encoder, complex and nested data encode at a faster rate.

  • For the XER encoder, all encodings are 1.5 times faster on average.

To learn more about the OSS ASN.1 Tools for C, contact our Sales department at info@oss.com ,
Toll Free +1-888-OSSASN1 (USA & Canada), +1-732-302-0750 .:. Top

Version 6.0 Enhancements

The OSS ASN.1 Tools for C version 6.0 supports the XML additions to ASN.1 described in the ASN.1:2002 standards documents. The tool includes the following functionality:

The ASN.1 compiler supports the XML value notation that provides a means of representing ASN.1 values using eXtensible Markup Language (XML) with the ASN.1 type definition as the schema. The XML value notation may be present within the same input ASN.1 file as other ASN.1 components.

The space-optimized encoder/decoder has been enhanced to allow you to encode/decode any PDU in the input using the XML encoding rules (XER). You can now add visibility to your ASN.1-described messages via XML.

New compiler command-line options are now available, -xer and -cxer. These options are similar to the -ber/-der/-per/uper options in that they allow the associated set of encoding rules (namely, the XML encoding rules (XER) and the canonical XML encoding rules (CXER)) to be available to the encoder/decoder during runtime.

A new ASN.1 compiler command-line option called "-xsl" has been added to allow you to automatically generate multiple default stylesheets, one for each PDU. Stylesheets allow you to have greater control over the visual aesthetic quality of an XML encoding.

A new compiler directive OSS.Stylesheet has been introduced to allow you greater control over the default stylesheets which are produced by the ASN.1 compiler. Using this directive, you can instruct the ASN.1 compiler to generate a separate stylesheet with your own desired filename for any particular PDU.

The ASN.1 compiler can now automatically generate XML DTD's (Data Type Definitions). This allows you to view and edit the XER output of ossEncode() in an ASN.1-independent tool which only recognizes XML.

A new function ossPrintXPER() has been added to the PER Encoder Analyzer shipment. This new function allows you to view the trace and analysis data for PER encodings in XML format. This greatly improves the aesthetic and user-friendly qualities of this product's output.

.:. Top

Version 5.4 Enhancements

The ASN.1 compiler can now generate multiple header files, one for each ASN.1 module present in the input. To enable this new mode of header files generation, you may use the "-splitHeaders" or "-splitForSharing" command-line option. This is especially helpful for large ASN.1 specifications as it allows the user to work with smaller easier-to-handle header files.

The new ASN.1 compiler directives OSS.HeaderName and OSS.Preserve have been added to allow greater control over the new multiple header file generation.

The ASN.1 compiler now supports the contents constraints subtype, which is part of the new ASN.1:2002 standard.

The time-optimized encoder/decoder has been further optimized by omitting certain unneeded operations and implementing better processing algorithms.

The time-optimized encoder/decoder now fully supports the ossCmpValue() and ossCpyValue() functions. Now, you can take advantage of these useful PDU comparison and copying functions while linking with this fast encoder/decoder.

The ASN.1 compiler has been enhanced to support multi-line comments enclosed between the "/*" and "*/" tokens as defined in the new ASN.1 standard. The content of comments is also now transferred to the generated header files.

The ASN.1 compiler now supports the new PATTERN constraint notation, which is part of the new ASN.1:2002 standard.

The ASN.1 compiler now accepts text files that are in the multi-byte UTF-8 format. This allows you to specify multi-national characters in the input file where they are allowed by the ASN.1 standard.

The IAAPI functions can now be used with the Lean encoder/decoder.

Other miscellaneous improvements have been made.

Version 5.3 Enhancements

The time-optimized encoder/decoder now supports the automatic encoding/decoding of open types.You can now combine the ease of automatic encoding/decoding of open types with the speed of the time-optimized encoder/decoder.

The time-optimized encoder/decoder library now supports the functions for handling information objects (e.g., ossGetInfoObject()).

More speed for enhanced performance: Certain ASN.1 syntax users will experience a 33+ percent upward shift in performance.

You can now speed up the decoding of certain large PDUs by skipping extra trailing elements in a SET OF or SEQUENCE OF type with the addition of a new compiler directive named OSS.Truncate.

A faster algorithm for checking component relation constraints is now available.

New optimization schemes for representing parameterized types and sharing type definitions have been implemented. The end result is shorter output files for certain ASN.1 specifications.

The combination of the -autoEncDec and -noConstraints options produces an optimized and smaller control-table/code-file.

More error checks have been added to the decoder for invalid BER encoding of the BIT STRING and OBJECT IDENTIFIER types have been added. The new error checks can be disabled via the RELAXBER flag.

More error checks have been added to the decoder for invalid PER encoding of INTEGER types with superfluous octets. The new error check can be disabled via the RELAXPER flag.

More descriptive error messages have been added to the ASN.1 compiler to better help users pinpoint errors in their syntax.

Two new API functions (ossUinit() and ossUterm()) now allow you to dynamically load the generated control-table or code file compiled as a dynamically linked library on UNIX-like systems. Previously, such dynamic linking was only available on the Windows operating system.

.:. Top

 

Copyright © 2008 OSS Nokalva, Inc.   All Rights Reserved.

OSS ASN.1 Tools for C

ASN.1 Protocols

Platform Information

E-XER

FAQs

Purchase

Free Trial Download