Files

152 lines
7.1 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_C3" targetNamespace="https://ontology.pernod-ricard.com/process/" exporter="generate_bpmn.py">
<bpmn:process id="C3" name="Create a shape" isExecutable="false">
<bpmn:documentation>Create a shape | Scope: Any SHACL constraint added to the validation set. | Trigger: A rule needs an executor, or a new class enters the validation perimeter.</bpmn:documentation>
<bpmn:startEvent id="start" name="Constraint needed">
<bpmn:outgoing>flow_1</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:userTask id="write" name="Write the constraint">
<bpmn:incoming>flow_1</bpmn:incoming>
<bpmn:outgoing>flow_2</bpmn:outgoing>
</bpmn:userTask>
<bpmn:scriptTask id="pattern" name="Check that every pattern is expressed positively">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-013</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_2</bpmn:incoming>
<bpmn:outgoing>flow_3</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:exclusiveGateway id="portable" name="Expressible within the specification?">
<bpmn:incoming>flow_3</bpmn:incoming>
<bpmn:outgoing>flow_4</bpmn:outgoing>
<bpmn:outgoing>flow_5</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:userTask id="demote" name="Move the rule to the script tier">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-012</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_5</bpmn:incoming>
<bpmn:outgoing>flow_6</bpmn:outgoing>
</bpmn:userTask>
<bpmn:scriptTask id="conforms" name="Align the declared ontology version">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-010</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_4</bpmn:incoming>
<bpmn:outgoing>flow_7</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:callActivity id="test" name="Test against real instances" calledElement="R2">
<bpmn:incoming>flow_7</bpmn:incoming>
<bpmn:outgoing>flow_8</bpmn:outgoing>
</bpmn:callActivity>
<bpmn:userTask id="record" name="Record the shape as the executor of its rule">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-011</pr:rule>
<pr:rule>EV-012</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_6</bpmn:incoming>
<bpmn:incoming>flow_8</bpmn:incoming>
<bpmn:outgoing>flow_9</bpmn:outgoing>
</bpmn:userTask>
<bpmn:callActivity id="release" name="Propagate and publish" calledElement="X1">
<bpmn:incoming>flow_9</bpmn:incoming>
<bpmn:outgoing>flow_10</bpmn:outgoing>
</bpmn:callActivity>
<bpmn:endEvent id="end" name="Shape in force">
<bpmn:incoming>flow_10</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="flow_1" sourceRef="start" targetRef="write" />
<bpmn:sequenceFlow id="flow_2" sourceRef="write" targetRef="pattern" />
<bpmn:sequenceFlow id="flow_3" sourceRef="pattern" targetRef="portable" />
<bpmn:sequenceFlow id="flow_4" name="yes" sourceRef="portable" targetRef="conforms" />
<bpmn:sequenceFlow id="flow_5" name="no" sourceRef="portable" targetRef="demote" />
<bpmn:sequenceFlow id="flow_6" sourceRef="demote" targetRef="record" />
<bpmn:sequenceFlow id="flow_7" sourceRef="conforms" targetRef="test" />
<bpmn:sequenceFlow id="flow_8" sourceRef="test" targetRef="record" />
<bpmn:sequenceFlow id="flow_9" sourceRef="record" targetRef="release" />
<bpmn:sequenceFlow id="flow_10" sourceRef="release" targetRef="end" />
</bpmn:process>
<bpmndi:BPMNDiagram id="diagram_C3">
<bpmndi:BPMNPlane id="plane_C3" bpmnElement="C3">
<bpmndi:BPMNShape id="shape_start" bpmnElement="start">
<dc:Bounds x="60" y="80" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_write" bpmnElement="write">
<dc:Bounds x="260" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_pattern" bpmnElement="pattern">
<dc:Bounds x="460" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_portable" bpmnElement="portable">
<dc:Bounds x="660" y="80" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_demote" bpmnElement="demote">
<dc:Bounds x="860" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_conforms" bpmnElement="conforms">
<dc:Bounds x="860" y="210" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_test" bpmnElement="test">
<dc:Bounds x="1060" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_record" bpmnElement="record">
<dc:Bounds x="1260" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_release" bpmnElement="release">
<dc:Bounds x="1460" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_end" bpmnElement="end">
<dc:Bounds x="1660" y="80" 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="460" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_3" bpmnElement="flow_3">
<di:waypoint x="610" y="115" />
<di:waypoint x="660" y="105" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_4" bpmnElement="flow_4">
<di:waypoint x="710" y="105" />
<di:waypoint x="860" y="245" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_5" bpmnElement="flow_5">
<di:waypoint x="710" y="105" />
<di:waypoint x="860" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_6" bpmnElement="flow_6">
<di:waypoint x="1010" y="115" />
<di:waypoint x="1260" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_7" bpmnElement="flow_7">
<di:waypoint x="1010" y="245" />
<di:waypoint x="1060" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_8" bpmnElement="flow_8">
<di:waypoint x="1210" y="115" />
<di:waypoint x="1260" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_9" bpmnElement="flow_9">
<di:waypoint x="1410" y="115" />
<di:waypoint x="1460" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_10" bpmnElement="flow_10">
<di:waypoint x="1610" y="115" />
<di:waypoint x="1660" y="98" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>