UML 2.2 RTF Avatar
  1. OMG Issue

UML22 — Page: 338, 339

  • Key: UML22-185
  • Legacy Issue Number: 9330
  • Status: closed  
  • Source: oose Innovative Informatik eG ( Mr. Tim Weilkiens)
  • Summary:

    The fork node does not provide tokens to outgoing edges with a guard that evaluates to false. Actions with more than one outgoing edge have a implicit fork semantic. It is unclear if a token is provided to edges with false-guards. The specification defines on page 339: "The guard must evaluate to true for every token that is offered to pass along the edge." Does the token exist if the guard evaluates to false? Does the token wait until it evaluates to true? The evaluation is done at runtime. At which time exactly? While offering tokens or all the time during activity runtime?

  • Reported: UML 2.1 — Mon, 30 Jan 2006 05:00 GMT
  • Disposition: Resolved — UML 2.2
  • Disposition Summary:

    Discussion
    In the UML 2.5 beta specification, in Subclause 15.2.3, under “Activity Edges”, it states: “An ActivityEdge may have
    a guard, which is a ValueSpecification that is evaluated for each token offered to the edge.” In 15.3.3, under “Fork
    Nodes”, it further states: “Tokens offered to a ForkNode are offered to all outgoing ActivityEdges of the node.” Thus,
    the guards on outgoing edges are evaluated when the tokens offered to the ForkNode are offered to them. Finally, the
    specification notes: “Any outgoing ActivityEdges that fail to accept an offer due to the failure of their guard, rather
    than their target, shall not receive copies of those tokens.” So, outgoing edgeswith guards that evaluate to false do not
    receive tokens and therefore do not offer them downstream.
    Disposition: Closed - No Change

  • Updated: Fri, 6 Mar 2015 20:58 GMT