Introduzione
La comunicazione in rete tra calcolatori sta diventando sempre più importante. Tuttavia, la varietà delle installazioni che operano in questo settore preclude probabilmente la standardizzazione del contenuto e della forma dei messaggi tra calcolatori. Vi è tuttavia qualche speranza che si possa sviluppare un modo standard di definire e descrivere le forme dei messaggi e utilizzarlo per facilitare la comunicazione tra calcolatori. Così come ALGOL serve da veicolo standard per descrivere numerosi algoritmi e BNF serve da standard per descrivere la sintassi dei linguaggi, un linguaggio di descrizione dei messaggi sarebbe utile come veicolo standard per definire i formati dei messaggi.
A basso livello, nel protocollo di trattamento dei messaggi sono stati compiuti notevoli progressi e si può prevedere che vengano usati i protocolli ASCII. La discussione che segue presuppone che i meccanismi di scambio dei messaggi, i checksum, le richieste di ripetizione, ecc., siano già stati messi a punto. L'argomento di interesse è come descrivere il contenuto e l'intento di un corpo di messaggio binario una volta rimossi i dettagli dell'intestazione e della coda della rete.
La maggior parte dei tentativi di descrivere il contenuto dei messaggi binari passa immediatamente a considerare le codifiche binarie da usare. Si disegnano lunghi rettangoli sottili per rappresentare il flusso binario; questo flusso viene suddiviso in caselle e tabelle descrivono in genere le opzioni di bit di ciascuna casella. Un approccio migliore sarebbe fornire un metodo simbolico per descrivere i messaggi. Il simbolismo, evitando riferimenti immediati ai dettagli binari specifici, dovrebbe aiutare a comprendere il contenuto del messaggio e le alternative disponibili nel corpo del messaggio. Quando la forma di base del corpo del messaggio binario è chiara, si possono mostrare i dettagli di codifica dei campi binari effettivi.
Descrivere un corpo di messaggio binario non è molto diverso dal descrivere un corpo di testo o un linguaggio. Il testo presuppone campi binari fissi, ciascuno contenente un carattere. I metodi standard di descrizione dei linguaggi (BNF) mostrano poi come i caratteri possono essere concatenati e quale interpretazione si debba dare ai gruppi di caratteri. Le descrizioni dei messaggi binari richiedono la capacità aggiuntiva di definire campi di dimensioni diverse nel messaggio e l'interpretazione da dare ai bit contenuti nel campo.
Una descrizione di messaggio è inizialmente concepita come standard di riferimento da scrivere su carta e mettere a disposizione dei nuovi utenti di una rete di calcolatori. Da questo standard il nuovo utente può scoprire il tipo e la forma dei dati binari scambiati sulla rete. Una volta noti questi elementi, si possono creare i programmi necessari per usare le risorse della rete. In seguito, in una rete consolidata, si può prevedere la promulgazione degli standard per i formati binari di nuova concezione attraverso lo scambio di messaggi di testo ASCII sulla rete stessa, anziché su carta per posta. Ancora più in là nel futuro, il testo di uno standard di formato binario potrebbe essere usato come input di programmi simili a compilatori che creano automaticamente programmi di conversione dei dati per convertire un formato binario in un altro. Al momento, però, un qualsiasi metodo di descrizione dei dati binari, per quanto banale, è disperatamente necessario.