DecisionNode extends ActivityNode, ConditionEdgeDestination, DataFlowEdgeDestination, ExecutionEdgeDestination, ExecutionEdgesSource, NamedElement

Based on its name, considers the incoming Conditions or DataFlowEdges, and follows passing or failing ExecutionEdges as appropriate.

A DecisionNode can be used to control the flow of execution within a particular operation, and accepts any number of incoming DataFlowEdges and Conditions, depending on the type of DecisionNode. A DecisionNode must have at least one failure edge and one success edge.

An ActivityOperation may contain any number of DecisionNodes. When the execution flow arrives at a DecisionNode, all incoming edges are passed to the particular node, and the decision is evaluated as either true or false. If the DecisionNode is considered to be false, the execution flow will follow all outgoing failure edges sequentially. If the DecisionNode is considered to be true, the execution flow will follow all outgoing success edges sequentially.

The DecisionNode element is based on the UML DecisionNode model element.

true?

A DecisionNode named "true?" accepts any number of incoming DataFlowEdges. This node is true if and only if all incoming values can be cast to the boolean type, and are all considered true through logical conjunction.

equal?

A DecisionNode named "equal?" accepts any number of incoming DataFlowEdges. This node is true if and only if all incoming values can be cast to the string type, and all string -cast representations can be considered equal in terms of the fn:codepoint-equal XQueryFunction.

can cast?

A DecisionNode named "can cast?" accepts one incoming DataFlowEdge (source), and has one outgoing DataFlowEdge (target). This node is true if and only if the current instance from the source edge can be successfully casted to the data type specified by the target edge, as discussed in CastNode.

[DecisionNode.html]

Examples

Implementation Notes

Inference Rules

(none)

Constraints

Attributes

(none)

Inherited Attributes

Children

(none)

Inherited Children

(none)

References

(none)

Inherited References

Extensions

(none)

Inherited Extensions