typeslibrary
NativeTypesLibrary
findTypeByName
name
name
nativeTypes
NativeTypeKind
Simple
Simple
Length
Length
LengthAndPrecision
LengthAndPrecision
Enum
Enum
TypeInstance
nativeType
length
precision
literals
NativeType
name
spec
mapsTo
ComplexNamedType
types
SimpleNamedType
type
Type
UserDefinedType
name
UserDefinedTypeRef
type
UserDefinedTypesLibrary
name
userDefinedTypes
TypesLibraryUser
usedLibraries
TypesLibrary
kind
TypesLibraryKind
logicalTypes
logicalTypes
physicalTypes
physicalTypes
<?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="typeslibrary"
    nsURI="http://www.obeonetwork.org/dsl/typeslibrary/1.0" nsPrefix="typeslibrary">
  <eClassifiers xsi:type="ecore:EClass" name="NativeTypesLibrary" eSuperTypes="#//TypesLibrary">
    <eOperations name="findTypeByName" eType="#//NativeType">
      <eParameters name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="nativeTypes" upperBound="-1"
        eType="#//NativeType" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="NativeTypeKind">
    <eLiterals name="Simple"/>
    <eLiterals name="Length" value="1"/>
    <eLiterals name="LengthAndPrecision" value="2"/>
    <eLiterals name="Enum" value="3"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TypeInstance" eSuperTypes="#//Type">
    <eStructuralFeatures xsi:type="ecore:EReference" name="nativeType" lowerBound="1"
        eType="#//NativeType"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="length" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="precision" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="literals" upperBound="-1"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="NativeType">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="spec" eType="#//NativeTypeKind"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="mapsTo" eType="#//NativeType"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ComplexNamedType" eSuperTypes="#//UserDefinedType">
    <eStructuralFeatures xsi:type="ecore:EReference" name="types" upperBound="-1"
        eType="#//UserDefinedType" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="SimpleNamedType" eSuperTypes="#//UserDefinedType">
    <eStructuralFeatures xsi:type="ecore:EReference" name="type" lowerBound="1" eType="#//TypeInstance"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Type" abstract="true"/>
  <eClassifiers xsi:type="ecore:EClass" name="UserDefinedType" abstract="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="UserDefinedTypeRef" eSuperTypes="#//Type">
    <eStructuralFeatures xsi:type="ecore:EReference" name="type" lowerBound="1" eType="#//UserDefinedType"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="UserDefinedTypesLibrary" eSuperTypes="#//TypesLibrary">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="userDefinedTypes" upperBound="-1"
        eType="#//UserDefinedType" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TypesLibraryUser" abstract="true">
    <eStructuralFeatures xsi:type="ecore:EReference" name="usedLibraries" upperBound="-1"
        eType="#//TypesLibrary"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TypesLibrary" abstract="true" interface="true">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//TypesLibraryKind"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="TypesLibraryKind">
    <eLiterals name="logicalTypes"/>
    <eLiterals name="physicalTypes" value="1"/>
  </eClassifiers>
</ecore:EPackage>

