blob: 177bf344deb46e5b28f55978505a36545d591951 [file] [log] [blame]
<?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="workflow"
nsURI="http://www.eclipse.org/gmt/modisco/workflow/mwe/workflow" nsPrefix="org.eclipse.gmt.modisco.workflow.mwe.workflow">
<eClassifiers xsi:type="ecore:EClass" name="Workflow">
<eStructuralFeatures xsi:type="ecore:EReference" name="components" upperBound="-1"
eType="#//WorkflowComponent" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="engines" upperBound="-1"
eType="#//runtime/WorkflowEngine" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowComponent" abstract="true">
<eOperations name="accept">
<eParameters name="visitor" eType="#//IWorkflowVisitor"/>
</eOperations>
<eOperations name="start">
<eParameters name="context" eType="#//runtime/WorkflowContext"/>
</eOperations>
<eOperations name="run" eType="#//runtime/state/WorkflowState">
<eParameters name="context" eType="#//runtime/WorkflowContext"/>
</eOperations>
<eOperations name="logError" eType="#//runtime/WorkflowLog">
<eParameters name="context" eType="#//runtime/WorkflowContext"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="componentOrchestrationStrategy"
eType="#//orchestration/WorkflowComponentOrchestrationStrategy" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowCompositeComponent" eSuperTypes="#//WorkflowComponent">
<eOperations name="accept">
<eParameters name="visitor" eType="#//IWorkflowVisitor"/>
</eOperations>
<eOperations name="run" eType="#//runtime/state/WorkflowState">
<eParameters name="context" eType="#//runtime/WorkflowContext"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="components" upperBound="-1"
eType="#//WorkflowComponent" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="compositeOrchestrationStrategy"
lowerBound="1" eType="#//orchestration/WorkflowCompositeOrchestrationStrategy"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="connections" upperBound="-1"
eType="#//WorkflowParameterConnection" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="stateResolutionStrategy"
lowerBound="1" eType="#//runtime/WorkflowStateResolutionStrategy" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
eType="#//WorkflowParameter"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowUnitOfWork" eSuperTypes="#//WorkflowComponent">
<eOperations name="accept">
<eParameters name="visitor" eType="#//IWorkflowVisitor"/>
</eOperations>
<eOperations name="run" eType="#//runtime/state/WorkflowState">
<eParameters name="context" eType="#//runtime/WorkflowContext"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
eType="#//WorkflowParameter" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowParameter">
<eOperations name="getValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject">
<eParameters name="context" eType="#//runtime/WorkflowContext"/>
</eOperations>
<eOperations name="setValue">
<eParameters name="context" eType="#//runtime/WorkflowContext"/>
<eParameters name="value" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaObject"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="connection" eType="#//WorkflowParameterConnection"
eOpposite="#//WorkflowParameterConnection/inputs"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="required" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="valueStrategy" lowerBound="1"
eType="#//WorkflowParameterValueStrategy" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" eType="#//Direction"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowParameterValueStrategy">
<eOperations name="getValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject">
<eParameters name="context" eType="#//runtime/WorkflowContext"/>
<eParameters name="parameter" eType="#//WorkflowParameter"/>
</eOperations>
<eOperations name="setValue">
<eParameters name="context" eType="#//runtime/WorkflowContext"/>
<eParameters name="parameter" eType="#//WorkflowParameter"/>
<eParameters name="value" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaObject"/>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowParameterConnection">
<eStructuralFeatures xsi:type="ecore:EReference" name="output" lowerBound="1"
eType="#//WorkflowParameter"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="inputs" lowerBound="1"
upperBound="-1" eType="#//WorkflowParameter" eOpposite="#//WorkflowParameter/connection"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowParameterSimpleValueStrategy"
eSuperTypes="#//WorkflowParameterValueStrategy">
<eOperations name="getValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject">
<eParameters name="context" eType="#//runtime/WorkflowContext"/>
<eParameters name="parameter" eType="#//WorkflowParameter"/>
</eOperations>
<eOperations name="setValue">
<eParameters name="context" eType="#//runtime/WorkflowContext"/>
<eParameters name="parameter" eType="#//WorkflowParameter"/>
<eParameters name="value" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaObject"/>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="IWorkflowVisitor" abstract="true" interface="true">
<eOperations name="visitUnitOfWork">
<eParameters name="unitOfWork" eType="#//WorkflowUnitOfWork"/>
</eOperations>
<eOperations name="visitComposite">
<eParameters name="composite" eType="#//WorkflowCompositeComponent"/>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="Direction">
<eLiterals name="IN"/>
<eLiterals name="OUT" value="1"/>
<eLiterals name="INOUT" value="2"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowComponentProxy" eSuperTypes="#//WorkflowComponent">
<eStructuralFeatures xsi:type="ecore:EReference" name="targetComponent" lowerBound="1"
eType="#//WorkflowComponent"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowComponentMinimalist" eSuperTypes="#//WorkflowComponent"/>
<eSubpackages name="orchestration" nsURI="http://www.eclipse.org/gmt/modisco/workflow/mwe/workflow/orchestration"
nsPrefix="org.eclipse.gmt.modisco.workflow.mwe.workflow.orchestration">
<eClassifiers xsi:type="ecore:EClass" name="WorkflowSerialOrchestrationStrategy"
eSuperTypes="#//orchestration/WorkflowCompositeOrchestrationStrategy">
<eOperations name="run">
<eParameters name="composite" eType="#//WorkflowCompositeComponent"/>
<eParameters name="context" eType="#//runtime/WorkflowContext"/>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowParallelOrchestrationStrategy"
eSuperTypes="#//orchestration/WorkflowCompositeOrchestrationStrategy">
<eOperations name="run">
<eParameters name="composite" eType="#//WorkflowCompositeComponent"/>
<eParameters name="context" eType="#//runtime/WorkflowContext"/>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowCompositeOrchestrationStrategy"
abstract="true">
<eOperations name="run">
<eParameters name="composite" eType="#//WorkflowCompositeComponent"/>
<eParameters name="context" eType="#//runtime/WorkflowContext"/>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowComponentOrchestrationStrategy">
<eOperations name="run">
<eParameters name="component" eType="#//WorkflowComponent"/>
<eParameters name="context" eType="#//runtime/WorkflowContext"/>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowConditionalComponentOrchestrationStrategy"
eSuperTypes="#//orchestration/WorkflowComponentOrchestrationStrategy">
<eOperations name="run">
<eParameters name="component" eType="#//WorkflowComponent"/>
<eParameters name="context" eType="#//runtime/WorkflowContext"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="conditions" upperBound="-1"
eType="#//orchestration/WorkflowExecutionPredicate" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowExecutionPredicate" abstract="true">
<eOperations name="evaluate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eParameters name="component" eType="#//WorkflowComponent"/>
<eParameters name="context" eType="#//runtime/WorkflowContext"/>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowRerunPredicate" eSuperTypes="#//orchestration/WorkflowExecutionPredicate">
<eOperations name="evaluate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eParameters name="component" eType="#//WorkflowComponent"/>
<eParameters name="context" eType="#//runtime/WorkflowContext"/>
</eOperations>
</eClassifiers>
</eSubpackages>
<eSubpackages name="runtime" nsURI="http://www.eclipse.org/gmt/modisco/workflow/mwe/workflow/runtime"
nsPrefix="org.eclipse.gmt.modisco.workflow.mwe.workflow.runtime">
<eClassifiers xsi:type="ecore:EClass" name="WorkflowContext">
<eOperations name="reset">
<eParameters name="component" eType="#//WorkflowComponent"/>
</eOperations>
<eOperations name="resetState">
<eParameters name="component" eType="#//WorkflowComponent"/>
</eOperations>
<eOperations name="resetLog">
<eParameters name="component" eType="#//WorkflowComponent"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
eType="#//runtime/WorkflowParameterMap" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="threadPool" eType="#//runtime/ExecutorService"
changeable="false" transient="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="states" upperBound="-1"
eType="#//runtime/WorkflowStateMap" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="log" upperBound="-1"
eType="#//runtime/WorkflowLogMap" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="logLevel" eType="#//runtime/WorkflowLogEntryType"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowEngine" eSuperTypes="#//runtime/WorkflowRunnable">
<eOperations name="run"/>
<eOperations name="reset"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="workflow" lowerBound="1"
eType="#//WorkflowComponent"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="context" lowerBound="1"
eType="#//runtime/WorkflowContext" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="engines" upperBound="-1"
eType="#//runtime/WorkflowEngine" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="ExecutorService" instanceClassName="java.util.concurrent.ExecutorService"/>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowStateMap" instanceClassName="java.util.Map$Entry">
<eStructuralFeatures xsi:type="ecore:EReference" name="key" lowerBound="1" eType="#//WorkflowComponent"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="value" lowerBound="1"
eType="#//runtime/state/WorkflowState" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowParameterMap" instanceClassName="java.util.Map$Entry">
<eStructuralFeatures xsi:type="ecore:EReference" name="key" lowerBound="1" eType="#//WorkflowParameter"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EObject"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowStateResolutionStrategy">
<eOperations name="resolve" eType="#//runtime/state/WorkflowState">
<eParameters name="workflow" eType="#//WorkflowCompositeComponent"/>
<eParameters name="context" eType="#//runtime/WorkflowContext"/>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowRunnable" instanceClassName="java.lang.Runnable">
<eOperations name="run"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowRunner" eSuperTypes="#//runtime/WorkflowRunnable">
<eOperations name="run"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="context" lowerBound="1"
eType="#//runtime/WorkflowContext"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="component" lowerBound="1"
eType="#//WorkflowComponent"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowStateResetter" eSuperTypes="#//IWorkflowVisitor">
<eOperations name="visitUnitOfWork">
<eParameters name="unitOfWork" eType="#//WorkflowUnitOfWork"/>
</eOperations>
<eOperations name="visitComposite">
<eParameters name="composite" eType="#//WorkflowCompositeComponent"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="context" lowerBound="1"
eType="#//runtime/WorkflowContext"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowLog">
<eOperations name="logError">
<eParameters name="message" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
</eOperations>
<eOperations name="logWarning">
<eParameters name="message" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
</eOperations>
<eOperations name="logInfo">
<eParameters name="message" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
</eOperations>
<eOperations name="logDebug">
<eParameters name="message" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="entries" upperBound="-1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="group"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="errors" upperBound="-1"
eType="#//runtime/WorkflowLogEntry" volatile="true" transient="true" derived="true"
containment="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="group" value="#entries"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="warnings" upperBound="-1"
eType="#//runtime/WorkflowLogEntry" volatile="true" transient="true" derived="true"
containment="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="group" value="#entries"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="infos" upperBound="-1"
eType="#//runtime/WorkflowLogEntry" volatile="true" transient="true" derived="true"
containment="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="group" value="#entries"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="debugs" upperBound="-1"
eType="#//runtime/WorkflowLogEntry" volatile="true" transient="true" derived="true"
containment="true">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="group" value="#entries"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="logLevel" eType="#//runtime/WorkflowLogEntryType"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowLogEntry">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1"
eType="#//runtime/WorkflowLogEntryType"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="timestamp" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//ELong"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="message" lowerBound="1"
eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowLogMap" instanceClassName="java.util.Map$Entry">
<eStructuralFeatures xsi:type="ecore:EReference" name="key" lowerBound="1" eType="#//WorkflowComponent"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="value" lowerBound="1"
eType="#//runtime/WorkflowLog" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="WorkflowLogEntryType">
<eLiterals name="ERROR"/>
<eLiterals name="WARNING" value="1"/>
<eLiterals name="INFO" value="2"/>
<eLiterals name="DEBUG" value="3"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowLogResetter" eSuperTypes="#//IWorkflowVisitor">
<eOperations name="visitUnitOfWork">
<eParameters name="unitOfWork" eType="#//WorkflowUnitOfWork"/>
</eOperations>
<eOperations name="visitComposite">
<eParameters name="composite" eType="#//WorkflowCompositeComponent"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="context" lowerBound="1"
eType="#//runtime/WorkflowContext"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowEngineProxy" eSuperTypes="#//runtime/WorkflowEngine">
<eStructuralFeatures xsi:type="ecore:EReference" name="targetEngine" lowerBound="1"
eType="#//runtime/WorkflowEngine"/>
</eClassifiers>
<eSubpackages name="state" nsURI="http://www.eclipse.org/gmt/modisco/workflow/mwe/workflow/runtime/state"
nsPrefix="org.eclipse.gmt.modisco.workflow.mwe.workflow.runtime.state">
<eClassifiers xsi:type="ecore:EClass" name="WorkflowState" abstract="true">
<eOperations name="getDisplayName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowIdleState" eSuperTypes="#//runtime/state/WorkflowState">
<eOperations name="getDisplayName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowRunningState" eSuperTypes="#//runtime/state/WorkflowState">
<eOperations name="getDisplayName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowDoneState" eSuperTypes="#//runtime/state/WorkflowState">
<eOperations name="getDisplayName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowSuccessState" eSuperTypes="#//runtime/state/WorkflowDoneState">
<eOperations name="getDisplayName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowFailedState" eSuperTypes="#//runtime/state/WorkflowDoneState">
<eOperations name="getDisplayName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkflowErrorState" eSuperTypes="#//runtime/state/WorkflowDoneState">
<eOperations name="getDisplayName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
</eSubpackages>
</eSubpackages>
</ecore:EPackage>