Table of Contents

Interface IDecisionNode

Namespace
NMF.Interop.Uml
Assembly
NMF.UMLInterop.dll

The public interface for DecisionNode

[DefaultImplementationType(typeof(DecisionNode))]
[XmlDefaultImplementationType(typeof(DecisionNode))]
[ModelRepresentationClass("http://www.eclipse.org/uml2/5.0.0/UML#//DecisionNode")]
public interface IDecisionNode : IControlNode, IActivityNode, IActivityContent, IRedefinableElement, INamedElement, IElement, IEModelElement, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
Inherited Members

Properties

DecisionInput

A Behavior that is executed to provide an input to guard ValueSpecifications on ActivityEdges outgoing from the DecisionNode. <p>From package UML::Activities.</p>

[XmlElementName("decisionInput")]
[XmlAttribute(true)]
IBehavior DecisionInput { get; set; }

Property Value

IBehavior

DecisionInputFlow

An additional ActivityEdge incoming to the DecisionNode that provides a decision input value for the guards ValueSpecifications on ActivityEdges outgoing from the DecisionNode. <p>From package UML::Activities.</p>

[XmlElementName("decisionInputFlow")]
[XmlAttribute(true)]
IObjectFlow DecisionInputFlow { get; set; }

Property Value

IObjectFlow

Methods

Decision_input_flow_incoming(object, object)

The decisionInputFlow of a DecisionNode must be an incoming ActivityEdge of the DecisionNode. incoming->includes(decisionInputFlow)

bool Decision_input_flow_incoming(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

Edges(object, object)

The ActivityEdges incoming to and outgoing from a DecisionNode, other than the decisionInputFlow (if any), must be either all ObjectFlows or all ControlFlows. let allEdges: Set(ActivityEdge) = incoming->union(outgoing) in let allRelevantEdges: Set(ActivityEdge) = if decisionInputFlow->notEmpty() then allEdges->excluding(decisionInputFlow) else allEdges endif in allRelevantEdges->forAll(oclIsKindOf(ControlFlow)) or allRelevantEdges->forAll(oclIsKindOf(ObjectFlow))

bool Edges(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

Incoming_control_one_input_parameter(object, object)

If the DecisionNode has a decisionInputFlow and an incoming ControlFlow, then any decisionInput Behavior has one in Parameter whose type is the same as or a supertype of the type of object tokens offered on the decisionInputFlow. (decisionInput<>null and decisionInputFlow<>null and incoming->exists(oclIsKindOf(ControlFlow))) implies decisionInput.inputParameters()->size()=1

bool Incoming_control_one_input_parameter(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

Incoming_object_one_input_parameter(object, object)

If the DecisionNode has no decisionInputFlow and an incoming ObjectFlow, then any decisionInput Behavior has one in Parameter whose type is the same as or a supertype of the type of object tokens offered on the incoming ObjectFlow. (decisionInput<>null and decisionInputFlow=null and incoming->forAll(oclIsKindOf(ObjectFlow))) implies decisionInput.inputParameters()->size()=1

bool Incoming_object_one_input_parameter(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

Incoming_outgoing_edges(object, object)

A DecisionNode has one or two incoming ActivityEdges and at least one outgoing ActivityEdge. (incoming->size() = 1 or incoming->size() = 2) and outgoing->size() > 0

bool Incoming_outgoing_edges(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

Parameters(object, object)

A decisionInput Behavior has no out parameters, no inout parameters, and one return parameter. decisionInput<>null implies (decisionInput.ownedParameter->forAll(par | par.direction <> ParameterDirectionKind::out and par.direction <> ParameterDirectionKind::inout ) and decisionInput.ownedParameter->one(par | par.direction <> ParameterDirectionKind::return))

bool Parameters(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

Two_input_parameters(object, object)

If the DecisionNode has a decisionInputFlow and an second incoming ObjectFlow, then any decisionInput has two in Parameters, the first of which has a type that is the same as or a supertype of the type of object tokens offered on the non-decisionInputFlow and the second of which has a type that is the same as or a supertype of the type of object tokens offered on the decisionInputFlow. (decisionInput<>null and decisionInputFlow<>null and incoming->forAll(oclIsKindOf(ObjectFlow))) implies decisionInput.inputParameters()->size()=2

bool Two_input_parameters(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

Zero_input_parameters(object, object)

If the DecisionNode has no decisionInputFlow and an incoming ControlFlow, then any decisionInput Behavior has no in parameters. (decisionInput<>null and decisionInputFlow=null and incoming->exists(oclIsKindOf(ControlFlow))) implies decisionInput.inputParameters()->isEmpty()

bool Zero_input_parameters(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool