Initial commit: example for SecureBPMN runtime.

This commit is contained in:
Achim D. Brucker 2015-05-30 17:33:47 +02:00
parent 15eb1b35d1
commit 96e568ce04
8 changed files with 1639 additions and 0 deletions

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry including="**/*.java" kind="src" path="src/main/java"/>
<classpathentry excluding="**/*.java" kind="src" path="src/main/resources"/>
<classpathentry including="**/*.java" kind="src" output="target/test-classes" path="src/test/java"/>
<classpathentry excluding="**/*.java" kind="src" output="target/test-classes" path="src/test/resources"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Activiti Designer Extensions"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>InternalOrdering</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.activiti.designer.nature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,68 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.activiti.examples</groupId>
<artifactId>activiti-examples</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>BPMN 2.0 with Activiti - Examples</name>
<properties>
<activiti-version>5.8</activiti-version>
</properties>
<dependencies>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-engine</artifactId>
<version>${activiti-version}</version>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring</artifactId>
<version>${activiti-version}</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy</artifactId>
<version>1.7.5</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.2.132</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>Activiti</id>
<url>http://maven.alfresco.com/nexus/content/repositories/activiti</url>
</repository>
</repositories>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<inherited>true</inherited>
<configuration>
<classpathContainers>
<classpathContainer>org.eclipse.jdt.USER_LIBRARY/Activiti Designer Extensions</classpathContainer>
</classpathContainers>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -0,0 +1,927 @@
<?xml version="1.0" encoding="ASCII"?>
<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL-XMI" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" xmlns:securebpmn2="http://securebpmn">
<pi:Diagram visible="true" gridUnit="10" diagramTypeId="BPMNdiagram" name="OrderingProcess.activiti" snapToGrid="true" showGuides="true" pictogramLinks="/0/@children.0/@link /0/@children.1/@link /0/@children.1/@children.0/@link /0/@connections.0/@link /0/@children.2/@link /0/@children.3/@link /0/@children.3/@children.0/@link /0/@connections.1/@link /0/@connections.2/@link /0/@children.4/@link /0/@children.4/@children.0/@link /0/@children.5/@link /0/@children.5/@children.0/@link /0/@connections.3/@link /0/@connections.4/@link /0/@children.6/@link /0/@connections.5/@link /0/@children.7/@link /0/@children.7/@children.0/@link /0/@children.8/@link /0/@children.8/@children.0/@link /0/@connections.6/@link /0/@children.9/@link /0/@children.9/@children.0/@link /0/@children.10/@link /0/@children.10/@children.0/@link /0/@connections.7/@link /0/@connections.8/@link /0/@connections.9/@link /0/@connections.10/@link /0/@children.11/@link /0/@children.12/@link /0/@children.12/@children.0/@link /0/@children.13/@link /0/@connections.11/@link /0/@connections.12/@link /0/@connections.13/@link /0/@connections.14/@link /0/@children.14/@link /0/@children.14/@children.0/@link /0/@connections.15/@link /0/@connections.16/@link /0/@children.15/@link /0/@children.15/@children.0/@link /0/@connections.17/@link /0/@children.16/@link /0/@children.16/@children.0/@link /0/@connections.18/@link /0/@connections.19/@link /0/@connections.20/@link /0/@children.17/@link /0/@children.17/@children.0/@link /0/@connections.21/@link /0/@connections.22/@link /0/@connections.23/@link /0/@connections.24/@link">
<graphicsAlgorithm xsi:type="al:Rectangle" background="/0/@colors.1" foreground="/0/@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
<children xsi:type="pi:ContainerShape" visible="true" active="true">
<graphicsAlgorithm xsi:type="al:Ellipse" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="35" height="35" x="20" y="234">
<graphicsAlgorithmChildren xsi:type="al:Ellipse" lineWidth="1" transparency="0.0" width="35" height="35" style="/0/@styles.0"/>
</graphicsAlgorithm>
<link businessObjects="startevent1"/>
<anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="/0/@connections.0"/>
<anchors xsi:type="pi:BoxRelativeAnchor" visible="true" active="true" referencedGraphicsAlgorithm="/0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0" relativeWidth="1.0" relativeHeight="0.51">
<graphicsAlgorithm xsi:type="al:Ellipse" filled="false" lineVisible="false"/>
</anchors>
</children>
<children xsi:type="pi:ContainerShape" visible="true" active="true">
<graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="105" height="55" x="90" y="223">
<graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" lineWidth="1" transparency="0.0" width="105" height="55" style="/0/@styles.1" cornerHeight="20" cornerWidth="20"/>
</graphicsAlgorithm>
<link businessObjects="usertask1"/>
<anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="/0/@connections.1" incomingConnections="/0/@connections.0 /0/@connections.18 /0/@connections.21"/>
<anchors xsi:type="pi:BoxRelativeAnchor" visible="true" active="true" referencedGraphicsAlgorithm="/0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0" relativeWidth="1.0" relativeHeight="0.51">
<graphicsAlgorithm xsi:type="al:Ellipse" filled="false" lineVisible="false"/>
</anchors>
<children visible="true">
<graphicsAlgorithm xsi:type="al:MultiText" lineWidth="1" transparency="0.0" width="105" height="30" y="20" style="/0/@styles.1" font="/0/@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="Place Order"/>
<link businessObjects="usertask1"/>
</children>
<children visible="true">
<graphicsAlgorithm xsi:type="al:Image" lineWidth="1" transparency="0.0" width="16" height="16" x="5" y="5" id="org.activiti.designer.usertask" stretchH="false" stretchV="false" proportional="false"/>
</children>
</children>
<children xsi:type="pi:ContainerShape" visible="true" active="true">
<graphicsAlgorithm xsi:type="al:Polygon" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="40" height="40" x="370" y="231">
<graphicsAlgorithmChildren xsi:type="al:Polygon" lineWidth="1" transparency="0.0" width="40" height="40" style="/0/@styles.0">
<points y="20"/>
<points x="20"/>
<points x="40" y="20"/>
<points x="20" y="40"/>
<points y="20"/>
</graphicsAlgorithmChildren>
<points y="20"/>
<points x="20"/>
<points x="40" y="20"/>
<points x="20" y="40"/>
<points y="20"/>
</graphicsAlgorithm>
<link businessObjects="exclusivegateway1"/>
<anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="/0/@connections.3 /0/@connections.7 /0/@connections.8" incomingConnections="/0/@connections.2"/>
<anchors xsi:type="pi:BoxRelativeAnchor" visible="true" active="true" referencedGraphicsAlgorithm="/0/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0" relativeWidth="0.51" relativeHeight="0.1">
<graphicsAlgorithm xsi:type="al:Ellipse" filled="false" lineVisible="false"/>
</anchors>
<anchors xsi:type="pi:ChopboxAnchor"/>
<anchors xsi:type="pi:BoxRelativeAnchor" visible="true" active="true" referencedGraphicsAlgorithm="/0/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0" relativeWidth="0.51" relativeHeight="0.93">
<graphicsAlgorithm xsi:type="al:Ellipse" filled="false" lineVisible="false"/>
</anchors>
<children visible="true">
<graphicsAlgorithm xsi:type="al:Polyline" lineWidth="5" filled="false" transparency="0.0" style="/0/@styles.0">
<points x="30" y="10"/>
<points x="10" y="30"/>
</graphicsAlgorithm>
</children>
<children visible="true">
<graphicsAlgorithm xsi:type="al:Polyline" lineWidth="5" filled="false" transparency="0.0" style="/0/@styles.0">
<points x="10" y="10"/>
<points x="30" y="30"/>
</graphicsAlgorithm>
</children>
</children>
<children xsi:type="pi:ContainerShape" visible="true" active="true">
<graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="105" height="55" x="230" y="223">
<graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" lineWidth="1" transparency="0.0" width="105" height="55" style="/0/@styles.1" cornerHeight="20" cornerWidth="20"/>
</graphicsAlgorithm>
<link businessObjects="servicetask1"/>
<anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="/0/@connections.2" incomingConnections="/0/@connections.1"/>
<anchors xsi:type="pi:BoxRelativeAnchor" visible="true" active="true" referencedGraphicsAlgorithm="/0/@children.3/@graphicsAlgorithm/@graphicsAlgorithmChildren.0" relativeWidth="1.0" relativeHeight="0.51">
<graphicsAlgorithm xsi:type="al:Ellipse" filled="false" lineVisible="false"/>
</anchors>
<children visible="true">
<graphicsAlgorithm xsi:type="al:MultiText" lineWidth="1" transparency="0.0" width="105" height="30" y="20" style="/0/@styles.1" font="/0/@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="Check Total"/>
<link businessObjects="servicetask1"/>
</children>
<children visible="true">
<graphicsAlgorithm xsi:type="al:Image" lineWidth="1" transparency="0.0" width="16" height="16" x="5" y="5" id="org.activiti.designer.servicetask" stretchH="false" stretchV="false" proportional="false"/>
</children>
</children>
<children xsi:type="pi:ContainerShape" visible="true" active="true">
<graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="105" height="55" x="442" y="125">
<graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" lineWidth="1" transparency="0.0" width="105" height="55" style="/0/@styles.1" cornerHeight="20" cornerWidth="20"/>
</graphicsAlgorithm>
<link businessObjects="usertask2"/>
<anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="/0/@connections.4" incomingConnections="/0/@connections.3 /0/@connections.22"/>
<anchors xsi:type="pi:BoxRelativeAnchor" visible="true" active="true" referencedGraphicsAlgorithm="/0/@children.4/@graphicsAlgorithm/@graphicsAlgorithmChildren.0" relativeWidth="1.0" relativeHeight="0.51">
<graphicsAlgorithm xsi:type="al:Ellipse" filled="false" lineVisible="false"/>
</anchors>
<children visible="true">
<graphicsAlgorithm xsi:type="al:MultiText" lineWidth="1" transparency="0.0" width="105" height="30" y="20" style="/0/@styles.1" font="/0/@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="Process Common Order"/>
<link businessObjects="usertask2"/>
</children>
<children visible="true">
<graphicsAlgorithm xsi:type="al:Image" lineWidth="1" transparency="0.0" width="16" height="16" x="5" y="5" id="org.activiti.designer.usertask" stretchH="false" stretchV="false" proportional="false"/>
</children>
</children>
<children xsi:type="pi:ContainerShape" visible="true" active="true">
<graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="105" height="55" x="607" y="125">
<graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" lineWidth="1" transparency="0.0" width="105" height="55" style="/0/@styles.1" cornerHeight="20" cornerWidth="20"/>
</graphicsAlgorithm>
<link businessObjects="usertask3"/>
<anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="/0/@connections.5" incomingConnections="/0/@connections.4 /0/@connections.6 /0/@connections.20"/>
<anchors xsi:type="pi:BoxRelativeAnchor" visible="true" active="true" referencedGraphicsAlgorithm="/0/@children.5/@graphicsAlgorithm/@graphicsAlgorithmChildren.0" relativeWidth="1.0" relativeHeight="0.51">
<graphicsAlgorithm xsi:type="al:Ellipse" filled="false" lineVisible="false"/>
</anchors>
<children visible="true">
<graphicsAlgorithm xsi:type="al:MultiText" lineWidth="1" transparency="0.0" width="105" height="30" y="20" style="/0/@styles.1" font="/0/@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="Receive Order"/>
<link businessObjects="usertask3"/>
</children>
<children visible="true">
<graphicsAlgorithm xsi:type="al:Image" lineWidth="1" transparency="0.0" width="16" height="16" x="5" y="5" id="org.activiti.designer.usertask" stretchH="false" stretchV="false" proportional="false"/>
</children>
</children>
<children xsi:type="pi:ContainerShape" visible="true" active="true">
<graphicsAlgorithm xsi:type="al:Ellipse" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="35" height="35" x="920" y="135">
<graphicsAlgorithmChildren xsi:type="al:Ellipse" lineWidth="3" transparency="0.0" width="35" height="35" style="/0/@styles.0"/>
</graphicsAlgorithm>
<link businessObjects="endevent1"/>
<anchors xsi:type="pi:ChopboxAnchor" incomingConnections="/0/@connections.17"/>
</children>
<children xsi:type="pi:ContainerShape" visible="true" active="true">
<graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="105" height="55" x="442" y="224">
<graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" lineWidth="1" transparency="0.0" width="105" height="55" style="/0/@styles.1" cornerHeight="20" cornerWidth="20"/>
</graphicsAlgorithm>
<link businessObjects="usertask4"/>
<anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="/0/@connections.9" incomingConnections="/0/@connections.7 /0/@connections.23"/>
<anchors xsi:type="pi:BoxRelativeAnchor" visible="true" active="true" referencedGraphicsAlgorithm="/0/@children.7/@graphicsAlgorithm/@graphicsAlgorithmChildren.0" relativeWidth="1.0" relativeHeight="0.51">
<graphicsAlgorithm xsi:type="al:Ellipse" filled="false" lineVisible="false"/>
</anchors>
<children visible="true">
<graphicsAlgorithm xsi:type="al:MultiText" lineWidth="1" transparency="0.0" width="105" height="30" y="20" style="/0/@styles.1" font="/0/@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="Process Uncommon Order"/>
<link businessObjects="usertask4"/>
</children>
<children visible="true">
<graphicsAlgorithm xsi:type="al:Image" lineWidth="1" transparency="0.0" width="16" height="16" x="5" y="5" id="org.activiti.designer.usertask" stretchH="false" stretchV="false" proportional="false"/>
</children>
</children>
<children xsi:type="pi:ContainerShape" visible="true" active="true">
<graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="105" height="55" x="607" y="224">
<graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" lineWidth="1" transparency="0.0" width="105" height="55" style="/0/@styles.1" cornerHeight="20" cornerWidth="20"/>
</graphicsAlgorithm>
<link businessObjects="usertask5"/>
<anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="/0/@connections.6" incomingConnections="/0/@connections.9"/>
<anchors xsi:type="pi:BoxRelativeAnchor" visible="true" active="true" referencedGraphicsAlgorithm="/0/@children.8/@graphicsAlgorithm/@graphicsAlgorithmChildren.0" relativeWidth="1.0" relativeHeight="0.51">
<graphicsAlgorithm xsi:type="al:Ellipse" filled="false" lineVisible="false"/>
</anchors>
<children visible="true">
<graphicsAlgorithm xsi:type="al:MultiText" lineWidth="1" transparency="0.0" width="105" height="30" y="20" style="/0/@styles.1" font="/0/@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="Approve Order"/>
<link businessObjects="usertask5"/>
</children>
<children visible="true">
<graphicsAlgorithm xsi:type="al:Image" lineWidth="1" transparency="0.0" width="16" height="16" x="5" y="5" id="org.activiti.designer.usertask" stretchH="false" stretchV="false" proportional="false"/>
</children>
</children>
<children xsi:type="pi:ContainerShape" visible="true" active="true">
<graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="105" height="55" x="607" y="296">
<graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" lineWidth="1" transparency="0.0" width="105" height="55" style="/0/@styles.1" cornerHeight="20" cornerWidth="20"/>
</graphicsAlgorithm>
<link businessObjects="usertask6"/>
<anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="/0/@connections.13" incomingConnections="/0/@connections.11 /0/@connections.15"/>
<anchors xsi:type="pi:BoxRelativeAnchor" visible="true" active="true" referencedGraphicsAlgorithm="/0/@children.9/@graphicsAlgorithm/@graphicsAlgorithmChildren.0" relativeWidth="1.0" relativeHeight="0.51">
<graphicsAlgorithm xsi:type="al:Ellipse" filled="false" lineVisible="false"/>
</anchors>
<children visible="true">
<graphicsAlgorithm xsi:type="al:MultiText" lineWidth="1" transparency="0.0" width="105" height="30" y="20" style="/0/@styles.1" font="/0/@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="Approve Order"/>
<link businessObjects="usertask6"/>
</children>
<children visible="true">
<graphicsAlgorithm xsi:type="al:Image" lineWidth="1" transparency="0.0" width="16" height="16" x="5" y="5" id="org.activiti.designer.usertask" stretchH="false" stretchV="false" proportional="false"/>
</children>
</children>
<children xsi:type="pi:ContainerShape" visible="true" active="true">
<graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="105" height="55" x="442" y="328">
<graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" lineWidth="1" transparency="0.0" width="105" height="55" style="/0/@styles.1" cornerHeight="20" cornerWidth="20"/>
</graphicsAlgorithm>
<link businessObjects="usertask7"/>
<anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="/0/@connections.10" incomingConnections="/0/@connections.8 /0/@connections.24"/>
<anchors xsi:type="pi:BoxRelativeAnchor" visible="true" active="true" referencedGraphicsAlgorithm="/0/@children.10/@graphicsAlgorithm/@graphicsAlgorithmChildren.0" relativeWidth="1.0" relativeHeight="0.51">
<graphicsAlgorithm xsi:type="al:Ellipse" filled="false" lineVisible="false"/>
</anchors>
<children visible="true">
<graphicsAlgorithm xsi:type="al:MultiText" lineWidth="1" transparency="0.0" width="105" height="30" y="20" style="/0/@styles.1" font="/0/@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="Process Premium Order"/>
<link businessObjects="usertask7"/>
</children>
<children visible="true">
<graphicsAlgorithm xsi:type="al:Image" lineWidth="1" transparency="0.0" width="16" height="16" x="5" y="5" id="org.activiti.designer.usertask" stretchH="false" stretchV="false" proportional="false"/>
</children>
</children>
<children xsi:type="pi:ContainerShape" visible="true" active="true">
<graphicsAlgorithm xsi:type="al:Polygon" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="40" height="40" x="567" y="335">
<graphicsAlgorithmChildren xsi:type="al:Polygon" lineWidth="1" transparency="0.0" width="40" height="40" style="/0/@styles.0">
<points y="20"/>
<points x="20"/>
<points x="40" y="20"/>
<points x="20" y="40"/>
<points y="20"/>
</graphicsAlgorithmChildren>
<points y="20"/>
<points x="20"/>
<points x="40" y="20"/>
<points x="20" y="40"/>
<points y="20"/>
</graphicsAlgorithm>
<link businessObjects="parallelgateway1"/>
<anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="/0/@connections.11 /0/@connections.12" incomingConnections="/0/@connections.10"/>
<anchors xsi:type="pi:BoxRelativeAnchor" visible="true" active="true" referencedGraphicsAlgorithm="/0/@children.11/@graphicsAlgorithm/@graphicsAlgorithmChildren.0" relativeWidth="0.51" relativeHeight="0.1">
<graphicsAlgorithm xsi:type="al:Ellipse" filled="false" lineVisible="false"/>
</anchors>
<anchors xsi:type="pi:ChopboxAnchor"/>
<anchors xsi:type="pi:BoxRelativeAnchor" visible="true" active="true" referencedGraphicsAlgorithm="/0/@children.11/@graphicsAlgorithm/@graphicsAlgorithmChildren.0" relativeWidth="0.51" relativeHeight="0.93">
<graphicsAlgorithm xsi:type="al:Ellipse" filled="false" lineVisible="false"/>
</anchors>
<children visible="true">
<graphicsAlgorithm xsi:type="al:Polyline" lineWidth="5" filled="false" transparency="0.0" style="/0/@styles.0">
<points x="6" y="19"/>
<points x="34" y="19"/>
</graphicsAlgorithm>
</children>
<children visible="true">
<graphicsAlgorithm xsi:type="al:Polyline" lineWidth="5" filled="false" transparency="0.0" style="/0/@styles.0">
<points x="18" y="6"/>
<points x="18" y="34"/>
</graphicsAlgorithm>
</children>
</children>
<children xsi:type="pi:ContainerShape" visible="true" active="true">
<graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="105" height="55" x="607" y="367">
<graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" lineWidth="1" transparency="0.0" width="105" height="55" style="/0/@styles.1" cornerHeight="20" cornerWidth="20"/>
</graphicsAlgorithm>
<link businessObjects="usertask8"/>
<anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="/0/@connections.14" incomingConnections="/0/@connections.12 /0/@connections.16"/>
<anchors xsi:type="pi:BoxRelativeAnchor" visible="true" active="true" referencedGraphicsAlgorithm="/0/@children.12/@graphicsAlgorithm/@graphicsAlgorithmChildren.0" relativeWidth="1.0" relativeHeight="0.51">
<graphicsAlgorithm xsi:type="al:Ellipse" filled="false" lineVisible="false"/>
</anchors>
<children visible="true">
<graphicsAlgorithm xsi:type="al:MultiText" lineWidth="1" transparency="0.0" width="105" height="30" y="20" style="/0/@styles.1" font="/0/@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="Approve Order"/>
<link businessObjects="usertask8"/>
</children>
<children visible="true">
<graphicsAlgorithm xsi:type="al:Image" lineWidth="1" transparency="0.0" width="16" height="16" x="5" y="5" id="org.activiti.designer.usertask" stretchH="false" stretchV="false" proportional="false"/>
</children>
</children>
<children xsi:type="pi:ContainerShape" visible="true" active="true">
<graphicsAlgorithm xsi:type="al:Polygon" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="40" height="40" x="721" y="335">
<graphicsAlgorithmChildren xsi:type="al:Polygon" lineWidth="1" transparency="0.0" width="40" height="40" style="/0/@styles.0">
<points y="20"/>
<points x="20"/>
<points x="40" y="20"/>
<points x="20" y="40"/>
<points y="20"/>
</graphicsAlgorithmChildren>
<points y="20"/>
<points x="20"/>
<points x="40" y="20"/>
<points x="20" y="40"/>
<points y="20"/>
</graphicsAlgorithm>
<link businessObjects="parallelgateway2"/>
<anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="/0/@connections.20" incomingConnections="/0/@connections.13 /0/@connections.14"/>
<anchors xsi:type="pi:BoxRelativeAnchor" visible="true" active="true" referencedGraphicsAlgorithm="/0/@children.13/@graphicsAlgorithm/@graphicsAlgorithmChildren.0" relativeWidth="0.51" relativeHeight="0.1">
<graphicsAlgorithm xsi:type="al:Ellipse" filled="false" lineVisible="false"/>
</anchors>
<anchors xsi:type="pi:ChopboxAnchor"/>
<anchors xsi:type="pi:BoxRelativeAnchor" visible="true" active="true" referencedGraphicsAlgorithm="/0/@children.13/@graphicsAlgorithm/@graphicsAlgorithmChildren.0" relativeWidth="0.51" relativeHeight="0.93">
<graphicsAlgorithm xsi:type="al:Ellipse" filled="false" lineVisible="false"/>
</anchors>
<children visible="true">
<graphicsAlgorithm xsi:type="al:Polyline" lineWidth="5" filled="false" transparency="0.0" style="/0/@styles.0">
<points x="6" y="19"/>
<points x="34" y="19"/>
</graphicsAlgorithm>
</children>
<children visible="true">
<graphicsAlgorithm xsi:type="al:Polyline" lineWidth="5" filled="false" transparency="0.0" style="/0/@styles.0">
<points x="18" y="6"/>
<points x="18" y="34"/>
</graphicsAlgorithm>
</children>
</children>
<children xsi:type="pi:ContainerShape" visible="true" active="true">
<graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="820" y="326">
<graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" lineWidth="1" transparency="0.0" width="60" height="60" style="/0/@styles.3" cornerHeight="20" cornerWidth="20"/>
</graphicsAlgorithm>
<link businessObjects="securitySod1"/>
<anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="/0/@connections.15 /0/@connections.16"/>
<anchors xsi:type="pi:BoxRelativeAnchor" visible="true" active="true" referencedGraphicsAlgorithm="/0/@children.14/@graphicsAlgorithm/@graphicsAlgorithmChildren.0" relativeWidth="1.0" relativeHeight="0.51">
<graphicsAlgorithm xsi:type="al:Ellipse" filled="false" lineVisible="false"/>
</anchors>
<children visible="true">
<graphicsAlgorithm xsi:type="al:MultiText" lineWidth="1" transparency="0.0" width="60" height="30" y="20" style="/0/@styles.1" font="/0/@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="sod"/>
<link businessObjects="securitySod1"/>
</children>
<children visible="true">
<graphicsAlgorithm xsi:type="al:Image" lineWidth="1" transparency="0.0" width="50" height="16" x="5" y="5" id="org.activiti.designer.security.sod" stretchH="false" stretchV="false" proportional="false"/>
</children>
</children>
<children xsi:type="pi:ContainerShape" visible="true" active="true">
<graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="105" height="55" x="760" y="125">
<graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" lineWidth="1" transparency="0.0" width="105" height="55" style="/0/@styles.1" cornerHeight="20" cornerWidth="20"/>
</graphicsAlgorithm>
<link businessObjects="usertask9"/>
<anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="/0/@connections.17" incomingConnections="/0/@connections.5 /0/@connections.19"/>
<anchors xsi:type="pi:BoxRelativeAnchor" visible="true" active="true" referencedGraphicsAlgorithm="/0/@children.15/@graphicsAlgorithm/@graphicsAlgorithmChildren.0" relativeWidth="1.0" relativeHeight="0.51">
<graphicsAlgorithm xsi:type="al:Ellipse" filled="false" lineVisible="false"/>
</anchors>
<children visible="true">
<graphicsAlgorithm xsi:type="al:MultiText" lineWidth="1" transparency="0.0" width="105" height="30" y="20" style="/0/@styles.1" font="/0/@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="Confirm Order"/>
<link businessObjects="usertask9"/>
</children>
<children visible="true">
<graphicsAlgorithm xsi:type="al:Image" lineWidth="1" transparency="0.0" width="16" height="16" x="5" y="5" id="org.activiti.designer.usertask" stretchH="false" stretchV="false" proportional="false"/>
</children>
</children>
<children xsi:type="pi:ContainerShape" visible="true" active="true">
<graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="275" y="43">
<graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" lineWidth="1" transparency="0.0" width="60" height="60" style="/0/@styles.3" cornerHeight="20" cornerWidth="20"/>
</graphicsAlgorithm>
<link businessObjects="securityBod1"/>
<anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="/0/@connections.18 /0/@connections.19"/>
<anchors xsi:type="pi:BoxRelativeAnchor" visible="true" active="true" referencedGraphicsAlgorithm="/0/@children.16/@graphicsAlgorithm/@graphicsAlgorithmChildren.0" relativeWidth="1.0" relativeHeight="0.51">
<graphicsAlgorithm xsi:type="al:Ellipse" filled="false" lineVisible="false"/>
</anchors>
<children visible="true">
<graphicsAlgorithm xsi:type="al:MultiText" lineWidth="1" transparency="0.0" width="60" height="30" y="20" style="/0/@styles.1" font="/0/@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="bod"/>
<link businessObjects="securityBod1"/>
</children>
<children visible="true">
<graphicsAlgorithm xsi:type="al:Image" lineWidth="1" transparency="0.0" width="16" height="16" x="5" y="5" id="org.activiti.designer.security.bod" stretchH="false" stretchV="false" proportional="false"/>
</children>
</children>
<children xsi:type="pi:ContainerShape" visible="true" active="true">
<graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="280" y="420">
<graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" lineWidth="1" transparency="0.0" width="60" height="60" style="/0/@styles.3" cornerHeight="20" cornerWidth="20"/>
</graphicsAlgorithm>
<link businessObjects="securitySod2"/>
<anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="/0/@connections.21 /0/@connections.22 /0/@connections.23 /0/@connections.24"/>
<anchors xsi:type="pi:BoxRelativeAnchor" visible="true" active="true" referencedGraphicsAlgorithm="/0/@children.17/@graphicsAlgorithm/@graphicsAlgorithmChildren.0" relativeWidth="1.0" relativeHeight="0.51">
<graphicsAlgorithm xsi:type="al:Ellipse" filled="false" lineVisible="false"/>
</anchors>
<children visible="true">
<graphicsAlgorithm xsi:type="al:MultiText" lineWidth="1" transparency="0.0" width="60" height="30" y="20" style="/0/@styles.1" font="/0/@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="sod"/>
<link businessObjects="securitySod2"/>
</children>
<children visible="true">
<graphicsAlgorithm xsi:type="al:Image" lineWidth="1" transparency="0.0" width="50" height="16" x="5" y="5" id="org.activiti.designer.security.sod" stretchH="false" stretchV="false" proportional="false"/>
</children>
</children>
<styles foreground="/0/@colors.2" lineWidth="20" id="EVENT">
<renderingStyle>
<adaptedGradientColoredAreas definedStyleId="bpmnEventStyle" gradientType="0">
<adaptedGradientColoredAreas styleAdaption="0">
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
<color red="250" green="251" blue="252"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
<color red="250" green="251" blue="252"/>
</end>
</gradientColor>
</adaptedGradientColoredAreas>
<adaptedGradientColoredAreas styleAdaption="0">
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
<color red="229" green="229" blue="194"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
<color red="229" green="229" blue="194"/>
</end>
</gradientColor>
</adaptedGradientColoredAreas>
<adaptedGradientColoredAreas styleAdaption="0">
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
<color red="229" green="229" blue="194"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
<color red="229" green="229" blue="194"/>
</end>
</gradientColor>
</adaptedGradientColoredAreas>
</adaptedGradientColoredAreas>
</renderingStyle>
</styles>
<styles foreground="/0/@colors.2" lineWidth="20" id="TASK">
<renderingStyle>
<adaptedGradientColoredAreas definedStyleId="bpmnTaskStyle" gradientType="0">
<adaptedGradientColoredAreas styleAdaption="0">
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
<color red="250" green="251" blue="252"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
<color red="255" green="255" blue="204"/>
</end>
</gradientColor>
</adaptedGradientColoredAreas>
<adaptedGradientColoredAreas styleAdaption="0">
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
<color red="229" green="229" blue="194"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
<color red="229" green="229" blue="194"/>
</end>
</gradientColor>
</adaptedGradientColoredAreas>
<adaptedGradientColoredAreas styleAdaption="0">
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
<color red="229" green="229" blue="194"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
<color red="229" green="229" blue="194"/>
</end>
</gradientColor>
</adaptedGradientColoredAreas>
</adaptedGradientColoredAreas>
</renderingStyle>
</styles>
<styles background="/0/@colors.2" foreground="/0/@colors.2" lineWidth="1" id="BPMN-POLYGON-ARROW"/>
<styles foreground="/0/@colors.3" lineWidth="20" id="SECURITYNODE">
<renderingStyle>
<adaptedGradientColoredAreas definedStyleId="defaultSecurityNodeTaskStyle" gradientType="0">
<adaptedGradientColoredAreas styleAdaption="0">
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
<color red="250" green="251" blue="252"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
<color red="140" green="198" blue="255"/>
</end>
</gradientColor>
</adaptedGradientColoredAreas>
<adaptedGradientColoredAreas styleAdaption="0">
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
<color red="229" green="229" blue="194"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
<color red="229" green="229" blue="194"/>
</end>
</gradientColor>
</adaptedGradientColoredAreas>
<adaptedGradientColoredAreas styleAdaption="0">
<gradientColor>
<start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
<color red="229" green="229" blue="194"/>
</start>
<end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
<color red="229" green="229" blue="194"/>
</end>
</gradientColor>
</adaptedGradientColoredAreas>
</adaptedGradientColoredAreas>
</renderingStyle>
</styles>
<connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="/0/@children.0/@anchors.0" end="/0/@children.1/@anchors.0">
<graphicsAlgorithm xsi:type="al:Polyline" foreground="/0/@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
<link businessObjects="flow1"/>
<connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
<graphicsAlgorithm xsi:type="al:Text" lineWidth="1" transparency="0.0" x="10" style="/0/@styles.1" font="/0/@fonts.0" value=""/>
</connectionDecorators>
<connectionDecorators visible="true" locationRelative="true" location="1.0">
<graphicsAlgorithm xsi:type="al:Polygon" lineWidth="1" transparency="0.0" style="/0/@styles.2">
<points x="-10" y="-5" before="3" after="3"/>
<points/>
<points x="-10" y="5" before="3" after="3"/>
<points x="-8" before="3" after="3"/>
</graphicsAlgorithm>
</connectionDecorators>
</connections>
<connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="/0/@children.1/@anchors.0" end="/0/@children.3/@anchors.0">
<graphicsAlgorithm xsi:type="al:Polyline" foreground="/0/@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
<link businessObjects="flow2"/>
<connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
<graphicsAlgorithm xsi:type="al:Text" lineWidth="1" transparency="0.0" x="10" style="/0/@styles.1" font="/0/@fonts.0" value=""/>
</connectionDecorators>
<connectionDecorators visible="true" locationRelative="true" location="1.0">
<graphicsAlgorithm xsi:type="al:Polygon" lineWidth="1" transparency="0.0" style="/0/@styles.2">
<points x="-10" y="-5" before="3" after="3"/>
<points/>
<points x="-10" y="5" before="3" after="3"/>
<points x="-8" before="3" after="3"/>
</graphicsAlgorithm>
</connectionDecorators>
</connections>
<connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="/0/@children.3/@anchors.0" end="/0/@children.2/@anchors.0">
<graphicsAlgorithm xsi:type="al:Polyline" foreground="/0/@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
<link businessObjects="flow3"/>
<connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
<graphicsAlgorithm xsi:type="al:Text" lineWidth="1" transparency="0.0" x="10" style="/0/@styles.1" font="/0/@fonts.0" value=""/>
</connectionDecorators>
<connectionDecorators visible="true" locationRelative="true" location="1.0">
<graphicsAlgorithm xsi:type="al:Polygon" lineWidth="1" transparency="0.0" style="/0/@styles.2">
<points x="-10" y="-5" before="3" after="3"/>
<points/>
<points x="-10" y="5" before="3" after="3"/>
<points x="-8" before="3" after="3"/>
</graphicsAlgorithm>
</connectionDecorators>
</connections>
<connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="/0/@children.2/@anchors.0" end="/0/@children.4/@anchors.0">
<graphicsAlgorithm xsi:type="al:Polyline" foreground="/0/@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
<link businessObjects="flow4"/>
<connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
<graphicsAlgorithm xsi:type="al:Text" lineWidth="1" transparency="0.0" x="10" style="/0/@styles.1" font="/0/@fonts.0" value=""/>
</connectionDecorators>
<connectionDecorators visible="true" locationRelative="true" location="1.0">
<graphicsAlgorithm xsi:type="al:Polygon" lineWidth="1" transparency="0.0" style="/0/@styles.2">
<points x="-10" y="-5" before="3" after="3"/>
<points/>
<points x="-10" y="5" before="3" after="3"/>
<points x="-8" before="3" after="3"/>
</graphicsAlgorithm>
</connectionDecorators>
</connections>
<connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="/0/@children.4/@anchors.0" end="/0/@children.5/@anchors.0">
<graphicsAlgorithm xsi:type="al:Polyline" foreground="/0/@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
<link businessObjects="flow6"/>
<connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
<graphicsAlgorithm xsi:type="al:Text" lineWidth="1" transparency="0.0" x="10" style="/0/@styles.1" font="/0/@fonts.0" value=""/>
</connectionDecorators>
<connectionDecorators visible="true" locationRelative="true" location="1.0">
<graphicsAlgorithm xsi:type="al:Polygon" lineWidth="1" transparency="0.0" style="/0/@styles.2">
<points x="-10" y="-5" before="3" after="3"/>
<points/>
<points x="-10" y="5" before="3" after="3"/>
<points x="-8" before="3" after="3"/>
</graphicsAlgorithm>
</connectionDecorators>
</connections>
<connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="/0/@children.5/@anchors.0" end="/0/@children.15/@anchors.0">
<graphicsAlgorithm xsi:type="al:Polyline" foreground="/0/@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
<link businessObjects="flow10"/>
<connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
<graphicsAlgorithm xsi:type="al:Text" lineWidth="1" transparency="0.0" x="10" style="/0/@styles.1" font="/0/@fonts.0" value=""/>
</connectionDecorators>
<connectionDecorators visible="true" locationRelative="true" location="1.0">
<graphicsAlgorithm xsi:type="al:Polygon" lineWidth="1" transparency="0.0" style="/0/@styles.2">
<points x="-10" y="-5" before="3" after="3"/>
<points/>
<points x="-10" y="5" before="3" after="3"/>
<points x="-8" before="3" after="3"/>
</graphicsAlgorithm>
</connectionDecorators>
</connections>
<connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="/0/@children.8/@anchors.0" end="/0/@children.5/@anchors.0">
<graphicsAlgorithm xsi:type="al:Polyline" foreground="/0/@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
<link businessObjects="flow11"/>
<connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
<graphicsAlgorithm xsi:type="al:Text" lineWidth="1" transparency="0.0" x="10" style="/0/@styles.1" font="/0/@fonts.0" value=""/>
</connectionDecorators>
<connectionDecorators visible="true" locationRelative="true" location="1.0">
<graphicsAlgorithm xsi:type="al:Polygon" lineWidth="1" transparency="0.0" style="/0/@styles.2">
<points x="-10" y="-5" before="3" after="3"/>
<points/>
<points x="-10" y="5" before="3" after="3"/>
<points x="-8" before="3" after="3"/>
</graphicsAlgorithm>
</connectionDecorators>
</connections>
<connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="/0/@children.2/@anchors.0" end="/0/@children.7/@anchors.0">
<graphicsAlgorithm xsi:type="al:Polyline" foreground="/0/@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
<link businessObjects="flow12"/>
<connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
<graphicsAlgorithm xsi:type="al:Text" lineWidth="1" transparency="0.0" x="10" style="/0/@styles.1" font="/0/@fonts.0" value=""/>
</connectionDecorators>
<connectionDecorators visible="true" locationRelative="true" location="1.0">
<graphicsAlgorithm xsi:type="al:Polygon" lineWidth="1" transparency="0.0" style="/0/@styles.2">
<points x="-10" y="-5" before="3" after="3"/>
<points/>
<points x="-10" y="5" before="3" after="3"/>
<points x="-8" before="3" after="3"/>
</graphicsAlgorithm>
</connectionDecorators>
</connections>
<connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="/0/@children.2/@anchors.0" end="/0/@children.10/@anchors.0">
<graphicsAlgorithm xsi:type="al:Polyline" foreground="/0/@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
<link businessObjects="flow13"/>
<connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
<graphicsAlgorithm xsi:type="al:Text" lineWidth="1" transparency="0.0" x="10" style="/0/@styles.1" font="/0/@fonts.0" value=""/>
</connectionDecorators>
<connectionDecorators visible="true" locationRelative="true" location="1.0">
<graphicsAlgorithm xsi:type="al:Polygon" lineWidth="1" transparency="0.0" style="/0/@styles.2">
<points x="-10" y="-5" before="3" after="3"/>
<points/>
<points x="-10" y="5" before="3" after="3"/>
<points x="-8" before="3" after="3"/>
</graphicsAlgorithm>
</connectionDecorators>
</connections>
<connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="/0/@children.7/@anchors.0" end="/0/@children.8/@anchors.0">
<graphicsAlgorithm xsi:type="al:Polyline" foreground="/0/@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
<link businessObjects="flow14"/>
<connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
<graphicsAlgorithm xsi:type="al:Text" lineWidth="1" transparency="0.0" x="10" style="/0/@styles.1" font="/0/@fonts.0" value=""/>
</connectionDecorators>
<connectionDecorators visible="true" locationRelative="true" location="1.0">
<graphicsAlgorithm xsi:type="al:Polygon" lineWidth="1" transparency="0.0" style="/0/@styles.2">
<points x="-10" y="-5" before="3" after="3"/>
<points/>
<points x="-10" y="5" before="3" after="3"/>
<points x="-8" before="3" after="3"/>
</graphicsAlgorithm>
</connectionDecorators>
</connections>
<connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="/0/@children.10/@anchors.0" end="/0/@children.11/@anchors.0">
<graphicsAlgorithm xsi:type="al:Polyline" foreground="/0/@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
<link businessObjects="flow15"/>
<connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
<graphicsAlgorithm xsi:type="al:Text" lineWidth="1" transparency="0.0" x="10" style="/0/@styles.1" font="/0/@fonts.0" value=""/>
</connectionDecorators>
<connectionDecorators visible="true" locationRelative="true" location="1.0">
<graphicsAlgorithm xsi:type="al:Polygon" lineWidth="1" transparency="0.0" style="/0/@styles.2">
<points x="-10" y="-5" before="3" after="3"/>
<points/>
<points x="-10" y="5" before="3" after="3"/>
<points x="-8" before="3" after="3"/>
</graphicsAlgorithm>
</connectionDecorators>
<bendpoints x="567" y="355"/>
</connections>
<connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="/0/@children.11/@anchors.0" end="/0/@children.9/@anchors.0">
<graphicsAlgorithm xsi:type="al:Polyline" foreground="/0/@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
<link businessObjects="flow17"/>
<connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
<graphicsAlgorithm xsi:type="al:Text" lineWidth="1" transparency="0.0" x="10" style="/0/@styles.1" font="/0/@fonts.0" value=""/>
</connectionDecorators>
<connectionDecorators visible="true" locationRelative="true" location="1.0">
<graphicsAlgorithm xsi:type="al:Polygon" lineWidth="1" transparency="0.0" style="/0/@styles.2">
<points x="-10" y="-5" before="3" after="3"/>
<points/>
<points x="-10" y="5" before="3" after="3"/>
<points x="-8" before="3" after="3"/>
</graphicsAlgorithm>
</connectionDecorators>
<bendpoints x="587" y="321"/>
</connections>
<connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="/0/@children.11/@anchors.0" end="/0/@children.12/@anchors.0">
<graphicsAlgorithm xsi:type="al:Polyline" foreground="/0/@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
<link businessObjects="flow18"/>
<connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
<graphicsAlgorithm xsi:type="al:Text" lineWidth="1" transparency="0.0" x="10" style="/0/@styles.1" font="/0/@fonts.0" value=""/>
</connectionDecorators>
<connectionDecorators visible="true" locationRelative="true" location="1.0">
<graphicsAlgorithm xsi:type="al:Polygon" lineWidth="1" transparency="0.0" style="/0/@styles.2">
<points x="-10" y="-5" before="3" after="3"/>
<points/>
<points x="-10" y="5" before="3" after="3"/>
<points x="-8" before="3" after="3"/>
</graphicsAlgorithm>
</connectionDecorators>
<bendpoints x="587" y="395"/>
</connections>
<connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="/0/@children.9/@anchors.0" end="/0/@children.13/@anchors.0">
<graphicsAlgorithm xsi:type="al:Polyline" foreground="/0/@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
<link businessObjects="flow19"/>
<connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
<graphicsAlgorithm xsi:type="al:Text" lineWidth="1" transparency="0.0" x="10" style="/0/@styles.1" font="/0/@fonts.0" value=""/>
</connectionDecorators>
<connectionDecorators visible="true" locationRelative="true" location="1.0">
<graphicsAlgorithm xsi:type="al:Polygon" lineWidth="1" transparency="0.0" style="/0/@styles.2">
<points x="-10" y="-5" before="3" after="3"/>
<points/>
<points x="-10" y="5" before="3" after="3"/>
<points x="-8" before="3" after="3"/>
</graphicsAlgorithm>
</connectionDecorators>
<bendpoints x="740" y="324"/>
</connections>
<connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="/0/@children.12/@anchors.0" end="/0/@children.13/@anchors.0">
<graphicsAlgorithm xsi:type="al:Polyline" foreground="/0/@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
<link businessObjects="flow20"/>
<connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
<graphicsAlgorithm xsi:type="al:Text" lineWidth="1" transparency="0.0" x="10" style="/0/@styles.1" font="/0/@fonts.0" value=""/>
</connectionDecorators>
<connectionDecorators visible="true" locationRelative="true" location="1.0">
<graphicsAlgorithm xsi:type="al:Polygon" lineWidth="1" transparency="0.0" style="/0/@styles.2">
<points x="-10" y="-5" before="3" after="3"/>
<points/>
<points x="-10" y="5" before="3" after="3"/>
<points x="-8" before="3" after="3"/>
</graphicsAlgorithm>
</connectionDecorators>
<bendpoints x="741" y="395"/>
</connections>
<connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="/0/@children.14/@anchors.0" end="/0/@children.9/@anchors.0">
<graphicsAlgorithm xsi:type="al:Polyline" foreground="/0/@colors.3" lineWidth="1" filled="false" transparency="0.0"/>
<link businessObjects="sf3"/>
<connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
<graphicsAlgorithm xsi:type="al:Text" lineWidth="1" transparency="0.0" x="10" style="/0/@styles.1" font="/0/@fonts.0" value="sf3"/>
</connectionDecorators>
<connectionDecorators visible="true" locationRelative="true" location="1.0">
<graphicsAlgorithm xsi:type="al:Polygon" foreground="/0/@colors.3" lineWidth="1" transparency="0.0" style="/0/@styles.2">
<points x="-10" y="-5" before="3" after="3"/>
<points/>
<points x="-10" y="5" before="3" after="3"/>
<points x="-8" before="3" after="3"/>
</graphicsAlgorithm>
</connectionDecorators>
</connections>
<connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="/0/@children.14/@anchors.0" end="/0/@children.12/@anchors.0">
<graphicsAlgorithm xsi:type="al:Polyline" foreground="/0/@colors.3" lineWidth="1" filled="false" transparency="0.0"/>
<link businessObjects="sf4"/>
<connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
<graphicsAlgorithm xsi:type="al:Text" lineWidth="1" transparency="0.0" x="10" style="/0/@styles.1" font="/0/@fonts.0" value="sf4"/>
</connectionDecorators>
<connectionDecorators visible="true" locationRelative="true" location="1.0">
<graphicsAlgorithm xsi:type="al:Polygon" foreground="/0/@colors.3" lineWidth="1" transparency="0.0" style="/0/@styles.2">
<points x="-10" y="-5" before="3" after="3"/>
<points/>
<points x="-10" y="5" before="3" after="3"/>
<points x="-8" before="3" after="3"/>
</graphicsAlgorithm>
</connectionDecorators>
</connections>
<connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="/0/@children.15/@anchors.0" end="/0/@children.6/@anchors.0">
<graphicsAlgorithm xsi:type="al:Polyline" foreground="/0/@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
<link businessObjects="flow21"/>
<connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
<graphicsAlgorithm xsi:type="al:Text" lineWidth="1" transparency="0.0" x="10" style="/0/@styles.1" font="/0/@fonts.0" value=""/>
</connectionDecorators>
<connectionDecorators visible="true" locationRelative="true" location="1.0">
<graphicsAlgorithm xsi:type="al:Polygon" lineWidth="1" transparency="0.0" style="/0/@styles.2">
<points x="-10" y="-5" before="3" after="3"/>
<points/>
<points x="-10" y="5" before="3" after="3"/>
<points x="-8" before="3" after="3"/>
</graphicsAlgorithm>
</connectionDecorators>
</connections>
<connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="/0/@children.16/@anchors.0" end="/0/@children.1/@anchors.0">
<graphicsAlgorithm xsi:type="al:Polyline" foreground="/0/@colors.3" lineWidth="1" filled="false" transparency="0.0"/>
<link businessObjects="sf5"/>
<connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
<graphicsAlgorithm xsi:type="al:Text" lineWidth="1" transparency="0.0" x="10" style="/0/@styles.1" font="/0/@fonts.0" value="sf5"/>
</connectionDecorators>
<connectionDecorators visible="true" locationRelative="true" location="1.0">
<graphicsAlgorithm xsi:type="al:Polygon" foreground="/0/@colors.3" lineWidth="1" transparency="0.0" style="/0/@styles.2">
<points x="-10" y="-5" before="3" after="3"/>
<points/>
<points x="-10" y="5" before="3" after="3"/>
<points x="-8" before="3" after="3"/>
</graphicsAlgorithm>
</connectionDecorators>
<bendpoints x="142" y="73"/>
</connections>
<connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="/0/@children.16/@anchors.0" end="/0/@children.15/@anchors.0">
<graphicsAlgorithm xsi:type="al:Polyline" foreground="/0/@colors.3" lineWidth="1" filled="false" transparency="0.0"/>
<link businessObjects="sf6"/>
<connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
<graphicsAlgorithm xsi:type="al:Text" lineWidth="1" transparency="0.0" x="10" style="/0/@styles.1" font="/0/@fonts.0" value="sf6"/>
</connectionDecorators>
<connectionDecorators visible="true" locationRelative="true" location="1.0">
<graphicsAlgorithm xsi:type="al:Polygon" foreground="/0/@colors.3" lineWidth="1" transparency="0.0" style="/0/@styles.2">
<points x="-10" y="-5" before="3" after="3"/>
<points/>
<points x="-10" y="5" before="3" after="3"/>
<points x="-8" before="3" after="3"/>
</graphicsAlgorithm>
</connectionDecorators>
<bendpoints x="812" y="73"/>
</connections>
<connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="/0/@children.13/@anchors.0" end="/0/@children.5/@anchors.0">
<graphicsAlgorithm xsi:type="al:Polyline" foreground="/0/@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
<link businessObjects="flow22"/>
<connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
<graphicsAlgorithm xsi:type="al:Text" lineWidth="1" transparency="0.0" x="10" style="/0/@styles.1" font="/0/@fonts.0" value=""/>
</connectionDecorators>
<connectionDecorators visible="true" locationRelative="true" location="1.0">
<graphicsAlgorithm xsi:type="al:Polygon" lineWidth="1" transparency="0.0" style="/0/@styles.2">
<points x="-10" y="-5" before="3" after="3"/>
<points/>
<points x="-10" y="5" before="3" after="3"/>
<points x="-8" before="3" after="3"/>
</graphicsAlgorithm>
</connectionDecorators>
<bendpoints x="804" y="289"/>
</connections>
<connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="/0/@children.17/@anchors.0" end="/0/@children.1/@anchors.0">
<graphicsAlgorithm xsi:type="al:Polyline" foreground="/0/@colors.3" lineWidth="1" filled="false" transparency="0.0"/>
<link businessObjects="sf7"/>
<connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
<graphicsAlgorithm xsi:type="al:Text" lineWidth="1" transparency="0.0" x="10" style="/0/@styles.1" font="/0/@fonts.0" value="sf7"/>
</connectionDecorators>
<connectionDecorators visible="true" locationRelative="true" location="1.0">
<graphicsAlgorithm xsi:type="al:Polygon" foreground="/0/@colors.3" lineWidth="1" transparency="0.0" style="/0/@styles.2">
<points x="-10" y="-5" before="3" after="3"/>
<points/>
<points x="-10" y="5" before="3" after="3"/>
<points x="-8" before="3" after="3"/>
</graphicsAlgorithm>
</connectionDecorators>
</connections>
<connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="/0/@children.17/@anchors.0" end="/0/@children.4/@anchors.0">
<graphicsAlgorithm xsi:type="al:Polyline" foreground="/0/@colors.3" lineWidth="1" filled="false" transparency="0.0"/>
<link businessObjects="sf8"/>
<connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
<graphicsAlgorithm xsi:type="al:Text" lineWidth="1" transparency="0.0" x="10" style="/0/@styles.1" font="/0/@fonts.0" value="sf8"/>
</connectionDecorators>
<connectionDecorators visible="true" locationRelative="true" location="1.0">
<graphicsAlgorithm xsi:type="al:Polygon" foreground="/0/@colors.3" lineWidth="1" transparency="0.0" style="/0/@styles.2">
<points x="-10" y="-5" before="3" after="3"/>
<points/>
<points x="-10" y="5" before="3" after="3"/>
<points x="-8" before="3" after="3"/>
</graphicsAlgorithm>
</connectionDecorators>
</connections>
<connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="/0/@children.17/@anchors.0" end="/0/@children.7/@anchors.0">
<graphicsAlgorithm xsi:type="al:Polyline" foreground="/0/@colors.3" lineWidth="1" filled="false" transparency="0.0"/>
<link businessObjects="sf9"/>
<connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
<graphicsAlgorithm xsi:type="al:Text" lineWidth="1" transparency="0.0" x="10" style="/0/@styles.1" font="/0/@fonts.0" value="sf9"/>
</connectionDecorators>
<connectionDecorators visible="true" locationRelative="true" location="1.0">
<graphicsAlgorithm xsi:type="al:Polygon" foreground="/0/@colors.3" lineWidth="1" transparency="0.0" style="/0/@styles.2">
<points x="-10" y="-5" before="3" after="3"/>
<points/>
<points x="-10" y="5" before="3" after="3"/>
<points x="-8" before="3" after="3"/>
</graphicsAlgorithm>
</connectionDecorators>
</connections>
<connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="/0/@children.17/@anchors.0" end="/0/@children.10/@anchors.0">
<graphicsAlgorithm xsi:type="al:Polyline" foreground="/0/@colors.3" lineWidth="1" filled="false" transparency="0.0"/>
<link businessObjects="sf10"/>
<connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
<graphicsAlgorithm xsi:type="al:Text" lineWidth="1" transparency="0.0" x="10" style="/0/@styles.1" font="/0/@fonts.0" value="sf10"/>
</connectionDecorators>
<connectionDecorators visible="true" locationRelative="true" location="1.0">
<graphicsAlgorithm xsi:type="al:Polygon" foreground="/0/@colors.3" lineWidth="1" transparency="0.0" style="/0/@styles.2">
<points x="-10" y="-5" before="3" after="3"/>
<points/>
<points x="-10" y="5" before="3" after="3"/>
<points x="-8" before="3" after="3"/>
</graphicsAlgorithm>
</connectionDecorators>
</connections>
<colors red="227" green="238" blue="249"/>
<colors red="255" green="255" blue="255"/>
<colors/>
<colors red="127" green="127" blue="255"/>
<fonts name="Arial" size="8"/>
</pi:Diagram>
<bpmn2:Process id="OrderingProcess" name="OrderingProcess">
<documentation id="documentation_process" text="Place documentation for the 'OrderingProcess' process here."/>
</bpmn2:Process>
<bpmn2:StartEvent id="startevent1" name="Start" outgoing="flow1"/>
<bpmn2:UserTask id="usertask1" name="Place Order" incoming="flow1" outgoing="flow2" incomingSecurityFlow="sf5 sf7" activityActions="73dac7aa-69ed-4119-a433-e1945b736379"/>
<bpmn2:SequenceFlow id="flow1" name="" sourceRef="startevent1" targetRef="usertask1"/>
<securebpmn2:AtomicActivityAction id="73dac7aa-69ed-4119-a433-e1945b736379" actionName="Full Access" permissions="3ea3e008-2855-4963-8cb3-85249791a7bc" activity="usertask1"/>
<securebpmn2:Permission id="3ea3e008-2855-4963-8cb3-85249791a7bc" roles="e93eb400-eb58-449f-a522-14de21bced68" actions="73dac7aa-69ed-4119-a433-e1945b736379" authorizationConstraints="securityBod1 securitySod2" pName="Perm-usertask1-Full Access"/>
<securebpmn2:Role id="e93eb400-eb58-449f-a522-14de21bced68" name="Clerk" permissions="3ea3e008-2855-4963-8cb3-85249791a7bc 02a25d6f-7464-4c6e-9677-8ef5f010f64f fa69e12b-c343-4176-8c51-6ba336d2934b a27e0beb-ea86-4989-9315-088d35ffe2d2"/>
<bpmn2:ExclusiveGateway id="exclusivegateway1" name="Exclusive Gateway" incoming="flow3" outgoing="flow4 flow12 flow13"/>
<bpmn2:ServiceTask id="servicetask1" name="Check Total" incoming="flow2" outgoing="flow3" implementation="x+y" implementationType="expressionType" resultVariableName="z"/>
<bpmn2:SequenceFlow id="flow2" name="" sourceRef="usertask1" targetRef="servicetask1"/>
<bpmn2:SequenceFlow id="flow3" name="" sourceRef="servicetask1" targetRef="exclusivegateway1"/>
<bpmn2:UserTask id="usertask2" name="Process Common Order" incoming="flow4" outgoing="flow6" incomingSecurityFlow="sf8" activityActions="542aaa6d-cd88-4a95-a4d6-95499f735333"/>
<bpmn2:UserTask id="usertask3" name="Receive Order" incoming="flow6 flow11 flow22" outgoing="flow10" activityActions="a37cc9e5-83f4-451f-a416-d3014490b54c"/>
<bpmn2:SequenceFlow id="flow4" name="" sourceRef="exclusivegateway1" targetRef="usertask2"/>
<bpmn2:SequenceFlow id="flow6" name="" sourceRef="usertask2" targetRef="usertask3"/>
<bpmn2:EndEvent id="endevent1" name="End" incoming="flow21"/>
<bpmn2:SequenceFlow id="flow10" name="" sourceRef="usertask3" targetRef="usertask9"/>
<securebpmn2:AtomicActivityAction id="a37cc9e5-83f4-451f-a416-d3014490b54c" actionName="Full Access" permissions="02a25d6f-7464-4c6e-9677-8ef5f010f64f" activity="usertask3"/>
<securebpmn2:Permission id="02a25d6f-7464-4c6e-9677-8ef5f010f64f" roles="e93eb400-eb58-449f-a522-14de21bced68" actions="a37cc9e5-83f4-451f-a416-d3014490b54c" pName="Perm-usertask3-Full Access"/>
<securebpmn2:AtomicActivityAction id="542aaa6d-cd88-4a95-a4d6-95499f735333" actionName="Full Access" permissions="5112a604-df04-4ce7-91fb-7b0f6d6b2e89" activity="usertask2"/>
<securebpmn2:Permission id="5112a604-df04-4ce7-91fb-7b0f6d6b2e89" roles="8d82e731-279c-4f63-b1a3-036863e38895" actions="542aaa6d-cd88-4a95-a4d6-95499f735333" authorizationConstraints="securitySod2" pName="Perm-usertask2-Full Access"/>
<securebpmn2:Role id="8d82e731-279c-4f63-b1a3-036863e38895" name="Supervisor" permissions="5112a604-df04-4ce7-91fb-7b0f6d6b2e89 ccf812d8-72ba-49c6-980a-a52bb5c98b93 5026e56f-6bd6-4577-b1ae-268887248d69"/>
<securebpmn2:AtomicActivityAction id="bd9f3e1c-86cd-4fb9-8f10-0dc644728630" actionName="Full Access"/>
<securebpmn2:Permission id="fa69e12b-c343-4176-8c51-6ba336d2934b" roles="87603044-2645-49c8-8202-717556a15b27 e93eb400-eb58-449f-a522-14de21bced68" pName="Perm-usertask4-Full Access"/>
<securebpmn2:Role id="87603044-2645-49c8-8202-717556a15b27" name="Manager" permissions="fa69e12b-c343-4176-8c51-6ba336d2934b e5e43ad0-d025-4de9-a8f5-0b21366ef1fc d8b1d6e8-11e3-4b9d-8245-61c824239651"/>
<securebpmn2:AtomicActivityAction id="efd222a4-8906-47e6-a512-bf2ecf9852d9" actionName="Full Access"/>
<securebpmn2:Permission id="a27e0beb-ea86-4989-9315-088d35ffe2d2" roles="e93eb400-eb58-449f-a522-14de21bced68" pName="Perm-usertask4-Full Access"/>
<bpmn2:UserTask id="usertask4" name="Process Uncommon Order" incoming="flow12" outgoing="flow14" incomingSecurityFlow="sf9" activityActions="feb9c31d-e422-457b-9e4e-2d7e52015d31"/>
<bpmn2:UserTask id="usertask5" name="Approve Order" incoming="flow14" outgoing="flow11" activityActions="d419ef79-396b-43e7-a42f-db4bb1ee82fa"/>
<bpmn2:SequenceFlow id="flow11" name="" sourceRef="usertask5" targetRef="usertask3"/>
<bpmn2:UserTask id="usertask6" name="Approve Order" incoming="flow17" outgoing="flow19" incomingSecurityFlow="sf3" activityActions="bbeb7bee-e9d3-4a0a-a603-4bb1f34fb920"/>
<bpmn2:UserTask id="usertask7" name="Process Premium Order" incoming="flow13" outgoing="flow15" incomingSecurityFlow="sf10" activityActions="10474953-386f-43bb-bdea-63a1f572af38"/>
<bpmn2:SequenceFlow id="flow12" name="" sourceRef="exclusivegateway1" targetRef="usertask4"/>
<bpmn2:SequenceFlow id="flow13" name="" sourceRef="exclusivegateway1" targetRef="usertask7"/>
<bpmn2:SequenceFlow id="flow14" name="" sourceRef="usertask4" targetRef="usertask5"/>
<bpmn2:SequenceFlow id="flow15" name="" sourceRef="usertask7" targetRef="parallelgateway1"/>
<securebpmn2:AtomicActivityAction id="feb9c31d-e422-457b-9e4e-2d7e52015d31" actionName="Full Access" permissions="ccf812d8-72ba-49c6-980a-a52bb5c98b93" activity="usertask4"/>
<securebpmn2:Permission id="ccf812d8-72ba-49c6-980a-a52bb5c98b93" roles="8d82e731-279c-4f63-b1a3-036863e38895" actions="feb9c31d-e422-457b-9e4e-2d7e52015d31" authorizationConstraints="securitySod2" pName="Perm-usertask4-Full Access"/>
<securebpmn2:AtomicActivityAction id="10474953-386f-43bb-bdea-63a1f572af38" actionName="Full Access" permissions="5026e56f-6bd6-4577-b1ae-268887248d69" activity="usertask7"/>
<securebpmn2:Permission id="5026e56f-6bd6-4577-b1ae-268887248d69" roles="8d82e731-279c-4f63-b1a3-036863e38895" actions="10474953-386f-43bb-bdea-63a1f572af38" authorizationConstraints="securitySod2" pName="Perm-usertask7-Full Access"/>
<securebpmn2:AtomicActivityAction id="d419ef79-396b-43e7-a42f-db4bb1ee82fa" actionName="Full Access" permissions="e5e43ad0-d025-4de9-a8f5-0b21366ef1fc" activity="usertask5"/>
<securebpmn2:Permission id="e5e43ad0-d025-4de9-a8f5-0b21366ef1fc" roles="87603044-2645-49c8-8202-717556a15b27" actions="d419ef79-396b-43e7-a42f-db4bb1ee82fa" pName="Perm-usertask5-Full Access"/>
<securebpmn2:AtomicActivityAction id="bbeb7bee-e9d3-4a0a-a603-4bb1f34fb920" actionName="Full Access" permissions="d8b1d6e8-11e3-4b9d-8245-61c824239651" activity="usertask6"/>
<securebpmn2:Permission id="d8b1d6e8-11e3-4b9d-8245-61c824239651" roles="87603044-2645-49c8-8202-717556a15b27" actions="bbeb7bee-e9d3-4a0a-a603-4bb1f34fb920" authorizationConstraints="securitySod1" pName="Perm-usertask6-Full Access"/>
<bpmn2:ParallelGateway id="parallelgateway1" name="Parallel Gateway" incoming="flow15" outgoing="flow17 flow18"/>
<bpmn2:UserTask id="usertask8" name="Approve Order" incoming="flow18" outgoing="flow20" incomingSecurityFlow="sf4" activityActions="110dc4da-6357-4b37-a51c-9f8e589d3cc2"/>
<bpmn2:ParallelGateway id="parallelgateway2" name="Parallel Gateway" incoming="flow19 flow20" outgoing="flow22"/>
<bpmn2:SequenceFlow id="flow17" name="" sourceRef="parallelgateway1" targetRef="usertask6"/>
<bpmn2:SequenceFlow id="flow18" name="" sourceRef="parallelgateway1" targetRef="usertask8"/>
<bpmn2:SequenceFlow id="flow19" name="" sourceRef="usertask6" targetRef="parallelgateway2"/>
<bpmn2:SequenceFlow id="flow20" name="" sourceRef="usertask8" targetRef="parallelgateway2"/>
<securebpmn2:SeparationOfDuty id="securitySod1" name="sod" outgoingSecurityFlow="sf3 sf4" permissions="d8b1d6e8-11e3-4b9d-8245-61c824239651 6c41e88d-5c5d-4c51-b31a-6692c16b2058" dynamicEnforcement="true" minimumUsers="2" maxUserActionsPermitted="1"/>
<securebpmn2:SecurityFlow id="sf3" name="sf3" sourceRefNode="securitySod1" targetRefNode="usertask6"/>
<securebpmn2:SecurityFlow id="sf4" name="sf4" sourceRefNode="securitySod1" targetRefNode="usertask8"/>
<securebpmn2:AtomicActivityAction id="110dc4da-6357-4b37-a51c-9f8e589d3cc2" actionName="Full Access" permissions="6c41e88d-5c5d-4c51-b31a-6692c16b2058" activity="usertask8"/>
<securebpmn2:Permission id="6c41e88d-5c5d-4c51-b31a-6692c16b2058" roles="d5e2cd0a-40a0-4030-8fc5-a14393206f81" actions="110dc4da-6357-4b37-a51c-9f8e589d3cc2" authorizationConstraints="securitySod1" pName="Perm-usertask8-Full Access"/>
<securebpmn2:Role id="d5e2cd0a-40a0-4030-8fc5-a14393206f81" name="Manager" permissions="6c41e88d-5c5d-4c51-b31a-6692c16b2058"/>
<bpmn2:UserTask id="usertask9" name="Confirm Order" incoming="flow10" outgoing="flow21" incomingSecurityFlow="sf6" activityActions="6f334e43-af59-4ba6-bbcf-000953df9f96" formKey="" dueDate="">
<documentation text=""/>
</bpmn2:UserTask>
<securebpmn2:AtomicActivityAction id="6f334e43-af59-4ba6-bbcf-000953df9f96" actionName="Full Access" permissions="98390035-482d-4361-9cc0-0238d33cf753" activity="usertask9"/>
<securebpmn2:Permission id="98390035-482d-4361-9cc0-0238d33cf753" roles="923d82b5-d701-4800-a442-f8be740b33e3" actions="6f334e43-af59-4ba6-bbcf-000953df9f96" authorizationConstraints="securityBod1" pName="Perm-usertask9-Full Access"/>
<securebpmn2:Role id="923d82b5-d701-4800-a442-f8be740b33e3" name="Clerk" permissions="98390035-482d-4361-9cc0-0238d33cf753"/>
<bpmn2:SequenceFlow id="flow21" name="" sourceRef="usertask9" targetRef="endevent1"/>
<securebpmn2:BindingOfDuty id="securityBod1" name="bod" outgoingSecurityFlow="sf5 sf6" permissions="3ea3e008-2855-4963-8cb3-85249791a7bc 98390035-482d-4361-9cc0-0238d33cf753" dynamicEnforcement="true" maxUsers="1" sameUserActionCount="2"/>
<securebpmn2:SecurityFlow id="sf5" name="sf5" sourceRefNode="securityBod1" targetRefNode="usertask1"/>
<securebpmn2:SecurityFlow id="sf6" name="sf6" sourceRefNode="securityBod1" targetRefNode="usertask9"/>
<bpmn2:SequenceFlow id="flow22" name="" sourceRef="parallelgateway2" targetRef="usertask3"/>
<securebpmn2:SeparationOfDuty id="securitySod2" name="sod" outgoingSecurityFlow="sf7 sf8 sf9 sf10" permissions="3ea3e008-2855-4963-8cb3-85249791a7bc 5112a604-df04-4ce7-91fb-7b0f6d6b2e89 ccf812d8-72ba-49c6-980a-a52bb5c98b93 5026e56f-6bd6-4577-b1ae-268887248d69" minimumUsers="2" maxUserActionsPermitted="1"/>
<securebpmn2:SecurityFlow id="sf7" name="sf7" sourceRefNode="securitySod2" targetRefNode="usertask1"/>
<securebpmn2:SecurityFlow id="sf8" name="sf8" sourceRefNode="securitySod2" targetRefNode="usertask2"/>
<securebpmn2:SecurityFlow id="sf9" name="sf9" sourceRefNode="securitySod2" targetRefNode="usertask4"/>
<securebpmn2:SecurityFlow id="sf10" name="sf10" sourceRefNode="securitySod2" targetRefNode="usertask7"/>
</xmi:XMI>

View File

@ -0,0 +1,115 @@
section signature:
user_to_role : user * role -> fact
poto : userORrole * taskName -> fact
task_to_data : taskName * set * set -> fact
aknows : entity * data -> fact
mc_pair : data * data -> data
contains : set * data -> fact
task : taskName * nat -> taskInstance
canExecute : user * role * humanTaskName -> fact
granted : user * role * taskInstance -> fact
executed : user * taskInstance -> fact
ready : taskInstance -> fact
done : taskInstance -> fact
entity > organization
entity > user
data > object
data > set
userORrole > user
userORrole > role
taskName > automatedTaskName
taskName > humanTaskName
section types:
start_event_startevent1,exclusivegateway1_to_usertask2,exclusivegateway1_to_usertask4,exclusivegateway1_to_usertask7,parallelgateway1_to_usertask6,parallelgateway1_to_usertask8,parallelgateway2_to_usertask3: fact
HT,usertask1,usertask2,usertask3,usertask4,usertask5,usertask6,usertask7,usertask8,usertask9: humanTaskName
IN,OUT,in_usertask1,out_usertask1,in_servicetask1,out_servicetask1,in_usertask2,out_usertask2,in_usertask3,out_usertask3,in_usertask4,out_usertask4,in_usertask5,out_usertask5,in_usertask6,out_usertask6,in_usertask7,out_usertask7,in_usertask8,out_usertask8,in_usertask9,out_usertask9: set
manager,supervisor,clerk,R: role
N,N0,N1,N2,N3,N4,N5,N6,N7,N8,N9,N10,N11,N12,N13,N14,N15,N16,N17,N18,N19,N20,N21,N22,N23,N24,N25,N26,N27,N28,N29,N30,N31,N32,N33,N34,N35,N36,N37,N38,N39,N40,N41,N42,N43,N44,N45,N46,N47,N48,N49,N50,N51,N52,N53,N54,N55,N56,N57,N58,N59,N60,N61,N62,N63,N64,N65,N66,N67,N68,N69,N70,N71,N72,N73,N74,N75,N76,N77,N78,N79,N80,N81,N82,N83,N84,N85,N86,N87,N88,N89,N90,N91,N92,N93,N94,N95,N96,N97,N98,N99,N100,N101,N102,N103,N104,N105,N106,N107,N108,N109: nat
AT,servicetask1: automatedTaskName
user1_manager,user2_manager,user1_supervisor,user2_supervisor,user1_clerk,user2_clerk,A,U0,U1,U2: user
section inits:
initial_state init_1 :=
user_to_role(user1_manager,manager).
user_to_role(user2_manager,manager).
user_to_role(user1_supervisor,supervisor).
user_to_role(user2_supervisor,supervisor).
user_to_role(user1_clerk,clerk).
user_to_role(user2_clerk,clerk).
start_event_startevent1.
task_to_data(usertask1,in_usertask1,out_usertask1).
task_to_data(servicetask1,in_servicetask1,out_servicetask1).
task_to_data(usertask2,in_usertask2,out_usertask2).
task_to_data(usertask3,in_usertask3,out_usertask3).
task_to_data(usertask4,in_usertask4,out_usertask4).
task_to_data(usertask5,in_usertask5,out_usertask5).
task_to_data(usertask6,in_usertask6,out_usertask6).
task_to_data(usertask7,in_usertask7,out_usertask7).
task_to_data(usertask8,in_usertask8,out_usertask8).
task_to_data(usertask9,in_usertask9,out_usertask9)
section hornClauses:
hc rbac_ac (A,R,HT) := canExecute(A,R,HT) :- user_to_role(A,R), poto(R,HT)
hc direct_ac (A,R,HT) := canExecute(A,R,HT) :- user_to_role(A,R), poto(A,HT)
hc poto_usertask1:= poto(clerk,usertask1)
hc poto_usertask2:= poto(supervisor,usertask2)
hc poto_usertask3:= poto(clerk,usertask3)
hc poto_usertask4:= poto(supervisor,usertask4)
hc poto_usertask5:= poto(manager,usertask5)
hc poto_usertask6:= poto(manager,usertask6)
hc poto_usertask7:= poto(supervisor,usertask7)
hc poto_usertask8:= poto(manager,usertask8)
hc poto_usertask9:= poto(clerk,usertask9)
section rules:
step authorizeTaskExecution(A,R,HT,N) := canExecute(A,R,HT). ready(task(HT,N)) => granted(A,R,task(HT,N))
step h_taskExecution(A,R,HT,N,IN,OUT) := granted(A,R,task(HT,N)). task_to_data(HT,IN,OUT) => executed(A,task(HT,N)). done(task(HT,N)). task_to_data(HT,IN,OUT). aknows(A,IN). aknows(A,OUT)
step atask_execution(AT,N,IN,OUT) := ready(task(AT,N)). task_to_data(AT,IN,OUT) => done(task(AT,N)). task_to_data(AT,IN,OUT)
step w_usertask1(N0) := start_event_startevent1=[exists N0] => ready(task(usertask1,N0))
step exclusivegateway1_branch1(N1) := done(task(servicetask1,N1)) => exclusivegateway1_to_usertask2
step exclusivegateway1_branch2(N1) := done(task(servicetask1,N1)) => exclusivegateway1_to_usertask4
step exclusivegateway1_branch3(N1) := done(task(servicetask1,N1)) => exclusivegateway1_to_usertask7
step w_servicetask1(N3,N2) := done(task(usertask1,N3))=[exists N2] => ready(task(servicetask1,N2))
step w_usertask2(N4) := exclusivegateway1_to_usertask2=[exists N4] => ready(task(usertask2,N4))
step w_usertask3(N6,N5) := done(task(usertask2,N6))=[exists N5] => ready(task(usertask3,N5))
step w_usertask4(N7) := exclusivegateway1_to_usertask4=[exists N7] => ready(task(usertask4,N7))
step w_usertask5(N9,N8) := done(task(usertask4,N9))=[exists N8] => ready(task(usertask5,N8))
step w_usertask6(N10) := parallelgateway1_to_usertask6=[exists N10] => ready(task(usertask6,N10))
step w_usertask7(N11) := exclusivegateway1_to_usertask7=[exists N11] => ready(task(usertask7,N11))
step w_parallelgateway1(N12) := done(task(usertask7,N12)) => parallelgateway1_to_usertask6. parallelgateway1_to_usertask8
step w_usertask8(N13) := parallelgateway1_to_usertask8=[exists N13] => ready(task(usertask8,N13))
step w_parallelgateway2(N14,N15) := done(task(usertask6,N14)). done(task(usertask8,N15)) => parallelgateway2_to_usertask3
step w_usertask9(N17,N16) := done(task(usertask3,N17))=[exists N16] => ready(task(usertask9,N16))
section goals:
attack_state sod_securitySod2_1(U0,N18,N19,N20,N21):= executed(U0,task(usertask4,N18)). executed(U0,task(usertask7,N19)). executed(U0,task(usertask1,N20)). executed(U0,task(usertask2,N21))
attack_state sod_securitySod2_2(U0,U1,N22,N23,N24,N25):= executed(U0,task(usertask4,N22)). executed(U0,task(usertask1,N23)). executed(U0,task(usertask2,N24)). executed(U1,task(usertask7,N25))
attack_state sod_securitySod2_3(U0,U1,N26,N27,N28,N29):= executed(U0,task(usertask7,N26)). executed(U0,task(usertask1,N27)). executed(U0,task(usertask2,N28)). executed(U1,task(usertask4,N29))
attack_state sod_securitySod2_4(U0,U1,N30,N31,N32,N33):= executed(U0,task(usertask4,N30)). executed(U0,task(usertask7,N31)). executed(U0,task(usertask1,N32)). executed(U1,task(usertask2,N33))
attack_state sod_securitySod2_5(U0,U1,N34,N35,N36,N37):= executed(U0,task(usertask4,N34)). executed(U0,task(usertask7,N35)). executed(U0,task(usertask2,N36)). executed(U1,task(usertask1,N37))
attack_state sod_securitySod2_6(U0,U1,N38,N39,N40,N41):= executed(U0,task(usertask1,N38)). executed(U0,task(usertask2,N39)). executed(U1,task(usertask4,N40)). executed(U1,task(usertask7,N41))
attack_state sod_securitySod2_7(U0,U1,N42,N43,N44,N45):= executed(U0,task(usertask4,N42)). executed(U0,task(usertask1,N43)). executed(U1,task(usertask7,N44)). executed(U1,task(usertask2,N45))
attack_state sod_securitySod2_8(U0,U1,N46,N47,N48,N49):= executed(U0,task(usertask7,N46)). executed(U0,task(usertask1,N47)). executed(U1,task(usertask4,N48)). executed(U1,task(usertask2,N49))
attack_state sod_securitySod2_9(U0,U1,N50,N51,N52,N53):= executed(U0,task(usertask4,N50)). executed(U0,task(usertask2,N51)). executed(U1,task(usertask7,N52)). executed(U1,task(usertask1,N53))
attack_state sod_securitySod2_10(U0,U1,N54,N55,N56,N57):= executed(U0,task(usertask7,N54)). executed(U0,task(usertask2,N55)). executed(U1,task(usertask4,N56)). executed(U1,task(usertask1,N57))
attack_state sod_securitySod2_11(U0,U1,N58,N59,N60,N61):= executed(U0,task(usertask4,N58)). executed(U0,task(usertask7,N59)). executed(U1,task(usertask1,N60)). executed(U1,task(usertask2,N61))
attack_state sod_securitySod2_12(U0,U1,U2,N62,N63,N64,N65):= executed(U0,task(usertask1,N62)). executed(U0,task(usertask2,N63)). executed(U1,task(usertask4,N64)). executed(U2,task(usertask7,N65))
attack_state sod_securitySod2_13(U0,U1,U2,N66,N67,N68,N69):= executed(U0,task(usertask1,N66)). executed(U0,task(usertask2,N67)). executed(U1,task(usertask7,N68)). executed(U2,task(usertask4,N69))
attack_state sod_securitySod2_14(U0,U1,U2,N70,N71,N72,N73):= executed(U0,task(usertask4,N70)). executed(U0,task(usertask1,N71)). executed(U1,task(usertask2,N72)). executed(U2,task(usertask7,N73))
attack_state sod_securitySod2_15(U0,U1,U2,N74,N75,N76,N77):= executed(U0,task(usertask7,N74)). executed(U0,task(usertask1,N75)). executed(U1,task(usertask2,N76)). executed(U2,task(usertask4,N77))
attack_state sod_securitySod2_16(U0,U1,U2,N78,N79,N80,N81):= executed(U0,task(usertask4,N78)). executed(U0,task(usertask1,N79)). executed(U1,task(usertask7,N80)). executed(U2,task(usertask2,N81))
attack_state sod_securitySod2_17(U0,U1,U2,N82,N83,N84,N85):= executed(U0,task(usertask7,N82)). executed(U0,task(usertask1,N83)). executed(U1,task(usertask4,N84)). executed(U2,task(usertask2,N85))
attack_state sod_securitySod2_18(U0,U1,U2,N86,N87,N88,N89):= executed(U0,task(usertask4,N86)). executed(U0,task(usertask2,N87)). executed(U1,task(usertask1,N88)). executed(U2,task(usertask7,N89))
attack_state sod_securitySod2_19(U0,U1,U2,N90,N91,N92,N93):= executed(U0,task(usertask7,N90)). executed(U0,task(usertask2,N91)). executed(U1,task(usertask1,N92)). executed(U2,task(usertask4,N93))
attack_state sod_securitySod2_20(U0,U1,U2,N94,N95,N96,N97):= executed(U0,task(usertask4,N94)). executed(U0,task(usertask7,N95)). executed(U1,task(usertask1,N96)). executed(U2,task(usertask2,N97))
attack_state sod_securitySod2_21(U0,U1,U2,N98,N99,N100,N101):= executed(U0,task(usertask4,N98)). executed(U0,task(usertask2,N99)). executed(U1,task(usertask7,N100)). executed(U2,task(usertask1,N101))
attack_state sod_securitySod2_22(U0,U1,U2,N102,N103,N104,N105):= executed(U0,task(usertask7,N102)). executed(U0,task(usertask2,N103)). executed(U1,task(usertask4,N104)). executed(U2,task(usertask1,N105))
attack_state sod_securitySod2_23(U0,U1,U2,N106,N107,N108,N109):= executed(U0,task(usertask4,N106)). executed(U0,task(usertask7,N107)). executed(U1,task(usertask2,N108)). executed(U2,task(usertask1,N109))

View File

@ -0,0 +1,161 @@
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
<process id="OrderingProcess" name="OrderingProcess">
<documentation>Place documentation for the 'OrderingProcess' process here.</documentation>
<startEvent id="startevent1" name="Start"></startEvent>
<userTask id="usertask1" name="Place Order"></userTask>
<sequenceFlow id="flow1" name="" sourceRef="startevent1" targetRef="usertask1"></sequenceFlow>
<exclusiveGateway id="exclusivegateway1" name="Exclusive Gateway"></exclusiveGateway>
<serviceTask id="servicetask1" name="Check Total" activiti:expression="x+y" activiti:resultVariableName="z"></serviceTask>
<sequenceFlow id="flow2" name="" sourceRef="usertask1" targetRef="servicetask1"></sequenceFlow>
<sequenceFlow id="flow3" name="" sourceRef="servicetask1" targetRef="exclusivegateway1"></sequenceFlow>
<userTask id="usertask2" name="Process Common Order"></userTask>
<userTask id="usertask3" name="Receive Order"></userTask>
<sequenceFlow id="flow4" name="" sourceRef="exclusivegateway1" targetRef="usertask2"></sequenceFlow>
<sequenceFlow id="flow6" name="" sourceRef="usertask2" targetRef="usertask3"></sequenceFlow>
<endEvent id="endevent1" name="End"></endEvent>
<sequenceFlow id="flow10" name="" sourceRef="usertask3" targetRef="usertask9"></sequenceFlow>
<userTask id="usertask4" name="Process Uncommon Order"></userTask>
<userTask id="usertask5" name="Approve Order"></userTask>
<sequenceFlow id="flow11" name="" sourceRef="usertask5" targetRef="usertask3"></sequenceFlow>
<userTask id="usertask6" name="Approve Order"></userTask>
<userTask id="usertask7" name="Process Premium Order"></userTask>
<sequenceFlow id="flow12" name="" sourceRef="exclusivegateway1" targetRef="usertask4"></sequenceFlow>
<sequenceFlow id="flow13" name="" sourceRef="exclusivegateway1" targetRef="usertask7"></sequenceFlow>
<sequenceFlow id="flow14" name="" sourceRef="usertask4" targetRef="usertask5"></sequenceFlow>
<sequenceFlow id="flow15" name="" sourceRef="usertask7" targetRef="parallelgateway1"></sequenceFlow>
<parallelGateway id="parallelgateway1" name="Parallel Gateway"></parallelGateway>
<userTask id="usertask8" name="Approve Order"></userTask>
<parallelGateway id="parallelgateway2" name="Parallel Gateway"></parallelGateway>
<sequenceFlow id="flow17" name="" sourceRef="parallelgateway1" targetRef="usertask6"></sequenceFlow>
<sequenceFlow id="flow18" name="" sourceRef="parallelgateway1" targetRef="usertask8"></sequenceFlow>
<sequenceFlow id="flow19" name="" sourceRef="usertask6" targetRef="parallelgateway2"></sequenceFlow>
<sequenceFlow id="flow20" name="" sourceRef="usertask8" targetRef="parallelgateway2"></sequenceFlow>
<userTask id="usertask9" name="Confirm Order"></userTask>
<sequenceFlow id="flow21" name="" sourceRef="usertask9" targetRef="endevent1"></sequenceFlow>
<sequenceFlow id="flow22" name="" sourceRef="parallelgateway2" targetRef="usertask3"></sequenceFlow>
</process>
<bpmndi:BPMNDiagram id="BPMNDiagram_OrderingProcess">
<bpmndi:BPMNPlane bpmnElement="OrderingProcess" id="BPMNPlane_OrderingProcess">
<bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1">
<omgdc:Bounds height="35" width="35" x="20" y="234"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="usertask1" id="BPMNShape_usertask1">
<omgdc:Bounds height="55" width="105" x="90" y="223"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="exclusivegateway1" id="BPMNShape_exclusivegateway1">
<omgdc:Bounds height="40" width="40" x="370" y="231"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="servicetask1" id="BPMNShape_servicetask1">
<omgdc:Bounds height="55" width="105" x="230" y="223"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="usertask2" id="BPMNShape_usertask2">
<omgdc:Bounds height="55" width="105" x="442" y="125"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="usertask3" id="BPMNShape_usertask3">
<omgdc:Bounds height="55" width="105" x="607" y="125"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="endevent1" id="BPMNShape_endevent1">
<omgdc:Bounds height="35" width="35" x="920" y="135"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="usertask4" id="BPMNShape_usertask4">
<omgdc:Bounds height="55" width="105" x="442" y="224"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="usertask5" id="BPMNShape_usertask5">
<omgdc:Bounds height="55" width="105" x="607" y="224"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="usertask6" id="BPMNShape_usertask6">
<omgdc:Bounds height="55" width="105" x="607" y="296"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="usertask7" id="BPMNShape_usertask7">
<omgdc:Bounds height="55" width="105" x="442" y="328"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="parallelgateway1" id="BPMNShape_parallelgateway1">
<omgdc:Bounds height="40" width="40" x="567" y="335"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="usertask8" id="BPMNShape_usertask8">
<omgdc:Bounds height="55" width="105" x="607" y="367"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="parallelgateway2" id="BPMNShape_parallelgateway2">
<omgdc:Bounds height="40" width="40" x="721" y="335"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="usertask9" id="BPMNShape_usertask9">
<omgdc:Bounds height="55" width="105" x="760" y="125"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
<omgdi:waypoint x="55" y="251"></omgdi:waypoint>
<omgdi:waypoint x="90" y="250"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2">
<omgdi:waypoint x="195" y="250"></omgdi:waypoint>
<omgdi:waypoint x="230" y="250"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow3" id="BPMNEdge_flow3">
<omgdi:waypoint x="335" y="250"></omgdi:waypoint>
<omgdi:waypoint x="370" y="251"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow4" id="BPMNEdge_flow4">
<omgdi:waypoint x="390" y="231"></omgdi:waypoint>
<omgdi:waypoint x="494" y="180"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow6" id="BPMNEdge_flow6">
<omgdi:waypoint x="547" y="152"></omgdi:waypoint>
<omgdi:waypoint x="607" y="152"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow10" id="BPMNEdge_flow10">
<omgdi:waypoint x="712" y="152"></omgdi:waypoint>
<omgdi:waypoint x="760" y="152"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow11" id="BPMNEdge_flow11">
<omgdi:waypoint x="659" y="224"></omgdi:waypoint>
<omgdi:waypoint x="659" y="180"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow12" id="BPMNEdge_flow12">
<omgdi:waypoint x="410" y="251"></omgdi:waypoint>
<omgdi:waypoint x="442" y="251"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow13" id="BPMNEdge_flow13">
<omgdi:waypoint x="390" y="271"></omgdi:waypoint>
<omgdi:waypoint x="494" y="328"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow14" id="BPMNEdge_flow14">
<omgdi:waypoint x="547" y="251"></omgdi:waypoint>
<omgdi:waypoint x="607" y="251"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow15" id="BPMNEdge_flow15">
<omgdi:waypoint x="547" y="355"></omgdi:waypoint>
<omgdi:waypoint x="567" y="355"></omgdi:waypoint>
<omgdi:waypoint x="607" y="355"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow17" id="BPMNEdge_flow17">
<omgdi:waypoint x="587" y="335"></omgdi:waypoint>
<omgdi:waypoint x="587" y="321"></omgdi:waypoint>
<omgdi:waypoint x="607" y="323"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow18" id="BPMNEdge_flow18">
<omgdi:waypoint x="587" y="375"></omgdi:waypoint>
<omgdi:waypoint x="587" y="395"></omgdi:waypoint>
<omgdi:waypoint x="607" y="394"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow19" id="BPMNEdge_flow19">
<omgdi:waypoint x="712" y="323"></omgdi:waypoint>
<omgdi:waypoint x="740" y="324"></omgdi:waypoint>
<omgdi:waypoint x="741" y="335"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow20" id="BPMNEdge_flow20">
<omgdi:waypoint x="712" y="394"></omgdi:waypoint>
<omgdi:waypoint x="741" y="395"></omgdi:waypoint>
<omgdi:waypoint x="741" y="375"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow21" id="BPMNEdge_flow21">
<omgdi:waypoint x="865" y="152"></omgdi:waypoint>
<omgdi:waypoint x="920" y="152"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow22" id="BPMNEdge_flow22">
<omgdi:waypoint x="741" y="335"></omgdi:waypoint>
<omgdi:waypoint x="804" y="289"></omgdi:waypoint>
<omgdi:waypoint x="659" y="180"></omgdi:waypoint>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</definitions>

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

View File

@ -0,0 +1,340 @@
<PolicySet xmlns="urn:oasis:names:tc:xacml:3.0:schema:os" PolicySetId="testPolicySet" PolicyCombiningAlgId="urn:oasis:names:tc:xacml:1.0:policy-combining-algorithm:first-applicable">
<Target>
<AnyOf>
<AllOf>
</AllOf>
</AnyOf>
</Target>
<Policy xmlns="urn:oasis:names:tc:xacml:3.0:schema:os" PolicyId="policy_for_usertask1" RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0:rule-combining-algorithm:first-applicable"
>
<Target>
<AnyOf>
<AllOf>
</AllOf>
</AnyOf>
</Target>
<Rule RuleId="rule_for_usertask1" Effect="Permit">
<Description>Place Order</Description>
<Target>
<AnyOf>
<AllOf>
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">Full Access</AttributeValue>
<AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:action" AttributeId="urn:oasis:names:tc:xacml:1.0:action:action-id" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"/>
</Match>
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:anyURI-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#anyURI">usertask1</AttributeValue>
<AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id" DataType="http://www.w3.org/2001/XMLSchema#anyURI" MustBePresent="true"/>
</Match>
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">clerk</AttributeValue>
<AttributeDesignator Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject" AttributeId="urn:custom:subject:role" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"/>
</Match>
</AllOf>
</AnyOf>
</Target>
<Condition>
<Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:not">
<Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:any-of-any">
<Function FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-equal"/>
<Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-bag">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">usertask4</AttributeValue>
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">usertask7</AttributeValue>
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">usertask2</AttributeValue>
</Apply>
<AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" AttributeId="urn:custom:resource:cc-tasks" DataType="http://www.w3.org/2001/XMLSchema#string"/>
</Apply>
</Apply>
</Condition>
</Rule>
</Policy>
<Policy xmlns="urn:oasis:names:tc:xacml:3.0:schema:os" PolicyId="policy_for_usertask2" RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0:rule-combining-algorithm:first-applicable"
>
<Target>
<AnyOf>
<AllOf>
</AllOf>
</AnyOf>
</Target>
<Rule RuleId="rule_for_usertask2" Effect="Permit">
<Description>Process Common Order</Description>
<Target>
<AnyOf>
<AllOf>
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">Full Access</AttributeValue>
<AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:action" AttributeId="urn:oasis:names:tc:xacml:1.0:action:action-id" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"/>
</Match>
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:anyURI-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#anyURI">usertask2</AttributeValue>
<AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id" DataType="http://www.w3.org/2001/XMLSchema#anyURI" MustBePresent="true"/>
</Match>
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">supervisor</AttributeValue>
<AttributeDesignator Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject" AttributeId="urn:custom:subject:role" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"/>
</Match>
</AllOf>
</AnyOf>
</Target>
<Condition>
<Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:not">
<Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:any-of-any">
<Function FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-equal"/>
<Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-bag">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">usertask4</AttributeValue>
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">usertask7</AttributeValue>
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">usertask1</AttributeValue>
</Apply>
<AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" AttributeId="urn:custom:resource:cc-tasks" DataType="http://www.w3.org/2001/XMLSchema#string"/>
</Apply>
</Apply>
</Condition>
</Rule>
</Policy>
<Policy xmlns="urn:oasis:names:tc:xacml:3.0:schema:os" PolicyId="policy_for_usertask3" RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0:rule-combining-algorithm:first-applicable"
>
<Target>
<AnyOf>
<AllOf>
</AllOf>
</AnyOf>
</Target>
<Rule RuleId="rule_for_usertask3" Effect="Permit">
<Description>Receive Order</Description>
<Target>
<AnyOf>
<AllOf>
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">Full Access</AttributeValue>
<AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:action" AttributeId="urn:oasis:names:tc:xacml:1.0:action:action-id" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"/>
</Match>
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:anyURI-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#anyURI">usertask3</AttributeValue>
<AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id" DataType="http://www.w3.org/2001/XMLSchema#anyURI" MustBePresent="true"/>
</Match>
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">clerk</AttributeValue>
<AttributeDesignator Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject" AttributeId="urn:custom:subject:role" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"/>
</Match>
</AllOf>
</AnyOf>
</Target>
</Rule>
</Policy>
<Policy xmlns="urn:oasis:names:tc:xacml:3.0:schema:os" PolicyId="policy_for_usertask4" RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0:rule-combining-algorithm:first-applicable"
>
<Target>
<AnyOf>
<AllOf>
</AllOf>
</AnyOf>
</Target>
<Rule RuleId="rule_for_usertask4" Effect="Permit">
<Description>Process Uncommon Order</Description>
<Target>
<AnyOf>
<AllOf>
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">Full Access</AttributeValue>
<AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:action" AttributeId="urn:oasis:names:tc:xacml:1.0:action:action-id" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"/>
</Match>
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:anyURI-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#anyURI">usertask4</AttributeValue>
<AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id" DataType="http://www.w3.org/2001/XMLSchema#anyURI" MustBePresent="true"/>
</Match>
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">supervisor</AttributeValue>
<AttributeDesignator Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject" AttributeId="urn:custom:subject:role" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"/>
</Match>
</AllOf>
</AnyOf>
</Target>
<Condition>
<Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:not">
<Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:any-of-any">
<Function FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-equal"/>
<Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-bag">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">usertask7</AttributeValue>
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">usertask1</AttributeValue>
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">usertask2</AttributeValue>
</Apply>
<AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" AttributeId="urn:custom:resource:cc-tasks" DataType="http://www.w3.org/2001/XMLSchema#string"/>
</Apply>
</Apply>
</Condition>
</Rule>
</Policy>
<Policy xmlns="urn:oasis:names:tc:xacml:3.0:schema:os" PolicyId="policy_for_usertask5" RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0:rule-combining-algorithm:first-applicable"
>
<Target>
<AnyOf>
<AllOf>
</AllOf>
</AnyOf>
</Target>
<Rule RuleId="rule_for_usertask5" Effect="Permit">
<Description>Approve Order</Description>
<Target>
<AnyOf>
<AllOf>
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">Full Access</AttributeValue>
<AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:action" AttributeId="urn:oasis:names:tc:xacml:1.0:action:action-id" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"/>
</Match>
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:anyURI-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#anyURI">usertask5</AttributeValue>
<AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id" DataType="http://www.w3.org/2001/XMLSchema#anyURI" MustBePresent="true"/>
</Match>
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">manager</AttributeValue>
<AttributeDesignator Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject" AttributeId="urn:custom:subject:role" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"/>
</Match>
</AllOf>
</AnyOf>
</Target>
</Rule>
</Policy>
<Policy xmlns="urn:oasis:names:tc:xacml:3.0:schema:os" PolicyId="policy_for_usertask6" RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0:rule-combining-algorithm:first-applicable"
>
<Target>
<AnyOf>
<AllOf>
</AllOf>
</AnyOf>
</Target>
<Rule RuleId="rule_for_usertask6" Effect="Permit">
<Description>Approve Order</Description>
<Target>
<AnyOf>
<AllOf>
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">Full Access</AttributeValue>
<AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:action" AttributeId="urn:oasis:names:tc:xacml:1.0:action:action-id" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"/>
</Match>
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:anyURI-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#anyURI">usertask6</AttributeValue>
<AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id" DataType="http://www.w3.org/2001/XMLSchema#anyURI" MustBePresent="true"/>
</Match>
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">manager</AttributeValue>
<AttributeDesignator Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject" AttributeId="urn:custom:subject:role" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"/>
</Match>
</AllOf>
</AnyOf>
</Target>
<Condition>
<Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:not">
<Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:any-of-any">
<Function FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-equal"/>
<Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-bag">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">usertask8</AttributeValue>
</Apply>
<AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" AttributeId="urn:custom:resource:cc-tasks" DataType="http://www.w3.org/2001/XMLSchema#string"/>
</Apply>
</Apply>
</Condition>
</Rule>
</Policy>
<Policy xmlns="urn:oasis:names:tc:xacml:3.0:schema:os" PolicyId="policy_for_usertask7" RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0:rule-combining-algorithm:first-applicable"
>
<Target>
<AnyOf>
<AllOf>
</AllOf>
</AnyOf>
</Target>
<Rule RuleId="rule_for_usertask7" Effect="Permit">
<Description>Process Premium Order</Description>
<Target>
<AnyOf>
<AllOf>
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">Full Access</AttributeValue>
<AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:action" AttributeId="urn:oasis:names:tc:xacml:1.0:action:action-id" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"/>
</Match>
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:anyURI-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#anyURI">usertask7</AttributeValue>
<AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id" DataType="http://www.w3.org/2001/XMLSchema#anyURI" MustBePresent="true"/>
</Match>
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">supervisor</AttributeValue>
<AttributeDesignator Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject" AttributeId="urn:custom:subject:role" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"/>
</Match>
</AllOf>
</AnyOf>
</Target>
<Condition>
<Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:not">
<Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:any-of-any">
<Function FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-equal"/>
<Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-bag">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">usertask4</AttributeValue>
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">usertask1</AttributeValue>
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">usertask2</AttributeValue>
</Apply>
<AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" AttributeId="urn:custom:resource:cc-tasks" DataType="http://www.w3.org/2001/XMLSchema#string"/>
</Apply>
</Apply>
</Condition>
</Rule>
</Policy>
<Policy xmlns="urn:oasis:names:tc:xacml:3.0:schema:os" PolicyId="policy_for_usertask8" RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0:rule-combining-algorithm:first-applicable"
>
<Target>
<AnyOf>
<AllOf>
</AllOf>
</AnyOf>
</Target>
<Rule RuleId="rule_for_usertask8" Effect="Permit">
<Description>Approve Order</Description>
<Target>
<AnyOf>
<AllOf>
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">Full Access</AttributeValue>
<AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:action" AttributeId="urn:oasis:names:tc:xacml:1.0:action:action-id" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"/>
</Match>
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:anyURI-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#anyURI">usertask8</AttributeValue>
<AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id" DataType="http://www.w3.org/2001/XMLSchema#anyURI" MustBePresent="true"/>
</Match>
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">manager</AttributeValue>
<AttributeDesignator Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject" AttributeId="urn:custom:subject:role" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"/>
</Match>
</AllOf>
</AnyOf>
</Target>
<Condition>
<Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:not">
<Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:any-of-any">
<Function FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-equal"/>
<Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-bag">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">usertask6</AttributeValue>
</Apply>
<AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" AttributeId="urn:custom:resource:cc-tasks" DataType="http://www.w3.org/2001/XMLSchema#string"/>
</Apply>
</Apply>
</Condition>
</Rule>
</Policy>
<Policy xmlns="urn:oasis:names:tc:xacml:3.0:schema:os" PolicyId="denyPolicy" RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0:rule-combining-algorithm:first-applicable"
>
<Target>
<AnyOf>
<AllOf>
</AllOf>
</AnyOf>
</Target>
<Rule RuleId="denyRule" Effect="Deny">
<Description>deny if no other Rule applies</Description>
<Target>
<AnyOf>
<AllOf>
</AllOf>
</AnyOf>
</Target>
</Rule>
</Policy>
</PolicySet>