dot
Graph
statements
Node
RecordNode
innerNodes
Edge
source
target
Identifiable
id
Statement
Settings
type
StringToStringMapEntry
java.util.Map$Entry
java.util.Map$Entry
key
value
AttributedItem
attributes
SettingsType
GRAPH
graph
NODE
node
EDGE
edge
InnerNode
recordNode
Assignment
key
value
<?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="dot" nsURI="dot" nsPrefix="dot">
  <eClassifiers xsi:type="ecore:EClass" name="Graph" eSuperTypes="#//Identifiable #//Statement">
    <eStructuralFeatures xsi:type="ecore:EReference" name="statements" upperBound="-1"
        eType="#//Statement" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Node" eSuperTypes="#//Identifiable #//Statement #//AttributedItem"/>
  <eClassifiers xsi:type="ecore:EClass" name="RecordNode" eSuperTypes="#//Node">
    <eStructuralFeatures xsi:type="ecore:EReference" name="innerNodes" ordered="false"
        upperBound="-1" eType="#//InnerNode" containment="true" eOpposite="#//InnerNode/recordNode">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="InnerNodes cannot be instances of the RecordNode class - nesting isn't allowed.&#xA;Id of the inner node must have port set - e.g. &quot;step1:OUT&quot;."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Edge" eSuperTypes="#//Statement #//AttributedItem">
    <eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"
        lowerBound="1" eType="#//Node"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="target" ordered="false"
        lowerBound="1" eType="#//Node"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Identifiable" abstract="true" interface="true">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" ordered="false" lowerBound="1"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Statement" abstract="true" interface="true"/>
  <eClassifiers xsi:type="ecore:EClass" name="Settings" eSuperTypes="#//Statement #//AttributedItem">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="#//SettingsType"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="StringToStringMapEntry" instanceClassName="java.util.Map$Entry">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="key" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="AttributedItem" abstract="true" interface="true">
    <eStructuralFeatures xsi:type="ecore:EReference" name="attributes" upperBound="-1"
        eType="#//StringToStringMapEntry" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="SettingsType">
    <eLiterals name="GRAPH" literal="graph"/>
    <eLiterals name="NODE" value="1" literal="node"/>
    <eLiterals name="EDGE" value="2" literal="edge"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="InnerNode" eSuperTypes="#//Node">
    <eStructuralFeatures xsi:type="ecore:EReference" name="recordNode" lowerBound="1"
        eType="#//RecordNode" eOpposite="#//RecordNode/innerNodes"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Assignment" eSuperTypes="#//Statement">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="key" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  </eClassifiers>
</ecore:EPackage>

