A SubProcess is an Activity whose internal details have been modeled using activities, gateways, events, and sequence flows. A SubProcess is a graphical object within a process. It can be “opened up” to show a lower-level process. SubProcesses define a contextual scope that can be used for attribute visibility and a transactional scope for the handling exceptions of Events or for compensation.

A collapsed view of a SubProcess hides its details while an expanded view shows its content. A collapsed SubProcess uses a plus sign (+) to distinguish itself from a Task.

Different types of SubProcesses used in business process modeling are as follows: