1.2.1.14 BpmnSubProcess
A Sub-Process is an Activity whose internal details have been modeled using Activities, Gateways, Events, and Sequence Flow. A Sub-Process is a graphical object within a Process, but it also can be ?opened up? to show a lower-level Process. Sub-Processes define a contextual scope that can be used for attribute visibility, transactional scope, for the handling of exceptions, of Events, or for compensation. An Event Sub-Process may or may not occur while the parent Process is active, but it is possible that it will occur many times. Unlike a standard Sub-Process, which uses the flow of the parent Process as a trigger, an Event Sub- Process has a Start Event with a trigger. Each time the Start Event is triggered while the parent Process is active, then the Event Sub-Process will start.
BpmnArtifactBpmnLaneSetTriggeredByEventBpmnSubProcessBpmnFlowElementBpmnActivity
Attribute
Description
boolean TriggeredByEvent [1..1]
A flag that identifies whether this Sub-Process is an Event Sub-Process. ? If false, then this Sub-Process is a normal Sub-Process. ? If true, then this Sub-Process is an Event Sub-Process and is subject to additional constraints.
Association
Description
FlowElement : BpmnFlowElement [0..*]
Artifact : BpmnArtifact [0..*]
LaneSet : BpmnLaneSet [0..*]
When a process is been represented by a Pool, it can be partitioned into Lanes.
1.2.1.14.1 Consistency rules
An Event Sub-Process (triggeredByEvent = true) MUST NOT have any incoming or outgoing Sequence Flow. The Start Event of an Event Sub-Process MUST have a defined trigger The Start Event trigger (EventDefinition) MUST be from the following types: Message, Error, Escalation, Compensation, Conditional, Signal, and Multiple. An Event Sub-Process MUST have one and only one Start Event. An Event Sub-Process MUST NOT have any incoming or outgoing Sequence Flow.