Expansion Region

Description

You create an Expansion Region as one variant of a Region (the other is an Interruptible Activity Region).

On an Activity diagram, an Expansion Region encloses a group of ActivityNodes and ActivityEdges that are to be executed several times on the incoming data, once for every element in the input collection. If there are multiple inputs, the collection sizes should match; if they do not, the smallest collection determines the number of executions. The collections must also be of the same type (such as set, or bag). Any outputs must be in the form of a collection of at least the same size as the input collection; the output collection can be larger if each execution can produce more than one output.

The concurrency of the Expansion Region's multiple executions can be specified as type parallel, iterative, or stream. Parallel reflects that the elements in the incoming collections can be processed at the same time or overlapping, whereas an iterative concurrency type specifies that execution must occur sequentially. A stream-type Expansion Region indicates that the input and output come in and exit as streams, and that the Expansion Region's process must have some method to support streams.

To modify the mode of an Expansion Region, right-click on it and select the 'Properties' option, then select the 'Advanced' tab.

See UML Superstructure Specification, v2.1.1, figure 12.87, p.372.

Toolbox icon

Learn more

OMG UML Specification:

The OMG UML specification (UML Superstructure Specification, v2.1.1, p.367) states:

An expansion region is a structured activity region that executes multiple times corresponding to elements of an input collection.