summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaik Teurlings <mteur@gmx.net>2008-05-03 15:36:39 (GMT)
committerMaik Teurlings <mteur@gmx.net>2008-05-03 15:36:39 (GMT)
commit0bcbe1e74e72298df4c64b671a14943f66cd9645 (patch)
tree0d5cc71ab3069e5774b3e7802a3d1b6a46a62735
parentb6fe756e4d34e3f1ea5b134013aa25ece91fe1ac (diff)
download2ii55-0bcbe1e74e72298df4c64b671a14943f66cd9645.zip
2ii55-0bcbe1e74e72298df4c64b671a14943f66cd9645.tar.gz
2ii55-0bcbe1e74e72298df4c64b671a14943f66cd9645.tar.bz2
Alles Final?
-rw-r--r--report/PartYawlPartyParty.docbin0 -> 1147904 bytes
-rw-r--r--yawl/PartyParty/PartyParty.pngbin0 -> 104836 bytes
-rw-r--r--yawl/PartyParty/PartyParty.xml885
-rw-r--r--yawl/PartyParty/PartyParty.ywlbin54361 -> 56896 bytes
4 files changed, 885 insertions, 0 deletions
diff --git a/report/PartYawlPartyParty.doc b/report/PartYawlPartyParty.doc
new file mode 100644
index 0000000..a7135a5
--- /dev/null
+++ b/report/PartYawlPartyParty.doc
Binary files differ
diff --git a/yawl/PartyParty/PartyParty.png b/yawl/PartyParty/PartyParty.png
new file mode 100644
index 0000000..49c21fc
--- /dev/null
+++ b/yawl/PartyParty/PartyParty.png
Binary files differ
diff --git a/yawl/PartyParty/PartyParty.xml b/yawl/PartyParty/PartyParty.xml
new file mode 100644
index 0000000..6a6f1f3
--- /dev/null
+++ b/yawl/PartyParty/PartyParty.xml
@@ -0,0 +1,885 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<specificationSet xmlns="http://www.citi.qut.edu.au/yawl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="Beta 7.1" xsi:schemaLocation="http://www.citi.qut.edu.au/yawl d:/yawl/schema/YAWL_SchemaBeta7.1.xsd">
+ <specification uri="PartyParty">
+ <metaData>
+ <title>PartyParty</title>
+ <creator>s051545</creator>
+ <description>Workflow process PartyParty</description>
+ <version>0.1</version>
+ </metaData>
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:complexType name="Order_specifications">
+ <xs:sequence>
+ <xs:element name="ID" type="xs:long" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="Customer_specifications">
+ <xs:sequence>
+ <xs:element name="ID" type="xs:long" />
+ <xs:element name="Name" type="xs:string" />
+ <xs:element name="Address" type="xs:string" />
+ <xs:element name="Code" type="xs:string" />
+ <xs:element name="City" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="Order_Pick_List">
+ <xs:sequence>
+ <xs:element name="ID" type="xs:long" />
+ <xs:element name="OrderID" type="xs:long" />
+ <xs:element name="OrderComplete" type="OrderCompleteType" />
+ <xs:element name="OrderInspection" type="OrderInspectionType" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="Inspect_Goods_List">
+ <xs:sequence>
+ <xs:element name="ID" type="xs:long" />
+ <xs:element name="OrderID" type="xs:long" />
+ <xs:element name="GoodsInspection" type="GoodsInspectionType" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="Fine">
+ <xs:sequence>
+ <xs:element name="ID" type="xs:long" />
+ <xs:element name="OrderID" type="xs:long" />
+ <xs:element name="TimesSent" type="xs:long" />
+ <xs:element name="FinePayed" type="xs:boolean" />
+ <xs:element name="FineAmount" type="xs:decimal" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="Bill">
+ <xs:sequence>
+ <xs:element name="ID" type="xs:long" />
+ <xs:element name="TimesSent" type="xs:long" />
+ <xs:element name="BillPayed" type="xs:boolean" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="Logistics_plan">
+ <xs:sequence>
+ <xs:element name="ID" type="xs:long" />
+ <xs:element name="OrderID" type="xs:long" />
+ <xs:element name="Transport" type="TransportType" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="OrderCompleteType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Order Complete" />
+ <xs:enumeration value="Order not Complete" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="OrderInspectionType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Order Accepted" />
+ <xs:enumeration value="Order Disapproved" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="GoodsInspectionType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Goods in good shape" />
+ <xs:enumeration value="Goods Damaged" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="TransportType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Hire Truck" />
+ <xs:enumeration value="Take own Van" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:schema>
+ <decomposition id="PartyParty" isRootNet="true" xsi:type="NetFactsType">
+ <localVariable>
+ <name>Customer_specifications</name>
+ <type>Customer_specifications</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ <initialValue>&lt;ID&gt;1&lt;/ID&gt;</initialValue>
+ </localVariable>
+ <localVariable>
+ <name>Inspect_Goods_List</name>
+ <type>Inspect_Goods_List</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ <initialValue />
+ </localVariable>
+ <localVariable>
+ <name>LogisticsPlan</name>
+ <type>Logistics_plan</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ <initialValue />
+ </localVariable>
+ <localVariable>
+ <name>Order_Pick_List</name>
+ <type>Order_Pick_List</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ <initialValue />
+ </localVariable>
+ <localVariable>
+ <name>TheBill</name>
+ <type>Bill</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ <initialValue />
+ </localVariable>
+ <localVariable>
+ <name>TheFine</name>
+ <type>Fine</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ <initialValue />
+ </localVariable>
+ <localVariable>
+ <name>TheOrder</name>
+ <type>Order_specifications</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ <initialValue />
+ </localVariable>
+ <processControlElements>
+ <inputCondition id="InputCondition_1">
+ <flowsInto>
+ <nextElementRef id="Order_6" />
+ </flowsInto>
+ </inputCondition>
+ <task id="Order_6">
+ <name>Order</name>
+ <flowsInto>
+ <nextElementRef id="AND_Split_7" />
+ </flowsInto>
+ <join code="xor" />
+ <split code="and" />
+ <completedMappings>
+ <mapping>
+ <expression query="&lt;Order_Pick_List&gt;&lt;ID&gt;1&lt;/ID&gt; &lt;OrderID&gt;{/Order/TheOrder/ID/text()}&lt;/OrderID&gt; &lt;OrderComplete&gt;Order not Complete&lt;/OrderComplete&gt; &lt;OrderInspection&gt;Order Disapproved&lt;/OrderInspection&gt;&lt;/Order_Pick_List&gt;" />
+ <mapsTo>Order_Pick_List</mapsTo>
+ </mapping>
+ <mapping>
+ <expression query="&lt;TheOrder&gt;{/Order/TheOrder/*}&lt;/TheOrder&gt;" />
+ <mapsTo>TheOrder</mapsTo>
+ </mapping>
+ </completedMappings>
+ <decomposesTo id="Order" />
+ </task>
+ <task id="AND_Split_7">
+ <name>AND Split</name>
+ <flowsInto>
+ <nextElementRef id="Plan_Logistics_16" />
+ </flowsInto>
+ <flowsInto>
+ <nextElementRef id="Pick_Order_12" />
+ </flowsInto>
+ <flowsInto>
+ <nextElementRef id="Process_Payment_11" />
+ </flowsInto>
+ <join code="xor" />
+ <split code="and" />
+ <decomposesTo id="AND_Split_1" />
+ </task>
+ <condition id="Process_Payment_11">
+ <name>Process Payment</name>
+ <flowsInto>
+ <nextElementRef id="Create_Bill_10" />
+ </flowsInto>
+ <flowsInto>
+ <nextElementRef id="Receive_Cash_9" />
+ </flowsInto>
+ </condition>
+ <task id="Receive_Cash_9">
+ <name>Receive Cash</name>
+ <flowsInto>
+ <nextElementRef id="Paid_23" />
+ </flowsInto>
+ <join code="xor" />
+ <split code="and" />
+ <decomposesTo id="Receive_Cash" />
+ </task>
+ <task id="Create_Bill_10">
+ <name>Create Bill</name>
+ <flowsInto>
+ <nextElementRef id="Send_Bill_24" />
+ </flowsInto>
+ <join code="xor" />
+ <split code="and" />
+ <startingMappings>
+ <mapping>
+ <expression query="&lt;TimesSent&gt;0&lt;/TimesSent&gt;" />
+ <mapsTo>TimesSent</mapsTo>
+ </mapping>
+ </startingMappings>
+ <completedMappings>
+ <mapping>
+ <expression query="&lt;TheBill&gt;&lt;ID&gt;{/Create_Bill/The_Bill_ID/text()}&lt;/ID&gt; &lt;TimesSent&gt;0&lt;/TimesSent&gt; &lt;BillPayed&gt;false&lt;/BillPayed&gt;&lt;/TheBill&gt;" />
+ <mapsTo>TheBill</mapsTo>
+ </mapping>
+ </completedMappings>
+ <decomposesTo id="Create_Bill" />
+ </task>
+ <task id="Plan_Logistics_16">
+ <name>Plan Logistics</name>
+ <flowsInto>
+ <nextElementRef id="null_729" />
+ <isDefaultFlow />
+ </flowsInto>
+ <flowsInto>
+ <nextElementRef id="Confirm_Logistics_17" />
+ <predicate ordering="0">/PartyParty/LogisticsPlan/Transport/text()='Hire Truck'</predicate>
+ </flowsInto>
+ <join code="xor" />
+ <split code="xor" />
+ <startingMappings>
+ <mapping>
+ <expression query="&lt;OrderID&gt;{/PartyParty/TheOrder/ID/text()}&lt;/OrderID&gt;" />
+ <mapsTo>OrderID</mapsTo>
+ </mapping>
+ </startingMappings>
+ <completedMappings>
+ <mapping>
+ <expression query="&lt;LogisticsPlan&gt;&lt;ID&gt;{/Plan_Logistics/ID/text()}&lt;/ID&gt; &lt;OrderID&gt;{/Plan_Logistics/OrderID/text()}&lt;/OrderID&gt; &lt;Transport&gt;{/Plan_Logistics/Transport/text()}&lt;/Transport&gt;&lt;/LogisticsPlan&gt;" />
+ <mapsTo>LogisticsPlan</mapsTo>
+ </mapping>
+ </completedMappings>
+ <decomposesTo id="Plan_Logistics" />
+ </task>
+ <task id="Pick_Order_12">
+ <name>Pick Order</name>
+ <flowsInto>
+ <nextElementRef id="Inspect_Order_14" />
+ <isDefaultFlow />
+ </flowsInto>
+ <flowsInto>
+ <nextElementRef id="Order_Goods_15" />
+ <predicate ordering="0">/PartyParty/Order_Pick_List/OrderComplete/text()='Order not Complete'</predicate>
+ </flowsInto>
+ <join code="xor" />
+ <split code="xor" />
+ <startingMappings>
+ <mapping>
+ <expression query="&lt;OrderID&gt;{/PartyParty/TheOrder/ID/text()}&lt;/OrderID&gt;" />
+ <mapsTo>OrderID</mapsTo>
+ </mapping>
+ <mapping>
+ <expression query="&lt;OrderComplete&gt;{/PartyParty/Order_Pick_List/OrderComplete/text()}&lt;/OrderComplete&gt;" />
+ <mapsTo>OrderComplete</mapsTo>
+ </mapping>
+ <mapping>
+ <expression query="&lt;ID&gt;{/PartyParty/Order_Pick_List/ID/text()}&lt;/ID&gt;" />
+ <mapsTo>ID</mapsTo>
+ </mapping>
+ </startingMappings>
+ <completedMappings>
+ <mapping>
+ <expression query="&lt;Order_Pick_List&gt;&lt;ID&gt;{/Pick_Order/ID/text()}&lt;/ID&gt; &lt;OrderID&gt;{/Pick_Order/OrderID/text()}&lt;/OrderID&gt; &lt;OrderComplete&gt;{/Pick_Order/OrderComplete/text()}&lt;/OrderComplete&gt; &lt;OrderInspection&gt;Order Disapproved&lt;/OrderInspection&gt;&lt;/Order_Pick_List&gt;" />
+ <mapsTo>Order_Pick_List</mapsTo>
+ </mapping>
+ </completedMappings>
+ <decomposesTo id="Pick_Order" />
+ </task>
+ <condition id="Paid_23">
+ <name>Paid</name>
+ <flowsInto>
+ <nextElementRef id="AND_Join_32" />
+ </flowsInto>
+ <flowsInto>
+ <nextElementRef id="Confirm_Logistics_17" />
+ </flowsInto>
+ </condition>
+ <condition id="null_729">
+ <flowsInto>
+ <nextElementRef id="AND_Join_32" />
+ </flowsInto>
+ </condition>
+ <task id="Order_Goods_15">
+ <name>Order Goods</name>
+ <flowsInto>
+ <nextElementRef id="Receive_Goods_13" />
+ </flowsInto>
+ <join code="xor" />
+ <split code="and" />
+ <decomposesTo id="Order_Goods" />
+ </task>
+ <task id="AND_Join_32">
+ <name>AND Join</name>
+ <flowsInto>
+ <nextElementRef id="Ready_for_Party_84" />
+ </flowsInto>
+ <join code="and" />
+ <split code="and" />
+ <decomposesTo id="AND_Join_1" />
+ </task>
+ <task id="Confirm_Logistics_17">
+ <name>Confirm Logistics</name>
+ <flowsInto>
+ <nextElementRef id="Pay_Logistics_18" />
+ </flowsInto>
+ <flowsInto>
+ <nextElementRef id="Paid_23" />
+ </flowsInto>
+ <join code="and" />
+ <split code="and" />
+ <decomposesTo id="Confirm_Logistics" />
+ </task>
+ <task id="Send_Bill_24">
+ <name>Send Bill</name>
+ <flowsInto>
+ <nextElementRef id="Process_Payment_29" />
+ </flowsInto>
+ <join code="xor" />
+ <split code="and" />
+ <startingMappings>
+ <mapping>
+ <expression query="&lt;TheBill&gt;{/PartyParty/TheBill/*}&lt;/TheBill&gt;" />
+ <mapsTo>TheBill</mapsTo>
+ </mapping>
+ </startingMappings>
+ <completedMappings>
+ <mapping>
+ <expression query="&lt;TheBill&gt;&lt;ID&gt;{/Send_Bill/TheBill/ID/text()}&lt;/ID&gt; &lt;TimesSent&gt;{/Send_Bill/TheBill/TimesSent +1}&lt;/TimesSent&gt; &lt;BillPayed&gt;{/Send_Bill/TheBill/BillPayed/text()}&lt;/BillPayed&gt;&lt;/TheBill&gt;" />
+ <mapsTo>TheBill</mapsTo>
+ </mapping>
+ </completedMappings>
+ <decomposesTo id="Send_Bill" />
+ </task>
+ <task id="Inspect_Order_14">
+ <name>Inspect Order</name>
+ <flowsInto>
+ <nextElementRef id="Pick_Order_12" />
+ <predicate ordering="1">/PartyParty/Order_Pick_List/OrderInspection/text()='Order Disapproved'</predicate>
+ </flowsInto>
+ <flowsInto>
+ <nextElementRef id="AND_Join_32" />
+ <isDefaultFlow />
+ </flowsInto>
+ <join code="xor" />
+ <split code="xor" />
+ <startingMappings>
+ <mapping>
+ <expression query="&lt;OrderPickList&gt;{/PartyParty/Order_Pick_List/*}&lt;/OrderPickList&gt;" />
+ <mapsTo>OrderPickList</mapsTo>
+ </mapping>
+ </startingMappings>
+ <completedMappings>
+ <mapping>
+ <expression query="&lt;Order_Pick_List&gt;{/Inspect_Order/OrderPickList/*}&lt;/Order_Pick_List&gt;" />
+ <mapsTo>Order_Pick_List</mapsTo>
+ </mapping>
+ </completedMappings>
+ <decomposesTo id="Inspect_Order" />
+ </task>
+ <condition id="Ready_for_Party_84">
+ <name>Ready for Party</name>
+ <flowsInto>
+ <nextElementRef id="Deliver_Goods_86" />
+ </flowsInto>
+ <flowsInto>
+ <nextElementRef id="Cancel_Party_85" />
+ </flowsInto>
+ </condition>
+ <task id="Deliver_Goods_86">
+ <name>Deliver Goods</name>
+ <flowsInto>
+ <nextElementRef id="Plan_and_Confirm_Logistics_87" />
+ </flowsInto>
+ <join code="xor" />
+ <split code="and" />
+ <decomposesTo id="Deliver_Goods" />
+ </task>
+ <task id="Process_Payment_29">
+ <name>Process Payment</name>
+ <flowsInto>
+ <nextElementRef id="Send_Bill_24" />
+ <predicate ordering="1">/PartyParty/TheBill/BillPayed/text() = 'false'
+and number(/PartyParty/TheBill/TimesSent/text()) &lt; 3</predicate>
+ </flowsInto>
+ <flowsInto>
+ <nextElementRef id="Payment_Received_25" />
+ <isDefaultFlow />
+ </flowsInto>
+ <flowsInto>
+ <nextElementRef id="Cancel_Order_1543" />
+ <predicate ordering="0">/PartyParty/TheBill/BillPayed/text() = 'false'
+and number(/PartyParty/TheBill/TimesSent/text()) &gt;= 3</predicate>
+ </flowsInto>
+ <join code="xor" />
+ <split code="xor" />
+ <startingMappings>
+ <mapping>
+ <expression query="&lt;TheBill&gt;{/PartyParty/TheBill/*}&lt;/TheBill&gt;" />
+ <mapsTo>TheBill</mapsTo>
+ </mapping>
+ </startingMappings>
+ <completedMappings>
+ <mapping>
+ <expression query="&lt;TheBill&gt;{/Process_Payment/TheBill/*}&lt;/TheBill&gt;" />
+ <mapsTo>TheBill</mapsTo>
+ </mapping>
+ </completedMappings>
+ <decomposesTo id="Process_Payment" />
+ </task>
+ <task id="Pay_Logistics_18">
+ <name>Pay Logistics</name>
+ <flowsInto>
+ <nextElementRef id="null_729" />
+ </flowsInto>
+ <join code="xor" />
+ <split code="and" />
+ <decomposesTo id="Pay_Logistics" />
+ </task>
+ <task id="Cancel_Party_85">
+ <name>Cancel Party</name>
+ <flowsInto>
+ <nextElementRef id="Refund_2022" />
+ </flowsInto>
+ <join code="xor" />
+ <split code="and" />
+ <decomposesTo id="Cancel_Party" />
+ </task>
+ <task id="Receive_Goods_13">
+ <name>Receive Goods</name>
+ <flowsInto>
+ <nextElementRef id="Pick_Order_12" />
+ </flowsInto>
+ <join code="xor" />
+ <split code="and" />
+ <decomposesTo id="Receive_Goods" />
+ </task>
+ <task id="Refund_2022">
+ <name>Refund</name>
+ <flowsInto>
+ <nextElementRef id="OutputCondition_2" />
+ </flowsInto>
+ <join code="xor" />
+ <split code="and" />
+ <decomposesTo id="Refund" />
+ </task>
+ <task id="Plan_and_Confirm_Logistics_87">
+ <name>Plan and Confirm Logistics</name>
+ <flowsInto>
+ <nextElementRef id="Pay_Logistics_2_88" />
+ </flowsInto>
+ <join code="xor" />
+ <split code="and" />
+ <decomposesTo id="Plan_and_Confirm_Logistics" />
+ </task>
+ <task id="Payment_Received_25">
+ <name>Payment Received</name>
+ <flowsInto>
+ <nextElementRef id="Paid_23" />
+ </flowsInto>
+ <join code="xor" />
+ <split code="and" />
+ <decomposesTo id="Payment_Received" />
+ </task>
+ <task id="Cancel_Order_1543">
+ <name>Cancel Order</name>
+ <flowsInto>
+ <nextElementRef id="Put_Back_Goods_83" />
+ </flowsInto>
+ <join code="xor" />
+ <split code="and" />
+ <removesTokens id="Inspect_Order_14" />
+ <removesTokens id="Order_Goods_15" />
+ <removesTokens id="Pay_Logistics_18" />
+ <removesTokens id="Pick_Order_12" />
+ <removesTokens id="Plan_Logistics_16" />
+ <removesTokens id="Receive_Goods_13" />
+ <removesTokens id="null_729" />
+ <removesTokensFromFlow>
+ <flowSource id="AND_Split_7" />
+ <flowDestination id="Pick_Order_12" />
+ </removesTokensFromFlow>
+ <removesTokensFromFlow>
+ <flowSource id="Pick_Order_12" />
+ <flowDestination id="Inspect_Order_14" />
+ </removesTokensFromFlow>
+ <removesTokensFromFlow>
+ <flowSource id="Order_Goods_15" />
+ <flowDestination id="Receive_Goods_13" />
+ </removesTokensFromFlow>
+ <removesTokensFromFlow>
+ <flowSource id="Inspect_Order_14" />
+ <flowDestination id="Pick_Order_12" />
+ </removesTokensFromFlow>
+ <removesTokensFromFlow>
+ <flowSource id="Confirm_Logistics_17" />
+ <flowDestination id="Pay_Logistics_18" />
+ </removesTokensFromFlow>
+ <removesTokensFromFlow>
+ <flowSource id="Receive_Goods_13" />
+ <flowDestination id="Pick_Order_12" />
+ </removesTokensFromFlow>
+ <removesTokensFromFlow>
+ <flowSource id="Pick_Order_12" />
+ <flowDestination id="Order_Goods_15" />
+ </removesTokensFromFlow>
+ <removesTokensFromFlow>
+ <flowSource id="Plan_Logistics_16" />
+ <flowDestination id="Confirm_Logistics_17" />
+ </removesTokensFromFlow>
+ <removesTokensFromFlow>
+ <flowSource id="AND_Split_7" />
+ <flowDestination id="Plan_Logistics_16" />
+ </removesTokensFromFlow>
+ <removesTokensFromFlow>
+ <flowSource id="Inspect_Order_14" />
+ <flowDestination id="AND_Join_32" />
+ </removesTokensFromFlow>
+ <decomposesTo id="Cancel_Order" />
+ </task>
+ <task id="Put_Back_Goods_83">
+ <name>Put Back Goods</name>
+ <flowsInto>
+ <nextElementRef id="OutputCondition_2" />
+ </flowsInto>
+ <join code="xor" />
+ <split code="and" />
+ <decomposesTo id="Put_Back_Goods" />
+ </task>
+ <task id="Pay_Logistics_2_88">
+ <name>Pay Logistics 2</name>
+ <flowsInto>
+ <nextElementRef id="Pick_Up_Goods_89" />
+ </flowsInto>
+ <join code="xor" />
+ <split code="and" />
+ <decomposesTo id="Pay_Logistics_2" />
+ </task>
+ <task id="Pick_Up_Goods_89">
+ <name>Pick Up Goods</name>
+ <flowsInto>
+ <nextElementRef id="Inspect_Goods_97" />
+ </flowsInto>
+ <join code="xor" />
+ <split code="and" />
+ <decomposesTo id="Pick_Up_Goods" />
+ </task>
+ <task id="Inspect_Goods_97">
+ <name>Inspect Goods</name>
+ <flowsInto>
+ <nextElementRef id="Create_Fine_1778" />
+ <predicate ordering="0">/PartyParty/Inspect_Goods_List/GoodsInspection/text() = 'Goods Damaged'</predicate>
+ </flowsInto>
+ <flowsInto>
+ <nextElementRef id="OutputCondition_2" />
+ <isDefaultFlow />
+ </flowsInto>
+ <join code="xor" />
+ <split code="xor" />
+ <startingMappings>
+ <mapping>
+ <expression query="&lt;OrderID&gt;{/PartyParty/TheOrder/ID/text()}&lt;/OrderID&gt;" />
+ <mapsTo>OrderID</mapsTo>
+ </mapping>
+ </startingMappings>
+ <completedMappings>
+ <mapping>
+ <expression query="&lt;Inspect_Goods_List&gt;&lt;ID&gt;{/Inspect_Goods/InspectGoodsListID/text()}&lt;/ID&gt; &lt;OrderID&gt;{/Inspect_Goods/OrderID/text()}&lt;/OrderID&gt; &lt;GoodsInspection&gt;{/Inspect_Goods/GoodsInspection/text()}&lt;/GoodsInspection&gt;&lt;/Inspect_Goods_List&gt;" />
+ <mapsTo>Inspect_Goods_List</mapsTo>
+ </mapping>
+ </completedMappings>
+ <decomposesTo id="Inspect_Goods" />
+ </task>
+ <task id="Create_Fine_1778">
+ <name>Create Fine</name>
+ <flowsInto>
+ <nextElementRef id="Send_Fine_90" />
+ </flowsInto>
+ <join code="xor" />
+ <split code="and" />
+ <startingMappings>
+ <mapping>
+ <expression query="&lt;OrderID&gt;{/PartyParty/TheOrder/ID/text()}&lt;/OrderID&gt;" />
+ <mapsTo>OrderID</mapsTo>
+ </mapping>
+ <mapping>
+ <expression query="&lt;TimesSent&gt;0&lt;/TimesSent&gt;" />
+ <mapsTo>TimesSent</mapsTo>
+ </mapping>
+ <mapping>
+ <expression query="&lt;FinePayed&gt;false&lt;/FinePayed&gt;" />
+ <mapsTo>FinePayed</mapsTo>
+ </mapping>
+ </startingMappings>
+ <completedMappings>
+ <mapping>
+ <expression query="&lt;TheFine&gt;&lt;ID&gt;{/Create_Fine/FineId/text()}&lt;/ID&gt; &lt;OrderID&gt;{/Create_Fine/OrderID/text()}&lt;/OrderID&gt; &lt;TimesSent&gt;0&lt;/TimesSent&gt; &lt;FinePayed&gt;false&lt;/FinePayed&gt; &lt;FineAmount&gt;{/Create_Fine/FineAmount/text()}&lt;/FineAmount&gt;&lt;/TheFine&gt;" />
+ <mapsTo>TheFine</mapsTo>
+ </mapping>
+ </completedMappings>
+ <decomposesTo id="Create_Fine" />
+ </task>
+ <task id="Send_Fine_90">
+ <name>Send Fine</name>
+ <flowsInto>
+ <nextElementRef id="Process_Fine_93" />
+ </flowsInto>
+ <join code="xor" />
+ <split code="and" />
+ <startingMappings>
+ <mapping>
+ <expression query="&lt;TheFine&gt;{/PartyParty/TheFine/*}&lt;/TheFine&gt;" />
+ <mapsTo>TheFine</mapsTo>
+ </mapping>
+ </startingMappings>
+ <completedMappings>
+ <mapping>
+ <expression query="&lt;TheFine&gt;&lt;ID&gt;{/Send_Fine/TheFine/ID/text()}&lt;/ID&gt; &lt;OrderID&gt;{/Send_Fine/TheFine/OrderID/text()}&lt;/OrderID&gt; &lt;TimesSent&gt;{/Send_Fine/TheFine/TimesSent/text()+1}&lt;/TimesSent&gt; &lt;FinePayed&gt;{/Send_Fine/TheFine/FinePayed/text()}&lt;/FinePayed&gt; &lt;FineAmount&gt;{/Send_Fine/TheFine/FineAmount/text()}&lt;/FineAmount&gt; &lt;/TheFine&gt;" />
+ <mapsTo>TheFine</mapsTo>
+ </mapping>
+ </completedMappings>
+ <decomposesTo id="Send_Fine" />
+ </task>
+ <task id="Process_Fine_93">
+ <name>Process Fine</name>
+ <flowsInto>
+ <nextElementRef id="Paid_By_Lawsuit_94" />
+ <predicate ordering="0">/PartyParty/TheFine/FinePayed/text()='false'
+and number(/PartyParty/TheFine/TimesSent/text()) &gt;=3</predicate>
+ </flowsInto>
+ <flowsInto>
+ <nextElementRef id="Receive_Fine_95" />
+ <isDefaultFlow />
+ </flowsInto>
+ <flowsInto>
+ <nextElementRef id="Send_Fine_90" />
+ <predicate ordering="1">/PartyParty/TheFine/FinePayed/text()='false'
+and number(/PartyParty/TheFine/TimesSent/text()) &lt;3</predicate>
+ </flowsInto>
+ <join code="xor" />
+ <split code="xor" />
+ <startingMappings>
+ <mapping>
+ <expression query="&lt;TheFine&gt;{/PartyParty/TheFine/*}&lt;/TheFine&gt;" />
+ <mapsTo>TheFine</mapsTo>
+ </mapping>
+ </startingMappings>
+ <completedMappings>
+ <mapping>
+ <expression query="&lt;TheFine&gt;&lt;ID&gt;{/Process_Fine/TheFine/ID/text()}&lt;/ID&gt; &lt;OrderID&gt;{/Process_Fine/TheFine/OrderID/text()}&lt;/OrderID&gt; &lt;TimesSent&gt;{/Process_Fine/TheFine/TimesSent/text()}&lt;/TimesSent&gt; &lt;FinePayed&gt;{/Process_Fine/TheFine/FinePayed/text()}&lt;/FinePayed&gt; &lt;FineAmount&gt;{round((/Process_Fine/TheFine/FineAmount/text() * 1.05)* 100)*0.01}&lt;/FineAmount&gt;&lt;/TheFine&gt;" />
+ <mapsTo>TheFine</mapsTo>
+ </mapping>
+ </completedMappings>
+ <decomposesTo id="Process_Fine" />
+ </task>
+ <task id="Paid_By_Lawsuit_94">
+ <name>Paid By Lawsuit</name>
+ <flowsInto>
+ <nextElementRef id="OutputCondition_2" />
+ </flowsInto>
+ <join code="xor" />
+ <split code="and" />
+ <decomposesTo id="Paid_By_Lawsuit" />
+ </task>
+ <task id="Receive_Fine_95">
+ <name>Receive Fine</name>
+ <flowsInto>
+ <nextElementRef id="OutputCondition_2" />
+ </flowsInto>
+ <join code="xor" />
+ <split code="and" />
+ <decomposesTo id="Receive_Fine" />
+ </task>
+ <outputCondition id="OutputCondition_2" />
+ </processControlElements>
+ </decomposition>
+ <decomposition id="Put_Back_Goods" xsi:type="WebServiceGatewayFactsType" />
+ <decomposition id="Deliver_Goods" xsi:type="WebServiceGatewayFactsType" />
+ <decomposition id="Order" xsi:type="WebServiceGatewayFactsType">
+ <outputParam>
+ <name>TheOrder</name>
+ <type>Order_specifications</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </outputParam>
+ </decomposition>
+ <decomposition id="Pick_Order" xsi:type="WebServiceGatewayFactsType">
+ <inputParam>
+ <name>ID</name>
+ <type>long</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </inputParam>
+ <inputParam>
+ <name>OrderComplete</name>
+ <type>OrderCompleteType</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </inputParam>
+ <inputParam>
+ <name>OrderID</name>
+ <type>long</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </inputParam>
+ <outputParam>
+ <name>OrderID</name>
+ <type>long</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </outputParam>
+ <outputParam>
+ <name>OrderComplete</name>
+ <type>OrderCompleteType</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </outputParam>
+ <outputParam>
+ <name>ID</name>
+ <type>long</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </outputParam>
+ </decomposition>
+ <decomposition id="Receive_Fine" xsi:type="WebServiceGatewayFactsType" />
+ <decomposition id="Inspect_Goods" xsi:type="WebServiceGatewayFactsType">
+ <inputParam>
+ <name>OrderID</name>
+ <type>long</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </inputParam>
+ <outputParam>
+ <name>OrderID</name>
+ <type>long</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </outputParam>
+ <outputParam>
+ <name>GoodsInspection</name>
+ <type>GoodsInspectionType</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </outputParam>
+ <outputParam>
+ <name>InspectGoodsListID</name>
+ <type>long</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </outputParam>
+ </decomposition>
+ <decomposition id="Order_Goods" xsi:type="WebServiceGatewayFactsType" />
+ <decomposition id="Process_Fine" xsi:type="WebServiceGatewayFactsType">
+ <inputParam>
+ <name>TheFine</name>
+ <type>Fine</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </inputParam>
+ <outputParam>
+ <name>TheFine</name>
+ <type>Fine</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </outputParam>
+ </decomposition>
+ <decomposition id="Payment_Received" xsi:type="WebServiceGatewayFactsType" />
+ <decomposition id="AND_Join_1" xsi:type="WebServiceGatewayFactsType" />
+ <decomposition id="Pay_Logistics_2" xsi:type="WebServiceGatewayFactsType" />
+ <decomposition id="Cancel_Order" xsi:type="WebServiceGatewayFactsType" />
+ <decomposition id="Paid_By_Lawsuit" xsi:type="WebServiceGatewayFactsType" />
+ <decomposition id="Pay_Logistics" xsi:type="WebServiceGatewayFactsType" />
+ <decomposition id="AND_Split_1" xsi:type="WebServiceGatewayFactsType" />
+ <decomposition id="Refund" xsi:type="WebServiceGatewayFactsType" />
+ <decomposition id="Send_Fine" xsi:type="WebServiceGatewayFactsType">
+ <inputParam>
+ <name>TheFine</name>
+ <type>Fine</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </inputParam>
+ <outputParam>
+ <name>TheFine</name>
+ <type>Fine</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </outputParam>
+ </decomposition>
+ <decomposition id="Receive_Goods" xsi:type="WebServiceGatewayFactsType" />
+ <decomposition id="Process_Payment" xsi:type="WebServiceGatewayFactsType">
+ <inputParam>
+ <name>TheBill</name>
+ <type>Bill</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </inputParam>
+ <outputParam>
+ <name>TheBill</name>
+ <type>Bill</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </outputParam>
+ </decomposition>
+ <decomposition id="Create_Bill" xsi:type="WebServiceGatewayFactsType">
+ <inputParam>
+ <name>TimesSent</name>
+ <type>long</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </inputParam>
+ <outputParam>
+ <name>The_Bill_ID</name>
+ <type>long</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </outputParam>
+ </decomposition>
+ <decomposition id="Create_Fine" xsi:type="WebServiceGatewayFactsType">
+ <inputParam>
+ <name>TimesSent</name>
+ <type>long</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </inputParam>
+ <inputParam>
+ <name>OrderID</name>
+ <type>long</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </inputParam>
+ <inputParam>
+ <name>FinePayed</name>
+ <type>boolean</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </inputParam>
+ <outputParam>
+ <name>OrderID</name>
+ <type>long</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </outputParam>
+ <outputParam>
+ <name>FineId</name>
+ <type>long</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </outputParam>
+ <outputParam>
+ <name>FineAmount</name>
+ <type>double</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </outputParam>
+ </decomposition>
+ <decomposition id="Send_Bill" xsi:type="WebServiceGatewayFactsType">
+ <inputParam>
+ <name>TheBill</name>
+ <type>Bill</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </inputParam>
+ <outputParam>
+ <name>TheBill</name>
+ <type>Bill</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </outputParam>
+ </decomposition>
+ <decomposition id="Plan_and_Confirm_Logistics" xsi:type="WebServiceGatewayFactsType" />
+ <decomposition id="Confirm_Logistics" xsi:type="WebServiceGatewayFactsType" />
+ <decomposition id="Plan_Logistics" xsi:type="WebServiceGatewayFactsType">
+ <inputParam>
+ <name>OrderID</name>
+ <type>string</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </inputParam>
+ <outputParam>
+ <name>OrderID</name>
+ <type>string</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </outputParam>
+ <outputParam>
+ <name>Transport</name>
+ <type>TransportType</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </outputParam>
+ <outputParam>
+ <name>ID</name>
+ <type>long</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </outputParam>
+ </decomposition>
+ <decomposition id="Receive_Cash" xsi:type="WebServiceGatewayFactsType" />
+ <decomposition id="Pick_Up_Goods" xsi:type="WebServiceGatewayFactsType" />
+ <decomposition id="Inspect_Order" xsi:type="WebServiceGatewayFactsType">
+ <inputParam>
+ <name>OrderPickList</name>
+ <type>Order_Pick_List</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </inputParam>
+ <outputParam>
+ <name>OrderPickList</name>
+ <type>Order_Pick_List</type>
+ <namespace>http://www.w3.org/2001/XMLSchema</namespace>
+ </outputParam>
+ </decomposition>
+ <decomposition id="Cancel_Party" xsi:type="WebServiceGatewayFactsType" />
+ </specification>
+</specificationSet>
+
+
diff --git a/yawl/PartyParty/PartyParty.ywl b/yawl/PartyParty/PartyParty.ywl
index 1966d00..5d3241c 100644
--- a/yawl/PartyParty/PartyParty.ywl
+++ b/yawl/PartyParty/PartyParty.ywl
Binary files differ