The term ASN.1 “Abstract Syntax Notation One” is commonly used to specify both the formal notation and the associated encoding rules defined to exchange structured data between heterogeneous systems independently of a given hardware, or programming language, or programming language compiler.
The formal notation is used to specify data-structures at an abstract level (we will come back later in this presentation on this notion).
The encoding rules are used to represent the values of these data-structures to be transferred over a computer or telecommunication network. Several encoding rules are standardized : Packed Encoding Rules (PER), Basic Encoding Rules (BER), Distinguished Encoding Rules (DER), XML Encoding Rules (XER).
The ASN.1 formal notation intrinsically ensures the completeness and the preciseness of the data specifications. Moreover, it facilitates the readability and the understandability of the data specification by avoiding ambiguous definitions.