Chapter 4. BPMN 2.0 Notation

4.1. Business Process Model and Notation (BPMN) 2.0 Specification

The Business Process Model and Notation (BPMN) 2.0 specification defines a standard for graphically representing a business process; it includes execution semantics for the defined elements and an XML format to store and share process definitions.
The table below shows the supported elements of the BPMN 2.0 specification and includes some additional elements and attributes.

Table 4.1. BPMN 2.0 Supported Elements and Attributes

Element Supported attributes Supported elements Extension attributes Extension elements
definitions rootElement BPMNDiagram
process processType isExecutable name id property laneSet flowElement packageName adHoc version import global
sequenceFlow sourceRef targetRef isImmediate name id conditionExpression priority
interface name id operation
operation name id inMessageRef
laneSet lane
lane name id flowNodeRef
import* name
global* identifier type
Events
startEvent name id dataOutput dataOutputAssociation outputSet eventDefinition x y width height
endEvent name id dataInput dataInputAssociation inputSet eventDefinition x y width height
intermediateCatchEvent name id dataOutput dataOutputAssociation outputSet eventDefinition x y width height
intermediateThrowEvent name id dataInput dataInputAssociation inputSet eventDefinition x y width height
boundaryEvent cancelActivity attachedToRef name id eventDefinition x y width height
terminateEventDefinition
compensateEventDefinition activityRef documentation extensionElements
conditionalEventDefinition condition
errorEventDefinition errorRef
error errorCode id
escalationEventDefinition escalationRef
escalation escalationCode id
messageEventDefinition messageRef
message itemRef id
signalEventDefinition signalRef
timerEventDefinition timeCycle timeDuration
Activities
task name id ioSpecification dataInputAssociation dataOutputAssociation taskName x y width height
scriptTask scriptFormat name id script x y width height
script text[mixed content]
userTask name id ioSpecification dataInputAssociation dataOutputAssociation resourceRole x y width height onEntry-script onExit-script
potentialOwner resourceAssignmentExpression
resourceAssignmentExpression expression
businessRuleTask name id x y width height ruleFlowGroup onEntry-script onExit-script
manualTask name id x y width height onEntry-script onExit-script
sendTask messageRef name id ioSpecification dataInputAssociation x y width height onEntry-script onExit-script
receiveTask messageRef name id ioSpecification dataOutputAssociation x y width height onEntry-script onExit-script
serviceTask operationRef name id ioSpecification dataInputAssociation dataOutputAssociation x y width height onEntry-script onExit-script
subProcess name id flowElement property loopCharacteristics x y width height
adHocSubProcess cancelRemainingInstances name id completionCondition flowElement property x y width height
callActivity calledElement name id ioSpecification dataInputAssociation dataOutputAssociation x y width height waitForCompletion independent onEntry-script onExit-script
multiInstanceLoopCharacteristics loopDataInputRef inputDataItem
onEntry-script* scriptFormat script
onExit-script* scriptFormat script
Gateways
parallelGateway gatewayDirection name id x y width height
eventBasedGateway gatewayDirection name id x y width height
exclusiveGateway default gatewayDirection name id x y width height
inclusiveGateway default gatewayDirection name id x y width height
Data
property itemSubjectRef id
dataObject itemSubjectRef id
itemDefinition structureRef id
ioSpecification dataInput dataOutput inputSet outputSet
dataInput name id
dataInputAssociation sourceRef targetRef assignment
dataOutput name id
dataOutputAssociation sourceRef targetRef assignment
inputSet dataInputRefs
outputSet dataOutputRefs
assignment from to
formalExpression language text[mixed content]
BPMNDI
BPMNDiagram BPMNPlane
BPMNPlane bpmnElement BPMNEdge BPMNShape
BPMNShape bpmnElement Bounds
BPMNEdge bpmnElement waypoint
Bounds x y width height
waypoint x y