Collaboration and message flows
Pools, participants and message flows with an optional offline player.
Scope: Collaboration rendering and drawn-structure illustration. Conditions and tokens are not executed.
Preview
Source
collaboration-di.bpmn
application/xml
<?xml version="1.0" encoding="UTF-8"?>
<b:definitions xmlns:b="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bd="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" targetNamespace="urn:render:collaboration">
<b:message id="OrderMessage" name="Purchase order"/>
<b:process id="OrderProcess" name="Prepare order" isExecutable="false">
<b:startEvent id="Start" name="Start"/>
<b:subProcess id="Prepare" name="Prepare order">
<b:startEvent id="Received" name="Received"/>
<b:serviceTask id="Work" name="Prepare"/>
<b:endEvent id="Ready" name="Ready"/>
<b:sequenceFlow id="BeginWork" sourceRef="Received" targetRef="Work"/>
<b:sequenceFlow id="CompleteWork" sourceRef="Work" targetRef="Ready"/>
</b:subProcess>
<b:endEvent id="Placed" name="Placed"/>
<b:sequenceFlow id="BeginOrder" sourceRef="Start" targetRef="Prepare"/>
<b:sequenceFlow id="CompleteOrder" sourceRef="Prepare" targetRef="Placed"/>
</b:process>
<b:collaboration id="Purchase" name="Purchase collaboration">
<b:participant id="Buyer" name="Buyer" processRef="OrderProcess"/>
<b:participant id="Supplier" name="Supplier"/>
<b:messageFlow id="Order" name="Order" sourceRef="Work" targetRef="Supplier" messageRef="OrderMessage"/>
<b:textAnnotation id="SupplierNote"><b:text>External supplier</b:text></b:textAnnotation>
<b:association id="ExplainSupplier" sourceRef="Supplier" targetRef="SupplierNote"/>
</b:collaboration>
<bd:BPMNDiagram id="PurchaseDiagram"><bd:BPMNPlane id="PurchasePlane" bpmnElement="Purchase">
<bd:BPMNShape id="BuyerShape" bpmnElement="Buyer" isHorizontal="true"><dc:Bounds x="20" y="20" width="700" height="320"/></bd:BPMNShape>
<bd:BPMNShape id="SupplierShape" bpmnElement="Supplier" isHorizontal="true"><dc:Bounds x="20" y="400" width="700" height="100"/></bd:BPMNShape>
<bd:BPMNShape bpmnElement="Start"><dc:Bounds x="100" y="130" width="36" height="36"/></bd:BPMNShape>
<bd:BPMNShape bpmnElement="Prepare" isExpanded="true"><dc:Bounds x="220" y="60" width="360" height="220"/></bd:BPMNShape>
<bd:BPMNShape bpmnElement="Received"><dc:Bounds x="250" y="110" width="36" height="36"/></bd:BPMNShape>
<bd:BPMNShape id="WorkShape" bpmnElement="Work"><dc:Bounds x="340" y="90" width="140" height="80"/></bd:BPMNShape>
<bd:BPMNShape bpmnElement="Ready"><dc:Bounds x="510" y="110" width="36" height="36"/></bd:BPMNShape>
<bd:BPMNShape bpmnElement="Placed"><dc:Bounds x="640" y="152" width="36" height="36"/></bd:BPMNShape>
<bd:BPMNShape bpmnElement="SupplierNote"><dc:Bounds x="800" y="400" width="180" height="100"/></bd:BPMNShape>
<bd:BPMNEdge bpmnElement="BeginOrder"><di:waypoint x="136" y="148"/><di:waypoint x="180" y="148"/><di:waypoint x="180" y="170"/><di:waypoint x="220" y="170"/></bd:BPMNEdge>
<bd:BPMNEdge bpmnElement="CompleteOrder"><di:waypoint x="580" y="170"/><di:waypoint x="640" y="170"/></bd:BPMNEdge>
<bd:BPMNEdge bpmnElement="BeginWork"><di:waypoint x="286" y="128"/><di:waypoint x="310" y="128"/><di:waypoint x="310" y="130"/><di:waypoint x="340" y="130"/></bd:BPMNEdge>
<bd:BPMNEdge bpmnElement="CompleteWork"><di:waypoint x="480" y="130"/><di:waypoint x="495" y="130"/><di:waypoint x="495" y="128"/><di:waypoint x="510" y="128"/></bd:BPMNEdge>
<bd:BPMNEdge bpmnElement="Order" sourceElement="WorkShape" targetElement="SupplierShape" messageVisibleKind="initiating"><di:waypoint x="410" y="170"/><di:waypoint x="410" y="300"/><di:waypoint x="760" y="300"/><di:waypoint x="760" y="450"/><di:waypoint x="720" y="450"/><bd:BPMNLabel><dc:Bounds x="620" y="270" width="80" height="18"/></bd:BPMNLabel></bd:BPMNEdge>
<bd:BPMNEdge bpmnElement="ExplainSupplier"><di:waypoint x="720" y="460"/><di:waypoint x="800" y="460"/></bd:BPMNEdge>
</bd:BPMNPlane></bd:BPMNDiagram>
</b:definitions>