{"directed":true,"nodes":[{"nsPrefix":"typeslibrary","nsURI":"http://www.obeonetwork.org/dsl/typeslibrary/1.0","name":"typeslibrary","id":0,"eClass":"EPackage"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"NativeTypesLibrary","instanceClass":null,"abstract":false,"id":1,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"NativeTypeKind","instanceClass":null,"id":2,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TypeInstance","instanceClass":null,"abstract":false,"id":3,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"NativeType","instanceClass":null,"abstract":false,"id":4,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ComplexNamedType","instanceClass":null,"abstract":false,"id":5,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SimpleNamedType","instanceClass":null,"abstract":false,"id":6,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Type","instanceClass":null,"abstract":true,"id":7,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"UserDefinedType","instanceClass":null,"abstract":true,"id":8,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"UserDefinedTypeRef","instanceClass":null,"abstract":false,"id":9,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"UserDefinedTypesLibrary","instanceClass":null,"abstract":false,"id":10,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TypesLibraryUser","instanceClass":null,"abstract":true,"id":11,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TypesLibrary","instanceClass":null,"abstract":true,"id":12,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"TypesLibraryKind","instanceClass":null,"id":13,"serializable":true,"eClass":"EEnum"},{"ordered":true,"upperBound":1,"unique":true,"name":"findTypeByName","lowerBound":0,"id":14,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"name","changeable":true,"lowerBound":0,"iD":false,"id":15,"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":"nativeTypes","changeable":true,"resolveProxies":true,"lowerBound":0,"id":16,"derived":false},{"id":17,"eClass":"EGenericType"},{"id":18,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"name","lowerBound":0,"id":19,"many":false,"required":false,"eClass":"EParameter"},{"id":20,"eClass":"EGenericType"},{"id":21,"eClass":"EGenericType"},{"id":22,"eClass":"EGenericType"},{"name":"Simple","id":23,"value":0,"literal":"Simple","eClass":"EEnumLiteral"},{"name":"Length","id":24,"value":1,"literal":"Length","eClass":"EEnumLiteral"},{"name":"LengthAndPrecision","id":25,"value":2,"literal":"LengthAndPrecision","eClass":"EEnumLiteral"},{"name":"Enum","id":26,"value":3,"literal":"Enum","eClass":"EEnumLiteral"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"nativeType","changeable":true,"resolveProxies":true,"lowerBound":1,"id":27,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":0,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"length","changeable":true,"lowerBound":0,"iD":false,"id":28,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":0,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"precision","changeable":true,"lowerBound":0,"iD":false,"id":29,"derived":false},{"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"literals","changeable":true,"lowerBound":0,"iD":false,"id":30,"derived":false},{"id":31,"eClass":"EGenericType"},{"id":32,"eClass":"EGenericType"},{"id":33,"eClass":"EGenericType"},{"id":34,"eClass":"EGenericType"},{"id":35,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"name","changeable":true,"lowerBound":0,"iD":false,"id":36,"derived":false},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"spec","changeable":true,"lowerBound":0,"iD":false,"id":37,"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":"mapsTo","changeable":true,"resolveProxies":true,"lowerBound":0,"id":38,"derived":false},{"id":39,"eClass":"EGenericType"},{"id":40,"eClass":"EGenericType"},{"id":41,"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":"types","changeable":true,"resolveProxies":true,"lowerBound":0,"id":42,"derived":false},{"id":43,"eClass":"EGenericType"},{"id":44,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"type","changeable":true,"resolveProxies":true,"lowerBound":1,"id":45,"derived":false},{"id":46,"eClass":"EGenericType"},{"id":47,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"name","changeable":true,"lowerBound":0,"iD":false,"id":48,"derived":false},{"id":49,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"type","changeable":true,"resolveProxies":true,"lowerBound":1,"id":50,"derived":false},{"id":51,"eClass":"EGenericType"},{"id":52,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"name","changeable":true,"lowerBound":0,"iD":false,"id":53,"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":"userDefinedTypes","changeable":true,"resolveProxies":true,"lowerBound":0,"id":54,"derived":false},{"id":55,"eClass":"EGenericType"},{"id":56,"eClass":"EGenericType"},{"id":57,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"usedLibraries","changeable":true,"resolveProxies":true,"lowerBound":0,"id":58,"derived":false},{"id":59,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"kind","changeable":true,"lowerBound":0,"iD":false,"id":60,"derived":false},{"id":61,"eClass":"EGenericType"},{"name":"logicalTypes","id":62,"value":0,"literal":"logicalTypes","eClass":"EEnumLiteral"},{"name":"physicalTypes","id":63,"value":1,"literal":"physicalTypes","eClass":"EEnumLiteral"}],"links":[{"source":0,"target":1},{"source":0,"target":2},{"source":0,"target":3},{"source":0,"target":4},{"source":0,"target":5},{"source":0,"target":6},{"source":0,"target":7},{"source":0,"target":8},{"source":0,"target":9},{"source":0,"target":10},{"source":0,"target":11},{"source":0,"target":12},{"source":0,"target":13},{"source":1,"target":0},{"source":1,"target":12},{"source":1,"target":14},{"source":1,"target":15},{"source":1,"target":16},{"source":1,"target":17},{"source":14,"target":4},{"source":14,"target":18},{"source":14,"target":1},{"source":14,"target":19},{"source":18,"target":4},{"source":19,"target":20},{"source":19,"target":14},{"source":15,"target":21},{"source":15,"target":1},{"source":16,"target":4},{"source":16,"target":22},{"source":16,"target":1},{"source":22,"target":4},{"source":17,"target":12},{"source":2,"target":0},{"source":2,"target":23},{"source":2,"target":24},{"source":2,"target":25},{"source":2,"target":26},{"source":23,"target":2},{"source":24,"target":2},{"source":25,"target":2},{"source":26,"target":2},{"source":3,"target":0},{"source":3,"target":7},{"source":3,"target":27},{"source":3,"target":28},{"source":3,"target":29},{"source":3,"target":30},{"source":3,"target":31},{"source":27,"target":4},{"source":27,"target":32},{"source":27,"target":3},{"source":32,"target":4},{"source":28,"target":33},{"source":28,"target":3},{"source":29,"target":34},{"source":29,"target":3},{"source":30,"target":35},{"source":30,"target":3},{"source":31,"target":7},{"source":4,"target":0},{"source":4,"target":36},{"source":4,"target":37},{"source":4,"target":38},{"source":36,"target":39},{"source":36,"target":4},{"source":37,"target":2},{"source":37,"target":40},{"source":37,"target":4},{"source":40,"target":2},{"source":38,"target":4},{"source":38,"target":41},{"source":38,"target":4},{"source":41,"target":4},{"source":5,"target":0},{"source":5,"target":8},{"source":5,"target":42},{"source":5,"target":43},{"source":42,"target":8},{"source":42,"target":44},{"source":42,"target":5},{"source":44,"target":8},{"source":43,"target":8},{"source":6,"target":0},{"source":6,"target":8},{"source":6,"target":45},{"source":6,"target":46},{"source":45,"target":3},{"source":45,"target":47},{"source":45,"target":6},{"source":47,"target":3},{"source":46,"target":8},{"source":7,"target":0},{"source":8,"target":0},{"source":8,"target":48},{"source":48,"target":49},{"source":48,"target":8},{"source":9,"target":0},{"source":9,"target":7},{"source":9,"target":50},{"source":9,"target":51},{"source":50,"target":8},{"source":50,"target":52},{"source":50,"target":9},{"source":52,"target":8},{"source":51,"target":7},{"source":10,"target":0},{"source":10,"target":12},{"source":10,"target":53},{"source":10,"target":54},{"source":10,"target":55},{"source":53,"target":56},{"source":53,"target":10},{"source":54,"target":8},{"source":54,"target":57},{"source":54,"target":10},{"source":57,"target":8},{"source":55,"target":12},{"source":11,"target":0},{"source":11,"target":58},{"source":58,"target":12},{"source":58,"target":59},{"source":58,"target":11},{"source":59,"target":12},{"source":12,"target":0},{"source":12,"target":60},{"source":60,"target":13},{"source":60,"target":61},{"source":60,"target":12},{"source":61,"target":13},{"source":13,"target":0},{"source":13,"target":62},{"source":13,"target":63},{"source":62,"target":13},{"source":63,"target":13}],"multigraph":true}