SysML 1.7 RTF Avatar
  1. OMG Issue

SYSML17 — Requirement ID should be immutable

  • Key: SYSML17-142
  • Legacy Issue Number: 19764
  • Status: closed  
  • Source: Anonymous
  • Summary:

    Requirement IDs, as currently specified by the standard and implemented by vendors, are not adequate to ensure robust traceability outside MBSE models. The standard describes ID as "The unique Id of the requirement”. I would suggest replacing this sentence with "The unique and immutable Id of the requirement." This immutable characteristic is key to ensure robust traceability throughout a project with external stakeholders and documents.

    The current practice of using a hierarchical number for the ID is bad practice that should be discouraged, because a hierarchical ID will necessary change when the hierarchy is refactored, which is almost guaranteed to happen. This breaks traceability. I recognize that there is also a need for a hierarchical ID, mainly to be used to sort requirement tables properly using this property. For that use case, I would suggest a new ID called HID with the following description: “A unique hierarchical identifier, used to organize requirements within a package”

    Since we now have two different IDs that serve two different purposes, we should give guidance for which one should be used as the prefix in front of the name, depending of the context. My suggestion is as follows:

    • In a traceability context, the ID should be the prefix shown in front of the name. For example, when showing the table column "Derived From", the ID should be the prefix shown, not the HID.
    • In a hierarchical context (for example, in the containment tree), the HID should be shown as the prefix in front of the name.
    • When in doubt, use the ID in preference over HID.
  • Reported: SysML 1.4 — Fri, 29 May 2015 04:00 GMT
  • Disposition: Closed; Out Of Scope — SysML 1.7
  • Disposition Summary:

    Proposal: Requirement ID should be immutable

    New features are out-of-scope for SysML 1.7 and should be covered by SysML v2 if necessary for SysML.

  • Updated: Thu, 22 Dec 2022 13:45 GMT