SysML 2.0b4 FTF Avatar
  1. OMG Issue

SYSML2_ — checkStateUsageExclusiveStateSpecialization and checkStateUsageSubstateSpecialization have problems

  • Key: SYSML2_-183
  • Status: closed  
  • Source: Model Driven Solutions ( Mr. Ed Seidewitz)
  • Summary:

    In 8.3.17.6 StateUsage:

    1. The constraint checkStateUsageExclusiveStateSpecialization has the description

      A StateUsage that is a substate usage with a non-parallel owning StateDefinition or StateUsage must directly or indirectly specialize the StateUsage States::State::exclusiveStates from the Systems Model Library.

      However, the OCL for the constraint actually checks for the owning state being parallel (rather than non-parallel) and requires specialization of substates rather than exclusiveStates.

    2. The constraint checkStateUsageSubstateSpecialization has the description

      A StateUsage that is a substate usage with a owning StateDefinition or StateUsage that is parallel must directly or indirectly specialize the StateUsage States::State::substates from the Systems Model Library.

      However, the OCL for the constraint actually checks for the owning state being non-parallel (rather than parallel).

    3. The operation isSubstateUsage used in the above constraints has the description

      Check if this StateUsage is composite and has an owningType that is an StateDefinition or StateUsage with the given value of isParallel, but is not an entryAction or exitAction. If so, then it represents a StateAction that is a substate or exclusiveState (for isParallel = false) of another StateAction.

      However, the OCL for the operation actually does not check if the state usage is composite and also excludes do actions (in addition to entry and exit actions).

  • Reported: SysML 2.0b2 — Wed, 1 May 2024 20:43 GMT
  • Disposition: Resolved — SysML 2.0b4
  • Disposition Summary:

    Correct the OCL

    The OCL for the stated constraints and operation needs to be corrected. In addition, the descriptions and OCL for the constraints refer to features of "States::State", but the correct reference is "States::StateAction".

  • Updated: Sat, 19 Jul 2025 19:24 GMT