<?xml version="1.0" encoding="ISO-8859-1"?>
<xmi:XMI 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">
  <ecore:EPackage name="RefiningTrace">
    <eClassifiers xsi:type="ecore:EClass" name="LocatedElement" abstract="true">
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="location" ordered="false" unique="false" eType="/1/String"/>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="commentsBefore" unique="false" upperBound="-1" eType="/1/String"/>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="commentsAfter" unique="false" upperBound="-1" eType="/1/String"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Element">
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" ordered="false" unique="false" lowerBound="1" eType="/1/String"/>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="metamodel" ordered="false" unique="false" lowerBound="1" eType="/1/String"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="slots" upperBound="-1" eType="/0/Slot" containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="persistedSourceElement" ordered="false" unique="false" eType="/1/String"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Slot">
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" unique="false" lowerBound="1" eType="/1/String"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="value" ordered="false" lowerBound="1" eType="/0/Value" containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Value" abstract="true"/>
    <eClassifiers xsi:type="ecore:EClass" name="BooleanVal" eSuperTypes="/0/Value">
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false" unique="false" lowerBound="1" eType="/1/Boolean"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="IntegerVal" eSuperTypes="/0/Value">
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false" unique="false" lowerBound="1" eType="/1/Integer"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="RealVal" eSuperTypes="/0/Value">
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false" unique="false" lowerBound="1" eType="/1/Double"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="StringVal" eSuperTypes="/0/Value">
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false" unique="false" lowerBound="1" eType="/1/String"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="NullVal" eSuperTypes="/0/Value"/>
    <eClassifiers xsi:type="ecore:EClass" name="EnumLiteralVal" eSuperTypes="/0/Value">
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false" unique="false" lowerBound="1" eType="/1/String"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ElementVal" eSuperTypes="/0/Value">
      <eStructuralFeatures xsi:type="ecore:EReference" name="value" ordered="false" lowerBound="1" eType="/0/Element"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CollectionVal" eSuperTypes="/0/Value">
      <eStructuralFeatures xsi:type="ecore:EReference" name="elements" upperBound="-1" eType="/0/Value" containment="true"/>
    </eClassifiers>
  </ecore:EPackage>
  <ecore:EPackage name="PrimitiveTypes">
    <eClassifiers xsi:type="ecore:EDataType" name="Boolean"/>
    <eClassifiers xsi:type="ecore:EDataType" name="Integer"/>
    <eClassifiers xsi:type="ecore:EDataType" name="Double"/>
    <eClassifiers xsi:type="ecore:EDataType" name="String"/>
  </ecore:EPackage>
</xmi:XMI>
