Table of Contents

Interface IActivity

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

The public interface for Activity

[DefaultImplementationType(typeof(Activity))]
[XmlDefaultImplementationType(typeof(Activity))]
[ModelRepresentationClass("http://www.eclipse.org/uml2/5.0.0/UML#//Activity")]
public interface IActivity : IBehavior, IClass, IBehavioredClassifier, IEncapsulatedClassifier, IStructuredClassifier, IClassifier, ITemplateableElement, IType, IPackageableElement, IParameterableElement, IRedefinableElement, INamespace, INamedElement, IElement, IEModelElement, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
Inherited Members

Properties

Edge

ActivityEdges expressing flow between the nodes of the Activity. <p>From package UML::Activities.</p>

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

Property Value

IOrderedSetExpression<IActivityEdge>

IsReadOnly

If true, this Activity must not make any changes to objects. The default is false (an Activity may make nonlocal changes). (This is an assertion, not an executable property. It may be used by an execution engine to optimize model execution. If the assertion is violated by the Activity, then the model is ill-formed.) <p>From package UML::Activities.</p>

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

Property Value

bool

IsSingleExecution

If true, all invocations of the Activity are handled by the same execution. <p>From package UML::Activities.</p>

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

Property Value

bool

OwnedGroup

The ownedGroup property

[Browsable(false)]
[XmlElementName("group")]
[XmlAttribute(false)]
[Containment]
IListExpression<IActivityGroup> OwnedGroup { get; }

Property Value

IListExpression<IActivityGroup>

OwnedNode

The ownedNode property

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

Property Value

IOrderedSetExpression<IActivityNode>

Partition

Top-level ActivityPartitions in the Activity. <p>From package UML::Activities.</p>

[Browsable(false)]
[XmlElementName("partition")]
[XmlAttribute(false)]
[Containment]
IOrderedSetExpression<IActivityPartition> Partition { get; }

Property Value

IOrderedSetExpression<IActivityPartition>

StructuredNode

Top-level StructuredActivityNodes in the Activity. <p>From package UML::Activities.</p>

[Browsable(false)]
[XmlElementName("structuredNode")]
[XmlAttribute(false)]
[Containment]
IOrderedSetExpression<IStructuredActivityNode> StructuredNode { get; }

Property Value

IOrderedSetExpression<IStructuredActivityNode>

Variable

Top-level Variables defined by the Activity. <p>From package UML::Activities.</p>

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

Property Value

IOrderedSetExpression<IVariable>

Methods

Maximum_one_parameter_node(object, object)

A Parameter with direction other than inout must have exactly one ActivityParameterNode in an Activity. ownedParameter->forAll(p | p.direction <> ParameterDirectionKind::inout implies node->select( oclIsKindOf(ActivityParameterNode) and oclAsType(ActivityParameterNode).parameter = p)->size()= 1)

bool Maximum_one_parameter_node(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

Maximum_two_parameter_nodes(object, object)

A Parameter with direction inout must have exactly two ActivityParameterNodes in an Activity, at most one with incoming ActivityEdges and at most one with outgoing ActivityEdges. ownedParameter->forAll(p | p.direction = ParameterDirectionKind::inout implies let associatedNodes : Set(ActivityNode) = node->select( oclIsKindOf(ActivityParameterNode) and oclAsType(ActivityParameterNode).parameter = p) in associatedNodes->size()=2 and associatedNodes->select(incoming->notEmpty())->size()<=1 and associatedNodes->select(outgoing->notEmpty())->size()<=1 )

bool Maximum_two_parameter_nodes(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