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: StructuredActivityNodeDirect Subclasses: Class Precedence List: ConditionalNode,
StructuredActivityNode,
ActivityGroup,
Action,
ExecutableNode,
ActivityNode,
RedefinableElement,
Namespace,
NamedElement,
ElementProperties:
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 node :
ActivityNode (0 *); -- source
StructuredActivityNode structuredNodeInput :
InputPin (0 *); -- source
StructuredActivityNode{
composite}
Subsets: Action.input
variable :
Variable (0 *); -- source
StructuredActivityNode containedEdge :
ActivityEdge (0 *); -- source
ActivityGroup containedNode :
ActivityNode (0 *); -- source
ActivityGroup 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 Groups containing the node.
{
readonly}
Derived union with sources: (inStructuredNode, inPartition, inInterruptibleRegion)
Opposite: ActivityGroup.containedNode
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 Edges that have the node as source.
Opposite: ActivityEdge.source
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 ownedElement :
Element (0 *); -- source
Element owner :
Element (0 1); -- source
ElementConstraints:
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
[email protected].