Software Disclaimer

Class UML 2.4.1::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, Action, ExecutableNode, ActivityNode, RedefinableElement, Namespace, ActivityGroup, 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

Activity immediately containing the node.
Subsets: Element.owner
Redefines: ActivityGroup.inActivity
Opposite: Activity.structuredNode

edge : ActivityEdge (0 *); -- source StructuredActivityNode
mustIsolate : Boolean (1 1); -- source StructuredActivityNode
node : ActivityNode (0 *); -- source StructuredActivityNode
structuredNodeInput : InputPin (0 *); -- source StructuredActivityNode
variable : Variable (0 *); -- source StructuredActivityNode
context : Classifier (0 1); -- source Action
input : InputPin (0 *); -- source Action
isLocallyReentrant : Boolean (1 1); -- source Action

If true, the action can begin a new, concurrent execution, even if there is already another execution of the action ongoing. If false, the action cannot begin a new execution until any previous execution has completed.
Default value: FALSE

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

Partitions containing the node.
Subsets: ActivityNode.inGroup
Opposite: ActivityPartition.node

inStructuredNode : StructuredActivityNode (0 1); -- source ActivityNode
incoming : ActivityEdge (0 *); -- source ActivityNode
outgoing : ActivityEdge (0 *); -- source ActivityNode
redefinedNode : ActivityNode (0 *); -- source ActivityNode

Inherited nodes replaced by this node in a specialization of the activity.
Subsets: RedefinableElement.redefinedElement

isLeaf : Boolean (1 1); -- source RedefinableElement
redefinedElement : RedefinableElement (0 *); -- source RedefinableElement
redefinitionContext : Classifier (0 *); -- source RedefinableElement
elementImport : ElementImport (0 *); -- source Namespace
importedMember : PackageableElement (0 *); -- source Namespace

References the PackageableElements that are members of this Namespace as a result of either PackageImports or ElementImports.
{readonly, derived}
Subsets: Namespace.member

member : NamedElement (0 *); -- source Namespace
ownedMember : NamedElement (0 *); -- source Namespace
ownedRule : Constraint (0 *); -- source Namespace
packageImport : PackageImport (0 *); -- source Namespace
containedEdge : ActivityEdge (0 *); -- source ActivityGroup
containedNode : ActivityNode (0 *); -- source ActivityGroup
subgroup : ActivityGroup (0 *); -- source ActivityGroup
superGroup : ActivityGroup (0 1); -- source ActivityGroup
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
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.