ASN.1 and modeling tools

Each modeling tool has its own idiosyncracies: the way it generates code depends on many things. To begin with, the language used to internally model data and processes has its own limitations in the range of values it can store in its data types; these limitations must be taken under consideration from the beginning - from the creation of the initial ASN.1 data models.

Its not only the modeling tools that impose limitations; the code generated by the ASN.1 compiler also adheres to specific rules: for example, the mapping used for ASN.1 INTEGERs dictates how large a number can be held inside the runtime data structures2.4.

Appendix A [8] describes how individual ASN.1 grammar elements must be decorated to represent these limitations - allowing the code generators to use this information and verify that all components fit together well.