~ubuntu-branches/debian/squeeze/erlang/squeeze

« back to all changes in this revision

Viewing changes to lib/asn1/examples/ecn_internaldoc.txt

  • Committer: Bazaar Package Importer
  • Author(s): Erlang Packagers, Sergei Golovan
  • Date: 2006-12-03 17:07:44 UTC
  • mfrom: (2.1.11 feisty)
  • Revision ID: james.westby@ubuntu.com-20061203170744-rghjwupacqlzs6kv
Tags: 1:11.b.2-4
[ Sergei Golovan ]
Fixed erlang-base and erlang-base-hipe prerm scripts.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
The ECN specification (X.692) describes how to make encodings
 
2
different from the standardised methods, BER and PER with variants.
 
3
 
 
4
ECN has a system with inter-working modules including ordinary ASN1
 
5
specs. There are any number of EDM (Encoding Definition Module)
 
6
modules. And always one ELM (Encoding Link Module).
 
7
 
 
8
The EDMs contains definitions of encoding classes, encoding objects
 
9
and encoding object sets. They may also have IMPORTS and EXPORTS
 
10
clauses. Encoding classes tells the structure of the encoding. Besides
 
11
classes corresponding to types there are classes that define
 
12
determinants for length and presence. The objects tell how the actual
 
13
type that will be mapped to this object is encoded.
 
14
 
 
15
The ELM is the module that links (applies) the various encodings,
 
16
defined in the EDMs, to the types in the ASN1 specs.
 
17
 
 
18
The ASN1 specs are not affected by being part of an ECN application.
 
19
 
 
20
The following requirements must be wholly or partly fulfilled to
 
21
enable the use of ECN in the OTP ASN1 compiler.
 
22
       - Parsing of EDM and ELM modules.
 
23
       - Extend the format of the abstract syntax tree or in other way
 
24
       pass encoding information to code generation.
 
25
       - Make possible to generate code with different encoding
 
26
       methods.
 
27
       - Unaligned PER backend. Often seems the unaligned PER encoding
 
28
       as the prefferred main method in ECN applications. One of the
 
29
       goals with ECN is to use less space for encoding to decrease
 
30
       the use of bandwith in transmission. This goal is highly
 
31
       supported by unaligned PER.
 
32
 
 
33
 
 
34
Parsing of EDM and ELM modules:
 
35
This should be done in a different parser than by the ASN1
 
36
asn1ct_parser2.erl. The ECN syntax is quite extensive. A deeper
 
37
investigation must be done here.
 
38
 
 
39
Extend format of abstract syntax:
 
40
To derive this format one has to consider both the explicit and
 
41
implicit defined encoding structures.
 
42
This addition of information should maybe be done after the check
 
43
phase of the ASN1 syntax.
 
44
 
 
45
Code generation:
 
46
Initially one can just generate call-back functions when the encoding
 
47
differs from the default method. Nevertheless the information must be
 
48
present in the sytax tree so far. When the full functionality is
 
49
implemented one has to enable a finer granularity in the use of the
 
50
encoding rules. And also enable control of encoding on bit level.
 
51
 
 
52
Unaligned PER backend:
 
53
Often in examples this variant of PER is used. It shouldn't be that
 
54
much work to add this encoding. Probably this will benefit the use of
 
55
the driver.
 
56
 
 
57
 
 
58
ECN can be used in for instance:
 
59
    - Protocol systems that is not an ASN1 protocol.
 
60
    - Specialized ASN1 protocols.
 
61
 
 
62
 
 
63
Need for ECN?
 
64
 
 
65
Among the ASN1 systems that have been enabled for ECN are:
 
66
UMTS,
 
67
Bluetooth,
 
68
GPRS,
 
69
CAMEL phase 3 stage 2,
 
70
SS7,
 
71
SCCP,
 
72
and others.
 
73
 
 
74
Inswitch has asked for it.