UML 2.6 RTF Avatar
  1. OMG Issue

UMLR — Behavior and ordering of Parameters in OpaqueExpression

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

    Prior to the 2.5.1 specification, Behavior in an OpaqueExpression was restricted to have exactly one return Parameter and no input Parameters. This was relaxed to allow such Behaviors to have "in" Parameters now as well as one "return" Parameter (see section 8.3.3.3 "Opaque Expressions", the next-to-last paragraph).

    However, it appears that the operation body for "OpaqueExpression::result()" still assumes that there is only one parameter (see 8.6.16.6 "Operations"):

    body: if behavior = null then
    null
    else
    behavior.ownedParameter->first()
    endif

    This brings up the question of ordering of parameters: Obviously, the parameters in the signature of the Behavior must be ordered; however, it is not specified anywhere (AFAICT) whether the "return" parameter should be the first or perhaps the last in the ordering (obviously, at least IMHO, the only two places where it would make any sense are first and last).

    Either the placement, i.e. ordering, of the return Parameter needs to be specified (as well as for all other Behaviors), or the "result()" Operation needs to be rewritten if the return Parameter might be ordered last instead of first.

  • Reported: UML 2.5.1 — Tue, 6 Aug 2024 21:17 GMT
  • Updated: Mon, 12 Aug 2024 10:26 GMT