Abstract Syntax Notation One (ASN.1) is a standardized notation used for describing the data structures carried by messages exchanged between communicating parts. It is developed and maintained by ITU-T as ITU-T X.680 to X.683 (ISO/IEC 8824-1 to 4).
ASN.1 is a mature notation with a long record of reliability and interoperability. It supports the exchange of information in any form (audio, video, data.); it has full and direct support of international alphabets. ASN.1 is well integrated with other standardized languages and notations such as SDL and TTCN.
Although ASN.1 is used in applications as diverse as parcel tracking, power distribution and biomedicine, its most extensive use continues to be in telecommunications. Examples of its use include protocol standards for Intelligent networks, UMTSTM, Voice over IP, Interactive television and HiperAccess.
ASN.1 Abstract and Concrete Syntax
ASN.1 has an abstract syntax as defined in the ITU-T X.680 series of recommendations, and has several alternative concrete syntaxes as defined in the ITU-T X.690 series. The abstract syntax is the form that would normally appear in a protocol standard and is used to describe Protocol Data Units (PDU) and other data structures at the level of human readability. The concrete syntax defines the specific set of encoding rules used in an implementation to convert the abstract form to the actual stream of bits that is sent over a communication media. Typical encoding rules are Basic Encoding Rules (BER) and Packed Encoding Rules (PER).
The separation between abstract and concrete syntax brings substantial benefits during protocol standard development. Full attention is initially given to the semantics of data, their relations and their range or size limits, while details of concrete syntax are deferred for later consideration.
An advantage of ASN.1 is that it offers concepts that support extensibility of protocol data structures. That in turn allows older and newer versions of protocols to interwork. This feature is lacking in many other data description notations, despite being essential to any system which is expected to survive for some time.
ASN.1 Benefits for Protocol Testing
Tools are available to translate ASN.1 specifications into over 150 programming languages including C, C++, and Java. Since ASN.1 specifications can be checked by tools, this approach is in all aspects superior to the traditional way of specifying bit tables.
Most protocol standards in ETSI are accompanied by related test specifications. ASN.1 data definitions can be directly imported into test suites written in TTCN. This speeds up test suite development, but more importantly it aids the implementation of actual test tools.