The Encoding Control Notation (ECN) allows specifiers to define their own encoding
rules by referencing standardized encoding rules and modifying some of their characteristics
(for example, one may want to use the whole standardized PER set but for the boolean
values that would remain encoded on octets), or even to set up completely new ones.
ECN will prove useful in application domains that require a particularly optimized
transfer syntax (in terms of size or speed of encoding/decoding). All these standards
describe data transfer as bit- or octet-fields in tables or (English) texts, sometimes
without providing any ASN.1 modules. ASN.1's ability to model emerging protocols
such as Bluetooth makes it ideal for working with protocols whose messages were
originally defined without use of ASN.1.
A more systematic use of ASN.1 in the context of these protocols will make them
more likely to be used in generic test-tools like those based on TTCN (Tree and
Tabular Combined Notation) for example, and will prevent a plethora of informal
encoding rules (unfit for validation), generally non-standardized, which may become
the exclusive property of a single tool vendor.
ASN.1 can describe types, but for the time being there exists no formal notation
that could define encoding rules. The encoding control will be modelled by a new
category of modules called Encoding Definition Modules (EDM); they will contain
the information (such as alignment, padding bits, computation of length field, etc)
that defines the encoding to be associated with (some of) the generic ASN.1 standard
types or specific types imported from another ASN.1 module.
In addition, a linkage module, called the Encoding Link Module (ELM), which
is in principle very much similar to a makefile for Unix systems, will associate
one or several modules with one or several encoding control modules (or with standardized
encoding rules, like the PER aligned variant for example, together with an encoding
control module in which some of these standardized rules are modified).
The encoding control standard is called ITU-T X.692 | ISO/IEC
8825-3 and has been approved in 2008.