Re: ASN.1 branding Lassi Kortela 27 Sep 2019 18:54 UTC

> *dons pedant hat*

As Shakespeare said, pedantry is the soul of wit :)

> ASN stands for Abstract Syntax Notation, and refers to the "schema
> language" used to define types. ASN.1 looks like:
>
> FooProtocol DEFINITIONS ::= BEGIN
>
>      FooQuestion ::= SEQUENCE {
>          trackingNumber INTEGER,
>          question       IA5String
>      }
>
>      FooAnswer ::= SEQUENCE {
>          questionNumber INTEGER,
>          answer         BOOLEAN
>      }
>
> END
>
> Actual *values* encoded by an Encoding Rules aren't ASN.1, so calling
> them "Basic ASN.1" et al is misleading! However, it WOULD be correct to
> call the "encoding rules" CONCERETE syntax notations, so "Basic CSN.1"
> could be legit :-)

That's even more awesome :D

I'm guessing it's "Abstract Syntax Notation" as in "notation for
abstract syntax". It can't be the other way around; notation has to be
concrete by definition. And abstract syntax is presumably the stuff we
store in abstract syntax trees (AST).

I presume the Encoding Rules are the concrete syntaxes, and the notation
you show above is another concrete notation (i.e. concrete syntax) for
describing the abstract syntax. In other words, a meta-syntax -- or is
there a distinction between an abstract syntax schema and a meta-syntax?
lol.

So presumably some people were deliberating between calling it
"meta-syntax" and "abstract syntax notation" and concluded that the
latter is clearer. Or maybe "meta-syntax" was already taken.

And since the abstract syntax is of limited use by itself, they added
some concrete syntaxes (binary and text) after the fact. And called them
"Encoding Rules" instead of "format".

I guess most programmers would call that thing a "schema". A schema for
JSON would be "JSON schema"; a schema for XML would be "XML schema". A
Schema that can cover several formats would be simply "Schema". If ISO
is the biggest standards organization involved, it could be "ISO
Schema", though there could be some politics that prevent that.

ISO Schema would sound simple and authoritative.

> Those kinds of standards (ASN.1 is a joint ITU-T / ISO standard) are
> made in committee rooms by delegates sent from a mixture of national
> standards bodies (that was my route, I as sent by the British Standards
> Institute) and industrial stakeholders (big users of ASN.1 such as
> telcos that do interesting protocol R&D using ASN.1 rather than just
> buying off the shelf, makers of telco equipment that do similar, major
> ASN.1 tool vendors, etc).
>
> The result is driven by a mixture of individual goals, from my limited
> observations:
>
> 1. Actually build some technology to do something!
> 2. Make sure this thing we've already built (perhaps as a secret
> prototype) will meet the standard with the minimum of work so we can get
> ahead in the market.
> 3. Pushing your favourite ideology, ranging from technical ("big
> endian!") to actually political ("telecommunication networks should be
> tightly controlled by the Party in order to stamp out dissent!")
> 4. Trying to stab your competitor in the back
> 5. Trying to stab an individual you have a grudge against in the back
>
> ...I didn't see much concern about *marketing* per se; most of these
> standards are part of suites that will be forced on people by sheer
> legislative power. The ostensible remit was to make the standards that
> the telecoms networks of the world would use to interoperate between
> national telecom networks. Anybody who wanted to take part in the phone
> network had to follow the standards...

That's very interesting and matches many descriptions of the nature of
those organizations and processes. Thank you for relating it. You are a
brave soul. I hope you were well compensated.