CCOM is working on a technique for using XML (Extensible Markup Language) to define the binary content for maritime-based AIS (Automatic Identification System) messages. He has proposed a Draft Specification Format that will enable hydrographic and maritime safety agencies to define message contents by providing a bit level description in XML. With this format, it will be possible to more clearly specify messages to software engineers implementing communication systems dealing with AIS-related traffic. Along with the XML specification, the draft specification provides a sample implementation of code to generate a sample encoder/decoder of AIS binary message payloads (informally known as the "AIS Binary Decoder Ring"). Although the XML message definition file specifies the order, size, and type of the bit stream, it does not specify semantics or how binary messages should be presented on an ECDIS or other display device. An XML schema and an additional program will provide validation of the XML message definitions.
There are number of benefits of developing this format. The specification is intended to be both human and machine-readable. With the addition of test messages both in binary and decoded form, the format will allow automated testing and validation of implementations based on the specification. The XML file provides specification of the order of fields, length of fields, and type of fields. To enable some amount of data compression, message definitions can specify the scaling and offsets to be applied to the field between the application and the AIS network layer (following a subset of that used by the ITU-R.M.1371-1). To reduce issues with accidents and errors caused by miscommunication (e.g., the Mars Climate Orbiter loss in 1999), all units will be declared for the numerical values resulting after removing scaling and offsets. The specification will be independent of programming language (e.g., can be implemented in C, C++, Java, Python) to allow vendors to integrate the system into their individual design requirements. Additionally, implementations may optionally allow a parser to directly use the XML specification rather than code that is based on the specification. This will allow mission critical applications to be upgraded without down time, just by loading the new version of the specification file.