An Introduction to the ASN.1 Macro Replacement Notation
Nilotpal Mitra · AT&T Technical Journal · 1994
Abstract syntax notation one (ASN.1) is used to specify application-layer protocols for open-systems interconnection (OSI) applications. These applications include message-handling services (MHS) and OSI-based integrated services digital network (ISDN) signaling protocols, such as transaction capabilities (TC). One common aspect of these protocols is that they use the remote-operations service element (ROSE), which is based on a request/reply paradigm. In particular, ROSE and its users employ the ASN.1 MACRO notation to capture the application-specific syntax and semantics of a request (to perform some action) and the report of its outcome. The MACRO notation is difficult to understand, however, and is ambiguous when used in defining a message's data structure. Furthermore, it is not possible to build general-purpose ASN.1 compilers that can interpret the semantics of arbitrary MACRO definitions, as each definition is application specific. Recently, a replacement for the MACRO notation, which also corrects the ambiguous aspects of the ASN.1 notation, has been standardized. The new ASN.1 standards provide a notation for defining information-object classes — the means to specify complex concepts used in defining an application-layer protocol. Notations are also provided to show relationships between data in different parts of a protocol message, and to parameterize ASN.1 type definitions. This paper discusses the principal features of the new ASN.1 notation. Rather than describe the new notation in general, the text guides users of ROSE — who are the major users of the MACRO notation — on the replacement of the OPERATION and ERROR MACROS of ROSE.