Software Disclaimer

Class UML 2.3::ConditionalNode

Description:

A conditional node is a structured activity node that represents an exclusive choice among some number of alternatives.

Direct Superclasses: StructuredActivityNode

Direct Subclasses:

Class Precedence List: ConditionalNode, StructuredActivityNode, ActivityGroup, Action, ExecutableNode, ActivityNode, RedefinableElement, Namespace, NamedElement, Element

Properties:

clause : Clause (1 *); -- source ConditionalNode
isAssured : Boolean (1 1); -- source ConditionalNode
isDeterminate : Boolean (1 1); -- source ConditionalNode
result : OutputPin (0 *); -- source ConditionalNode
activity : Activity (0 1); -- source StructuredActivityNode
edge : ActivityEdge (0 *); -- source StructuredActivityNode
mustIsolate : Boolean (1 1); -- source StructuredActivityNode

If true, then the actions in the node execute in isolation from actions outside the node.
Default value: FALSE

node : ActivityNode (0 *); -- source StructuredActivityNode
structuredNodeInput : InputPin (0 *); -- source StructuredActivityNode
variable : Variable (0 *); -- source StructuredActivityNode
containedEdge : ActivityEdge (0 *); -- source ActivityGroup
containedNode : ActivityNode (0 *); -- source ActivityGroup

Nodes immediately contained in the group.
{readonly}
Derived union with sources: (node)
Opposite: ActivityNode.inGroup

subgroup : ActivityGroup (0 *); -- source ActivityGroup
superGroup : ActivityGroup (0 1); -- source ActivityGroup
context : Classifier (0 1); -- source Action
input : InputPin (0 *); -- source Action
isLocallyReentrant : Boolean (1 1); -- source Action
localPostcondition : Constraint (0 *); -- source Action
localPrecondition : Constraint (0 *); -- source Action
output : OutputPin (0 *); -- source Action
handler : ExceptionHandler (0 *); -- source ExecutableNode
inGroup : ActivityGroup (0 *); -- source ActivityNode
inInterruptibleRegion : InterruptibleActivityRegion (0 *); -- source ActivityNode
inPartition : ActivityPartition (0 *); -- source ActivityNode
inStructuredNode : StructuredActivityNode (0 1); -- source ActivityNode
incoming : ActivityEdge (0 *); -- source ActivityNode
outgoing : ActivityEdge (0 *); -- source ActivityNode
redefinedNode : ActivityNode (0 *); -- source ActivityNode
isLeaf : Boolean (1 1); -- source RedefinableElement

Indicates whether it is possible to further redefine a RedefinableElement. If the value is true, then it is not possible to further redefine the RedefinableElement. Note that this property is preserved through package merge operations; that is, the capability to redefine a RedefinableElement (i.e., isLeaf=false) must be preserved in the resulting RedefinableElement of a package merge operation where a RedefinableElement with isLeaf=false is merged with a matching RedefinableElement with isLeaf=true: the resulting RedefinableElement will have isLeaf=false. Default value is false.
Default value: FALSE

redefinedElement : RedefinableElement (0 *); -- source RedefinableElement
redefinitionContext : Classifier (0 *); -- source RedefinableElement
elementImport : ElementImport (0 *); -- source Namespace
importedMember : PackageableElement (0 *); -- source Namespace
member : NamedElement (0 *); -- source Namespace
ownedMember : NamedElement (0 *); -- source Namespace
ownedRule : Constraint (0 *); -- source Namespace
packageImport : PackageImport (0 *); -- source Namespace
clientDependency : Dependency (0 *); -- source NamedElement
name : String (0 1); -- source NamedElement
nameExpression : StringExpression (0 1); -- source NamedElement
namespace : Namespace (0 1); -- source NamedElement
qualifiedName : String (0 1); -- source NamedElement
visibility : VisibilityKind (0 1); -- source NamedElement
ownedComment : Comment (0 *); -- source Element

The Comments owned by this element.
{composite}
Subsets: Element.ownedElement

ownedElement : Element (0 *); -- source Element
owner : Element (0 1); -- source Element

Constraints:

Signature: result_no_incoming() : Boolean;
Description: The result output pins have no incoming edges.
Expression: true

Signature: one_clause_with_executable_node() : Boolean;
Description: No ExecutableNode may appear in the test or body part of more than one clause of a conditional node.
Expression: true

Signature: no_input_pins() : Boolean;
Description: A conditional node has no input pins.
Expression: true

Signature: matching_output_pins() : Boolean;
Description: Each clause of a conditional node must have the same number of bodyOutput pins as the conditional node has result output pins, and each clause bodyOutput pin must be compatible with the corresponding result pin (by positional order) in type, multiplicity, ordering and uniqueness.
Expression: true

Signature: executable_nodes() : Boolean;
Description: The union of the ExecutabledNodes in the test and body parts of all clauses must be the same as the subset of nodes contained in the ConditionalNode (considered as a StructuredActivityNode) that are ExecutableNodes.
Expression: true

Signature: clause_no_predecessor() : Boolean;
Description: No two clauses within a ConditionalNode maybe predecessor clauses of each other, either directly or indirectly.
Expression: true

Operations:

No additional operations.



Send questions or comments to xmi-interop@omg.org.