Activity diagram |
The Activity Diagram can help to describe the flow of control of the target system, such as the exploring complex business rules and operations, describing the use case also the business process.
|
|
Use case diagram
|
Class diagram
|
Sequence diagram
|
Communication diagram
|
State machine diagram
|
Activity diagram
|
Component diagram
|
Deployment diagram
|
Package diagram
|
Object diagram
|
Composite structure diagram
|
Timing diagram
|
Interaction overview diagram
|
|
|
|
Activity diagram |
|
|
Notation
| | Activity | | | Activity Parameter Node | | | | Action | | | Accept Event Action | | | | Accept Time Event Action | | | Activity Final Node | | | | Central Buffer Node | | | Conditional Node Specification | | | | Control Flow | | | Constraint | | | | Data Store Node | | | Decision Node | | | | Exception Handler | | | Expansion Node | | | | Expansion Region | | | Flow Final Node | | | | Fork Node | | | Initial Node | | | | Input Pin | | | Interruptible Activity Region | | | | Join Node | | | Loop Node | | | | Merge Node | | | Note | | | | Object Flow | | | Object Node | | | | Output Pin | | | Send Signal Action | | | | Sequence Node | | | Structured Activity Node | | | | Swimlane | | | Value Pin | |
| DefinitionThe focus of activity modeling is the sequence and conditions for coordinating lower-level behaviors, rather than which classifiers own those behaviors. These are commonly called control flow and object flow models. The behaviors coordinated by these models can be initiated because other behaviors finish executing, because objects and data become available, or because events occur external to the flow. |
|
|
Activity | | | | Definition | An activity specifies the coordination of executions of subordinate behaviors, using a control and data flow model. The subordinate behaviors coordinated by these models may be initiated because other behaviors in the model finish executing, because objects and data become available, or because events occur external to the flow. The flow of execution is modeled as activity nodes connected by activity edges. A node can be the execution of a subordinate behavior, such as an arithmetic computation, a call to an operation, or manipulation of object contents. Activity nodes also include flow-ofcontrol constructs, such as synchronization, decision, and concurrency control. Activities may form invocation hierarchies invoking other activities, ultimately resolving to individual actions. In an object-oriented model, activities are usually invoked indirectly as methods bound to operations that are directly invoked.
Activities may describe procedural computation. In this context, they are the methods corresponding to operations on classes. Activities may be applied to organizational modeling for business process engineering and workflow. In this context, events often originate from inside the system, such as the finishing of a task, but also from outside the system, such as a customer call. Activities can also be used for information system modeling to specify system level processes. |
| | Properties | | Name | The name of activity | Language | | Precondition | An optional set of Constraints specifying what must be fulfilled when the behavior is invoked. | Postcondition | An optional set of Constraints specifying what is fulfilled after the execution of the behavior is completed, if its precondition was fulfilled before its invocation. | Body | | Documentation | Description of activity. | Single execution | If true, all invocations of the activity are handled by the same execution. | Read only | If true, this activity must not make any changes to variables outside the activity or to objects. (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 action, then the model is ill formed.) The default is false (an activity may make non-local changes). | Reentrant | Tells whether the behavior can be invoked while it is still executing from a previous invocation. | Variables | Top-level variables in the activity. | Parameters | References a list of parameters to the behavior that describes the order and type of arguments that can be given when the behavior is invoked and of the values that will be returned when the behavior completes its execution. |
|
|
|
|
|
Activity Parameter Node | | | | Definition | Activity parameter nodes are object nodes at the beginning and end of flows that provide a means to accept inputs to an activity and provide outputs from the activity, through the activity parameters.
Activity parameters inherit support for streaming and exceptions from Parameter. |
| | Properties | | Name | The name of activity parameter node. | Visibility | Determines where the activity parameter node appears within different Namespaces within the overall model, and its accessibility. | Parameter | The parameter the object node will be accepting or providing values for. | Upper bound | The maximum number of tokens allowed in the node. Objects cannot flow into the node if the upper bound is reached. | Ordering kind | Tells whether and how the tokens in the activity parameter node are ordered for selection to traverse edges outgoing from the activity parameter node. | Direction | Indicates whether a parameter is being sent into or out of a behavioral element. The default value is in. | Type | The type of activity parameter node | Type modifier | Indicates a modifier that applies to the property. | Documentation | Description of activity parameter node. | Control type | Tells whether the type of the object node is to be treated as control. | Must isolate | If true, then the actions in the node execute in isolation from actions outside the node. Default value is false. | Leaf | Indicates whether it is possible to further specialize an activity parameter node. If the value is true, then it is not possible to further specialize the activity parameter node. Default value is false. | InStates | The required states of the object available at this point in the activity. |
|
|
|
|
|
Action | | | | Definition | An action represents a single step within an activity, that is, one that is not further decomposed within the activity. An activity represents a behavior that is composed of individual elements that are actions. Note, however, that a call behavior action may reference an activity definition, in which case the execution of the call action involves the execution of the referenced activity and its actions (similarly for all the invocation actions). An action is therefore simple from the point of view of the activity containing it, but may be complex in its effect and not be atomic. As a piece of structure within an activity model, it is a single discrete element; as a specification of behavior to be performed, it may invoke referenced behavior that is arbitrarily complex. As a consequence, an activity defines a behavior that can be reused in many places, whereas an instance of an action is only used once at a particular point in an activity.
An action may have sets of incoming and outgoing activity edges that specify control flow and data flow from and to other nodes. An action will not begin execution until all of its input conditions are satisfied. The completion of the execution of an action may enable the execution of a set of successor nodes and actions that take their inputs from the outputs of the action. |
| | Properties | | Name | The name of action. | Visibility | Determines where the action appears within different namespaces within the overall model, and its accessibility. | Type | Determines whether it is a call behavior action or a call operation action. Call behavior action is a call action that invokes a behavior directly rather than invoking a behavioral feature that, in turn, results in the invocation of that behavior. Call operation action is an action that transmits an operation call request to the target object, where it may cause the invocation of associated behavior. | Effect | The effect of completing the action. | Documentation | Description of action. | Must isolate | Because of the concurrent nature of the execution of actions within and across procedures, it can be difficult to guarantee the consistent access and modification of object memory. In order to avoid these problems, it is necessary to isolate the effects of a group of actions from the effects of actions outside the group. This is indicated by setting the mustIsolate attribute to "true" on a group action. | Leaf | Indicates whether it is possible to further specialize an action. If the value is true, then it is not possible to further specialize the action. |
|
|
|
|
|
Accept Event Action | | | | Definition | AcceptEventAction is an action that waits for the occurrence of an event meeting specified condition. |
| | Properties | | Name | The name of action. | Visibility | Determines where the action appears within different namespaces within the overall model, and its accessibility. | Type | Determines whether it is a call behavior action or a call operation action. Call behavior action is a call action that invokes a behavior directly rather than invoking a behavioral feature that, in turn, results in the invocation of that behavior. Call operation action is an action that transmits an operation call request to the target object, where it may cause the invocation of associated behavior. | Effect | The effect of completing the action. | Documentation | Description of action. | Must isolate | Because of the concurrent nature of the execution of actions within and across procedures, it can be difficult to guarantee the consistent access and modification of object memory. In order to avoid these problems, it is necessary to isolate the effects of a group of actions from the effects of actions outside the group. This is indicated by setting the mustIsolate attribute to "true" on a group action. | Leaf | Indicates whether it is possible to further specialize an action. If the value is true, then it is not possible to further specialize the action. |
|
|
|
|
|
Accept Time Event Action | | | | Definition | If the occurrence is a time event occurrence, the result value contains the time at which the occurrence transpired. Such an action is informally called a wait time action. |
| | Properties | | Name | The name of action. | Visibility | Determines where the action appears within different namespaces within the overall model, and its accessibility. | Type | Determines whether it is a call behavior action or a call operation action. Call behavior action is a call action that invokes a behavior directly rather than invoking a behavioral feature that, in turn, results in the invocation of that behavior. Call operation action is an action that transmits an operation call request to the target object, where it may cause the invocation of associated behavior. | Effect | The effect of completing the action. | Documentation | Description of action. | Must isolate | Because of the concurrent nature of the execution of actions within and across procedures, it can be difficult to guarantee the consistent access and modification of object memory. In order to avoid these problems, it is necessary to isolate the effects of a group of actions from the effects of actions outside the group. This is indicated by setting the mustIsolate attribute to "true" on a group action. | Leaf | Indicates whether it is possible to further specialize an action. If the value is true, then it is not possible to further specialize the action. |
|
|
|
|
|
Activity Final Node | | | | Definition | An activity may have more than one activity final node. The first one reached stops all flows in the activity. |
| | Properties | | Name | The name of activity final node. | Visibility | Determines where the activity final node appears within different Namespaces within the overall model, and its accessibility. | Documentation | Description of activity final node. | Must isolate | If true, then the actions in the node execute in isolation from actions outside the node. | Leaf | Indicates whether it is possible to further specialize an activity final node. If the value is true, then it is not possible to further specialize the activity final node. |
|
|
|
|
|
Central Buffer Node | | | | Definition | A central buffer node accepts tokens from upstream object nodes and passes them along to downstream object nodes. They act as a buffer for multiple in flows and out flows from other object nodes. They do not connect directly to actions. |
| | Properties | | Name | The name of central buffer node. | Visibility | Determines where the central buffer node appears within different Namespaces within the overall model, and its accessibility. | Parameter | The parameter the object node will be accepting or providing values for. | Upper bound | The maximum number of tokens allowed in the node. Objects cannot flow into the node if the upper bound is reached. | Ordering kind | Tells whether and how the tokens in the central buffer node are ordered for selection to traverse edges outgoing from the central buffer node. | Type | The type of central buffer node | Type modifier | Indicates a modifier that applies to the property. | Documentation | Description of central buffer node. | Documentation | Description of activity parameter node. | Control type | Tells whether the type of the object node is to be treated as control. | Must isolate | If true, then the actions in the node execute in isolation from actions outside the node. Default value is false. | Leaf | Indicates whether it is possible to further specialize a central buffer node. If the value is true, then it is not possible to further specialize the central buffer node. Default value is false. | InStates | The required states of the object available at this point in the activity. |
|
|
|
|
|
Conditional Node Specification | | | | Definition | A conditional node is a structured activity node that represents an exclusive choice among some number of alternatives. |
| | Properties | | Name | The name of conditional node specification. | Visibility | Determines where the conditional node appears within different Namespaces within the overall model, and its accessibility. | Documentation | Description of conditional node specification. | Must isolate | If true, then the actions in the node execute in isolation from actions outside the node. Default value is false. | Leaf | Indicates whether it is possible to further specialize a conditional node. If the value is true, then it is not possible to further specialize the conditional node. Default value is false. | Assured | If true, the modeler asserts that at least one test will succeed. Default value is false. | Determinate | If true, the modeler asserts that at most one test will succeed. Default value is false. | Children | The children of conditional node | Variables | A variable defined in the scope of the structured activity node. It has no value and may not be accessed outside the node. | Clauses | of clauses composing the conditional. | Result | A list of output pins that constitute the data flow outputs of the conditional. |
|
|
|
|
|
Control Flow | | | | Definition | A control flow is an edge that starts an activity node after the previous one is finished. |
| | Properties | | Name | The name of control flow. | Source | Node from which tokens are taken when they traverse the edge. | Target | Node to which tokens are put when they traverse the edge. | Weight | The minimum number of tokens that must traverse the edge at the same time. | Guard | Specification evaluated at runtime to determine if the edge can be traversed. | Documentation | Description of control flow. | Duration Constraint | A DurationConstraint defines a Constraint that refers to a DurationInterval. |
|
|
|
|
|
Constraint | | | | Definition | A condition or restriction expressed in natural language text or in a machine readable language for the purpose of declaring some of the semantics of an element. |
| | Properties | | Name | The name of constraint. It is optional and is commonly omitted. | Expression | The condition that must be true when evaluated in order for the constraint to be satisfied. | Documentation | Description of constraint. |
|
|
|
|
|
Data Store Node | | | | | | Properties | | Name | The name of data store node. | Visibility | Determines where the data store node appears within different Namespaces within the overall model, and its accessibility. | Parameter | The parameter the object node will be accepting or providing values for. | Upper bound | The maximum number of tokens allowed in the node. Objects cannot flow into the node if the upper bound is reached. | Ordering kind | Tells whether and how the tokens in the data store node are ordered for selection to traverse edges outgoing from the data store node. | Type | The type of data store node | Type modifier | Indicates a modifier that applies to the property. | Documentation | Description of data store node. | Control type | Tells whether the type of the object node is to be treated as control. | Must isolate | If true, then the actions in the node execute in isolation from actions outside the node. Default value is false. | Leaf | Indicates whether it is possible to further specialize a data store node. If the value is true, then it is not possible to further specialize the data store node. Default value is false. | InStates | The required states of the object available at this point in the activity. |
|
|
|
|
|
Decision Node | | | | Definition | A decision node accepts tokens on an incoming edge and presents them to multiple outgoing edges. Which of the edges is actually traversed depends on the evaluation of the guards on the outgoing edges. |
| | Properties | | Name | The name of decision node. | Visibility | Determines where the decision node appears within different Namespaces within the overall model, and its accessibility. | Documentation | Description of decision node. | Must isolate | If true, then the actions in the node execute in isolation from actions outside the node. | Leaf | Indicates whether it is possible to further specialize a decision node. If the value is true, then it is not possible to further specialize the decision node. |
|
|
|
|
|
Exception Handler | | | | Definition | An exception handler is an element that specifies a body to execute in case the specified exception occurs during the execution of the protected node. |
| | Properties | | Name | The name of exception handler. | Protected node | node protected by the handler. The handler is examined if an exception propagates to the outside of the node. | Handler body | A node that is executed if the handler satisfies an uncaught exception. | Exception input | An object node within the handler body. When the handler catches an exception, the exception token is placed in this node, causing the body to execute. | Documentation | Description of exception handler. | Exception Types | The kind of instances that the handler catches. If an exception occurs whose type is any of the classifiers in the set, the handler catches the exception and executes its body. |
|
|
|
|
|
Expansion Node | | | | Definition | An expansion node is an object node used to indicate a flow across the boundary of an expansion region. A flow into a region contains a collection that is broken into its individual elements inside the region, which is executed once per element. A flow out of a region combines individual elements into a collection for use outside the region. |
| | Properties | | Name | The name of expansion node. | Visibility | Determines where the expansion node appears within different Namespaces within the overall model, and its accessibility. | Parameter | The parameter the object node will be accepting or providing values for. | Upper bound | The maximum number of tokens allowed in the node. Objects cannot flow into the node if the upper bound is reached. | Ordering kind | Tells whether and how the tokens in the expansion node are ordered for selection to traverse edges outgoing from the expansion node. | Type | The type of expansion node | Type modifier | Indicates a modifier that applies to the property. | Documentation | Description of expansion node. | Control type | Tells whether the type of the object node is to be treated as control. | Must isolate | If true, then the actions in the node execute in isolation from actions outside the node. Default value is false. | Leaf | Indicates whether it is possible to further specialize a expansion node. If the value is true, then it is not possible to further specialize the expansion node. Default value is false. | InStates | The required states of the object available at this point in the activity. |
|
|
|
|
|
Expansion Region | | | | Definition | An expansion region is a strictly nested region of an activity with explicit input and outputs (modeled as ExpansionNodes). Each input is a collection of values. If there are multiple inputs, each of them must hold the same kind of collection, although the types of the elements in the different collections may vary. The expansion region is executed once for each element (or position) in the input collection |
| | Properties | | Name | The name of expansion region. | Visibility | Determines where the expansion region appears within different Namespaces within the overall model, and its accessibility. | Mode | The way in which the executions interact (default value is iterative): parallel - all interactions are independent iterative - the interactions occur in order of the elements stream - a stream of values flows into a single execution | Documentation | Description of expansion region. | Must isolate | If true, then the actions in the node execute in isolation from actions outside the node. | Leaf | Indicates whether it is possible to further specialize an expansion region. If the value is true, then it is not possible to further specialize the expansion region. | Children | The children of expansion region | Variables | |
|
|
|
|
|
Flow Final Node | | | | Definition | A flow final destroys all tokens that arrive at it. It has no effect on other flows in the activity. |
| | Properties | | Name | The name of flow final node. | Visibility | Determines where the flow final node appears within different Namespaces within the overall model, and its accessibility. | Documentation | Description of flow final node. | Must isolate | If true, then the actions in the node execute in isolation from actions outside the node. | Leaf | Indicates whether it is possible to further specialize an flow final node. If the value is true, then it is not possible to further specialize the activity final node. |
|
|
|
|
|
Fork Node | | | | Definition | A fork node is a control node that splits a flow into multiple concurrent flows. A fork node has one incoming edge and multiple outgoing edges. |
| | Properties | | Name | The name of fork node. | Visibility | Determines where the fork appears within different Namespaces within the overall model, and its accessibility. | Documentation | Description of fork. | Must isolate | If true, then the actions in the node execute in isolation from actions outside the node. | Leaf | Indicates whether it is possible to further specialize a fork node. If the value is true, then it is not possible to further specialize the fork node. |
|
|
|
|
|
Initial Node | | | | Definition | An initial node is a control node at which flow starts when the activity is invoked. An activity may have more than one initial node. |
| | Properties | | Name | The name of initial node. | Visibility | Determines where the initial node appears within different Namespaces within the overall model, and its accessibility. | Documentation | Description of initial node. | Must isolate | If true, then the actions in the node execute in isolation from actions outside the node. | Leaf | Indicates whether it is possible to further specialize an initial node. If the value is true, then it is not possible to further specialize the initial node. |
|
|
|
|
|
Input Pin | | | | Definition | Input pins are object nodes that receive values from other actions through object flows. See Pin, Action, and ObjectNode for more details. |
| | Properties | | Name | The name of input pin. | Visibility | Determines where the input pin appears within different Namespaces within the overall model, and its accessibility. | Parameter | The parameter the object node will be accepting or providing values for. | Upper bound | The maximum number of tokens allowed in the node. Objects cannot flow into the node if the upper bound is reached. | Ordering kind | Tells whether and how the tokens in the input pin are ordered for selection to traverse edges outgoing from the input pin. | Type | The type of input pin | Type modifier | Indicates a modifier that applies to the property. | Documentation | Description of input pin. | Control type | Tells whether the type of the object node is to be treated as control. | Must isolate | If true, then the actions in the node execute in isolation from actions outside the node. Default value is false. | Leaf | Indicates whether it is possible to further specialize an input pin. If the value is true, then it is not possible to further specialize the input pin. Default value is false. | InStates | The required states of the object available at this point in the activity. |
|
|
|
|
|
Interruptible Activity Region | | | | Definition | An interruptible activity region is an activity group that supports termination of tokens flowing in the portions of an activity. An interruptible region contains activity nodes. When a token leaves an interruptible region via edges designated by the region as interrupting edges, all tokens and behaviors in the region are terminated. |
| | Properties | | Name | The name of interruptible activity region. | Documentation | Description of interruptible activity region. | Children | The children of interruptible activity region. |
|
|
|
|
|
Join Node | | | | Definition | A join node is a control node that synchronizes multiple flows. A join node has multiple incoming edges and one outgoing edge. |
| | Properties | | Name | The name of join node. | Visibility | Determines where the join node appears within different Namespaces within the overall model, and its accessibility. | Documentation | Description of join node. | Must isolate | If true, then the actions in the node execute in isolation from actions outside the node. | Leaf | Indicates whether it is possible to further specialize a join node. If the value is true, then it is not possible to further specialize the join node. |
|
|
|
|
|
Loop Node | | | | Definition | A loop node is a structured activity node that represents a loop with setup, test, and body sections. Each section is a well-nested sub region of the activity whose nodes follow any predecessors of the loop and precede any successors of the loop. The test section may precede or follow the body section. The setup section is executed once on entry to the loop, and the test and body sections are executed repeatedly until the test produces a false value. The results of the final execution of the test or body are available after completion of execution of the loop. |
| | Properties | | Name | The name of loop node. | Visibility | Determines where the loop node appears within different Namespaces within the overall model, and its accessibility. | Decider | An output pin within the test fragment the value of which is examined after execution of the test to determine whether to execute the loop body. | Documentation | Description of loop node. | Must isolate | If true, then the actions in the node execute in isolation from actions outside the node. | Leaf | Indicates whether it is possible to further specialize a loop node. If the value is true, then it is not possible to further specialize the loop node. | Tested first | If true, the test is performed before the first execution of the body. If false, the body is executed once before the test is performed. Default value is false. | Children | The children of loop node | Variables | A variable defined in the scope of the structured activity node. It has no value and may not be accessed outside the node. | Setup Part | The set of nodes and edges that initialize values or perform other setup computations for the loop. | Test | The set of nodes, edges, and designated value that compute a Boolean value to determine if another execution of the body will be performed. | Body Part | The set of nodes and edges that perform the repetitive computations of the loop. The body section is executed as long as the test section produces a true value. | Result | A list of output pins that constitute the data flow output of the entire loop. | Loop Variables | A list of output pins that hold the values of the loop variables during an execution of the loop. When the test fails, the values are moved to the result pins of the loop. | Body Output | A list of output pins within the body fragment the values of which are moved to the loop variable pins after completion of execution of the body, before the next iteration of the loop begins or before the loop exits. | Loop Variables Input | A list of values that are moved into the loop variable pins before the first iteration of the loop. |
|
|
|
|
|
Merge Node | | | | Definition | A merge node is a control node that brings together multiple alternate flows. It is not used to synchronize concurrent flows but to accept one among several alternate flows. A merge node has multiple incoming edges and a single outgoing edge. |
| | Properties | | Name | The name of merge node. | Visibility | Determines where the merge node appears within different Namespaces within the overall model, and its accessibility. | Documentation | Description of merge node. | Must isolate | If true, then the actions in the node execute in isolation from actions outside the node. | Leaf | Indicates whether it is possible to further specialize a merge node. If the value is true, then it is not possible to further specialize the merge node. |
|
|
|
|
|
Note | | | | Definition | A note (comment) gives the ability to attach various remarks to elements. A comment carries no semantic force, but may contain information that is useful to a modeler. |
| | Properties | | Name | The name of note. | Documentation | Specifies a string that is the comment. |
|
|
|
|
|
Object Flow | | | | Definition | An object flow is an activity edge that can have objects or data passing along it. |
| | Properties | | Name | The name of object flow. | Source | Node from which tokens are taken when they traverse the edge. | Target | Node to which tokens are put when they traverse the edge. | Selection | Selects tokens from a source object node. | Transformation | Changes or replaces data tokens flowing along edge. | Weight | The minimum number of tokens that must traverse the edge at the same time. | Guard | Specification evaluated at runtime to determine if the edge can be traversed. | Documentation | Description of object flow. | Multicast | Tells whether the objects in the flow are passed by multicasting. | Multireceive | Tells whether the objects in the flow are gathered from respondents to multicasting. |
|
|
|
|
|
Object Node | | | | Definition | An object node is an activity node that indicates an instance of a particular classifier, possibly in a particular state, may be available at a particular point in the activity. Object nodes can be used in a variety of ways, depending on where objects are flowing from and to, as described in the semantics sub clause. |
| | Properties | | Name | The name of object node. | Visibility | Determines where the data store node appears within different Namespaces within the overall model, and its accessibility. | Parameter | The parameter the object node will be accepting or providing values for. | Upper bound | The maximum number of tokens allowed in the node. Objects cannot flow into the node if the upper bound is reached. | Ordering kind | Tells whether and how the tokens in the data store node are ordered for selection to traverse edges outgoing from the data store node. | Type | The type of object node | Type modifier | Indicates a modifier that applies to the property. | Documentation | Description of object node. | Control type | Tells whether the type of the object node is to be treated as control. | Must isolate | If true, then the actions in the node execute in isolation from actions outside the node. Default value is false. | Leaf | Indicates whether it is possible to further specialize an object node. If the value is true, then it is not possible to further specialize the object node. Default value is false. | InStates | The required states of the object available at this point in the activity. |
|
|
|
|
|
Output Pin | | | | Definition | Output pins are object nodes that deliver values to other actions through object flows. |
| | Properties | | Name | The name of output pin. | Visibility | Determines where the data store node appears within different Namespaces within the overall model, and its accessibility. | Parameter | The parameter the object node will be accepting or providing values for. | Upper bound | The maximum number of tokens allowed in the node. Objects cannot flow into the node if the upper bound is reached. | Ordering kind | Tells whether and how the tokens in the data store node are ordered for selection to traverse edges outgoing from the data store node. | Type | The type of data store node | Type modifier | Indicates a modifier that applies to the property. | Documentation | Description of output pin. | Control type | Tells whether the type of the output pin is to be treated as control. | Must isolate | If true, then the actions in the node execute in isolation from actions outside the node. Default value is false. | Leaf | Indicates whether it is possible to further specialize a output pin. If the value is true, then it is not possible to further specialize the output pin. Default value is false. | InStates | The required states of the object available at this point in the activity. |
|
|
|
|
|
Send Signal Action | | | | Definition | SendSignalAction is an action that creates a signal instance from its inputs, and transmits it to the target object, where it may cause the firing of a state machine transition or the execution of an activity. The argument values are available to the execution of associated behaviors. The requestor continues execution immediately. Any reply message is ignored and is not transmitted to the requestor. If the input is already a signal instance, use SendObjectAction. |
| | Properties | | Name | The name of action. | Visibility | Determines where the action appears within different namespaces within the overall model, and its accessibility. | Type | Determines whether it is a call behavior action or a call operation action. Call behavior action is a call action that invokes a behavior directly rather than invoking a behavioral feature that, in turn, results in the invocation of that behavior. Call operation action is an action that transmits an operation call request to the target object, where it may cause the invocation of associated behavior. | Effect | The effect of completing the action. | Documentation | Description of action. | Must isolate | Because of the concurrent nature of the execution of actions within and across procedures, it can be difficult to guarantee the consistent access and modification of object memory. In order to avoid these problems, it is necessary to isolate the effects of a group of actions from the effects of actions outside the group. This is indicated by setting the mustIsolate attribute to "true" on a group action. | Leaf | Indicates whether it is possible to further specialize an action. If the value is true, then it is not possible to further specialize the action. |
|
|
|
|
|
Sequence Node | | | | Definition | A sequence node is a structured activity node that executes its actions in order. |
| | Properties | | Name | The name of sequence node. | Visibility | Determines where the sequence node appears within different namespaces within the overall model, and its accessibility. | Documentation | Description of sequence node. | Must isolate | If true, then the actions in the node execute in isolation from actions outside the node. Default value is false. | Leaf | Indicates whether it is possible to further specialize a sequence node. If the value is true, then it is not possible to further specialize the sequence node. | Children | The children of sequence node | Variables | A variable defined in the scope of the sequence node. It has no value and may not be accessed outside the node. |
|
|
|
|
|
Structured Activity Node | | | | Definition | A sequence node is a structured activity node that executes its actions in order. |
| | Properties | | Name | The name of structured activity node. | Visibility | Determines where the structured activity node appears within different namespaces within the overall model, and its accessibility. | Documentation | Description of structured activity node. | Must isolate | If true, then the actions in the node execute in isolation from actions outside the node. Default value is false. | Leaf | Indicates whether it is possible to further specialize a structured activity node. If the value is true, then it is not possible to further specialize the structured activity node. | Children | The children of structured activity node | Variables | A variable defined in the scope of the structured activity node. It has no value and may not be accessed outside the node. |
|
|
|
|
|
Swimlane | | | | Definition | Swimlane is used for partitioning the children in an activity diagram. |
| | Properties | | Name | The name of swimlane. | Documentation | Description of swimlane. | Horizontal Partitions | The horizontal partitions of swimlane. | Vertical Partitions | The horizontal partitions of swimlane. |
|
|
|
|
|
Value Pin | | | | Definition | A value pin is an input pin that provides a value to an action that does not come from an incoming object flow edge. |
| | Properties | | Name | The name of value pin. | Visibility | Determines where the data store node appears within different Namespaces within the overall model, and its accessibility. | Parameter | The parameter the object node will be accepting or providing values for. | Upper bound | The maximum number of tokens allowed in the node. Objects cannot flow into the node if the upper bound is reached. | Ordering kind | Tells whether and how the tokens in the data store node are ordered for selection to traverse edges outgoing from the data store node. | Type | The type of data store node | Type modifier | Indicates a modifier that applies to the property. | Documentation | Description of value pin. | Control type | Tells whether the type of the object node is to be treated as control. | Must isolate | If true, then the actions in the node execute in isolation from actions outside the node. Default value is false. | Leaf | Indicates whether it is possible to further specialize a data store node. If the value is true, then it is not possible to further specialize the data store node. Default value is false. | InStates | The required states of the object available at this point in the activity. |
|
|
|
|
|
Definition of notations is quoted from Object Management Group Unified Modeling Language (OMG UML) Superstructure Version 2.2 and former versions (for notations that do not exist anymore in latest specification). |
|
Use case diagram
|
Class diagram
|
Sequence diagram
|
Communication diagram
|
State machine diagram
|
Activity diagram
|
Component diagram
|
Deployment diagram
|
Package diagram
|
Object diagram
|
Composite structure diagram
|
Timing diagram
|
Interaction overview diagram
|