Files
T

327 lines
15 KiB
XML
Raw Permalink Normal View History

<?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:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:pr="https://ontology.pernod-ricard.com/process/" id="defs_X1" targetNamespace="https://ontology.pernod-ricard.com/process/" exporter="generate_bpmn.py">
<bpmn:process id="X1" name="Propagate a change and publish a version" isExecutable="false">
<bpmn:documentation>Propagate a change and publish a version | Scope: Any validated modification of the vocabulary. | Trigger: A change to the vocabulary has been agreed and is ready to apply.</bpmn:documentation>
<bpmn:startEvent id="start" name="Change agreed">
<bpmn:outgoing>flow_1</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:scriptTask id="branch" name="Create the migration branch">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-009</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_1</bpmn:incoming>
<bpmn:outgoing>flow_2</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:scriptTask id="apply" name="Apply the change through an RDF parser">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-005</pr:rule>
<pr:rule>EV-006</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_2</bpmn:incoming>
<bpmn:incoming>flow_16</bpmn:incoming>
<bpmn:outgoing>flow_3</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:scriptTask id="labels" name="Regenerate labels by derivation">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>TN-023</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_3</bpmn:incoming>
<bpmn:outgoing>flow_4</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:scriptTask id="abox" name="Propagate to the instances">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-009</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_4</bpmn:incoming>
<bpmn:outgoing>flow_5</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:scriptTask id="shapes" name="Update the shapes and align conformsTo">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-010</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_5</bpmn:incoming>
<bpmn:outgoing>flow_6</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:scriptTask id="artifacts" name="Regenerate every derived artifact">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-008</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_6</bpmn:incoming>
<bpmn:outgoing>flow_7</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:scriptTask id="replay" name="Replay the chain a second time">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-006</pr:rule>
<pr:rule>EV-007</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_7</bpmn:incoming>
<bpmn:outgoing>flow_8</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:exclusiveGateway id="idem" name="Second run reports zero change?">
<bpmn:incoming>flow_8</bpmn:incoming>
<bpmn:outgoing>flow_9</bpmn:outgoing>
<bpmn:outgoing>flow_10</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:callActivity id="verify_voc" name="Verify the vocabulary" calledElement="R1">
<bpmn:incoming>flow_9</bpmn:incoming>
<bpmn:outgoing>flow_11</bpmn:outgoing>
</bpmn:callActivity>
<bpmn:callActivity id="verify_abox" name="Validate the instances" calledElement="R2">
<bpmn:incoming>flow_11</bpmn:incoming>
<bpmn:outgoing>flow_12</bpmn:outgoing>
</bpmn:callActivity>
<bpmn:scriptTask id="log" name="Write the execution log for this attempt">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-015</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_12</bpmn:incoming>
<bpmn:outgoing>flow_13</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:exclusiveGateway id="clean" name="Any violation?">
<bpmn:incoming>flow_13</bpmn:incoming>
<bpmn:outgoing>flow_14</bpmn:outgoing>
<bpmn:outgoing>flow_15</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:userTask id="decide" name="Correct or abandon">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-004</pr:rule>
<pr:rule>EV-007</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_10</bpmn:incoming>
<bpmn:incoming>flow_15</bpmn:incoming>
<bpmn:outgoing>flow_16</bpmn:outgoing>
<bpmn:outgoing>flow_17</bpmn:outgoing>
</bpmn:userTask>
<bpmn:scriptTask id="drop" name="Destroy the branch and restart from the published version">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-007</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_17</bpmn:incoming>
<bpmn:outgoing>flow_18</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:userTask id="review" name="Review the merge">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-004</pr:rule>
<pr:rule>EV-009</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_14</bpmn:incoming>
<bpmn:outgoing>flow_19</bpmn:outgoing>
</bpmn:userTask>
<bpmn:scriptTask id="merge" name="Merge as a block">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-009</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_19</bpmn:incoming>
<bpmn:outgoing>flow_20</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:scriptTask id="bump" name="Increment the ontology version">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-014</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_20</bpmn:incoming>
<bpmn:outgoing>flow_21</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:endEvent id="end" name="Version published">
<bpmn:incoming>flow_21</bpmn:incoming>
</bpmn:endEvent>
<bpmn:endEvent id="aborted" name="Change abandoned">
<bpmn:incoming>flow_18</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="flow_1" sourceRef="start" targetRef="branch" />
<bpmn:sequenceFlow id="flow_2" sourceRef="branch" targetRef="apply" />
<bpmn:sequenceFlow id="flow_3" sourceRef="apply" targetRef="labels" />
<bpmn:sequenceFlow id="flow_4" sourceRef="labels" targetRef="abox" />
<bpmn:sequenceFlow id="flow_5" sourceRef="abox" targetRef="shapes" />
<bpmn:sequenceFlow id="flow_6" sourceRef="shapes" targetRef="artifacts" />
<bpmn:sequenceFlow id="flow_7" sourceRef="artifacts" targetRef="replay" />
<bpmn:sequenceFlow id="flow_8" sourceRef="replay" targetRef="idem" />
<bpmn:sequenceFlow id="flow_9" name="zero change" sourceRef="idem" targetRef="verify_voc" />
<bpmn:sequenceFlow id="flow_10" name="the chain is not replayable" sourceRef="idem" targetRef="decide" />
<bpmn:sequenceFlow id="flow_11" sourceRef="verify_voc" targetRef="verify_abox" />
<bpmn:sequenceFlow id="flow_12" sourceRef="verify_abox" targetRef="log" />
<bpmn:sequenceFlow id="flow_13" sourceRef="log" targetRef="clean" />
<bpmn:sequenceFlow id="flow_14" name="none" sourceRef="clean" targetRef="review" />
<bpmn:sequenceFlow id="flow_15" name="at least one" sourceRef="clean" targetRef="decide" />
<bpmn:sequenceFlow id="flow_16" name="correct" sourceRef="decide" targetRef="apply" />
<bpmn:sequenceFlow id="flow_17" name="abandon" sourceRef="decide" targetRef="drop" />
<bpmn:sequenceFlow id="flow_18" sourceRef="drop" targetRef="aborted" />
<bpmn:sequenceFlow id="flow_19" sourceRef="review" targetRef="merge" />
<bpmn:sequenceFlow id="flow_20" sourceRef="merge" targetRef="bump" />
<bpmn:sequenceFlow id="flow_21" sourceRef="bump" targetRef="end" />
</bpmn:process>
<bpmndi:BPMNDiagram id="diagram_X1">
<bpmndi:BPMNPlane id="plane_X1" bpmnElement="X1">
<bpmndi:BPMNShape id="shape_start" bpmnElement="start">
<dc:Bounds x="60" y="80" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_branch" bpmnElement="branch">
<dc:Bounds x="260" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_apply" bpmnElement="apply">
<dc:Bounds x="11660" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_labels" bpmnElement="labels">
<dc:Bounds x="11860" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_abox" bpmnElement="abox">
<dc:Bounds x="12060" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_shapes" bpmnElement="shapes">
<dc:Bounds x="11460" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_artifacts" bpmnElement="artifacts">
<dc:Bounds x="11660" y="210" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_replay" bpmnElement="replay">
<dc:Bounds x="11860" y="210" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_idem" bpmnElement="idem">
<dc:Bounds x="12060" y="210" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_verify_voc" bpmnElement="verify_voc">
<dc:Bounds x="11460" y="210" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_verify_abox" bpmnElement="verify_abox">
<dc:Bounds x="11660" y="340" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_log" bpmnElement="log">
<dc:Bounds x="11860" y="340" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_clean" bpmnElement="clean">
<dc:Bounds x="12060" y="340" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_decide" bpmnElement="decide">
<dc:Bounds x="11460" y="340" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_drop" bpmnElement="drop">
<dc:Bounds x="11660" y="470" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_review" bpmnElement="review">
<dc:Bounds x="11460" y="470" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_merge" bpmnElement="merge">
<dc:Bounds x="11660" y="600" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_bump" bpmnElement="bump">
<dc:Bounds x="11860" y="470" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_end" bpmnElement="end">
<dc:Bounds x="12060" y="470" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_aborted" bpmnElement="aborted">
<dc:Bounds x="11860" y="600" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="edge_flow_1" bpmnElement="flow_1">
<di:waypoint x="96" y="98" />
<di:waypoint x="260" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_2" bpmnElement="flow_2">
<di:waypoint x="410" y="115" />
<di:waypoint x="11660" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_3" bpmnElement="flow_3">
<di:waypoint x="11810" y="115" />
<di:waypoint x="11860" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_4" bpmnElement="flow_4">
<di:waypoint x="12010" y="115" />
<di:waypoint x="12060" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_5" bpmnElement="flow_5">
<di:waypoint x="12210" y="115" />
<di:waypoint x="11460" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_6" bpmnElement="flow_6">
<di:waypoint x="11610" y="115" />
<di:waypoint x="11660" y="245" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_7" bpmnElement="flow_7">
<di:waypoint x="11810" y="245" />
<di:waypoint x="11860" y="245" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_8" bpmnElement="flow_8">
<di:waypoint x="12010" y="245" />
<di:waypoint x="12060" y="235" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_9" bpmnElement="flow_9">
<di:waypoint x="12110" y="235" />
<di:waypoint x="11460" y="245" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_10" bpmnElement="flow_10">
<di:waypoint x="12110" y="235" />
<di:waypoint x="11460" y="375" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_11" bpmnElement="flow_11">
<di:waypoint x="11610" y="245" />
<di:waypoint x="11660" y="375" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_12" bpmnElement="flow_12">
<di:waypoint x="11810" y="375" />
<di:waypoint x="11860" y="375" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_13" bpmnElement="flow_13">
<di:waypoint x="12010" y="375" />
<di:waypoint x="12060" y="365" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_14" bpmnElement="flow_14">
<di:waypoint x="12110" y="365" />
<di:waypoint x="11460" y="505" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_15" bpmnElement="flow_15">
<di:waypoint x="12110" y="365" />
<di:waypoint x="11460" y="375" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_16" bpmnElement="flow_16">
<di:waypoint x="11610" y="375" />
<di:waypoint x="11660" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_17" bpmnElement="flow_17">
<di:waypoint x="11610" y="375" />
<di:waypoint x="11660" y="505" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_18" bpmnElement="flow_18">
<di:waypoint x="11810" y="505" />
<di:waypoint x="11860" y="618" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_19" bpmnElement="flow_19">
<di:waypoint x="11610" y="505" />
<di:waypoint x="11660" y="635" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_20" bpmnElement="flow_20">
<di:waypoint x="11810" y="635" />
<di:waypoint x="11860" y="505" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_21" bpmnElement="flow_21">
<di:waypoint x="12010" y="505" />
<di:waypoint x="12060" y="488" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>