SysML 2.1b1 RTF Avatar
  1. OMG Issue

SYSML21 — Variation check tests the element itself, so every variation fails

  • Key: SYSML21-711
  • Status: open  
  • Source: Diversitas Systems Engineering Ltd ( Geoffrey Tullener)
  • Summary:
    Definition::validateDefinitionVariationSpecialization: Variation check tests the element itself, so every variation fails
    
    Where:          SysML 2.0 (formal/2026-03-02), §8.3.6.2 Definition (also 8.3.6.4 Usage), PDF p.300 (printed 268)
    Published OCL:  isVariation implies not ownedSpecialization.specific->exists( oclIsKindOf(Definition) and oclAsType(Definition).isVariation)
    Correction proposed: isVariation implies not ownedSpecialization.general->exists( oclIsKindOf(Definition) and oclAsType(Definition).isVariation)
    Proof of fault: ownedSpecialization.specific is the Definition itself, so as written the rule refuses every variation, including every enum def (which must be a variation). general was meant.
    Likely cause:   Original error, replicated across a family. The Usage rule is the Definition rule with "or Usage" added; both navigate specific.
    Nearest rule:   Usage::validateUsageVariationSpecialization (SysML 2.0 PDF p.308 (printed 276)): isVariation implies not ownedSpecialization.specific->exists( oclIsKindOf(Definition) and oclAsType(Definition).isVariation or oclIsKindOf(Usage) and oclAsType(Usage).isVariation)
    Same defect in: Definition::validateDefinitionVariationSpecialization, Usage::validateUsageVariationSpecialization
    Basis of fix:   Polarity fixed by KerML §8.3.1 (true = valid); with specific the rule is constant (always refuses, or never with the not removed), so only specific can be wrong. Interim fix checks direct generals; whether 'any other variation' also covers indirect supertypes is left for OMG to confirm.
    Question:       Does 'any other variation' cover only direct generals (as corrected here) or all supertypes (allSupertypes())?
    

    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:42 GMT
  • Updated: Fri, 30 Oct 2026 21:29 GMT