CSN.1

In telecommunications and computer networking, Concrete Syntax Notation One (CSN.1) is a standard and flexible notation that describes data structures for representing, encoding, transmitting, and decoding data, specifically GPRS used for cell phones. Many examples of CSN.1 encoded data structures can be found in 3GPP TS44.060 and an informative description of the CSN.1 syntax is found in 3GPP TS 24.007.

Here is an example of a CSN.1 description of a message. If the first bit is 1, an apple structure follows, which is a 5-bit Apple code. If the first bit is 0, on the other hand, a 3-bit orange code, and a 2-bit peel type follow.

Advantages

 * It is relatively simple to understand.
 * The notation is extremely compact - any bit can be addressed

Disadvantages

 * It is very difficult to maintain when extensions and new releases of the protocols need to be implemented
 * Creating a compiler for the language is very difficult, because the language can include expressions that refer to any named elements previously decoded.
 * The CSN.1 structures listed in communication standards are not checked and are often filled with errors and non-standard notation.