{"directed":true,"nodes":[{"nsPrefix":"dot","nsURI":"dot","name":"dot","id":0,"eClass":"EPackage"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Graph","instanceClass":null,"abstract":false,"id":1,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Node","instanceClass":null,"abstract":false,"id":2,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RecordNode","instanceClass":null,"abstract":false,"id":3,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Edge","instanceClass":null,"abstract":false,"id":4,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Identifiable","instanceClass":null,"abstract":true,"id":5,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Statement","instanceClass":null,"abstract":true,"id":6,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Settings","instanceClass":null,"abstract":false,"id":7,"interface":false,"eClass":"EClass"},{"instanceTypeName":"java.util.Map$Entry","defaultValue":null,"instanceClassName":"java.util.Map$Entry","name":"StringToStringMapEntry","instanceClass":"java.util.Map$Entry","abstract":false,"id":8,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AttributedItem","instanceClass":null,"abstract":true,"id":9,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"SettingsType","instanceClass":null,"id":10,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InnerNode","instanceClass":null,"abstract":false,"id":11,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Assignment","instanceClass":null,"abstract":false,"id":12,"interface":false,"eClass":"EClass"},{"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":"statements","changeable":true,"resolveProxies":true,"lowerBound":0,"id":13,"derived":false},{"id":14,"eClass":"EGenericType"},{"id":15,"eClass":"EGenericType"},{"id":16,"eClass":"EGenericType"},{"id":17,"eClass":"EGenericType"},{"id":18,"eClass":"EGenericType"},{"id":19,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"innerNodes","changeable":true,"resolveProxies":true,"lowerBound":0,"id":20,"derived":false},{"id":21,"eClass":"EGenericType"},{"id":22,"eClass":"EGenericType"},{"container":true,"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":"recordNode","changeable":true,"resolveProxies":true,"lowerBound":1,"id":23,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"source","changeable":true,"resolveProxies":true,"lowerBound":1,"id":24,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"target","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"},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"id","changeable":true,"lowerBound":1,"iD":false,"id":30,"derived":false},{"id":31,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"type","changeable":true,"lowerBound":1,"iD":false,"id":32,"derived":false},{"id":33,"eClass":"EGenericType"},{"id":34,"eClass":"EGenericType"},{"id":35,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"key","changeable":true,"lowerBound":1,"iD":false,"id":36,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"value","changeable":true,"lowerBound":1,"iD":false,"id":37,"derived":false},{"id":38,"eClass":"EGenericType"},{"id":39,"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":"attributes","changeable":true,"resolveProxies":true,"lowerBound":0,"id":40,"derived":false},{"id":41,"eClass":"EGenericType"},{"name":"GRAPH","id":42,"value":0,"literal":"graph","eClass":"EEnumLiteral"},{"name":"NODE","id":43,"value":1,"literal":"node","eClass":"EEnumLiteral"},{"name":"EDGE","id":44,"value":2,"literal":"edge","eClass":"EEnumLiteral"},{"id":45,"eClass":"EGenericType"},{"id":46,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"key","changeable":true,"lowerBound":1,"iD":false,"id":47,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"value","changeable":true,"lowerBound":1,"iD":false,"id":48,"derived":false},{"id":49,"eClass":"EGenericType"},{"id":50,"eClass":"EGenericType"},{"id":51,"eClass":"EGenericType"}],"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":1,"target":0},{"source":1,"target":5},{"source":1,"target":6},{"source":1,"target":13},{"source":1,"target":14},{"source":1,"target":15},{"source":13,"target":6},{"source":13,"target":16},{"source":13,"target":1},{"source":16,"target":6},{"source":14,"target":5},{"source":15,"target":6},{"source":2,"target":0},{"source":2,"target":5},{"source":2,"target":6},{"source":2,"target":9},{"source":2,"target":17},{"source":2,"target":18},{"source":2,"target":19},{"source":17,"target":5},{"source":18,"target":6},{"source":19,"target":9},{"source":3,"target":0},{"source":3,"target":2},{"source":3,"target":20},{"source":3,"target":21},{"source":20,"target":11},{"source":20,"target":22},{"source":20,"target":3},{"source":20,"target":23},{"source":22,"target":11},{"source":21,"target":2},{"source":4,"target":0},{"source":4,"target":6},{"source":4,"target":9},{"source":4,"target":24},{"source":4,"target":25},{"source":4,"target":26},{"source":4,"target":27},{"source":24,"target":2},{"source":24,"target":28},{"source":24,"target":4},{"source":28,"target":2},{"source":25,"target":2},{"source":25,"target":29},{"source":25,"target":4},{"source":29,"target":2},{"source":26,"target":6},{"source":27,"target":9},{"source":5,"target":0},{"source":5,"target":30},{"source":30,"target":31},{"source":30,"target":5},{"source":6,"target":0},{"source":7,"target":0},{"source":7,"target":6},{"source":7,"target":9},{"source":7,"target":32},{"source":7,"target":33},{"source":7,"target":34},{"source":32,"target":10},{"source":32,"target":35},{"source":32,"target":7},{"source":35,"target":10},{"source":33,"target":6},{"source":34,"target":9},{"source":8,"target":0},{"source":8,"target":36},{"source":8,"target":37},{"source":36,"target":38},{"source":36,"target":8},{"source":37,"target":39},{"source":37,"target":8},{"source":9,"target":0},{"source":9,"target":40},{"source":40,"target":8},{"source":40,"target":41},{"source":40,"target":9},{"source":41,"target":8},{"source":10,"target":0},{"source":10,"target":42},{"source":10,"target":43},{"source":10,"target":44},{"source":42,"target":10},{"source":43,"target":10},{"source":44,"target":10},{"source":11,"target":0},{"source":11,"target":2},{"source":11,"target":23},{"source":11,"target":45},{"source":23,"target":3},{"source":23,"target":46},{"source":23,"target":11},{"source":23,"target":20},{"source":46,"target":3},{"source":45,"target":2},{"source":12,"target":0},{"source":12,"target":6},{"source":12,"target":47},{"source":12,"target":48},{"source":12,"target":49},{"source":47,"target":50},{"source":47,"target":12},{"source":48,"target":51},{"source":48,"target":12},{"source":49,"target":6}],"multigraph":true}