qvtrelation
cst
AbstractDomainCS
CollectionTemplateCS
memberIdentifier
referredCollectionType
restIdentifier
DefaultValueCS
identifier
initialiser
DomainCS
checkonly
enforce
modelId
replace
template
defaultValue
implementedBy
KeyDeclCS
classId
propertyId
ModelDeclCS
modelId
metaModelId
ObjectTemplateCS
propertyTemplate
referredClass
ParamDeclarationCS
identifier
type
PrimitiveTypeDomainCS
PropertyTemplateCS
propertyId
oclExpression
referredProperty
opposite
false
QueryCS
pathName
inputParamDeclaration
oclExpression
type
RelationCS
top
identifier
overrides
varDeclaration
domain
when
where
TemplateCS
guardExpression
TemplateVariableCS
type
TopLevelCS
importClause
transformation
TransformationCS
modelDecl
extends
identifier
keyDecl
query
relation
UnitCS
identifier
VarDeclarationCS
varDeclarationId
type
WhenCS
expr
WhereCS
expr
<?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="qvtrelation"
    nsURI="http://www.eclipse.org/qvt/1.0/QVTRelation" nsPrefix="qvtr">
  <eSubpackages name="cst" nsURI="http://www.eclipse.org/qvt/1.0/QVTRelationcst" nsPrefix="qvtrcst">
    <eClassifiers xsi:type="ecore:EClass" name="AbstractDomainCS" abstract="true"
        eSuperTypes="../../org.eclipse.ocl/model/OCLCST.ecore#//cst/CSTNode"/>
    <eClassifiers xsi:type="ecore:EClass" name="CollectionTemplateCS" eSuperTypes="#//cst/TemplateCS">
      <eStructuralFeatures xsi:type="ecore:EReference" name="memberIdentifier" lowerBound="1"
          upperBound="-1" eType="ecore:EClass ../../org.eclipse.qvt.declarative.parser/model/QVTCST.ecore#//cst/IdentifiedCS"
          containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="referredCollectionType"
          eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="restIdentifier" lowerBound="1"
          eType="ecore:EClass ../../org.eclipse.qvt.declarative.parser/model/QVTCST.ecore#//cst/IdentifierCS"
          containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="DefaultValueCS" eSuperTypes="../../org.eclipse.ocl/model/OCLCST.ecore#//cst/CSTNode">
      <eStructuralFeatures xsi:type="ecore:EReference" name="identifier" lowerBound="1"
          eType="ecore:EClass ../../org.eclipse.qvt.declarative.parser/model/QVTCST.ecore#//cst/IdentifierCS"
          containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="initialiser" lowerBound="1"
          eType="ecore:EClass ../../org.eclipse.ocl/model/OCLCST.ecore#//cst/OCLExpressionCS"
          containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="DomainCS" eSuperTypes="#//cst/AbstractDomainCS">
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="checkonly" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="enforce" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="modelId" eType="ecore:EClass ../../org.eclipse.qvt.declarative.parser/model/QVTCST.ecore#//cst/IdentifierCS"
          containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="replace" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="template" eType="#//cst/TemplateCS"
          containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="defaultValue" upperBound="-1"
          eType="#//cst/DefaultValueCS" containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="implementedBy" eType="ecore:EClass ../../org.eclipse.ocl/model/OCLCST.ecore#//cst/OperationCallExpCS"
          containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="KeyDeclCS" eSuperTypes="../../org.eclipse.ocl/model/OCLCST.ecore#//cst/CSTNode">
      <eStructuralFeatures xsi:type="ecore:EReference" name="classId" eType="ecore:EClass ../../org.eclipse.ocl/model/OCLCST.ecore#//cst/PathNameCS"
          containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="propertyId" upperBound="-1"
          eType="ecore:EClass ../../org.eclipse.qvt.declarative.parser/model/QVTCST.ecore#//cst/IdentifiedCS"
          containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ModelDeclCS" eSuperTypes="../../org.eclipse.ocl/model/OCLCST.ecore#//cst/CSTNode">
      <eStructuralFeatures xsi:type="ecore:EReference" name="modelId" eType="ecore:EClass ../../org.eclipse.qvt.declarative.parser/model/QVTCST.ecore#//cst/IdentifierCS"
          containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="metaModelId" upperBound="-1"
          eType="ecore:EClass ../../org.eclipse.qvt.declarative.parser/model/QVTCST.ecore#//cst/IdentifierCS"
          containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ObjectTemplateCS" eSuperTypes="#//cst/TemplateCS">
      <eStructuralFeatures xsi:type="ecore:EReference" name="propertyTemplate" upperBound="-1"
          eType="#//cst/PropertyTemplateCS" containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="referredClass" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClass"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ParamDeclarationCS" eSuperTypes="../../org.eclipse.ocl/model/OCLCST.ecore#//cst/CSTNode">
      <eStructuralFeatures xsi:type="ecore:EReference" name="identifier" eType="ecore:EClass ../../org.eclipse.qvt.declarative.parser/model/QVTCST.ecore#//cst/IdentifierCS"
          containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="ecore:EClass ../../org.eclipse.ocl/model/OCLCST.ecore#//cst/TypeCS"
          containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="PrimitiveTypeDomainCS" eSuperTypes="#//cst/TemplateVariableCS #//cst/AbstractDomainCS"/>
    <eClassifiers xsi:type="ecore:EClass" name="PropertyTemplateCS" eSuperTypes="../../org.eclipse.ocl/model/OCLCST.ecore#//cst/CSTNode">
      <eStructuralFeatures xsi:type="ecore:EReference" name="propertyId" eType="ecore:EClass ../../org.eclipse.qvt.declarative.parser/model/QVTCST.ecore#//cst/IdentifiedCS"
          containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="oclExpression" eType="ecore:EClass ../../org.eclipse.ocl/model/OCLCST.ecore#//cst/OCLExpressionCS"
          containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="referredProperty" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="opposite" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
          defaultValueLiteral="false"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="QueryCS" eSuperTypes="../../org.eclipse.ocl/model/OCLCST.ecore#//cst/CSTNode">
      <eStructuralFeatures xsi:type="ecore:EReference" name="pathName" eType="ecore:EClass ../../org.eclipse.ocl/model/OCLCST.ecore#//cst/PathNameCS"
          containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="inputParamDeclaration"
          upperBound="-1" eType="#//cst/ParamDeclarationCS" containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="oclExpression" eType="ecore:EClass ../../org.eclipse.ocl/model/OCLCST.ecore#//cst/OCLExpressionCS"
          containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="ecore:EClass ../../org.eclipse.ocl/model/OCLCST.ecore#//cst/TypeCS"
          containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="RelationCS" eSuperTypes="../../org.eclipse.ocl/model/OCLCST.ecore#//cst/CSTNode">
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="top" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="identifier" eType="ecore:EClass ../../org.eclipse.qvt.declarative.parser/model/QVTCST.ecore#//cst/IdentifierCS"
          containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="overrides" eType="ecore:EClass ../../org.eclipse.qvt.declarative.parser/model/QVTCST.ecore#//cst/IdentifierCS"
          containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="varDeclaration" upperBound="-1"
          eType="#//cst/VarDeclarationCS" containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="domain" upperBound="-1"
          eType="#//cst/AbstractDomainCS" containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="when" eType="#//cst/WhenCS"
          containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="where" eType="#//cst/WhereCS"
          containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="TemplateCS" abstract="true" eSuperTypes="#//cst/TemplateVariableCS ../../org.eclipse.ocl/model/OCLCST.ecore#//cst/OCLExpressionCS">
      <eStructuralFeatures xsi:type="ecore:EReference" name="guardExpression" eType="ecore:EClass ../../org.eclipse.ocl/model/OCLCST.ecore#//cst/OCLExpressionCS"
          containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="TemplateVariableCS" abstract="true"
        eSuperTypes="../../org.eclipse.qvt.declarative.parser/model/QVTCST.ecore#//cst/IdentifiedCS">
      <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="ecore:EClass ../../org.eclipse.ocl/model/OCLCST.ecore#//cst/TypeCS"
          containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="TopLevelCS" eSuperTypes="../../org.eclipse.ocl/model/OCLCST.ecore#//cst/CSTNode">
      <eStructuralFeatures xsi:type="ecore:EReference" name="importClause" upperBound="-1"
          eType="#//cst/UnitCS" containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="transformation" upperBound="-1"
          eType="#//cst/TransformationCS" containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="TransformationCS" eSuperTypes="../../org.eclipse.ocl/model/OCLCST.ecore#//cst/CSTNode">
      <eStructuralFeatures xsi:type="ecore:EReference" name="modelDecl" upperBound="-1"
          eType="#//cst/ModelDeclCS" containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="extends" eType="ecore:EClass ../../org.eclipse.qvt.declarative.parser/model/QVTCST.ecore#//cst/IdentifierCS"
          containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="identifier" eType="ecore:EClass ../../org.eclipse.qvt.declarative.parser/model/QVTCST.ecore#//cst/IdentifierCS"
          containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="keyDecl" upperBound="-1"
          eType="#//cst/KeyDeclCS" containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="query" upperBound="-1"
          eType="#//cst/QueryCS" containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="relation" upperBound="-1"
          eType="#//cst/RelationCS" containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="UnitCS" eSuperTypes="../../org.eclipse.ocl/model/OCLCST.ecore#//cst/CSTNode">
      <eStructuralFeatures xsi:type="ecore:EReference" name="identifier" lowerBound="1"
          upperBound="-1" eType="ecore:EClass ../../org.eclipse.qvt.declarative.parser/model/QVTCST.ecore#//cst/IdentifierCS"
          containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="VarDeclarationCS" eSuperTypes="../../org.eclipse.ocl/model/OCLCST.ecore#//cst/CSTNode">
      <eStructuralFeatures xsi:type="ecore:EReference" name="varDeclarationId" upperBound="-1"
          eType="ecore:EClass ../../org.eclipse.qvt.declarative.parser/model/QVTCST.ecore#//cst/IdentifierCS"
          containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="ecore:EClass ../../org.eclipse.ocl/model/OCLCST.ecore#//cst/TypeCS"
          containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="WhenCS" eSuperTypes="../../org.eclipse.ocl/model/OCLCST.ecore#//cst/CSTNode">
      <eStructuralFeatures xsi:type="ecore:EReference" name="expr" lowerBound="1"
          upperBound="-1" eType="ecore:EClass ../../org.eclipse.ocl/model/OCLCST.ecore#//cst/OCLExpressionCS"
          containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="WhereCS" eSuperTypes="../../org.eclipse.ocl/model/OCLCST.ecore#//cst/CSTNode">
      <eStructuralFeatures xsi:type="ecore:EReference" name="expr" lowerBound="1"
          upperBound="-1" eType="ecore:EClass ../../org.eclipse.ocl/model/OCLCST.ecore#//cst/OCLExpressionCS"
          containment="true"/>
    </eClassifiers>
  </eSubpackages>
