SysML 2.1b1 RTF Avatar
  1. OMG Issue

SYSML21 — TransitionUsage::effectAction derives the trigger instead

  • Key: SYSML21-708
  • Status: open  
  • Source: Diversitas Systems Engineering Ltd ( Geoffrey Tullener)
  • Summary:
    TransitionUsage::deriveTransitionUsageEffectAction: TransitionUsage::effectAction derives the trigger instead
    
    Where:          SysML 2.0 (formal/2026-03-02), ยง8.3.18.9 TransitionUsage, PDF p.375 (printed 343)
    Published OCL:  triggerAction = ownedFeatureMembership->selectByKind(TransitionFeatureMembership)->select(kind = TransitionFeatureKind::trigger).transitionFeatures->selectByKind(AcceptActionUsage)
    Correction:     effectAction = ownedFeatureMembership->selectByKind(TransitionFeatureMembership)->select(kind = TransitionFeatureKind::effect).transitionFeature->selectByKind(ActionUsage)
    Proof of fault: The rule meant to derive effectAction defines triggerAction instead: as published, effectAction has no derivation and triggerAction has two.
    Likely cause:   Verbatim copy, never edited. Identical apart from one typo (transitionFeatures): the trigger rule pasted into the effect slot.
    Nearest rule:   TransitionUsage::deriveTransitionUsageTriggerAction (SysML 2.0 PDF p.376 (printed 344)): triggerAction = ownedFeatureMembership->selectByKind(TransitionFeatureMembership)->select(kind = TransitionFeatureKind::trigger).transitionFeature->selectByKind(AcceptActionUsage)
    Basis of fix:   The rule's own prose fixes every part of the correction.
    

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