Microsoft.VisualStudio.Uml.Activities Namespace

An activity describes the flow of control and information between different actions, which may be executed by program objects, computers, or people. For more information about activity modeling in Visual Studio Ultimate, see UML Activity Diagrams: Guidelines. For more information about the UML API, see Extending UML Models and Diagrams.

The types and properties defined in this namespace correspond to those defined in the UML Specification. In addition, extension methods are defined on many of the types in this namespace. For more information, see Microsoft.VisualStudio.ArchitectureTools.Extensibility.Uml.

A IActivity object describes a complete activity. The other types in this namespace describe the different types of nodes and edges that are the constituents of an activity. The different types of Action are described in the Microsoft.VisualStudio.Uml.Actions namespace.

Interfaces

  Interface Description
Public interface IActivity A sequence of actions that partly defines the behavior of an object. Usually forms part of a classifier.
Public interface IActivityEdge The base class of edges (that is, arrows) between two nodes in an Activity. Control and object tokens can flow along an edge from source to target.
Public interface IActivityFinalNode Stops all flows in an Activity. Every thread in the activity terminates when one token arrives at an ActivityFinalNode.
Public interface IActivityGroup A set of nodes and edges in an activity. Nodes and edges can belong to more than one group.
Public interface IActivityNode A point in the flow of an Activity, such as an Action, Fork, or Object Node.
Public interface IActivityParameterNode An object node for inputs or outputs to an Activity. If the Activity defines the detail of an Action in another Activity, the Pins of the Action should match the ActivityParameterNodes of the Activity.
Public interface IControlFlow An edge in an activity that can carry control tokens. When the activity at the source end of a control flow finishes, a control token is made available at the target end. Typically this enables the target activity to begin.
Public interface IControlNode An activity node that coordinates flows. Tokens (threads of control) do not wait in a control node, but pass instantly through.
Public interface IDecisionNode A branch in a flow in an Activity. A thread passes from the input to one of the outputs. The choice may be constrained by Guards on the outgoing connectors.
Public interface IExecutableNode An activity node that performs a task. The task begins after a token (thread of control) has arrived on every incoming flow.
Public interface IFinalNode The end of a flow in an Activity. When a thread arrives at a FinalNode, it terminates.
Public interface IForkNode Splits a flow into multiple concurrent flows. When a token arrives at the input, a token emerges from each of the outputs.
Public interface IInitialNode The start of an Activity. When the activity is invoked, a token is created and emerges on the output flow.
Public interface IJoinNode Synchronizes concurrent flows. A token emerges from the output of a Join only when the join condition is fulfilled. By default, the condition is that there is a token waiting on each input.
Public interface IMergeNode Brings together multiple alternate flows. When a token arrives at any input, it emerges from the output. A merge is not used to synchronize concurrent flows but to accept one among several alternate flows.
Public interface IObjectFlow An edge in an activity that can carry object tokens. These tokens can contain objects. The
Public interface IObjectNode A node in an activity diagram that can specify the type of data sent between actions, and can also define data filters. Data and control tokens can be buffered.
Public interface IState A State.

Enumerations

  Enumeration Description
Public enumeration ExpansionKind ExpansionKind is an enumeration type used to specify how multiple executions of an expansion region interact.
Public enumeration ObjectNodeOrderingKind Describes how objects are ordered as they pass through an object node.
Public enumeration ParameterEffectKind Describes the effect an activity has on its parameters.