Conformance Requirements: The use of unpublished DGNs.

Martin Perlot, as RV-C Administrator, proposes the following new section, in Section 4: Conformance Requirements

4.2 Prohibited Messages.

4.2.1 Undocumented Messages
The transmission of messages not documented here or in the official business of the committee (available on-line) is prohibited, as it creates the potential for conflicts between devices from different manufacturers. The RV-C committee does not reserve DGNs for unpublished purposes - all DGNs and their contents are publicly defined through this publication and the RV-C web site. Note that node designers may use the Proprietary Message protocol (Section 3.2.6) to provide functionality for any device beyond what is listed, and the contents of Proprietary Messages do not have to be published in this protocol.

4.2.2 SAE J1939 Compatibility
The sole exception to the prohibition in section 4.2.1 is the the use of SAE J1939 protocol, as specific care has been made by the RV-C committee to preserve a measure of compatibility between RV-C and J1939. The SAE does not reciprocate these efforts and some differences have been created by the SAE since the publication of the first RV-C specification, such as in the DGN_REQUEST message. It is incumbent upon the node designer to respond appropriately to any ambiguities between the two protocols if both are operating on the data bus.


Justification. Personally, I thought section 4.2.1 was self-evident, but recently I've been presented with more than one case of programmers taking the dangerous shortcut of using arbitrary DGNs and praying that no one else will do the same. Naturally, once they realize the dangers, their first instinct is to ask whether the committee can simply reserve those DGNs for them, without specifying the contents. This would be completely contrary to purpose of the RV-C protocol - the document would devolve into a useless registry. The Proprietary Message scheme offers ample flexibility for implementing special messages such as are often desired for configuration and testing.