Spawning and Synchronizing Activities
Spawning is a mechanism for starting activities and not waiting on them to complete before continuing with the flow to other activities. At some other point in the Process, the completion of the
spawned activities may be required to continue the flow. This is called synchronization.
Spawning and synchronization are a special case of process flow and not part of the Normal Flow, although these functions do interact with Normal Flow. One factor that makes
spawning a special case is that activities that are
spawned are not a part of the event context that
spawned them. That is, if an activity were
spawned within an interruptible Sub- Process, that activity would be aborted if the Sub-Process were aborted through an Intermediate Event. Thus, the
spawned activity should not reside in the confines of the Sub-Process. This means that the flow from within the Sub-Process must extend to a position outside that Sub-Process. Normal Sequence Flow cannot cross the Sub-Process boundary. The same issue applies to the synchronization of the
spawned activity. Therefore, the graphical mechanism for
spawning and synchronizing must not (entirely) utilize Sequence Flows.
The graphical mechanisms for
spawning activities and then synchronizing the
spawned activities have not been defined for this version of the specification. It is an open issue that will be handled in a later version of the specification. Refer to the section entitled “Open Issues” on page 137 for a complete list of the issues open for BPMN