kernel
Dummy
java.lang.Object
java.lang.Object
commons
NamedElement
name
statements
Statement
StatementListContainer
statements
StatementContainer
statement
Condition
elseStatement
WhileLoop
Block
Jump
target
Goto
NonDeterministicBlock
ParallelBlock
order
Abort
ExceptionHandlerStatement
StatementWithException
exceptionStatements
Conditional
condition
ProcedureCall
arguments
returnSite
ExecutionOrder
l2r
l2r
r2l
r2l
interleaved
interleaved
ExpressionStatement
expression
Skip
Return
procedures
Procedure
members
parameters
callers
start
end
MainProcedure
members
start
end
expressions
Expression
getDefinedVariables
getUsedVariables
children
SubExpression
Defines
Affects
Uses
Definition
reaches
Usage
containers
KernelRoot
CompilationUnit
mainProcedure
declarations
start
end
members
Member
dataitems
DataItem
parameters
Parameter
correspondingArgument
byReference
references
ElementReference
target
ReferenceableElement
Reference
Argument
getCorrespondingParameter
<?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="kernel" nsURI="http://www.servicifi.org/gelato/language/kernel"
    nsPrefix="kernel">
  <eClassifiers xsi:type="ecore:EDataType" name="Dummy" instanceClassName="java.lang.Object"/>
  <eSubpackages name="commons" nsURI="http://www.servicifi.org/gelato/language/kernel/commons"
      nsPrefix="commons">
    <eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true">
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1"
          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    </eClassifiers>
  </eSubpackages>
  <eSubpackages name="statements" nsURI="http://www.servicifi.org/gelato/language/kernel/statements"
      nsPrefix="statements">
    <eClassifiers xsi:type="ecore:EClass" name="Statement" abstract="true" eSuperTypes="../../org.servicifi.gelato.analysis.framework/metamodel/framework.ecore#//commons/LabellableElement #//members/Member"/>
    <eClassifiers xsi:type="ecore:EClass" name="StatementListContainer" abstract="true">
      <eStructuralFeatures xsi:type="ecore:EReference" name="statements" upperBound="-1"
          eType="#//statements/Statement" containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="StatementContainer" abstract="true">
      <eStructuralFeatures xsi:type="ecore:EReference" name="statement" lowerBound="1"
          eType="#//statements/Statement" containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Condition" eSuperTypes="#//statements/Statement #//statements/StatementContainer #//statements/Conditional">
      <eStructuralFeatures xsi:type="ecore:EReference" name="elseStatement" eType="#//statements/Statement"
          containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="WhileLoop" eSuperTypes="#//statements/Statement #//statements/StatementContainer #//statements/Conditional"/>
    <eClassifiers xsi:type="ecore:EClass" name="Block" eSuperTypes="#//statements/Statement #//statements/StatementListContainer"/>
    <eClassifiers xsi:type="ecore:EClass" name="Jump" abstract="true" eSuperTypes="#//statements/Statement">
      <eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1"
          eType="ecore:EClass ../../org.servicifi.gelato.analysis.framework/metamodel/framework.ecore#//commons/LabellableElement"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Goto" eSuperTypes="#//statements/Jump"/>
    <eClassifiers xsi:type="ecore:EClass" name="NonDeterministicBlock" eSuperTypes="#//statements/Statement #//statements/StatementListContainer"/>
    <eClassifiers xsi:type="ecore:EClass" name="ParallelBlock" eSuperTypes="#//statements/Statement #//statements/StatementListContainer">
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="order" lowerBound="1"
          eType="#//statements/ExecutionOrder"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Abort" eSuperTypes="#//statements/Statement"/>
    <eClassifiers xsi:type="ecore:EClass" name="ExceptionHandlerStatement" eSuperTypes="../../org.servicifi.gelato.analysis.framework/metamodel/framework.ecore#//commons/LabellableElement #//statements/StatementContainer"/>
    <eClassifiers xsi:type="ecore:EClass" name="StatementWithException" eSuperTypes="#//statements/Statement #//statements/StatementContainer">
      <eStructuralFeatures xsi:type="ecore:EReference" name="exceptionStatements"
          lowerBound="1" upperBound="-1" eType="#//statements/ExceptionHandlerStatement"
          containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Conditional" abstract="true">
      <eStructuralFeatures xsi:type="ecore:EReference" name="condition" lowerBound="1"
          eType="#//expressions/Expression" containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ProcedureCall" eSuperTypes="#//statements/Statement ../../org.servicifi.gelato.analysis.framework/metamodel/framework.ecore#//procedures/ProcedureCall #//references/ElementReference">
      <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1"
          eType="#//references/Argument" containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="returnSite" lowerBound="1"
          eType="ecore:EClass ../../org.servicifi.gelato.analysis.framework/metamodel/framework.ecore#//procedures/ReturnSite"
          containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EEnum" name="ExecutionOrder">
      <eLiterals name="l2r"/>
      <eLiterals name="r2l" value="1"/>
      <eLiterals name="interleaved" value="2"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ExpressionStatement" eSuperTypes="#//statements/Statement">
      <eStructuralFeatures xsi:type="ecore:EReference" name="expression" lowerBound="1"
          eType="#//expressions/Expression" containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Skip" eSuperTypes="#//statements/Statement"/>
    <eClassifiers xsi:type="ecore:EClass" name="Return" eSuperTypes="#//statements/Statement"/>
  </eSubpackages>
  <eSubpackages name="procedures" nsURI="http://www.servicifi.org/gelato/language/kernel/procedures"
      nsPrefix="procedures">
    <eClassifiers xsi:type="ecore:EClass" name="Procedure" eSuperTypes="../../org.servicifi.gelato.analysis.framework/metamodel/framework.ecore#//commons/LabellableElement ../../org.servicifi.gelato.analysis.framework/metamodel/framework.ecore#//procedures/Procedure #//members/Member #//references/ReferenceableElement">
      <eStructuralFeatures xsi:type="ecore:EReference" name="members" upperBound="-1"
          eType="#//members/Member" containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
          eType="#//parameters/Parameter" containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="callers" upperBound="-1"
          eType="#//statements/ProcedureCall"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="start" lowerBound="1"
          eType="ecore:EClass ../../org.servicifi.gelato.analysis.framework/metamodel/framework.ecore#//commons/Start"
          containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="end" lowerBound="1" eType="ecore:EClass ../../org.servicifi.gelato.analysis.framework/metamodel/framework.ecore#//commons/End"
          containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="MainProcedure" eSuperTypes="../../org.servicifi.gelato.analysis.framework/metamodel/framework.ecore#//commons/LabellableElement">
      <eStructuralFeatures xsi:type="ecore:EReference" name="members" upperBound="-1"
          eType="#//members/Member" containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="start" lowerBound="1"
          eType="ecore:EClass ../../org.servicifi.gelato.analysis.framework/metamodel/framework.ecore#//commons/Start"
          containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="end" lowerBound="1" eType="ecore:EClass ../../org.servicifi.gelato.analysis.framework/metamodel/framework.ecore#//commons/End"
          containment="true"/>
    </eClassifiers>
  </eSubpackages>
  <eSubpackages name="expressions" nsURI="http://www.servicifi.org/gelato/language/kernel/expressions"
      nsPrefix="expressions">
    <eClassifiers xsi:type="ecore:EClass" name="Expression" eSuperTypes="../../org.servicifi.gelato.analysis.framework/metamodel/framework.ecore#//commons/LabellableElement">
      <eOperations name="getDefinedVariables" lowerBound="1" upperBound="-1" eType="#//dataitems/DataItem"/>
      <eOperations name="getUsedVariables" lowerBound="1" upperBound="-1" eType="#//dataitems/DataItem"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
          eType="#//expressions/SubExpression" containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="SubExpression" abstract="true" eSuperTypes="#//references/ElementReference"/>
    <eClassifiers xsi:type="ecore:EClass" name="Defines" eSuperTypes="#//expressions/Definition"/>
    <eClassifiers xsi:type="ecore:EClass" name="Affects" eSuperTypes="#//expressions/Definition"/>
    <eClassifiers xsi:type="ecore:EClass" name="Uses" eSuperTypes="#//expressions/Usage"/>
    <eClassifiers xsi:type="ecore:EClass" name="Definition" abstract="true" eSuperTypes="#//expressions/SubExpression">
      <eStructuralFeatures xsi:type="ecore:EReference" name="reaches" upperBound="-1"
          eType="#//expressions/Usage"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Usage" abstract="true" eSuperTypes="#//expressions/SubExpression"/>
  </eSubpackages>
  <eSubpackages name="containers" nsURI="http://www.servicifi.org/gelato/language/kernel/containers"
      nsPrefix="containers">
    <eClassifiers xsi:type="ecore:EClass" name="KernelRoot" abstract="true" eSuperTypes="../../org.servicifi.gelato.analysis.framework/metamodel/framework.ecore#//commons/LabellableElement"/>
    <eClassifiers xsi:type="ecore:EClass" name="CompilationUnit" eSuperTypes="#//containers/KernelRoot">
      <eStructuralFeatures xsi:type="ecore:EReference" name="mainProcedure" lowerBound="1"
          eType="#//procedures/MainProcedure" containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="declarations" upperBound="-1"
          eType="#//members/Member" containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="start" lowerBound="1"
          eType="ecore:EClass ../../org.servicifi.gelato.analysis.framework/metamodel/framework.ecore#//commons/Start"
          containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="end" lowerBound="1" eType="ecore:EClass ../../org.servicifi.gelato.analysis.framework/metamodel/framework.ecore#//commons/End"
          containment="true"/>
    </eClassifiers>
  </eSubpackages>
  <eSubpackages name="members" nsURI="http://www.servicifi.org/gelato/language/kernel/members"
      nsPrefix="members">
    <eClassifiers xsi:type="ecore:EClass" name="Member" abstract="true"/>
  </eSubpackages>
  <eSubpackages name="dataitems" nsURI="http://www.servicifi.org/gelato/language/kernel/dataitems"
      nsPrefix="dataitems">
    <eClassifiers xsi:type="ecore:EClass" name="DataItem" eSuperTypes="#//references/ReferenceableElement #//members/Member ../../org.servicifi.gelato.analysis.framework/metamodel/framework.ecore#//commons/Variable"/>
  </eSubpackages>
  <eSubpackages name="parameters" nsURI="http://www.servicifi.org/gelato/language/kernel/parameters"
      nsPrefix="parameters">
    <eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//dataitems/DataItem">
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="correspondingArgument"
          lowerBound="1" transient="true">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="#//statements/ProcedureCall"/>
          <eTypeArguments eClassifier="#//references/Argument"/>
        </eGenericType>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="byReference" lowerBound="1"
          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
    </eClassifiers>
  </eSubpackages>
  <eSubpackages name="references" nsURI="http://www.servicifi.org/gelato/language/kernel/references"
      nsPrefix="references">
    <eClassifiers xsi:type="ecore:EClass" name="ElementReference" abstract="true">
      <eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1"
          eType="#//references/ReferenceableElement"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ReferenceableElement" abstract="true"
        eSuperTypes="#//commons/NamedElement"/>
    <eClassifiers xsi:type="ecore:EClass" name="Reference" abstract="true"/>
    <eClassifiers xsi:type="ecore:EClass" name="Argument" eSuperTypes="#//references/ElementReference">
      <eOperations name="getCorrespondingParameter" lowerBound="1" eType="#//parameters/Parameter"/>
    </eClassifiers>
  </eSubpackages>
