Skip to content
BPMN 2.0 templates

Maintenance isolation with controlled restoration

Prepare asset isolation, verify a safe work boundary and either authorize the maintenance package or restore controlled service. Actual isolation rules require local competent review. Editable collaboration with role lanes, decisions and explicit rollback activities. Illustrative policy and timing; adapt to local requirements.

Template previewBPMN 2.0
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="asset_maintenance_isolation_definitions" targetNamespace="urn:flowss:advanced">
  <bpmn:message id="asset_maintenance_isolation_message" name="Maintenance window approved"/>
  
  <bpmn:process id="asset_maintenance_isolation_process" name="Maintenance isolation with controlled restoration" isExecutable="false">
    <bpmn:documentation>Prepare asset isolation, verify a safe work boundary and either authorize the maintenance package or restore controlled service. Actual isolation rules require local competent review. Inputs: Maintenance window 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="asset_maintenance_isolation_lanes"><bpmn:lane id="asset_maintenance_isolation_lane_0" name="Maintenance coordinator"><bpmn:flowNodeRef>asset_maintenance_isolation_start</bpmn:flowNodeRef><bpmn:flowNodeRef>asset_maintenance_isolation_intake_1</bpmn:flowNodeRef><bpmn:flowNodeRef>asset_maintenance_isolation_prepare_1</bpmn:flowNodeRef><bpmn:flowNodeRef>asset_maintenance_isolation_prepare_2</bpmn:flowNodeRef><bpmn:flowNodeRef>asset_maintenance_isolation_commit_1</bpmn:flowNodeRef><bpmn:flowNodeRef>asset_maintenance_isolation_commit_rest_1</bpmn:flowNodeRef><bpmn:flowNodeRef>asset_maintenance_isolation_complete</bpmn:flowNodeRef></bpmn:lane><bpmn:lane id="asset_maintenance_isolation_lane_1" name="Isolation verifier"><bpmn:flowNodeRef>asset_maintenance_isolation_verification</bpmn:flowNodeRef><bpmn:flowNodeRef>asset_maintenance_isolation_decision</bpmn:flowNodeRef></bpmn:lane><bpmn:lane id="asset_maintenance_isolation_lane_2" name="Restoration controller"><bpmn:flowNodeRef>asset_maintenance_isolation_rollback_1</bpmn:flowNodeRef><bpmn:flowNodeRef>asset_maintenance_isolation_rollback_rest_1</bpmn:flowNodeRef><bpmn:flowNodeRef>asset_maintenance_isolation_rollback_rest_2</bpmn:flowNodeRef><bpmn:flowNodeRef>asset_maintenance_isolation_alternate</bpmn:flowNodeRef></bpmn:lane></bpmn:laneSet>
    <bpmn:startEvent id="asset_maintenance_isolation_start" name="Maintenance window approved"><bpmn:messageEventDefinition id="asset_maintenance_isolation_start_def" messageRef="asset_maintenance_isolation_message"/></bpmn:startEvent>
    <bpmn:userTask id="asset_maintenance_isolation_intake_1" name="Record operating baseline"></bpmn:userTask>
    <bpmn:userTask id="asset_maintenance_isolation_prepare_1" name="Stage standby supply"></bpmn:userTask>
    <bpmn:userTask id="asset_maintenance_isolation_prepare_2" name="Apply planned isolation"></bpmn:userTask>
    <bpmn:userTask id="asset_maintenance_isolation_verification" name="Verify isolation boundary"></bpmn:userTask>
    <bpmn:exclusiveGateway id="asset_maintenance_isolation_decision" name="Work boundary verified?" default="asset_maintenance_isolation_flow_7"></bpmn:exclusiveGateway>
    <bpmn:serviceTask id="asset_maintenance_isolation_commit_1" name="Issue work authorization"></bpmn:serviceTask>
    <bpmn:serviceTask id="asset_maintenance_isolation_rollback_1" name="Withdraw work authorization"></bpmn:serviceTask>
    <bpmn:serviceTask id="asset_maintenance_isolation_commit_rest_1" name="Record controlled asset status"></bpmn:serviceTask>
    <bpmn:serviceTask id="asset_maintenance_isolation_rollback_rest_1" name="Restore operating configuration"></bpmn:serviceTask>
    <bpmn:serviceTask id="asset_maintenance_isolation_rollback_rest_2" name="Verify service availability"></bpmn:serviceTask>
    <bpmn:endEvent id="asset_maintenance_isolation_complete" name="Work authorized"></bpmn:endEvent>
    <bpmn:endEvent id="asset_maintenance_isolation_alternate" name="Service restored"></bpmn:endEvent>
    <bpmn:sequenceFlow id="asset_maintenance_isolation_flow_1" sourceRef="asset_maintenance_isolation_start" targetRef="asset_maintenance_isolation_intake_1"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="asset_maintenance_isolation_flow_2" sourceRef="asset_maintenance_isolation_intake_1" targetRef="asset_maintenance_isolation_prepare_1"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="asset_maintenance_isolation_flow_3" sourceRef="asset_maintenance_isolation_prepare_1" targetRef="asset_maintenance_isolation_prepare_2"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="asset_maintenance_isolation_flow_4" sourceRef="asset_maintenance_isolation_prepare_2" targetRef="asset_maintenance_isolation_verification"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="asset_maintenance_isolation_flow_5" sourceRef="asset_maintenance_isolation_verification" targetRef="asset_maintenance_isolation_decision"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="asset_maintenance_isolation_flow_6" sourceRef="asset_maintenance_isolation_decision" targetRef="asset_maintenance_isolation_commit_1" name="Yes"><bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">=boundaryVerified = true</bpmn:conditionExpression></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="asset_maintenance_isolation_flow_7" sourceRef="asset_maintenance_isolation_decision" targetRef="asset_maintenance_isolation_rollback_1" name="Otherwise"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="asset_maintenance_isolation_flow_8" sourceRef="asset_maintenance_isolation_commit_1" targetRef="asset_maintenance_isolation_commit_rest_1"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="asset_maintenance_isolation_flow_9" sourceRef="asset_maintenance_isolation_rollback_1" targetRef="asset_maintenance_isolation_rollback_rest_1"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="asset_maintenance_isolation_flow_10" sourceRef="asset_maintenance_isolation_rollback_rest_1" targetRef="asset_maintenance_isolation_rollback_rest_2"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="asset_maintenance_isolation_flow_11" sourceRef="asset_maintenance_isolation_commit_rest_1" targetRef="asset_maintenance_isolation_complete"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="asset_maintenance_isolation_flow_12" sourceRef="asset_maintenance_isolation_rollback_rest_2" targetRef="asset_maintenance_isolation_alternate"></bpmn:sequenceFlow>
  </bpmn:process>
  <bpmn:collaboration id="asset_maintenance_isolation_collaboration"><bpmn:participant id="asset_maintenance_isolation_party" name="Asset operator"/><bpmn:participant id="asset_maintenance_isolation_pool" name="Maintenance isolation with controlled restoration" processRef="asset_maintenance_isolation_process"/><bpmn:messageFlow id="asset_maintenance_isolation_request" sourceRef="asset_maintenance_isolation_party" targetRef="asset_maintenance_isolation_start"/></bpmn:collaboration>
  <bpmndi:BPMNDiagram id="asset_maintenance_isolation_diagram"><bpmndi:BPMNPlane id="asset_maintenance_isolation_plane" bpmnElement="asset_maintenance_isolation_collaboration">
    <bpmndi:BPMNShape id="asset_maintenance_isolation_party_di" bpmnElement="asset_maintenance_isolation_party" isHorizontal="true"><dc:Bounds x="20" y="20" width="2210" height="70"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="asset_maintenance_isolation_pool_di" bpmnElement="asset_maintenance_isolation_pool" isHorizontal="true"><dc:Bounds x="20" y="180" width="2210" height="780"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="asset_maintenance_isolation_lane_0_di" bpmnElement="asset_maintenance_isolation_lane_0" isHorizontal="true"><dc:Bounds x="50" y="180" width="2180" height="260"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="asset_maintenance_isolation_lane_1_di" bpmnElement="asset_maintenance_isolation_lane_1" isHorizontal="true"><dc:Bounds x="50" y="440" width="2180" height="260"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="asset_maintenance_isolation_lane_2_di" bpmnElement="asset_maintenance_isolation_lane_2" isHorizontal="true"><dc:Bounds x="50" y="700" width="2180" height="260"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="asset_maintenance_isolation_start_di" bpmnElement="asset_maintenance_isolation_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="asset_maintenance_isolation_intake_1_di" bpmnElement="asset_maintenance_isolation_intake_1"><dc:Bounds x="325" y="272" width="130" height="76"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="asset_maintenance_isolation_prepare_1_di" bpmnElement="asset_maintenance_isolation_prepare_1"><dc:Bounds x="535" y="272" width="130" height="76"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="asset_maintenance_isolation_prepare_2_di" bpmnElement="asset_maintenance_isolation_prepare_2"><dc:Bounds x="745" y="272" width="130" height="76"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="asset_maintenance_isolation_verification_di" bpmnElement="asset_maintenance_isolation_verification"><dc:Bounds x="955" y="532" width="130" height="76"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="asset_maintenance_isolation_decision_di" bpmnElement="asset_maintenance_isolation_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="asset_maintenance_isolation_commit_1_di" bpmnElement="asset_maintenance_isolation_commit_1"><dc:Bounds x="1375" y="272" width="130" height="76"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="asset_maintenance_isolation_rollback_1_di" bpmnElement="asset_maintenance_isolation_rollback_1"><dc:Bounds x="1375" y="792" width="130" height="76"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="asset_maintenance_isolation_commit_rest_1_di" bpmnElement="asset_maintenance_isolation_commit_rest_1"><dc:Bounds x="1585" y="272" width="130" height="76"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="asset_maintenance_isolation_rollback_rest_1_di" bpmnElement="asset_maintenance_isolation_rollback_rest_1"><dc:Bounds x="1585" y="792" width="130" height="76"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="asset_maintenance_isolation_rollback_rest_2_di" bpmnElement="asset_maintenance_isolation_rollback_rest_2"><dc:Bounds x="1795" y="792" width="130" height="76"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="asset_maintenance_isolation_complete_di" bpmnElement="asset_maintenance_isolation_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="asset_maintenance_isolation_alternate_di" bpmnElement="asset_maintenance_isolation_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="asset_maintenance_isolation_flow_1_di" bpmnElement="asset_maintenance_isolation_flow_1"><di:waypoint x="198" y="310"/><di:waypoint x="325" y="310"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="asset_maintenance_isolation_flow_2_di" bpmnElement="asset_maintenance_isolation_flow_2"><di:waypoint x="455" y="310"/><di:waypoint x="535" y="310"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="asset_maintenance_isolation_flow_3_di" bpmnElement="asset_maintenance_isolation_flow_3"><di:waypoint x="665" y="310"/><di:waypoint x="745" y="310"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="asset_maintenance_isolation_flow_4_di" bpmnElement="asset_maintenance_isolation_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="asset_maintenance_isolation_flow_5_di" bpmnElement="asset_maintenance_isolation_flow_5"><di:waypoint x="1085" y="570"/><di:waypoint x="1206" y="570"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="asset_maintenance_isolation_flow_6_di" bpmnElement="asset_maintenance_isolation_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="asset_maintenance_isolation_flow_7_di" bpmnElement="asset_maintenance_isolation_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="asset_maintenance_isolation_flow_8_di" bpmnElement="asset_maintenance_isolation_flow_8"><di:waypoint x="1505" y="310"/><di:waypoint x="1585" y="310"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="asset_maintenance_isolation_flow_9_di" bpmnElement="asset_maintenance_isolation_flow_9"><di:waypoint x="1505" y="830"/><di:waypoint x="1585" y="830"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="asset_maintenance_isolation_flow_10_di" bpmnElement="asset_maintenance_isolation_flow_10"><di:waypoint x="1715" y="830"/><di:waypoint x="1795" y="830"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="asset_maintenance_isolation_flow_11_di" bpmnElement="asset_maintenance_isolation_flow_11"><di:waypoint x="1715" y="310"/><di:waypoint x="1842" y="310"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="asset_maintenance_isolation_flow_12_di" bpmnElement="asset_maintenance_isolation_flow_12"><di:waypoint x="1925" y="830"/><di:waypoint x="2052" y="830"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="asset_maintenance_isolation_request_di" bpmnElement="asset_maintenance_isolation_request"><di:waypoint x="180" y="90"/><di:waypoint x="180" y="292"/></bpmndi:BPMNEdge>
    
  </bpmndi:BPMNPlane></bpmndi:BPMNDiagram>
</bpmn:definitions>