Objective Systems Announces The Release Of ASN1C Version 6.4

Objective System's ASN1C compiler quickly and reliably translates ASN.1 and/or XML schema (XSD) source specifications into C, C++, C#, or Java source code.

ASN1C is a code generation tool targeted at developers who produce products based on Abstract Syntax Notation One (ASN.1) and XML standards. It is capable of generating code in four different languages: C, C++, Java, and C#.

The following new features have been added in this release:

+ Support Added for the Medical Device Encoding Rules (MDER)

Run-time libraries and code generation logic has been added for all supported languages for the Medical Device Encoding Rules MDER) as documented in ISO/IEEE 11073-20601.

+ Support Added for the Octet Encoding Rules (OER)

C run-time libraries and code generation logic has been added for the Octet Encoding Rules (OER) as documented in NTCIP 1102:2004.

+ Improved Table Constraint Code Generation in Java and C#

Additional helper methods are now generated to assist users in working with code that uses table constraints.

+ Improved Java/C# error information

A new feature called element tracking has been introduced. The
encode/decode buffer/streams contain a context (Asn1Context) on which you can invoke enableElementTracking(). An exception handler can later invoke getCurrentElement() on the context to get a name representing the element on which the failure occured. The name will be hierarchical (e.g. mypdu.address.street).

+ Improved Naming of Table Constraint Selector Constants in C/C++

The format of constants generated in C/C++ for items in Information Object Sets referenced in Table Constraints has been improved to not use embedded sequential numbers. See our blog post at http://obj-sys.com/blog/?p=226 which describes the changes.

+ Addition of the configuration item

Related to the table constraint constant change above, the capability to configure shorter code names was added via the introduction of the configuration element. This allows an alternate name to be used in the generated code that is different than the ASN.1 name. The primary reason for adding it is because the new selector names were found to be rather long in some instances. This is a way to shorten them. Note that in this release, aliases can only be specified for Module and Object Set names (these are the components used in the selector constants).

+ Capability to generate HTML representation of ASN.1

The -html switch was added to provide generation of HTML files from the ASN.1 input sources based on what the compiler sees and supports. These files contain hyperlinks to items referenced within the specification making it easier to navigate between components.

+ Output file selection for C#

In previous versions of ASN1C, C# output files worked the same as Java - one file was generated for each component in an ASN.1 source file. This led to the creation of large numbers of files in some cases. In this release, the -csfile command-line option has been added which makes it possible to specify a single output file or one output file per ASN.1 file being generated. If the value specified with this option is a specific .cs file, all generated C# code will be written to that file. If the value is *.cs, one .cs file will be created for each ASN.1 module.

+ Support added for Visual Studio 2010

Run-time libraries built with Visual Studio 2010 are now included in Windows packages. In addition, the capability to generate a Visual Studio 2010 project file has also been added.

For more information on the new release see:

http://www.obj-sys.com/asn1-compiler.shtml

A free evaluation version of the software can be downloaded from:

http://www.obj-sys.com/evaluate-asn1c.php

The release is available as a free upgrade to users with active support.