Table of Contents

Interface IStructuredActivityNode

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

The public interface for StructuredActivityNode

[DefaultImplementationType(typeof(StructuredActivityNode))]
[XmlDefaultImplementationType(typeof(StructuredActivityNode))]
[ModelRepresentationClass("http://www.eclipse.org/uml2/5.0.0/UML#//StructuredActivityNode")]
public interface IStructuredActivityNode : IActivityGroup, INamespace, IAction, IExecutableNode, IActivityNode, IActivityContent, IRedefinableElement, INamedElement, IElement, IEModelElement, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
Inherited Members

Properties

Edge

The ActivityEdges immediately contained in the StructuredActivityNode. <p>From package UML::Actions.</p>

[Browsable(false)]
[XmlElementName("edge")]
[XmlAttribute(false)]
[Containment]
[XmlOpposite("inStructuredNode")]
IOrderedSetExpression<IActivityEdge> Edge { get; }

Property Value

IOrderedSetExpression<IActivityEdge>

MustIsolate

If true, then any object used by an Action within the StructuredActivityNode cannot be accessed by any Action outside the node until the StructuredActivityNode as a whole completes. Any concurrent Actions that would result in accessing such objects are required to have their execution deferred until the completion of the StructuredActivityNode. <p>From package UML::Actions.</p>

[TypeConverter(typeof(LowercaseBooleanConverter))]
[XmlElementName("mustIsolate")]
[XmlAttribute(true)]
bool MustIsolate { get; set; }

Property Value

bool

Node

The ActivityNodes immediately contained in the StructuredActivityNode. <p>From package UML::Actions.</p>

[Browsable(false)]
[XmlElementName("node")]
[XmlAttribute(false)]
[Containment]
[XmlOpposite("inStructuredNode")]
IOrderedSetExpression<IActivityNode> Node { get; }

Property Value

IOrderedSetExpression<IActivityNode>

StructuredNodeInput

The InputPins owned by the StructuredActivityNode. <p>From package UML::Actions.</p>

[Browsable(false)]
[XmlElementName("structuredNodeInput")]
[XmlAttribute(false)]
[Containment]
IOrderedSetExpression<IInputPin> StructuredNodeInput { get; }

Property Value

IOrderedSetExpression<IInputPin>

StructuredNodeOutput

The OutputPins owned by the StructuredActivityNode. <p>From package UML::Actions.</p>

[Browsable(false)]
[XmlElementName("structuredNodeOutput")]
[XmlAttribute(false)]
[Containment]
IOrderedSetExpression<IOutputPin> StructuredNodeOutput { get; }

Property Value

IOrderedSetExpression<IOutputPin>

Variable

The Variables defined in the scope of the StructuredActivityNode. <p>From package UML::Actions.</p>

[Browsable(false)]
[XmlElementName("variable")]
[XmlAttribute(false)]
[Containment]
[XmlOpposite("scope")]
IOrderedSetExpression<IVariable> Variable { get; }

Property Value

IOrderedSetExpression<IVariable>

Methods

Edges(object, object)

The edges of a StructuredActivityNode are all the ActivityEdges with source and target ActivityNodes contained directly or indirectly within the StructuredActivityNode and at least one of the source or target not contained in any more deeply nested StructuredActivityNode. edge=self.sourceNodes().outgoing->intersection(self.allOwnedNodes().incoming)-> union(self.targetNodes().incoming->intersection(self.allOwnedNodes().outgoing))->asSet()

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

Input_pin_edges(object, object)

The incoming ActivityEdges of an InputPin of a StructuredActivityNode must have sources that are not within the StructuredActivityNode. input.incoming.source->excludesAll(allOwnedNodes()-output)

bool Input_pin_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

Output_pin_edges(object, object)

The outgoing ActivityEdges of the OutputPins of a StructuredActivityNode must have targets that are not within the StructuredActivityNode. output.outgoing.target->excludesAll(allOwnedNodes()-input)

bool Output_pin_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

SourceNodes()

Return those ActivityNodes contained immediately within the StructuredActivityNode that may act as sources of edges owned by the StructuredActivityNode. result = (node->union(input.oclAsType(ActivityNode)->asSet())-> union(node->select(oclIsKindOf(Action)).oclAsType(Action).output)->asSet()) <p>From package UML::Actions.</p>

ISetExpression<IActivityNode> SourceNodes()

Returns

ISetExpression<IActivityNode>

TargetNodes()

Return those ActivityNodes contained immediately within the StructuredActivityNode that may act as targets of edges owned by the StructuredActivityNode. result = (node->union(output.oclAsType(ActivityNode)->asSet())-> union(node->select(oclIsKindOf(Action)).oclAsType(Action).input)->asSet()) <p>From package UML::Actions.</p>

ISetExpression<IActivityNode> TargetNodes()

Returns

ISetExpression<IActivityNode>