Files
WFR-lib/figures/WorkflowStructure.ecore
2017-04-11 15:49:21 +02:00

96 lines
6.7 KiB
XML
Executable File

<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="workflowstructure" nsURI="http://workflowstructure/1.0" nsPrefix="workflowstructure">
<eClassifiers xsi:type="ecore:EClass" name="WorkflowTemplate">
<eOperations name="execute"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="workflowName"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="topLevelActivity"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="activityTemplate" lowerBound="1"
upperBound="-1" eType="#//ActivityTemplate" containment="true" eOpposite="#//ActivityTemplate/workflowTemplate"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ActivityTemplate">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="activityName"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="activityType"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="branchID"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="functionHooks"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="workflowTemplate" lowerBound="1"
eType="#//WorkflowTemplate" eOpposite="#//WorkflowTemplate/activityTemplate"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="successor" upperBound="-1"
eType="#//ActivityTemplate" eOpposite="#//ActivityTemplate/predecessor"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="predecessor" upperBound="-1"
eType="#//ActivityTemplate" eOpposite="#//ActivityTemplate/successor"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="#//ActivityTemplate"
eOpposite="#//ActivityTemplate/children"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
eType="#//ActivityTemplate" eOpposite="#//ActivityTemplate/parent"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Workflow">
<eOperations name="execute"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="workflowID"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="workflowStatus"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="baseTemplate" lowerBound="1"
eType="#//WorkflowTemplate"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="activities" lowerBound="1"
upperBound="-1" eType="#//Activity" containment="true" eOpposite="#//Activity/workflow"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Activity">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="activityID"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="workflow" lowerBound="1"
eType="#//Workflow" eOpposite="#//Workflow/activities"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="activityType"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="activityStatus"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="instances" upperBound="-1"
eType="#//ActivityInstance" containment="true" eOpposite="#//ActivityInstance/baseActivity"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="baseTemplate" lowerBound="1"
eType="#//ActivityTemplate"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="successor" upperBound="-1"
eType="#//Activity" eOpposite="#//Activity/predecessor"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="predecessor" upperBound="-1"
eType="#//Activity" eOpposite="#//Activity/successor"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="#//Activity"
eOpposite="#//Activity/children"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
eType="#//Activity" eOpposite="#//Activity/parent"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ActivityInstance">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="instanceID"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="activityType"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="instanceState"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="baseActivity" lowerBound="1"
eType="#//Activity" eOpposite="#//Activity/instances"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="portData (input/output/...)"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="successor" upperBound="-1"
eType="#//ActivityInstance" eOpposite="#//ActivityInstance/predecessor"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="predecessor" upperBound="-1"
eType="#//ActivityInstance" eOpposite="#//ActivityInstance/successor"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="#//ActivityInstance"
eOpposite="#//ActivityInstance/children"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
eType="#//ActivityInstance" eOpposite="#//ActivityInstance/parent"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="LoopInstance" eSuperTypes="#//ActivityInstance">
<eStructuralFeatures xsi:type="ecore:EReference" name="iterations" upperBound="-1"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowExecutionPlan">
<eStructuralFeatures xsi:type="ecore:EReference" name="nodes" lowerBound="1" upperBound="-1"
eType="#//WEPnode" containment="true" eOpposite="#//WEPnode/executionPlan"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WEPnode">
<eStructuralFeatures xsi:type="ecore:EReference" name="executionPlan" lowerBound="1"
eType="#//WorkflowExecutionPlan" eOpposite="#//WorkflowExecutionPlan/nodes"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="successors" upperBound="-1"
eType="#//WEPnode" eOpposite="#//WEPnode/predecessors"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="predecessors" upperBound="-1"
eType="#//WEPnode" eOpposite="#//WEPnode/successors"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="associated Activity" eType="#//ActivityInstance"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="nodeType"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WEPnodeAtomic" eSuperTypes="#//WEPnode"/>
<eClassifiers xsi:type="ecore:EClass" name="WEPnodeHole" eSuperTypes="#//WEPnode"/>
<eClassifiers xsi:type="ecore:EClass" name="..." eSuperTypes="#//WEPnode"/>
<eClassifiers xsi:type="ecore:EClass" name="ActivityContainerInstance" eSuperTypes="#//ActivityInstance"/>
<eClassifiers xsi:type="ecore:EClass" name="..." eSuperTypes="#//ActivityInstance"/>
<eClassifiers xsi:type="ecore:EClass" name="ActivityAtomicInstance" eSuperTypes="#//ActivityInstance"/>
</ecore:EPackage>