blob: 5845a41d06e76d6729cf45da1801d23f4b609416 [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="comrel"
nsURI="http://comrel/0.1" nsPrefix="comrel">
<eAnnotations source="gmf">
<details key="foo" value="bar"/>
</eAnnotations>
<eClassifiers xsi:type="ecore:EClass" name="CompositeRefactoring" eSuperTypes="#//ModelRefactoring">
<eAnnotations source="gmf.diagram">
<details key="foo" value="bar"/>
<details key="onefile" value="false"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="mainRefactoringUnit" lowerBound="1"
eType="#//RefactoringUnit" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="portMappings" upperBound="-1"
eType="#//PortMapping" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="modelRefactorings" upperBound="-1"
eType="#//ModelRefactoring" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="helper" upperBound="-1"
eType="#//Helper" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="mappingVisualization" lowerBound="1"
eType="#//MappingVisualization" defaultValueLiteral="0"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="customInitialCondition"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="customFinalCondition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true" interface="true">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DescribedElement" abstract="true" interface="true">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RefactoringUnit" abstract="true" eSuperTypes="#//NamedElement">
<eOperations name="getAllInputPorts" upperBound="-1" eType="#//InputPort"/>
<eOperations name="setSeqExecutionOrder">
<eParameters name="seqExecutionOrder" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
<eParameters name="superCall" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eOperations>
<eOperations name="setName">
<eParameters name="newName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eParameters name="updateContainer" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="seqExecutionOrder" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ModelRefactoring" eSuperTypes="#//NamedElement #//DescribedElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="refId" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="label" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="namespaceUri" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="inputPorts" upperBound="-1"
eType="#//SingleInputPort" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AtomicUnit" eSuperTypes="#//RefactoringUnit">
<eAnnotations source="gmf.node">
<details key="foo" value="bar"/>
<details key="label.icon" value="false"/>
<details key="label" value="label,type"/>
<details key="label.pattern" value="{0}:{1}"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="inputPorts" lowerBound="1"
upperBound="-1" eType="#//SingleInputPort" containment="true">
<eAnnotations source="gmf.affixed">
<details key="foo" value="bar"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="unitId" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="label" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="namespaceUri" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
changeable="false" defaultValueLiteral="Atomic Unit"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="modelRefactoring" lowerBound="1"
eType="#//ModelRefactoring"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="checkInitialConditionFlag"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="checkFinalConditionFlag"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CompositeUnit" abstract="true" eSuperTypes="#//RefactoringUnit"/>
<eClassifiers xsi:type="ecore:EClass" name="SequentialUnit" eSuperTypes="#//CompositeUnit">
<eAnnotations source="gmf.node">
<details key="foo" value="bar"/>
<details key="label.icon" value="false"/>
<details key="label" value="name,type,lblStrict"/>
<details key="label.pattern" value="{0}:{1} -{2}-"/>
</eAnnotations>
<eOperations name="updateSeqExecutionOrder"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="helperUnits" upperBound="-1"
eType="#//HelperUnit" containment="true">
<eAnnotations source="gmf.compartment">
<details key="foo" value="bar"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="refactoringUnits" lowerBound="1"
upperBound="-1" eType="#//RefactoringUnit" containment="true">
<eAnnotations source="gmf.compartment">
<details key="foo" value="bar"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="inputPorts" lowerBound="1"
upperBound="-1" eType="#//InputPort" containment="true">
<eAnnotations source="gmf.affixed">
<details key="foo" value="bar"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="strict" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
defaultValueLiteral="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
changeable="false" defaultValueLiteral="Sequential Unit"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="lblStrict" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
defaultValueLiteral="strict"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ConditionCheck" eSuperTypes="#//NamedElement #//DescribedElement">
<eAnnotations source="gmf.node">
<details key="foo" value="bar"/>
<details key="label.icon" value="false"/>
<details key="label" value="name,type,spec"/>
<details key="label.pattern" value="{0}:{1} -{2}-"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
changeable="false" defaultValueLiteral="Condition Check"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="spec" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ConditionalUnit" eSuperTypes="#//CompositeUnit">
<eAnnotations source="gmf.node">
<details key="foo" value="bar"/>
<details key="label.icon" value="false"/>
<details key="label" value="name,type"/>
<details key="label.pattern" value="{0}:{1}"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="if" lowerBound="1" eType="#//ConditionCheck"
containment="true">
<eAnnotations source="gmf.compartment">
<details key="foo" value="bar"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="helperUnits" upperBound="-1"
eType="#//HelperUnit" containment="true">
<eAnnotations source="gmf.compartment">
<details key="foo" value="bar"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="then" lowerBound="1" eType="#//RefactoringUnit"
containment="true">
<eAnnotations source="gmf.compartment">
<details key="foo" value="bar"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="else" eType="#//RefactoringUnit"
containment="true">
<eAnnotations source="gmf.compartment">
<details key="foo" value="bar"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="inputPorts" lowerBound="1"
upperBound="-1" eType="#//InputPort" containment="true">
<eAnnotations source="gmf.affixed">
<details key="foo" value="bar"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
changeable="false" defaultValueLiteral="Conditional Unit"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="QueuedUnit" abstract="true" eSuperTypes="#//CompositeUnit">
<eOperations name="init"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="strict" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
defaultValueLiteral="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SingleQueuedUnit" eSuperTypes="#//QueuedUnit">
<eAnnotations source="gmf.node">
<details key="foo" value="bar"/>
<details key="label.icon" value="false"/>
<details key="label" value="name,type,lblStrict"/>
<details key="label.pattern" value="{0}:{1} -{2}-"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="helperUnits" upperBound="-1"
eType="#//HelperUnit" containment="true">
<eAnnotations source="gmf.compartment">
<details key="foo" value="bar"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="refactoringUnit" lowerBound="1"
eType="#//RefactoringUnit" containment="true">
<eAnnotations source="gmf.compartment">
<details key="foo" value="bar"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="singleInputPorts" upperBound="-1"
eType="#//SingleInputPort" containment="true">
<eAnnotations source="gmf.affixed">
<details key="foo" value="bar"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="multiInputPort" lowerBound="1"
eType="#//MultiInputPort" containment="true">
<eAnnotations source="gmf.affixed">
<details key="foo" value="bar"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
changeable="false" defaultValueLiteral="Single Queued Unit"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="lblStrict" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
defaultValueLiteral="strict"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TwicedQueuedUnit" abstract="true" eSuperTypes="#//QueuedUnit"/>
<eClassifiers xsi:type="ecore:EClass" name="CartesianQueuedUnit" eSuperTypes="#//TwicedQueuedUnit">
<eAnnotations source="gmf.node">
<details key="foo" value="bar"/>
<details key="label.icon" value="false"/>
<details key="label" value="name,type,lblStrict"/>
<details key="label.pattern" value="{0}:{1} -{2}-"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="helperUnits" upperBound="-1"
eType="#//HelperUnit" containment="true">
<eAnnotations source="gmf.compartment">
<details key="foo" value="bar"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="refactoringUnit" lowerBound="1"
eType="#//RefactoringUnit" containment="true">
<eAnnotations source="gmf.compartment">
<details key="foo" value="bar"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="singleInputPorts" upperBound="-1"
eType="#//SingleInputPort" containment="true">
<eAnnotations source="gmf.affixed">
<details key="foo" value="bar"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="multiInputPorts" lowerBound="2"
upperBound="2" eType="#//MultiInputPort" containment="true">
<eAnnotations source="gmf.affixed">
<details key="foo" value="bar"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
changeable="false" defaultValueLiteral="Cartesian Queued Unit"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="lblStrict" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
defaultValueLiteral="strict"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ParallelQueuedUnit" eSuperTypes="#//TwicedQueuedUnit">
<eAnnotations source="gmf.node">
<details key="foo" value="bar"/>
<details key="label.icon" value="false"/>
<details key="label" value="name,type,lblStrict"/>
<details key="label.pattern" value="{0}:{1} -{2}-"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="helperUnits" upperBound="-1"
eType="#//HelperUnit" containment="true">
<eAnnotations source="gmf.compartment">
<details key="foo" value="bar"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="refactoringUnits" lowerBound="1"
eType="#//RefactoringUnit" containment="true">
<eAnnotations source="gmf.compartment">
<details key="foo" value="bar"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="singleInputPorts" upperBound="-1"
eType="#//SingleInputPort" containment="true">
<eAnnotations source="gmf.affixed">
<details key="foo" value="bar"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="multiInputPorts" lowerBound="2"
upperBound="2" eType="#//MultiInputPort" containment="true">
<eAnnotations source="gmf.affixed">
<details key="foo" value="bar"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
changeable="false" defaultValueLiteral="Parallel Queued Unit"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="lblStrict" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
defaultValueLiteral="strict"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="HelperUnit" abstract="true" eSuperTypes="#//NamedElement #//DescribedElement">
<eOperations name="getInputPort" lowerBound="1" eType="#//InputPort"/>
<eOperations name="getOutputPort" lowerBound="1" eType="#//OutputPort"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="helperUnitId" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="namespaceUri" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FeatureUnit" abstract="true" eSuperTypes="#//HelperUnit"/>
<eClassifiers xsi:type="ecore:EClass" name="SingleFeatureUnit" eSuperTypes="#//FeatureUnit">
<eAnnotations source="gmf.node">
<details key="foo" value="bar"/>
<details key="label.icon" value="false"/>
<details key="label" value="name,type"/>
<details key="label.pattern" value="{0}:{1}"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="inputPort" lowerBound="1"
eType="#//SingleInputPort" containment="true">
<eAnnotations source="gmf.affixed">
<details key="foo" value="bar"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="secondaryInputPorts" upperBound="-1"
eType="#//MultiInputPort" containment="true">
<eAnnotations source="gmf.affixed">
<details key="foo" value="bar"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="outputPort" lowerBound="1"
eType="#//SingleOutputPort" containment="true">
<eAnnotations source="gmf.affixed">
<details key="foo" value="bar"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="singleFeatureHelper" lowerBound="1"
eType="#//SingleFeatureHelper"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
changeable="false" defaultValueLiteral="Single Feature Unit"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MultiFeatureUnit" eSuperTypes="#//FeatureUnit">
<eAnnotations source="gmf.node">
<details key="foo" value="bar"/>
<details key="label.icon" value="false"/>
<details key="label" value="name,type"/>
<details key="label.pattern" value="{0}:{1}"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="inputPort" lowerBound="1"
eType="#//SingleInputPort" containment="true">
<eAnnotations source="gmf.affixed">
<details key="foo" value="bar"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="secondaryInputPorts" upperBound="-1"
eType="#//MultiInputPort" containment="true">
<eAnnotations source="gmf.affixed">
<details key="foo" value="bar"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="outputPort" lowerBound="1"
eType="#//MultiOutputPort" containment="true">
<eAnnotations source="gmf.affixed">
<details key="foo" value="bar"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="multiFeatureHelper" lowerBound="1"
eType="#//MultiFeatureHelper"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
changeable="false" defaultValueLiteral="Multi Feature Unit"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FilterUnit" abstract="true" eSuperTypes="#//HelperUnit"/>
<eClassifiers xsi:type="ecore:EClass" name="SingleFilterUnit" eSuperTypes="#//FilterUnit">
<eAnnotations source="gmf.node">
<details key="foo" value="bar"/>
<details key="label.icon" value="false"/>
<details key="label" value="name,type"/>
<details key="label.pattern" value="{0}:{1}"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="inputPort" lowerBound="1"
eType="#//MultiInputPort" containment="true">
<eAnnotations source="gmf.affixed">
<details key="foo" value="bar"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="outputPort" lowerBound="1"
eType="#//SingleOutputPort" containment="true">
<eAnnotations source="gmf.affixed">
<details key="foo" value="bar"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="singleFilterHelper" lowerBound="1"
eType="#//SingleFilterHelper"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
changeable="false" defaultValueLiteral="Single Filter Unit"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MultiFilterUnit" eSuperTypes="#//FilterUnit">
<eAnnotations source="gmf.node">
<details key="foo" value="bar"/>
<details key="label.icon" value="false"/>
<details key="label" value="name,type"/>
<details key="label.pattern" value="{0}:{1}"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="inputPort" lowerBound="1"
eType="#//MultiInputPort" containment="true">
<eAnnotations source="gmf.affixed">
<details key="foo" value="bar"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="outputPort" lowerBound="1"
eType="#//MultiOutputPort" containment="true">
<eAnnotations source="gmf.affixed">
<details key="foo" value="bar"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="multiFilterHelper" lowerBound="1"
eType="#//MultiFilterHelper"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
changeable="false" defaultValueLiteral="Multi Filter Unit"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Helper" abstract="true" eSuperTypes="#//NamedElement #//DescribedElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="helperId" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="namespaceUri" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FeatureHelper" abstract="true" eSuperTypes="#//Helper">
<eStructuralFeatures xsi:type="ecore:EReference" name="inputPort" lowerBound="1"
eType="#//SingleInputPort" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="secondaryInputPorts" upperBound="-1"
eType="#//MultiInputPort" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SingleFeatureHelper" eSuperTypes="#//FeatureHelper">
<eStructuralFeatures xsi:type="ecore:EReference" name="outputPort" lowerBound="1"
eType="#//SingleOutputPort" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MultiFeatureHelper" eSuperTypes="#//FeatureHelper">
<eStructuralFeatures xsi:type="ecore:EReference" name="outputPort" lowerBound="1"
eType="#//MultiOutputPort" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FilterHelper" abstract="true" eSuperTypes="#//Helper">
<eStructuralFeatures xsi:type="ecore:EReference" name="inputPort" lowerBound="1"
eType="#//MultiInputPort" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SingleFilterHelper" eSuperTypes="#//FilterHelper">
<eStructuralFeatures xsi:type="ecore:EReference" name="outputPort" lowerBound="1"
eType="#//SingleOutputPort" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MultiFilterHelper" eSuperTypes="#//FilterHelper">
<eStructuralFeatures xsi:type="ecore:EReference" name="outputPort" lowerBound="1"
eType="#//MultiOutputPort" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Port" abstract="true" eSuperTypes="#//NamedElement #//DescribedElement">
<eAnnotations source="gmf.node">
<details key="foo" value="bar"/>
<details key="label" value="name,type"/>
<details key="label.icon" value="false"/>
<details key="label.placement" value="external"/>
<details key="label.pattern" value="{0}:{1}"/>
</eAnnotations>
<eOperations name="setType">
<eParameters name="newType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaClass"/>
<eParameters name="initiator" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eOperations>
<eOperations name="updatePortName">
<eParameters name="singularPortName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="getSingularPortName" 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#//EJavaClass"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SinglePort" abstract="true" eSuperTypes="#//Port">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MultiPort" abstract="true" eSuperTypes="#//Port">
<eAnnotations source="gmf.node">
<details key="border.color" value="255,0,0"/>
<details key="border.width" value="10"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" upperBound="-1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="InputPort" abstract="true" eSuperTypes="#//Port">
<eAnnotations source="gmf.node">
<details key="figure" value="rectangle"/>
<details key="size" value="20,20"/>
</eAnnotations>
<eOperations name="isMappingTarget" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"/>
<eOperations name="isRootPort" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OutputPort" abstract="true" eSuperTypes="#//Port">
<eAnnotations source="gmf.node">
<details key="figure" value="ellipse"/>
<details key="size" value="20,20"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SingleInputPort" eSuperTypes="#//SinglePort #//InputPort"/>
<eClassifiers xsi:type="ecore:EClass" name="MultiInputPort" eSuperTypes="#//MultiPort #//InputPort"/>
<eClassifiers xsi:type="ecore:EClass" name="SingleOutputPort" eSuperTypes="#//SinglePort #//OutputPort"/>
<eClassifiers xsi:type="ecore:EClass" name="MultiOutputPort" eSuperTypes="#//MultiPort #//OutputPort"/>
<eClassifiers xsi:type="ecore:EClass" name="PortMapping" abstract="true">
<eOperations name="getSource" eType="#//Port"/>
<eOperations name="getTarget" eType="#//InputPort"/>
<eOperations name="updatePortTypesAndNames">
<eParameters name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaClass"/>
<eParameters name="singularPortName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="updateMappingNumber"/>
<eOperations name="updateVisualization"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SinglePortMapping" eSuperTypes="#//PortMapping">
<eAnnotations source="gmf.link">
<details key="source" value="source"/>
<details key="target" value="target"/>
<details key="style" value="dot"/>
<details key="width" value="2"/>
<details key="target.decoration" value="arrow"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="source" eType="#//SinglePort"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//SingleInputPort"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MultiPortMapping" eSuperTypes="#//PortMapping">
<eAnnotations source="gmf.link">
<details key="source" value="source"/>
<details key="target" value="target"/>
<details key="style" value="dot"/>
<details key="width" value="2"/>
<details key="target.decoration" value="arrow"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="source" eType="#//MultiPort"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//MultiInputPort"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MultiSinglePortMapping" eSuperTypes="#//PortMapping">
<eAnnotations source="gmf.link">
<details key="source" value="source"/>
<details key="target" value="target"/>
<details key="style" value="dot"/>
<details key="width" value="2"/>
<details key="target.decoration" value="arrow"/>
<details key="tool.small.bundle" value="name"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="source" eType="#//MultiPort"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//SingleInputPort"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="MappingVisualization">
<eLiterals name="arrows"/>
<eLiterals name="coloredPorts" value="1"/>
<eLiterals name="indices" value="2"/>
<eLiterals name="arrowsAndColoredPorts" value="3"/>
<eLiterals name="arrowsAndIndices" value="4"/>
</eClassifiers>
</ecore:EPackage>