バイナリデータを指定する技術仕様の方法論を探しています。 XML用のXMLスキーマ記述(XSD)のようなものを探しています。バイナリテレグラム/プロトコルを指定するための良い(標準化された)方法論
目的は、バイナリシーケンスを正しく解釈できるプログラムを生成するためにフォーマットを使用することです。すなわちプログラミング言語バインディング。これは、XML-Dataを表現し、解析してシリアライズできるOOプログラミング言語でクラスを生成することができるXSDのための多くのフレームワークがあるのと同じです。 しかし、この方法論は、ドメイン専門家がこのテキスト仕様を特定し、解釈することができるように、人間が読めるようにする必要があります。
これまでのところ、人間が読める構文しか見つかりませんでした。多くの規格ではASCII-artがこのようRFCsまたはAMQPで同様に、使用されている:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Port | Destination Port |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Acknowledgment Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data | |U|A|P|R|S|F| |
| Offset| Reserved |R|C|S|S|Y|I| Window |
| | |G|K|H|T|N|N| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Checksum | Urgent Pointer |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| data |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
TCP Header Format
しかし、これはほとんど機械読み取り可能ではありません。
時々、仕様がExtended Backus Naur Formに見えました。しかし、これは技術的なドメインの人が実際に読むことができません。バイナリデータを指定するためにこの方法を提案する標準を本当に認識していません。
誰でも適切な方法論/標準を提案できますか?
乾杯、 Hauke
ASN.1は、バイナリ形式の指定に使用されることがあります。しかし、EBNFを読むことができない(または読むことを学ぶことができない) "技術的な"人がいるなら、彼らがASN.1に満足するチャンスは細いと思われます。 (文脈自由文法の読み方がわからないと、彼らはどのように技術者になることができますか?あなたは私の深い同情を持っています。) –