| <?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="graph" nsURI="http://www.eclipse.org/qvtd/test/compiler/0.1/Graph" |
| nsPrefix="graph"> |
| <eClassifiers xsi:type="ecore:EClass" name="Node" eSuperTypes="#//Element"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="incoming" upperBound="-1" |
| eType="#//Edge" eOpposite="#//Edge/target"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="outgoing" upperBound="-1" |
| eType="#//Edge" eOpposite="#//Edge/source"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="label" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NodeType"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Edge" eSuperTypes="#//Element"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1" |
| eType="#//Node" eOpposite="#//Node/incoming"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="source" lowerBound="1" |
| eType="#//Node" eOpposite="#//Node/outgoing"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//EdgeType"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Element" abstract="true"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="graph" lowerBound="1" eType="#//Graph" |
| eOpposite="#//Graph/element"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="ElementType" abstract="true"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="graph" lowerBound="1" eType="#//Graph" |
| eOpposite="#//Graph/elementType"/> |
| <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="Graph"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="element" upperBound="-1" |
| eType="#//Element" containment="true" eOpposite="#//Element/graph"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="elementType" upperBound="-1" |
| eType="#//ElementType" eOpposite="#//ElementType/graph"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="EdgeType" eSuperTypes="#//ElementType"/> |
| <eClassifiers xsi:type="ecore:EClass" name="NodeType" eSuperTypes="#//ElementType"/> |
| </ecore:EPackage> |