327 lines
15 KiB
XML
327 lines
15 KiB
XML
<?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>
|