UML 2.6 RTF Avatar
  1. OMG Issue

UMLR — Constraint "input" of ParameterSet assumes owner is always a BehavioralFeature

  • Key: UMLR-844
  • Status: open  
  • Source: N/A ( Robert Hairgrove)
  • Summary:

    In section 9.9.16.5 Constraints of ParameterSet, the OCL implementation for the constraint named 'input' assumes that the owner of the ParameterSet is always BehavioralFeature. However, a ParameterSet can also be owned by a Behavior. Also, it is not specified whether the 'in' Parameters include 'inout' direction, and likewise whether 'out' Parameters includes 'inout' and 'return' directions:

    • input

    If a parameterized entity has input Parameters that are in a ParameterSet, then any inputs that are not in a
    ParameterSet must be streaming. Same for output Parameters.

    inv: ((parameter->exists(direction = ParameterDirectionKind::_'in')) implies
    behavioralFeature.ownedParameter->select(p | p.direction = ParameterDirectionKind::_'in'
    and p.parameterSet->isEmpty())->forAll(isStream))
    and
    ((parameter->exists(direction = ParameterDirectionKind::out)) implies
    behavioralFeature.ownedParameter->select(p | p.direction = ParameterDirectionKind::out
    and p.parameterSet->isEmpty())->forAll(isStream))

    The method should be corrected to account for all parameter directions as well as the two possible types of owner. There is an interesting discussion of this on StackOverflow.

  • Reported: UML 2.5.1 — Thu, 10 Oct 2024 15:07 GMT
  • Updated: Fri, 11 Oct 2024 14:39 GMT