Activity Groups


An activity group is a grouping of activity nodes and activity edges. The following subsections describe the various kinds of activity groups.

Activity Partitions

An activity partition identifies actions that have some characteristics in common. This partition divides activity nodes and activity edges to constrain, and show a view of, the contained nodes, but it doesn't affect the flows within the given activity.

Activity partitions are represented by swimlanes, which are pairs of parallel ertical or horizontal lines on an activity diagram (discussed later in the chapter). Figure 6-27 shows an excerpt of an activity diagram with swimlanes.


Figure 6-27: Swimlanes

Interruptible Activity Regions

An interruptible activity region supports interrupts by terminating any tokens and behaviors connected with the activity nodes within the region when an interrupt arrives.

An interruptible activity region appears as a dashed, round-cornered rectangle drawn around the nodes it contains. An interrupting activity edge appears as a "lightning bolt" coming from a node within the rectangle. Figure 6-28 shows the notation of an interruptible activity region.


Figure 6-28: Interruptible activity region

Structured Activity Nodes

A structured activity node is an executable node (see the section "Executable Node," earlier in the chapter) that represents a structured portion of a given activity that isn't shared with any other structured node, except for nodes that are nested.

Figure 6-29 shows the notation for a structured activity node.


Figure 6-29: Structured activity node

There are three kinds of structured activity nodes, which are described as follows :

  • A conditional node represents an exclusive choice among some number of alternatives. Each alternative is expressed in the form of a clause, which is a combination of a test and a body section such that if execution of the test results in the value True , the body section is executed.

  • An expansion region executes once for each element within a given collection of values in a particular expansion node (see the section "Object Nodes," earlier in this chapter). These executions occur based on a specified expansion kind; the possible values are iterative (the executions are dependent and thus must be executed one at a time), parallel (the executions are independent and thus may be executed concurrently), and stream (a stream of collection elements flows into a single execution). The results of the executions may form one or more new expansion nodes.

    An expansion region is shown as a dashed box with rounded corners, with the expansion kind value in the upper-left corner and input and output expansion nodes appearing as small rectangles divided by vertical bars into small compartments on the boundaries of the box. Figure 6-30 shows an example of an expansion region.


    Figure 6-30: Expansion region

    Figure 6-31 shows a shorthand notation that you can use if the expansion region has only one activity node.


    Figure 6-31: Expansion region with one node

  • A loop node represents a loop with setup, test, and body sections. The setup section is executed once on entry to the loop; the test and body sections are executed repeatedly until the test produces False .




Fast Track Uml 2.0
Fast Track UML 2.0
ISBN: 1590593200
EAN: 2147483647
Year: 2004
Pages: 97

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net