Subprocess

An subprocess is a compound activity that is included within a task (process). Each task may have its own subprocesses. Each subprocess can also contain other subprocesses.

The details of the subprocess are not visible in the diagram. A “plus” sign in the lower-center of the shape indicates that the activity is a subprocess and has a lower level of detail. A subprocess can be independent, embedded, or referenced.

An embedded subprocess is an activity that shares the same set of data as its parent process. A subprocess that is independent does not share data with the parent process. A subprocess that is referenced shares some data with it. Data needs to be passed to the independent subprocess, but not to the embedded subprocess.

A link is a mechanism for connecting the end (result) of one process to the start (trigger) of another. Typically, these are two subprocesses within the same parent process.

To create a subprocess, do one of the following:

1.       In the Palette, click the arrow next to the Subprocess object and select the type of subprocess (embedded, independent, or reference), click to select it, and click on the model to insert it.

1.       Select an existing activity, open Properties view, and change the activity type from task to subprocess, then select the subprocess type.

2.       Drag and drop a new activity element onto an existing activity. This automatically transforms the existing task into an embedded subprocess. The new activity element is automatically assigned the activity type of task. To create an independent subprocess using drag and drop, you can drag a process from the Artifact view of another diagram into the active diagram.

If a subprocess has been expanded within a diagram, the objects within the subprocess cannot be connected to objects outside of the subprocess. Sequence Flow cannot cross the boundary of a subprocess.