</ecore:EPackage>

{"directed":true,"nodes":[{"nsPrefix":"qvtr","nsURI":"http://www.eclipse.org/qvt/1.0/QVTRelation","name":"qvtrelation","id":0,"eClass":"EPackage"},{"nsPrefix":"qvtrcst","nsURI":"http://www.eclipse.org/qvt/1.0/QVTRelationcst","name":"cst","id":1,"eClass":"EPackage"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AbstractDomainCS","instanceClass":null,"abstract":true,"id":2,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CollectionTemplateCS","instanceClass":null,"abstract":false,"id":3,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DefaultValueCS","instanceClass":null,"abstract":false,"id":4,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DomainCS","instanceClass":null,"abstract":false,"id":5,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"KeyDeclCS","instanceClass":null,"abstract":false,"id":6,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ModelDeclCS","instanceClass":null,"abstract":false,"id":7,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ObjectTemplateCS","instanceClass":null,"abstract":false,"id":8,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ParamDeclarationCS","instanceClass":null,"abstract":false,"id":9,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PrimitiveTypeDomainCS","instanceClass":null,"abstract":false,"id":10,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PropertyTemplateCS","instanceClass":null,"abstract":false,"id":11,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"QueryCS","instanceClass":null,"abstract":false,"id":12,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RelationCS","instanceClass":null,"abstract":false,"id":13,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TemplateCS","instanceClass":null,"abstract":true,"id":14,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TemplateVariableCS","instanceClass":null,"abstract":true,"id":15,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TopLevelCS","instanceClass":null,"abstract":false,"id":16,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TransformationCS","instanceClass":null,"abstract":false,"id":17,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"UnitCS","instanceClass":null,"abstract":false,"id":18,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"VarDeclarationCS","instanceClass":null,"abstract":false,"id":19,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"WhenCS","instanceClass":null,"abstract":false,"id":20,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"WhereCS","instanceClass":null,"abstract":false,"id":21,"interface":false,"eClass":"EClass"},{"id":22,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"memberIdentifier","changeable":true,"resolveProxies":true,"lowerBound":1,"id":23,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"referredCollectionType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":24,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"restIdentifier","changeable":true,"resolveProxies":true,"lowerBound":1,"id":25,"derived":false},{"id":26,"eClass":"EGenericType"},{"id":27,"eClass":"EGenericType"},{"id":28,"eClass":"EGenericType"},{"id":29,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"identifier","changeable":true,"resolveProxies":true,"lowerBound":1,"id":30,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"initialiser","changeable":true,"resolveProxies":true,"lowerBound":1,"id":31,"derived":false},{"id":32,"eClass":"EGenericType"},{"id":33,"eClass":"EGenericType"},{"id":34,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"checkonly","changeable":true,"lowerBound":0,"iD":false,"id":35,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"enforce","changeable":true,"lowerBound":0,"iD":false,"id":36,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"modelId","changeable":true,"resolveProxies":true,"lowerBound":0,"id":37,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"replace","changeable":true,"lowerBound":0,"iD":false,"id":38,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"template","changeable":true,"resolveProxies":true,"lowerBound":0,"id":39,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"defaultValue","changeable":true,"resolveProxies":true,"lowerBound":0,"id":40,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"implementedBy","changeable":true,"resolveProxies":true,"lowerBound":0,"id":41,"derived":false},{"id":42,"eClass":"EGenericType"},{"id":43,"eClass":"EGenericType"},{"id":44,"eClass":"EGenericType"},{"id":45,"eClass":"EGenericType"},{"id":46,"eClass":"EGenericType"},{"id":47,"eClass":"EGenericType"},{"id":48,"eClass":"EGenericType"},{"id":49,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"classId","changeable":true,"resolveProxies":true,"lowerBound":0,"id":50,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"propertyId","changeable":true,"resolveProxies":true,"lowerBound":0,"id":51,"derived":false},{"id":52,"eClass":"EGenericType"},{"id":53,"eClass":"EGenericType"},{"id":54,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"modelId","changeable":true,"resolveProxies":true,"lowerBound":0,"id":55,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"metaModelId","changeable":true,"resolveProxies":true,"lowerBound":0,"id":56,"derived":false},{"id":57,"eClass":"EGenericType"},{"id":58,"eClass":"EGenericType"},{"id":59,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"propertyTemplate","changeable":true,"resolveProxies":true,"lowerBound":0,"id":60,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"referredClass","changeable":true,"resolveProxies":true,"lowerBound":0,"id":61,"derived":false},{"id":62,"eClass":"EGenericType"},{"id":63,"eClass":"EGenericType"},{"id":64,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"identifier","changeable":true,"resolveProxies":true,"lowerBound":0,"id":65,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"type","changeable":true,"resolveProxies":true,"lowerBound":0,"id":66,"derived":false},{"id":67,"eClass":"EGenericType"},{"id":68,"eClass":"EGenericType"},{"id":69,"eClass":"EGenericType"},{"id":70,"eClass":"EGenericType"},{"id":71,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"propertyId","changeable":true,"resolveProxies":true,"lowerBound":0,"id":72,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"oclExpression","changeable":true,"resolveProxies":true,"lowerBound":0,"id":73,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"referredProperty","changeable":true,"resolveProxies":true,"lowerBound":0,"id":74,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"opposite","changeable":true,"lowerBound":0,"iD":false,"id":75,"derived":false},{"id":76,"eClass":"EGenericType"},{"id":77,"eClass":"EGenericType"},{"id":78,"eClass":"EGenericType"},{"id":79,"eClass":"EGenericType"},{"id":80,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"pathName","changeable":true,"resolveProxies":true,"lowerBound":0,"id":81,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"inputParamDeclaration","changeable":true,"resolveProxies":true,"lowerBound":0,"id":82,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"oclExpression","changeable":true,"resolveProxies":true,"lowerBound":0,"id":83,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"type","changeable":true,"resolveProxies":true,"lowerBound":0,"id":84,"derived":false},{"id":85,"eClass":"EGenericType"},{"id":86,"eClass":"EGenericType"},{"id":87,"eClass":"EGenericType"},{"id":88,"eClass":"EGenericType"},{"id":89,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"top","changeable":true,"lowerBound":0,"iD":false,"id":90,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"identifier","changeable":true,"resolveProxies":true,"lowerBound":0,"id":91,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"overrides","changeable":true,"resolveProxies":true,"lowerBound":0,"id":92,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"varDeclaration","changeable":true,"resolveProxies":true,"lowerBound":0,"id":93,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"domain","changeable":true,"resolveProxies":true,"lowerBound":0,"id":94,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"when","changeable":true,"resolveProxies":true,"lowerBound":0,"id":95,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"where","changeable":true,"resolveProxies":true,"lowerBound":0,"id":96,"derived":false},{"id":97,"eClass":"EGenericType"},{"id":98,"eClass":"EGenericType"},{"id":99,"eClass":"EGenericType"},{"id":100,"eClass":"EGenericType"},{"id":101,"eClass":"EGenericType"},{"id":102,"eClass":"EGenericType"},{"id":103,"eClass":"EGenericType"},{"id":104,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"guardExpression","changeable":true,"resolveProxies":true,"lowerBound":0,"id":105,"derived":false},{"id":106,"eClass":"EGenericType"},{"id":107,"eClass":"EGenericType"},{"id":108,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"type","changeable":true,"resolveProxies":true,"lowerBound":0,"id":109,"derived":false},{"id":110,"eClass":"EGenericType"},{"id":111,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"importClause","changeable":true,"resolveProxies":true,"lowerBound":0,"id":112,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"transformation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":113,"derived":false},{"id":114,"eClass":"EGenericType"},{"id":115,"eClass":"EGenericType"},{"id":116,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"modelDecl","changeable":true,"resolveProxies":true,"lowerBound":0,"id":117,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"extends","changeable":true,"resolveProxies":true,"lowerBound":0,"id":118,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"identifier","changeable":true,"resolveProxies":true,"lowerBound":0,"id":119,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"keyDecl","changeable":true,"resolveProxies":true,"lowerBound":0,"id":120,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"query","changeable":true,"resolveProxies":true,"lowerBound":0,"id":121,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"relation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":122,"derived":false},{"id":123,"eClass":"EGenericType"},{"id":124,"eClass":"EGenericType"},{"id":125,"eClass":"EGenericType"},{"id":126,"eClass":"EGenericType"},{"id":127,"eClass":"EGenericType"},{"id":128,"eClass":"EGenericType"},{"id":129,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"identifier","changeable":true,"resolveProxies":true,"lowerBound":1,"id":130,"derived":false},{"id":131,"eClass":"EGenericType"},{"id":132,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"varDeclarationId","changeable":true,"resolveProxies":true,"lowerBound":0,"id":133,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"type","changeable":true,"resolveProxies":true,"lowerBound":0,"id":134,"derived":false},{"id":135,"eClass":"EGenericType"},{"id":136,"eClass":"EGenericType"},{"id":137,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"expr","changeable":true,"resolveProxies":true,"lowerBound":1,"id":138,"derived":false},{"id":139,"eClass":"EGenericType"},{"id":140,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"expr","changeable":true,"resolveProxies":true,"lowerBound":1,"id":141,"derived":false},{"id":142,"eClass":"EGenericType"},{"id":143,"eClass":"EGenericType"}],"links":[{"source":0,"target":1},{"source":1,"target":2},{"source":1,"target":3},{"source":1,"target":4},{"source":1,"target":5},{"source":1,"target":6},{"source":1,"target":7},{"source":1,"target":8},{"source":1,"target":9},{"source":1,"target":10},{"source":1,"target":11},{"source":1,"target":12},{"source":1,"target":13},{"source":1,"target":14},{"source":1,"target":15},{"source":1,"target":16},{"source":1,"target":17},{"source":1,"target":18},{"source":1,"target":19},{"source":1,"target":20},{"source":1,"target":21},{"source":1,"target":0},{"source":2,"target":1},{"source":2,"target":22},{"source":3,"target":1},{"source":3,"target":14},{"source":3,"target":23},{"source":3,"target":24},{"source":3,"target":25},{"source":3,"target":26},{"source":23,"target":27},{"source":23,"target":3},{"source":24,"target":28},{"source":24,"target":3},{"source":25,"target":29},{"source":25,"target":3},{"source":26,"target":14},{"source":4,"target":1},{"source":4,"target":30},{"source":4,"target":31},{"source":4,"target":32},{"source":30,"target":33},{"source":30,"target":4},{"source":31,"target":34},{"source":31,"target":4},{"source":5,"target":1},{"source":5,"target":2},{"source":5,"target":35},{"source":5,"target":36},{"source":5,"target":37},{"source":5,"target":38},{"source":5,"target":39},{"source":5,"target":40},{"source":5,"target":41},{"source":5,"target":42},{"source":35,"target":43},{"source":35,"target":5},{"source":36,"target":44},{"source":36,"target":5},{"source":37,"target":45},{"source":37,"target":5},{"source":38,"target":46},{"source":38,"target":5},{"source":39,"target":14},{"source":39,"target":47},{"source":39,"target":5},{"source":47,"target":14},{"source":40,"target":4},{"source":40,"target":48},{"source":40,"target":5},{"source":48,"target":4},{"source":41,"target":49},{"source":41,"target":5},{"source":42,"target":2},{"source":6,"target":1},{"source":6,"target":50},{"source":6,"target":51},{"source":6,"target":52},{"source":50,"target":53},{"source":50,"target":6},{"source":51,"target":54},{"source":51,"target":6},{"source":7,"target":1},{"source":7,"target":55},{"source":7,"target":56},{"source":7,"target":57},{"source":55,"target":58},{"source":55,"target":7},{"source":56,"target":59},{"source":56,"target":7},{"source":8,"target":1},{"source":8,"target":14},{"source":8,"target":60},{"source":8,"target":61},{"source":8,"target":62},{"source":60,"target":11},{"source":60,"target":63},{"source":60,"target":8},{"source":63,"target":11},{"source":61,"target":64},{"source":61,"target":8},{"source":62,"target":14},{"source":9,"target":1},{"source":9,"target":65},{"source":9,"target":66},{"source":9,"target":67},{"source":65,"target":68},{"source":65,"target":9},{"source":66,"target":69},{"source":66,"target":9},{"source":10,"target":1},{"source":10,"target":15},{"source":10,"target":2},{"source":10,"target":70},{"source":10,"target":71},{"source":70,"target":15},{"source":71,"target":2},{"source":11,"target":1},{"source":11,"target":72},{"source":11,"target":73},{"source":11,"target":74},{"source":11,"target":75},{"source":11,"target":76},{"source":72,"target":77},{"source":72,"target":11},{"source":73,"target":78},{"source":73,"target":11},{"source":74,"target":79},{"source":74,"target":11},{"source":75,"target":80},{"source":75,"target":11},{"source":12,"target":1},{"source":12,"target":81},{"source":12,"target":82},{"source":12,"target":83},{"source":12,"target":84},{"source":12,"target":85},{"source":81,"target":86},{"source":81,"target":12},{"source":82,"target":9},{"source":82,"target":87},{"source":82,"target":12},{"source":87,"target":9},{"source":83,"target":88},{"source":83,"target":12},{"source":84,"target":89},{"source":84,"target":12},{"source":13,"target":1},{"source":13,"target":90},{"source":13,"target":91},{"source":13,"target":92},{"source":13,"target":93},{"source":13,"target":94},{"source":13,"target":95},{"source":13,"target":96},{"source":13,"target":97},{"source":90,"target":98},{"source":90,"target":13},{"source":91,"target":99},{"source":91,"target":13},{"source":92,"target":100},{"source":92,"target":13},{"source":93,"target":19},{"source":93,"target":101},{"source":93,"target":13},{"source":101,"target":19},{"source":94,"target":2},{"source":94,"target":102},{"source":94,"target":13},{"source":102,"target":2},{"source":95,"target":20},{"source":95,"target":103},{"source":95,"target":13},{"source":103,"target":20},{"source":96,"target":21},{"source":96,"target":104},{"source":96,"target":13},{"source":104,"target":21},{"source":14,"target":1},{"source":14,"target":15},{"source":14,"target":105},{"source":14,"target":106},{"source":14,"target":107},{"source":105,"target":108},{"source":105,"target":14},{"source":106,"target":15},{"source":15,"target":1},{"source":15,"target":109},{"source":15,"target":110},{"source":109,"target":111},{"source":109,"target":15},{"source":16,"target":1},{"source":16,"target":112},{"source":16,"target":113},{"source":16,"target":114},{"source":112,"target":18},{"source":112,"target":115},{"source":112,"target":16},{"source":115,"target":18},{"source":113,"target":17},{"source":113,"target":116},{"source":113,"target":16},{"source":116,"target":17},{"source":17,"target":1},{"source":17,"target":117},{"source":17,"target":118},{"source":17,"target":119},{"source":17,"target":120},{"source":17,"target":121},{"source":17,"target":122},{"source":17,"target":123},{"source":117,"target":7},{"source":117,"target":124},{"source":117,"target":17},{"source":124,"target":7},{"source":118,"target":125},{"source":118,"target":17},{"source":119,"target":126},{"source":119,"target":17},{"source":120,"target":6},{"source":120,"target":127},{"source":120,"target":17},{"source":127,"target":6},{"source":121,"target":12},{"source":121,"target":128},{"source":121,"target":17},{"source":128,"target":12},{"source":122,"target":13},{"source":122,"target":129},{"source":122,"target":17},{"source":129,"target":13},{"source":18,"target":1},{"source":18,"target":130},{"source":18,"target":131},{"source":130,"target":132},{"source":130,"target":18},{"source":19,"target":1},{"source":19,"target":133},{"source":19,"target":134},{"source":19,"target":135},{"source":133,"target":136},{"source":133,"target":19},{"source":134,"target":137},{"source":134,"target":19},{"source":20,"target":1},{"source":20,"target":138},{"source":20,"target":139},{"source":138,"target":140},{"source":138,"target":20},{"source":21,"target":1},{"source":21,"target":141},{"source":21,"target":142},{"source":141,"target":143},{"source":141,"target":21}],"multigraph":true}