SysML 2.1b1 RTF Avatar
  1. OMG Issue

SYSML21 — objectiveRequirement navigates properties that do not exist

  • Key: SYSML21-712
  • Status: open  
  • Source: Diversitas Systems Engineering Ltd ( Geoffrey Tullener)
  • Summary:
    CaseDefinition::deriveCaseDefinitionObjectiveRequirement: objectiveRequirement navigates properties that do not exist
    
    Where:          SysML 2.0 (formal/2026-03-02), ยง8.3.22.2 CaseDefinition (also 8.3.22.3 CaseUsage), PDF p.399 (printed 367)
    Published OCL:  objectiveRequirement = let objectives: OrderedSet(RequirementUsage) = featureMembership->selectByKind(ObjectiveMembership).ownedRequirement in if objectives->isEmpty() then null else objectives->first().ownedObjectiveRequirement endif
    Correction:     objectiveRequirement = let objectives : OrderedSet(RequirementUsage) = featureMembership->selectByKind(ObjectiveMembership).ownedObjectiveRequirement->asOrderedSet() in if objectives->isEmpty() then null else objectives->first() endif
    Proof of fault: ObjectiveMembership has no ownedRequirement, and RequirementUsage has no ownedObjectiveRequirement: neither navigation exists.
    Likely cause:   Original error, replicated across a family. CaseDefinition and CaseUsage rules are identical, both navigating the non-existent properties.
    Nearest rule:   CaseUsage::deriveCaseUsageObjectiveRequirement (SysML 2.0 PDF p.401 (printed 369)): objectiveRequirement = let objectives: OrderedSet(RequirementUsage) = featureMembership->selectByKind(ObjectiveMembership).ownedRequirement in if objectives->isEmpty() then null else objectives->first().ownedObjectiveRequirement endif
    Same defect in: CaseDefinition::deriveCaseDefinitionObjectiveRequirement, CaseUsage::deriveCaseUsageObjectiveRequirement
    Basis of fix:   The prose names the one property that exists (ownedObjectiveRequirement).
    

    Provenance: found by deterministic checks of the OCL against the metamodel and OMG's reference implementation; the argument was reviewed and challenged by the reporter before filing. Further information on these methods is available on request.

    Not blocking: we are proceeding with the correction above in our own implementation.

  • Reported: SysML 2.0 — Tue, 27 Oct 2026 18:44 GMT
  • Updated: Fri, 30 Oct 2026 21:27 GMT