</ecore:EPackage>

{"directed":true,"nodes":[{"nsPrefix":"kernel","nsURI":"http://www.servicifi.org/gelato/language/kernel","name":"kernel","id":0,"eClass":"EPackage"},{"instanceTypeName":"java.lang.Object","defaultValue":null,"instanceClassName":"java.lang.Object","name":"Dummy","instanceClass":"java.lang.Object","id":1,"serializable":true,"eClass":"EDataType"},{"nsPrefix":"commons","nsURI":"http://www.servicifi.org/gelato/language/kernel/commons","name":"commons","id":2,"eClass":"EPackage"},{"nsPrefix":"statements","nsURI":"http://www.servicifi.org/gelato/language/kernel/statements","name":"statements","id":3,"eClass":"EPackage"},{"nsPrefix":"procedures","nsURI":"http://www.servicifi.org/gelato/language/kernel/procedures","name":"procedures","id":4,"eClass":"EPackage"},{"nsPrefix":"expressions","nsURI":"http://www.servicifi.org/gelato/language/kernel/expressions","name":"expressions","id":5,"eClass":"EPackage"},{"nsPrefix":"containers","nsURI":"http://www.servicifi.org/gelato/language/kernel/containers","name":"containers","id":6,"eClass":"EPackage"},{"nsPrefix":"members","nsURI":"http://www.servicifi.org/gelato/language/kernel/members","name":"members","id":7,"eClass":"EPackage"},{"nsPrefix":"dataitems","nsURI":"http://www.servicifi.org/gelato/language/kernel/dataitems","name":"dataitems","id":8,"eClass":"EPackage"},{"nsPrefix":"parameters","nsURI":"http://www.servicifi.org/gelato/language/kernel/parameters","name":"parameters","id":9,"eClass":"EPackage"},{"nsPrefix":"references","nsURI":"http://www.servicifi.org/gelato/language/kernel/references","name":"references","id":10,"eClass":"EPackage"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"NamedElement","instanceClass":null,"abstract":true,"id":11,"interface":false,"eClass":"EClass"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"name","changeable":true,"lowerBound":1,"iD":false,"id":12,"derived":false},{"id":13,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Statement","instanceClass":null,"abstract":true,"id":14,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"StatementListContainer","instanceClass":null,"abstract":true,"id":15,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"StatementContainer","instanceClass":null,"abstract":true,"id":16,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Condition","instanceClass":null,"abstract":false,"id":17,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"WhileLoop","instanceClass":null,"abstract":false,"id":18,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Block","instanceClass":null,"abstract":false,"id":19,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Jump","instanceClass":null,"abstract":true,"id":20,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Goto","instanceClass":null,"abstract":false,"id":21,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"NonDeterministicBlock","instanceClass":null,"abstract":false,"id":22,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ParallelBlock","instanceClass":null,"abstract":false,"id":23,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Abort","instanceClass":null,"abstract":false,"id":24,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ExceptionHandlerStatement","instanceClass":null,"abstract":false,"id":25,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"StatementWithException","instanceClass":null,"abstract":false,"id":26,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Conditional","instanceClass":null,"abstract":true,"id":27,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ProcedureCall","instanceClass":null,"abstract":false,"id":28,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"ExecutionOrder","instanceClass":null,"id":29,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ExpressionStatement","instanceClass":null,"abstract":false,"id":30,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Skip","instanceClass":null,"abstract":false,"id":31,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Return","instanceClass":null,"abstract":false,"id":32,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Member","instanceClass":null,"abstract":true,"id":33,"interface":false,"eClass":"EClass"},{"id":34,"eClass":"EGenericType"},{"id":35,"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":"statements","changeable":true,"resolveProxies":true,"lowerBound":0,"id":36,"derived":false},{"id":37,"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":"statement","changeable":true,"resolveProxies":true,"lowerBound":1,"id":38,"derived":false},{"id":39,"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":"elseStatement","changeable":true,"resolveProxies":true,"lowerBound":0,"id":40,"derived":false},{"id":41,"eClass":"EGenericType"},{"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":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"target","changeable":true,"resolveProxies":true,"lowerBound":1,"id":50,"derived":false},{"id":51,"eClass":"EGenericType"},{"id":52,"eClass":"EGenericType"},{"id":53,"eClass":"EGenericType"},{"id":54,"eClass":"EGenericType"},{"id":55,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"order","changeable":true,"lowerBound":1,"iD":false,"id":56,"derived":false},{"id":57,"eClass":"EGenericType"},{"id":58,"eClass":"EGenericType"},{"id":59,"eClass":"EGenericType"},{"id":60,"eClass":"EGenericType"},{"id":61,"eClass":"EGenericType"},{"id":62,"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":"exceptionStatements","changeable":true,"resolveProxies":true,"lowerBound":1,"id":63,"derived":false},{"id":64,"eClass":"EGenericType"},{"id":65,"eClass":"EGenericType"},{"id":66,"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":"condition","changeable":true,"resolveProxies":true,"lowerBound":1,"id":67,"derived":false},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Expression","instanceClass":null,"abstract":false,"id":68,"interface":false,"eClass":"EClass"},{"id":69,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ElementReference","instanceClass":null,"abstract":true,"id":70,"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":"arguments","changeable":true,"resolveProxies":true,"lowerBound":0,"id":71,"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":"returnSite","changeable":true,"resolveProxies":true,"lowerBound":1,"id":72,"derived":false},{"id":73,"eClass":"EGenericType"},{"id":74,"eClass":"EGenericType"},{"id":75,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Argument","instanceClass":null,"abstract":false,"id":76,"interface":false,"eClass":"EClass"},{"id":77,"eClass":"EGenericType"},{"id":78,"eClass":"EGenericType"},{"name":"l2r","id":79,"value":0,"literal":"l2r","eClass":"EEnumLiteral"},{"name":"r2l","id":80,"value":1,"literal":"r2l","eClass":"EEnumLiteral"},{"name":"interleaved","id":81,"value":2,"literal":"interleaved","eClass":"EEnumLiteral"},{"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":"expression","changeable":true,"resolveProxies":true,"lowerBound":1,"id":82,"derived":false},{"id":83,"eClass":"EGenericType"},{"id":84,"eClass":"EGenericType"},{"id":85,"eClass":"EGenericType"},{"id":86,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Procedure","instanceClass":null,"abstract":false,"id":87,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"MainProcedure","instanceClass":null,"abstract":false,"id":88,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ReferenceableElement","instanceClass":null,"abstract":true,"id":89,"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":"members","changeable":true,"resolveProxies":true,"lowerBound":0,"id":90,"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":"parameters","changeable":true,"resolveProxies":true,"lowerBound":0,"id":91,"derived":false},{"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":"callers","changeable":true,"resolveProxies":true,"lowerBound":0,"id":92,"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":"start","changeable":true,"resolveProxies":true,"lowerBound":1,"id":93,"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":"end","changeable":true,"resolveProxies":true,"lowerBound":1,"id":94,"derived":false},{"id":95,"eClass":"EGenericType"},{"id":96,"eClass":"EGenericType"},{"id":97,"eClass":"EGenericType"},{"id":98,"eClass":"EGenericType"},{"id":99,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Parameter","instanceClass":null,"abstract":false,"id":100,"interface":false,"eClass":"EClass"},{"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":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"members","changeable":true,"resolveProxies":true,"lowerBound":0,"id":105,"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":"start","changeable":true,"resolveProxies":true,"lowerBound":1,"id":106,"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":"end","changeable":true,"resolveProxies":true,"lowerBound":1,"id":107,"derived":false},{"id":108,"eClass":"EGenericType"},{"id":109,"eClass":"EGenericType"},{"id":110,"eClass":"EGenericType"},{"id":111,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SubExpression","instanceClass":null,"abstract":true,"id":112,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Defines","instanceClass":null,"abstract":false,"id":113,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Affects","instanceClass":null,"abstract":false,"id":114,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Uses","instanceClass":null,"abstract":false,"id":115,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Definition","instanceClass":null,"abstract":true,"id":116,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Usage","instanceClass":null,"abstract":true,"id":117,"interface":false,"eClass":"EClass"},{"ordered":true,"upperBound":-1,"unique":true,"name":"getDefinedVariables","lowerBound":1,"id":118,"many":true,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":-1,"unique":true,"name":"getUsedVariables","lowerBound":1,"id":119,"many":true,"required":true,"eClass":"EOperation"},{"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":"children","changeable":true,"resolveProxies":true,"lowerBound":0,"id":120,"derived":false},{"id":121,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DataItem","instanceClass":null,"abstract":false,"id":122,"interface":false,"eClass":"EClass"},{"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":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"reaches","changeable":true,"resolveProxies":true,"lowerBound":0,"id":130,"derived":false},{"id":131,"eClass":"EGenericType"},{"id":132,"eClass":"EGenericType"},{"id":133,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"KernelRoot","instanceClass":null,"abstract":true,"id":134,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CompilationUnit","instanceClass":null,"abstract":false,"id":135,"interface":false,"eClass":"EClass"},{"id":136,"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":"mainProcedure","changeable":true,"resolveProxies":true,"lowerBound":1,"id":137,"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":"declarations","changeable":true,"resolveProxies":true,"lowerBound":0,"id":138,"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":"start","changeable":true,"resolveProxies":true,"lowerBound":1,"id":139,"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":"end","changeable":true,"resolveProxies":true,"lowerBound":1,"id":140,"derived":false},{"id":141,"eClass":"EGenericType"},{"id":142,"eClass":"EGenericType"},{"id":143,"eClass":"EGenericType"},{"id":144,"eClass":"EGenericType"},{"id":145,"eClass":"EGenericType"},{"id":146,"eClass":"EGenericType"},{"id":147,"eClass":"EGenericType"},{"id":148,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":true,"unique":true,"name":"correspondingArgument","changeable":true,"lowerBound":1,"iD":false,"id":149,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"byReference","changeable":true,"lowerBound":1,"iD":false,"id":150,"derived":false},{"id":151,"eClass":"EGenericType"},{"id":152,"eClass":"EGenericType"},{"id":153,"eClass":"EGenericType"},{"id":154,"eClass":"EGenericType"},{"id":155,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Reference","instanceClass":null,"abstract":true,"id":156,"interface":false,"eClass":"EClass"},{"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":"target","changeable":true,"resolveProxies":true,"lowerBound":1,"id":157,"derived":false},{"id":158,"eClass":"EGenericType"},{"id":159,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"getCorrespondingParameter","lowerBound":1,"id":160,"many":false,"required":true,"eClass":"EOperation"},{"id":161,"eClass":"EGenericType"},{"id":162,"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":1,"target":0},{"source":2,"target":11},{"source":2,"target":0},{"source":11,"target":2},{"source":11,"target":12},{"source":12,"target":13},{"source":12,"target":11},{"source":3,"target":14},{"source":3,"target":15},{"source":3,"target":16},{"source":3,"target":17},{"source":3,"target":18},{"source":3,"target":19},{"source":3,"target":20},{"source":3,"target":21},{"source":3,"target":22},{"source":3,"target":23},{"source":3,"target":24},{"source":3,"target":25},{"source":3,"target":26},{"source":3,"target":27},{"source":3,"target":28},{"source":3,"target":29},{"source":3,"target":30},{"source":3,"target":31},{"source":3,"target":32},{"source":3,"target":0},{"source":14,"target":3},{"source":14,"target":33},{"source":14,"target":34},{"source":14,"target":35},{"source":35,"target":33},{"source":15,"target":3},{"source":15,"target":36},{"source":36,"target":14},{"source":36,"target":37},{"source":36,"target":15},{"source":37,"target":14},{"source":16,"target":3},{"source":16,"target":38},{"source":38,"target":14},{"source":38,"target":39},{"source":38,"target":16},{"source":39,"target":14},{"source":17,"target":3},{"source":17,"target":14},{"source":17,"target":16},{"source":17,"target":27},{"source":17,"target":40},{"source":17,"target":41},{"source":17,"target":42},{"source":17,"target":43},{"source":40,"target":14},{"source":40,"target":44},{"source":40,"target":17},{"source":44,"target":14},{"source":41,"target":14},{"source":42,"target":16},{"source":43,"target":27},{"source":18,"target":3},{"source":18,"target":14},{"source":18,"target":16},{"source":18,"target":27},{"source":18,"target":45},{"source":18,"target":46},{"source":18,"target":47},{"source":45,"target":14},{"source":46,"target":16},{"source":47,"target":27},{"source":19,"target":3},{"source":19,"target":14},{"source":19,"target":15},{"source":19,"target":48},{"source":19,"target":49},{"source":48,"target":14},{"source":49,"target":15},{"source":20,"target":3},{"source":20,"target":14},{"source":20,"target":50},{"source":20,"target":51},{"source":50,"target":52},{"source":50,"target":20},{"source":51,"target":14},{"source":21,"target":3},{"source":21,"target":20},{"source":21,"target":53},{"source":53,"target":20},{"source":22,"target":3},{"source":22,"target":14},{"source":22,"target":15},{"source":22,"target":54},{"source":22,"target":55},{"source":54,"target":14},{"source":55,"target":15},{"source":23,"target":3},{"source":23,"target":14},{"source":23,"target":15},{"source":23,"target":56},{"source":23,"target":57},{"source":23,"target":58},{"source":56,"target":29},{"source":56,"target":59},{"source":56,"target":23},{"source":59,"target":29},{"source":57,"target":14},{"source":58,"target":15},{"source":24,"target":3},{"source":24,"target":14},{"source":24,"target":60},{"source":60,"target":14},{"source":25,"target":3},{"source":25,"target":16},{"source":25,"target":61},{"source":25,"target":62},{"source":62,"target":16},{"source":26,"target":3},{"source":26,"target":14},{"source":26,"target":16},{"source":26,"target":63},{"source":26,"target":64},{"source":26,"target":65},{"source":63,"target":25},{"source":63,"target":66},{"source":63,"target":26},{"source":66,"target":25},{"source":64,"target":14},{"source":65,"target":16},{"source":27,"target":3},{"source":27,"target":67},{"source":67,"target":68},{"source":67,"target":69},{"source":67,"target":27},{"source":69,"target":68},{"source":28,"target":3},{"source":28,"target":14},{"source":28,"target":70},{"source":28,"target":71},{"source":28,"target":72},{"source":28,"target":73},{"source":28,"target":74},{"source":28,"target":75},{"source":71,"target":76},{"source":71,"target":77},{"source":71,"target":28},{"source":77,"target":76},{"source":72,"target":78},{"source":72,"target":28},{"source":73,"target":14},{"source":75,"target":70},{"source":29,"target":3},{"source":29,"target":79},{"source":29,"target":80},{"source":29,"target":81},{"source":79,"target":29},{"source":80,"target":29},{"source":81,"target":29},{"source":30,"target":3},{"source":30,"target":14},{"source":30,"target":82},{"source":30,"target":83},{"source":82,"target":68},{"source":82,"target":84},{"source":82,"target":30},{"source":84,"target":68},{"source":83,"target":14},{"source":31,"target":3},{"source":31,"target":14},{"source":31,"target":85},{"source":85,"target":14},{"source":32,"target":3},{"source":32,"target":14},{"source":32,"target":86},{"source":86,"target":14},{"source":4,"target":87},{"source":4,"target":88},{"source":4,"target":0},{"source":87,"target":4},{"source":87,"target":33},{"source":87,"target":89},{"source":87,"target":90},{"source":87,"target":91},{"source":87,"target":92},{"source":87,"target":93},{"source":87,"target":94},{"source":87,"target":95},{"source":87,"target":96},{"source":87,"target":97},{"source":87,"target":98},{"source":90,"target":33},{"source":90,"target":99},{"source":90,"target":87},{"source":99,"target":33},{"source":91,"target":100},{"source":91,"target":101},{"source":91,"target":87},{"source":101,"target":100},{"source":92,"target":28},{"source":92,"target":102},{"source":92,"target":87},{"source":102,"target":28},{"source":93,"target":103},{"source":93,"target":87},{"source":94,"target":104},{"source":94,"target":87},{"source":97,"target":33},{"source":98,"target":89},{"source":88,"target":4},{"source":88,"target":105},{"source":88,"target":106},{"source":88,"target":107},{"source":88,"target":108},{"source":105,"target":33},{"source":105,"target":109},{"source":105,"target":88},{"source":109,"target":33},{"source":106,"target":110},{"source":106,"target":88},{"source":107,"target":111},{"source":107,"target":88},{"source":5,"target":68},{"source":5,"target":112},{"source":5,"target":113},{"source":5,"target":114},{"source":5,"target":115},{"source":5,"target":116},{"source":5,"target":117},{"source":5,"target":0},{"source":68,"target":5},{"source":68,"target":118},{"source":68,"target":119},{"source":68,"target":120},{"source":68,"target":121},{"source":118,"target":122},{"source":118,"target":123},{"source":118,"target":68},{"source":123,"target":122},{"source":119,"target":122},{"source":119,"target":124},{"source":119,"target":68},{"source":124,"target":122},{"source":120,"target":112},{"source":120,"target":125},{"source":120,"target":68},{"source":125,"target":112},{"source":112,"target":5},{"source":112,"target":70},{"source":112,"target":126},{"source":126,"target":70},{"source":113,"target":5},{"source":113,"target":116},{"source":113,"target":127},{"source":127,"target":116},{"source":114,"target":5},{"source":114,"target":116},{"source":114,"target":128},{"source":128,"target":116},{"source":115,"target":5},{"source":115,"target":117},{"source":115,"target":129},{"source":129,"target":117},{"source":116,"target":5},{"source":116,"target":112},{"source":116,"target":130},{"source":116,"target":131},{"source":130,"target":117},{"source":130,"target":132},{"source":130,"target":116},{"source":132,"target":117},{"source":131,"target":112},{"source":117,"target":5},{"source":117,"target":112},{"source":117,"target":133},{"source":133,"target":112},{"source":6,"target":134},{"source":6,"target":135},{"source":6,"target":0},{"source":134,"target":6},{"source":134,"target":136},{"source":135,"target":6},{"source":135,"target":134},{"source":135,"target":137},{"source":135,"target":138},{"source":135,"target":139},{"source":135,"target":140},{"source":135,"target":141},{"source":137,"target":88},{"source":137,"target":142},{"source":137,"target":135},{"source":142,"target":88},{"source":138,"target":33},{"source":138,"target":143},{"source":138,"target":135},{"source":143,"target":33},{"source":139,"target":144},{"source":139,"target":135},{"source":140,"target":145},{"source":140,"target":135},{"source":141,"target":134},{"source":7,"target":33},{"source":7,"target":0},{"source":33,"target":7},{"source":8,"target":122},{"source":8,"target":0},{"source":122,"target":8},{"source":122,"target":89},{"source":122,"target":33},{"source":122,"target":146},{"source":122,"target":147},{"source":122,"target":148},{"source":146,"target":89},{"source":147,"target":33},{"source":9,"target":100},{"source":9,"target":0},{"source":100,"target":9},{"source":100,"target":122},{"source":100,"target":149},{"source":100,"target":150},{"source":100,"target":151},{"source":149,"target":152},{"source":149,"target":100},{"source":152,"target":153},{"source":152,"target":154},{"source":153,"target":28},{"source":154,"target":76},{"source":150,"target":155},{"source":150,"target":100},{"source":151,"target":122},{"source":10,"target":70},{"source":10,"target":89},{"source":10,"target":156},{"source":10,"target":76},{"source":10,"target":0},{"source":70,"target":10},{"source":70,"target":157},{"source":157,"target":89},{"source":157,"target":158},{"source":157,"target":70},{"source":158,"target":89},{"source":89,"target":10},{"source":89,"target":11},{"source":89,"target":159},{"source":159,"target":11},{"source":156,"target":10},{"source":76,"target":10},{"source":76,"target":70},{"source":76,"target":160},{"source":76,"target":161},{"source":160,"target":100},{"source":160,"target":162},{"source":160,"target":76},{"source":162,"target":100},{"source":161,"target":70}],"multigraph":true}