IBM BPM, V8.0.1, All platforms > Create processes in IBM Process Designer > Modeling processes > Create a business process definition (BPD)

Subprocess types

Subprocess is an option for encapsulating logically related steps within a parent process. Steps in a subprocess can directly access business objects (variables) from the parent process. No data mapping is required. However, unlike a linked process, a subprocess can be accessed and instantiated only from the parent BPD, and it is not reusable by any other process or subprocess.

A subprocess represents a collection of logically related steps contained within a parent process. You can view a subprocess as a single activity, providing a simplified, high-level view of the parent process, or you can drill into the subprocess for a more detailed view of its contents.

A subprocess can be embedded within another subprocess. To drill down into a collapsed subprocess and view the contents, double-click the subprocess activity in the parent. To go back to the parent process from within a subprocess or event subprocess, use the navigation in the upper left corner of the diagram. To return to a parent process from a linked process, use the menu above the canvas.

Subprocesses can contain swimlanes that are distinct from the parent process.

For example, activities in your subprocess can be carried out by a set of participants that is different from the set of participants that carry out the activities in the parent process.

Like other activities, subprocesses can be configured to run multiple times within the execution of the parent process by configuring looping behavior on the subprocess activity element in the parent process.

There are three types of subprocesses that you can model in a BPD. Their characteristics are described in the following table.

Types of subprocesses that can be modeled in a business process definition
Implementation Description Characteristics Variable scope
Subprocess A non-reusable subprocess that exists only within the parent process. Each subprocess must contain at least one start event with an implementation type of None.

Activity names must be unique with respect to the top-level process activities, and all other subprocesses and event subprocesses under the same top-level process.

Inherits variables from the parent process and can contain local private variables visible only within the subprocess.

Variable names declared in a subprocess cannot be the same as variable names declared in any of its parent processes. If there are multiple layers of embedding, with subprocesses contained within other subprocesses, variable names must be unique throughout the entire subprocess hierarchy.

Linked process A call to another reusable process. The process called by the linked process activity can contain multiple start events, but must contain at least one start event with an implementation type of None. Variable data is local to each process, therefore data mapping is required to pass data into and out of the linked process.
Event subprocess A specialized type of non-reusable subprocess that is not part of the normal sequence flow of its parent process, and which might occur zero or many times during the execution of the parent process. Must contain a single start event, which can be one of:

  • Timer
  • Message
  • Error

Event subprocess execution can interrupt parent process or can run in parallel.

Activity names must be unique with respect to the top-level process activities, and all other subprocesses and event subprocesses under the same top-level process.

Boundary events are not supported on an event subprocess.

Inherits variables from the parent process and can contain local private variables visible only within the subprocess.

Variable names declared in an event subprocess cannot be the same as variable names declared in any of its parent processes. If there are multiple layers of embedding, with event subprocesses contained within other subprocesses, variable names must be unique throughout the entire subprocess hierarchy.

Create a business process definition (BPD)