Profile contract
bpmn.choreography@1
BPMN 2.0.2 choreography: choreography tasks with two or more participant bands (x_bands), multi-instance bands, choreography subprocesses and gateways, sequence flows between task bands.
graph projectionBPMN choreography diagram
Open this profile in the gallery
Primary palette
Additional context roles
flow.acceptsignalflow.annotationflow.callconversationflow.cardflow.collateflow.connectorflow.conversationflow.datainputflow.dataobjectflow.dataoutputflow.datastoreflow.decisionflow.delayflow.displayflow.documentflow.flowfinalflow.forkjoinflow.groupflow.ioflow.isoextractflow.isomergeflow.loopendflow.loopstartflow.manualinputflow.manualopflow.mergeflow.objectnodeflow.offpageflow.parallelmodeflow.preparationflow.processflow.sendsignalflow.sortflow.storageflow.subconversationflow.subprocessflow.timeeventRelationship roles
Legal endpoints
| Relation | Source roles | Target roles | Self relation |
|---|---|---|---|
bpmn.association | flow.choreotask, flow.datainput, flow.dataobject, flow.dataoutput, flow.datastore, flow.end, flow.gateway, flow.intermediate, flow.process, flow.start, flow.subprocess | flow.choreotask, flow.datainput, flow.dataobject, flow.dataoutput, flow.datastore, flow.end, flow.gateway, flow.intermediate, flow.process, flow.start, flow.subprocess | Not allowed |
bpmn.messageflow | flow.end, flow.gateway, flow.process, flow.start, flow.subprocess | flow.end, flow.gateway, flow.process, flow.start, flow.subprocess | Not allowed |
flow.next | flow.card, flow.collate, flow.connector, flow.decision, flow.delay, flow.display, flow.document, flow.end, flow.io, flow.isoextract, flow.isomerge, flow.loopend, flow.loopstart, flow.manualinput, flow.manualop, flow.offpage, flow.parallelmode, flow.preparation, flow.process, flow.sort, flow.start, flow.storage, flow.subprocess | flow.card, flow.collate, flow.connector, flow.decision, flow.delay, flow.display, flow.document, flow.end, flow.io, flow.isoextract, flow.isomerge, flow.loopend, flow.loopstart, flow.manualinput, flow.manualop, flow.offpage, flow.parallelmode, flow.preparation, flow.process, flow.sort, flow.start, flow.storage, flow.subprocess | Not allowed |
uml.flow | flow.acceptsignal, flow.choreotask, flow.connector, flow.decision, flow.end, flow.flowfinal, flow.forkjoin, flow.gateway, flow.group, flow.intermediate, flow.io, flow.merge, flow.objectnode, flow.process, flow.sendsignal, flow.start, flow.subprocess, flow.timeevent | flow.acceptsignal, flow.choreotask, flow.connector, flow.decision, flow.end, flow.flowfinal, flow.forkjoin, flow.gateway, flow.group, flow.intermediate, flow.io, flow.merge, flow.objectnode, flow.process, flow.sendsignal, flow.start, flow.subprocess, flow.timeevent | Not allowed |
Profile verification
- Gateway type is explicit. Message flows cross pool boundaries; a message flow inside the same pool is invalid.
- Keep process sequence and message flow as separate verbs and symbols.
- Validate trigger against event position; boundary events attach to legal selected activities and retain interrupting status.
- Validate gateway fan/marker rules, task/activity decorators, data association endpoints and pool separation.
- Data/group/annotation items are not control-flow tasks; keep their distinct renderer and endpoint contracts.
- Choreography tasks have at least two distinct participant band names, with the schema maximum of six. The bounded contract does not add an unimplemented initiating-participant reference field.
- Pool participant references remain context, not ordinary choreography tasks; preserve band positions and message markers.
Profile defaults
Explicit file settings override eligible CSS, then these profile defaults and the common standard apply. Unspecified semantic facts remain unspecified.
{
"projection.kind": "graph",
"projection.profile": "bpmn.choreography@1"
}Projection properties
kind, profile, inputs, analysis_budget, traces, iso, depth
Design operations
- Create pool/lane frames and events/tasks/gateways; connect sequence or message flows; edit event/gateway metadata.
Bounded analysis
Structural verification and display only; no execution or implied process engine.
Outside this profile
- BPMN XML/DI interchange
- execution semantics
- formal OMG certification