Field experiment deployment with safe withdrawal
Prepare a field experiment under approved permissions, verify readiness and withdraw provisional equipment and access if deployment cannot proceed. Editable collaboration with role lanes, decisions and explicit rollback activities. Illustrative policy and timing; adapt to local requirements.
Rendering…
What this template contains
- Source
- 67 lines
Make it your own.
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="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" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="field_experiment_deployment_definitions" targetNamespace="urn:flowss:advanced">
<bpmn:message id="field_experiment_deployment_message" name="Field deployment approved"/>
<bpmn:process id="field_experiment_deployment_process" name="Field experiment deployment with safe withdrawal" isExecutable="false">
<bpmn:documentation>Prepare a field experiment under approved permissions, verify readiness and withdraw provisional equipment and access if deployment cannot proceed. Inputs: Field deployment approved. Rollback activities are explicit modelled tasks, not engine-level BPMN compensation handlers. All policy choices, durations and conditions are illustrative. Replace example rules with approved local policy; configure integrations and review before execution. This non-executable template does not assert legal compliance or a real completed case.</bpmn:documentation>
<bpmn:laneSet id="field_experiment_deployment_lanes"><bpmn:lane id="field_experiment_deployment_lane_0" name="Field coordinator"><bpmn:flowNodeRef>field_experiment_deployment_start</bpmn:flowNodeRef><bpmn:flowNodeRef>field_experiment_deployment_intake_1</bpmn:flowNodeRef><bpmn:flowNodeRef>field_experiment_deployment_prepare_1</bpmn:flowNodeRef><bpmn:flowNodeRef>field_experiment_deployment_prepare_2</bpmn:flowNodeRef><bpmn:flowNodeRef>field_experiment_deployment_commit_1</bpmn:flowNodeRef><bpmn:flowNodeRef>field_experiment_deployment_commit_rest_1</bpmn:flowNodeRef><bpmn:flowNodeRef>field_experiment_deployment_complete</bpmn:flowNodeRef></bpmn:lane><bpmn:lane id="field_experiment_deployment_lane_1" name="Readiness reviewer"><bpmn:flowNodeRef>field_experiment_deployment_verification</bpmn:flowNodeRef><bpmn:flowNodeRef>field_experiment_deployment_decision</bpmn:flowNodeRef></bpmn:lane><bpmn:lane id="field_experiment_deployment_lane_2" name="Withdrawal team"><bpmn:flowNodeRef>field_experiment_deployment_rollback_1</bpmn:flowNodeRef><bpmn:flowNodeRef>field_experiment_deployment_rollback_rest_1</bpmn:flowNodeRef><bpmn:flowNodeRef>field_experiment_deployment_rollback_rest_2</bpmn:flowNodeRef><bpmn:flowNodeRef>field_experiment_deployment_alternate</bpmn:flowNodeRef></bpmn:lane></bpmn:laneSet>
<bpmn:startEvent id="field_experiment_deployment_start" name="Field deployment approved"><bpmn:messageEventDefinition id="field_experiment_deployment_start_def" messageRef="field_experiment_deployment_message"/></bpmn:startEvent>
<bpmn:userTask id="field_experiment_deployment_intake_1" name="Confirm approved protocol scope"></bpmn:userTask>
<bpmn:userTask id="field_experiment_deployment_prepare_1" name="Reserve site access"></bpmn:userTask>
<bpmn:userTask id="field_experiment_deployment_prepare_2" name="Stage calibrated instruments"></bpmn:userTask>
<bpmn:userTask id="field_experiment_deployment_verification" name="Check participant safeguards"></bpmn:userTask>
<bpmn:exclusiveGateway id="field_experiment_deployment_decision" name="Deployment ready?" default="field_experiment_deployment_flow_7"></bpmn:exclusiveGateway>
<bpmn:serviceTask id="field_experiment_deployment_commit_1" name="Activate approved collection"></bpmn:serviceTask>
<bpmn:serviceTask id="field_experiment_deployment_rollback_1" name="Disable provisional collection"></bpmn:serviceTask>
<bpmn:serviceTask id="field_experiment_deployment_commit_rest_1" name="Record deployment baseline"></bpmn:serviceTask>
<bpmn:serviceTask id="field_experiment_deployment_rollback_rest_1" name="Recover staged equipment"></bpmn:serviceTask>
<bpmn:serviceTask id="field_experiment_deployment_rollback_rest_2" name="Release site reservation"></bpmn:serviceTask>
<bpmn:endEvent id="field_experiment_deployment_complete" name="Collection activated"></bpmn:endEvent>
<bpmn:endEvent id="field_experiment_deployment_alternate" name="Deployment withdrawn"></bpmn:endEvent>
<bpmn:sequenceFlow id="field_experiment_deployment_flow_1" sourceRef="field_experiment_deployment_start" targetRef="field_experiment_deployment_intake_1"></bpmn:sequenceFlow>
<bpmn:sequenceFlow id="field_experiment_deployment_flow_2" sourceRef="field_experiment_deployment_intake_1" targetRef="field_experiment_deployment_prepare_1"></bpmn:sequenceFlow>
<bpmn:sequenceFlow id="field_experiment_deployment_flow_3" sourceRef="field_experiment_deployment_prepare_1" targetRef="field_experiment_deployment_prepare_2"></bpmn:sequenceFlow>
<bpmn:sequenceFlow id="field_experiment_deployment_flow_4" sourceRef="field_experiment_deployment_prepare_2" targetRef="field_experiment_deployment_verification"></bpmn:sequenceFlow>
<bpmn:sequenceFlow id="field_experiment_deployment_flow_5" sourceRef="field_experiment_deployment_verification" targetRef="field_experiment_deployment_decision"></bpmn:sequenceFlow>
<bpmn:sequenceFlow id="field_experiment_deployment_flow_6" sourceRef="field_experiment_deployment_decision" targetRef="field_experiment_deployment_commit_1" name="Yes"><bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">=deploymentReady = true</bpmn:conditionExpression></bpmn:sequenceFlow>
<bpmn:sequenceFlow id="field_experiment_deployment_flow_7" sourceRef="field_experiment_deployment_decision" targetRef="field_experiment_deployment_rollback_1" name="Otherwise"></bpmn:sequenceFlow>
<bpmn:sequenceFlow id="field_experiment_deployment_flow_8" sourceRef="field_experiment_deployment_commit_1" targetRef="field_experiment_deployment_commit_rest_1"></bpmn:sequenceFlow>
<bpmn:sequenceFlow id="field_experiment_deployment_flow_9" sourceRef="field_experiment_deployment_rollback_1" targetRef="field_experiment_deployment_rollback_rest_1"></bpmn:sequenceFlow>
<bpmn:sequenceFlow id="field_experiment_deployment_flow_10" sourceRef="field_experiment_deployment_rollback_rest_1" targetRef="field_experiment_deployment_rollback_rest_2"></bpmn:sequenceFlow>
<bpmn:sequenceFlow id="field_experiment_deployment_flow_11" sourceRef="field_experiment_deployment_commit_rest_1" targetRef="field_experiment_deployment_complete"></bpmn:sequenceFlow>
<bpmn:sequenceFlow id="field_experiment_deployment_flow_12" sourceRef="field_experiment_deployment_rollback_rest_2" targetRef="field_experiment_deployment_alternate"></bpmn:sequenceFlow>
</bpmn:process>
<bpmn:collaboration id="field_experiment_deployment_collaboration"><bpmn:participant id="field_experiment_deployment_party" name="Principal investigator"/><bpmn:participant id="field_experiment_deployment_pool" name="Field experiment deployment with safe withdrawal" processRef="field_experiment_deployment_process"/><bpmn:messageFlow id="field_experiment_deployment_request" sourceRef="field_experiment_deployment_party" targetRef="field_experiment_deployment_start"/></bpmn:collaboration>
<bpmndi:BPMNDiagram id="field_experiment_deployment_diagram"><bpmndi:BPMNPlane id="field_experiment_deployment_plane" bpmnElement="field_experiment_deployment_collaboration">
<bpmndi:BPMNShape id="field_experiment_deployment_party_di" bpmnElement="field_experiment_deployment_party" isHorizontal="true"><dc:Bounds x="20" y="20" width="2210" height="70"/></bpmndi:BPMNShape>
<bpmndi:BPMNShape id="field_experiment_deployment_pool_di" bpmnElement="field_experiment_deployment_pool" isHorizontal="true"><dc:Bounds x="20" y="180" width="2210" height="780"/></bpmndi:BPMNShape>
<bpmndi:BPMNShape id="field_experiment_deployment_lane_0_di" bpmnElement="field_experiment_deployment_lane_0" isHorizontal="true"><dc:Bounds x="50" y="180" width="2180" height="260"/></bpmndi:BPMNShape>
<bpmndi:BPMNShape id="field_experiment_deployment_lane_1_di" bpmnElement="field_experiment_deployment_lane_1" isHorizontal="true"><dc:Bounds x="50" y="440" width="2180" height="260"/></bpmndi:BPMNShape>
<bpmndi:BPMNShape id="field_experiment_deployment_lane_2_di" bpmnElement="field_experiment_deployment_lane_2" isHorizontal="true"><dc:Bounds x="50" y="700" width="2180" height="260"/></bpmndi:BPMNShape>
<bpmndi:BPMNShape id="field_experiment_deployment_start_di" bpmnElement="field_experiment_deployment_start"><dc:Bounds x="162" y="292" width="36" height="36"/><bpmndi:BPMNLabel><dc:Bounds x="108" y="335" width="144" height="40"/></bpmndi:BPMNLabel></bpmndi:BPMNShape>
<bpmndi:BPMNShape id="field_experiment_deployment_intake_1_di" bpmnElement="field_experiment_deployment_intake_1"><dc:Bounds x="325" y="272" width="130" height="76"/></bpmndi:BPMNShape>
<bpmndi:BPMNShape id="field_experiment_deployment_prepare_1_di" bpmnElement="field_experiment_deployment_prepare_1"><dc:Bounds x="535" y="272" width="130" height="76"/></bpmndi:BPMNShape>
<bpmndi:BPMNShape id="field_experiment_deployment_prepare_2_di" bpmnElement="field_experiment_deployment_prepare_2"><dc:Bounds x="745" y="272" width="130" height="76"/></bpmndi:BPMNShape>
<bpmndi:BPMNShape id="field_experiment_deployment_verification_di" bpmnElement="field_experiment_deployment_verification"><dc:Bounds x="955" y="532" width="130" height="76"/></bpmndi:BPMNShape>
<bpmndi:BPMNShape id="field_experiment_deployment_decision_di" bpmnElement="field_experiment_deployment_decision" isMarkerVisible="true"><dc:Bounds x="1206" y="546" width="48" height="48"/><bpmndi:BPMNLabel><dc:Bounds x="1158" y="496" width="144" height="40"/></bpmndi:BPMNLabel></bpmndi:BPMNShape>
<bpmndi:BPMNShape id="field_experiment_deployment_commit_1_di" bpmnElement="field_experiment_deployment_commit_1"><dc:Bounds x="1375" y="272" width="130" height="76"/></bpmndi:BPMNShape>
<bpmndi:BPMNShape id="field_experiment_deployment_rollback_1_di" bpmnElement="field_experiment_deployment_rollback_1"><dc:Bounds x="1375" y="792" width="130" height="76"/></bpmndi:BPMNShape>
<bpmndi:BPMNShape id="field_experiment_deployment_commit_rest_1_di" bpmnElement="field_experiment_deployment_commit_rest_1"><dc:Bounds x="1585" y="272" width="130" height="76"/></bpmndi:BPMNShape>
<bpmndi:BPMNShape id="field_experiment_deployment_rollback_rest_1_di" bpmnElement="field_experiment_deployment_rollback_rest_1"><dc:Bounds x="1585" y="792" width="130" height="76"/></bpmndi:BPMNShape>
<bpmndi:BPMNShape id="field_experiment_deployment_rollback_rest_2_di" bpmnElement="field_experiment_deployment_rollback_rest_2"><dc:Bounds x="1795" y="792" width="130" height="76"/></bpmndi:BPMNShape>
<bpmndi:BPMNShape id="field_experiment_deployment_complete_di" bpmnElement="field_experiment_deployment_complete"><dc:Bounds x="1842" y="292" width="36" height="36"/><bpmndi:BPMNLabel><dc:Bounds x="1788" y="335" width="144" height="40"/></bpmndi:BPMNLabel></bpmndi:BPMNShape>
<bpmndi:BPMNShape id="field_experiment_deployment_alternate_di" bpmnElement="field_experiment_deployment_alternate"><dc:Bounds x="2052" y="812" width="36" height="36"/><bpmndi:BPMNLabel><dc:Bounds x="1998" y="855" width="144" height="40"/></bpmndi:BPMNLabel></bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="field_experiment_deployment_flow_1_di" bpmnElement="field_experiment_deployment_flow_1"><di:waypoint x="198" y="310"/><di:waypoint x="325" y="310"/></bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="field_experiment_deployment_flow_2_di" bpmnElement="field_experiment_deployment_flow_2"><di:waypoint x="455" y="310"/><di:waypoint x="535" y="310"/></bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="field_experiment_deployment_flow_3_di" bpmnElement="field_experiment_deployment_flow_3"><di:waypoint x="665" y="310"/><di:waypoint x="745" y="310"/></bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="field_experiment_deployment_flow_4_di" bpmnElement="field_experiment_deployment_flow_4"><di:waypoint x="875" y="310"/><di:waypoint x="915" y="310"/><di:waypoint x="915" y="570"/><di:waypoint x="955" y="570"/></bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="field_experiment_deployment_flow_5_di" bpmnElement="field_experiment_deployment_flow_5"><di:waypoint x="1085" y="570"/><di:waypoint x="1206" y="570"/></bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="field_experiment_deployment_flow_6_di" bpmnElement="field_experiment_deployment_flow_6"><di:waypoint x="1254" y="570"/><di:waypoint x="1315" y="570"/><di:waypoint x="1315" y="310"/><di:waypoint x="1375" y="310"/><bpmndi:BPMNLabel><dc:Bounds x="1262" y="543" width="100" height="22"/></bpmndi:BPMNLabel></bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="field_experiment_deployment_flow_7_di" bpmnElement="field_experiment_deployment_flow_7"><di:waypoint x="1254" y="570"/><di:waypoint x="1315" y="570"/><di:waypoint x="1315" y="830"/><di:waypoint x="1375" y="830"/><bpmndi:BPMNLabel><dc:Bounds x="1262" y="580" width="100" height="22"/></bpmndi:BPMNLabel></bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="field_experiment_deployment_flow_8_di" bpmnElement="field_experiment_deployment_flow_8"><di:waypoint x="1505" y="310"/><di:waypoint x="1585" y="310"/></bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="field_experiment_deployment_flow_9_di" bpmnElement="field_experiment_deployment_flow_9"><di:waypoint x="1505" y="830"/><di:waypoint x="1585" y="830"/></bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="field_experiment_deployment_flow_10_di" bpmnElement="field_experiment_deployment_flow_10"><di:waypoint x="1715" y="830"/><di:waypoint x="1795" y="830"/></bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="field_experiment_deployment_flow_11_di" bpmnElement="field_experiment_deployment_flow_11"><di:waypoint x="1715" y="310"/><di:waypoint x="1842" y="310"/></bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="field_experiment_deployment_flow_12_di" bpmnElement="field_experiment_deployment_flow_12"><di:waypoint x="1925" y="830"/><di:waypoint x="2052" y="830"/></bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="field_experiment_deployment_request_di" bpmnElement="field_experiment_deployment_request"><di:waypoint x="180" y="90"/><di:waypoint x="180" y="292"/></bpmndi:BPMNEdge>
</bpmndi:BPMNPlane></bpmndi:BPMNDiagram>
</bpmn:definitions>