Uploaded image for project: 'OASIS Message Queuing Telemetry Transport (MQTT) TC'
  1. OASIS Message Queuing Telemetry Transport (MQTT) TC
  2. MQTT-167

Appendix A. Mandatory normative statements

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.1.1
    • Fix Version/s: None
    • Component/s: core
    • Labels:
      None
    • Environment:

      Conformance

    • Proposal:
      Hide

      This Appendix is non-normative and is provided as a convenient summary of the numbered conformance statements found in the main body of this document. See Chapter 7 for a definitive list of conformance requirements.

      Previously:
      >> Rely on normative text rather than clustering of "MUST" statements in Appendix A, which is incomplete and mis-leading in terms of the requirements for conformance. <<

      Show
      This Appendix is non-normative and is provided as a convenient summary of the numbered conformance statements found in the main body of this document. See Chapter 7 for a definitive list of conformance requirements. Previously: >> Rely on normative text rather than clustering of "MUST" statements in Appendix A, which is incomplete and mis-leading in terms of the requirements for conformance. <<
    • Resolution:
      Hide

      Resolved in WD19

      Show
      Resolved in WD19

      Description

      Appendix A. Mandatory normative statements appears to be a listing of normative statements for conformance purposes.

      Entirely up to the TC but I think that is a mis-leading practice.

      For example, under 1.4.1.2 UTF-8 encoded strings:

      *****
      The data SHOULD NOT include encodings of the Unicode [Unicode63] code points listed below. If a receiver (Server or Client) receives a control packet containing any of them it MAY close the network connection.
      *****

      That is normative text and it does not appear in Annex A. (Note the ambiguous reference to "code points listed below." Give the list a number and format as a list.)

      And 2.1 Fixed header and MQTT Control Packet types are normative text too.

      That is any conforming application will follow those requirements as well.

      That is to say, "MUST" doesn't make text normative.

      Taking 2.1.1 MQTT Control Packet types could be written:

      MQTT control packet types are positioned in the first byte of a MQTT control paket and are represented as a 4-bit unsigned value. The defined MQTT control packet value types are defined in Table #2 (that's not the right table number, just using that as an example).

      Assuming the section has been declared normative, that is all you need for MQTT control packet types.

      Then, elsewhere in the specification, in the conformance clause, you can say:

      "A conforming MQTT application accepts MQTT control packets (do you want "Control Packets" or control packets?) as defined in Section 2, MQTT Control Packet Format."

      Which means all the normative language in Section 2 is applicable to the conforming application, whether it is MUST, MUST NOT, SHOULD, MAY, etc. And you can simply make declarative statements like defining the types of control packets.

      Yes?

      As written, Appendix A leaves out all reference to MQTT Control Packet format. But it is a normative part of the specification.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              patrick Patrick Durusau
            • Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: