Flemming Gram Christensen wrote:
Hi all,

I have a simple question I have been thinking about for some time.
I am new to ASN1.

I have a product, say a thermometer, that is supposed to be used
together with products from other companies. Lets say they use RS485.

If a deliver documentation about a binary protocol, other people can
implement it in their products. But binary protocol specifications
have their problems, we all know.

I could also specify my protocol using ASN1 and use a specific
compiler to implement the protocol in my product. The thermometer can
talk to the other of my products. So I am happy.

What will the other companies do (when they need to use my thermometer)?

a) Are they forced to use the same ASN1 compiler?


No, the local syntax/structure of thermometer data (in memory) doesn't really matter. As long as the line encoding is the same, other companies can use/exchange thermometer data. The line encoding is determined by the ASN1 text and encoding rules, so if the ASN1 compiler conforms to ASN.1 there shouldn't be a problem.

b) Is it enough to specify the ASN1 text and encoding rule used (e.g. BER) ?
   Is the compilers compatible?


Yes, when compilers are compatible (when they both conform to ASN.1). In OSI application layer terms: when abstract syntax (ASN.1 text definitions) and transfer syntax (encoding rule) match, it should all work. As said before: local syntax (the way a machine stores thermometer data in memory) doesn't matter.

Btw. the OSI presentation layer protocol as well as the OSI application
layer protocols (e.g. ACSE, FTAM) have been specified in ASN.1.

--
N. van Bolhuis.



Reply via email to