I live in a very safety/critical Ada-ic environment, and have taken the habit of having well defined and bounded type definition. I am also confronted to lots ASN1 usage/evangelists.

One of the key features that some people around me define as superior in ASN1 over protocol buffers is **the ability to define, and therefore check, data range**.

So,

* Is it true that protocol buffers do not have any range definition
system ?
* Are there any means on top of protocol buffer that could
provide such a feature ?

Usual numerical types definition such as int32, int64 is out of scope here.

---

I read this [Google overview](https://developers.google.com/protocol-buffers/docs/overview) and found no reference to any data range definition. Except for features concerning the enum management/representation, and some ordering features.

To give some other references, I heard of/read the links below and became aware of an Ada implementation project.

[Does anyone know of an Ada plugin for protocol buffers?](https://stackoverflow.com/questions/35761007/does-anyone-know-of-an-ada-plugin-for-protocol-buffers)

which led to

<http://www.diva-portal.org/smash/get/diva2:690878/FULLTEXT02.pdf>

<https://github.com/persan/protobuf-ada>