typedef
DocumentRoot
types
Type
name
annotations
documentation
CSIDatatype
code
nillable
Entity
features
versionuid
1
Feature
name
type
documentation
CSIDatatypeCodes
CSIInteger
CSIInteger
CSIString
CSIString
CSIFloat
CSIFloat
CSIDouble
CSIDouble
CSIBoolean
CSIBoolean
CSIDate
CSIDate
CSIByte
CSIByte
CSILong
CSILong
TypedArray
componentType
Exception
exceptionType
CSIExceptionTypes
USER
USER
SYSTEM
SYSTEM
UNRECOVERABLE
UNRECOVERABLE
TypeAnnotation
source
details
TDAnnotationDetail
key
value
PrimitiveType
typesetName
nillable
languageBindings
TypeLanguageBinding
lang
langSpecificType
langSpecificNS
defaultInitValue
nullValueLiteral
EnumVal
valueType
literals
EnumLiteral
name
value
documentation
TDDocumentation
doc
<?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="typedef" nsURI="http://www.csi.it/mddtools/typedef" nsPrefix="typedef">
  <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
    <details key="documentation" value="Questo package contiene le metaclassi necessarie per modellare i tipi&#xD;&#xA;(di base e definiti da utente) utilizzati nelle interfacce dei servizi."/>
  </eAnnotations>
  <eClassifiers xsi:type="ecore:EClass" name="DocumentRoot">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="[[ TODO - add documentation here ]]"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="types" upperBound="-1"
        eType="#//Type" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="[[ TODO - add documentation here ]]"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Type" abstract="true">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Classe astratta: rappresenta il generico tipo, sia esso un tipo base, array o complesso"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Nome mnemonico del tipo.&#xD;&#xA;Non prevede indicazioni di namespace."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="annotations" upperBound="-1"
        eType="#//TypeAnnotation" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Annotazioni associate al tipo. Le informaziopni contenute in questo campo&#xD;&#xA;sono utilizzate per ottenere particolari comportamenti in fase di &#xD;&#xA;generazione.&#xD;&#xA;Vedere la documentazione della metaclasse &lt;b>TypeAnnotation&lt;/b> per&#xD;&#xA;i dettagli sulle possibili valorizzazioni."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="documentation" eType="#//TDDocumentation"
        containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="CSIDatatype" eSuperTypes="#//Type">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Tipo base previsto dall'infrastruttura di cooperazione CSI.&#xD;&#xA;Normalmente un insieme di tipi predefiniti è incluso come risorsa nei vari&#xD;&#xA;modelli (definizione servizi, orchestrazioni, ...) e dunque in ogni insieme&#xD;&#xA;di risorse (modelli) interconnesse è opportuno che vi sia una sola istanza&#xD;&#xA;di &lt;b>CSIDatatype&lt;/b> per ogni tipo semplice previsto."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="code" eType="#//CSIDatatypeCodes">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Codice che determina il reale tipo. Vedere la documentazione della &#xD;&#xA;enumeration &lt;b>CSIDatatypeCodes&lt;/b> perl'elenco dei tipi supportati.&#xD;&#xA;&#xD;&#xA;"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="nillable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Qualificatore di tipo che defiisce se il tipo è un tipo che può assumere valore&#xD;&#xA;nullo oppure no.&#xD;&#xA;Es: &#xD;&#xA;&lt;ul>&#xD;&#xA;&lt;li> code==CSIInteger &amp; nillable == false: tipo intero non annullabile (es. java int)&#xD;&#xA;&lt;li> code==CSIInteger &amp; nillable == true: tipo intero annullabile (es. java Integer)&#xD;&#xA;&lt;/ul>"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Entity" eSuperTypes="#//Type">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Tipo complesso costituito da 1 o più &lt;b>feature&lt;/b> (campi).&#xD;&#xA;Non è prevista la possibilità di definire gerarchie.&#xD;&#xA;"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="features" upperBound="-1"
        eType="#//Feature" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Campi che costituiscono il tipo complesso. &#xD;&#xA;Ciascuna feature può essere definita con un tipo semplice, array o complesso.&#xD;&#xA;"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="versionuid" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
        defaultValueLiteral="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="campo opzionale che serve come marcatore di discontinuità dal punto&#xD;&#xA;di vista della retrocompatibilità.&#xD;&#xA;Tra due versioni differenti di uno stesso complex type la variazione&#xD;&#xA;del versionuid indica una non retrocompatibilità tra i due tipi."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Feature">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Il singolo campo di un tipo complesso."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="nome menmonico del tipo. Dovrebbe seguire le specifiche di naming delle&#xD;&#xA;proprietà javabean"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//Type">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Tipo del campo. Può essere valorizzato con:&#xD;&#xA;&lt;ul>&#xD;&#xA;&lt;li>un tipo semplice&#xD;&#xA;&lt;li>un tipo complesso&#xD;&#xA;&lt;li>un tipo array&#xD;&#xA;&lt;/ul>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="documentation" eType="#//TDDocumentation"
        containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="CSIDatatypeCodes">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="[[ TODO - add documentation here ]]"/>
    </eAnnotations>
    <eLiterals name="CSIInteger">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="mappato su int o java.lang.Integer (se nillable==true)"/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="CSIString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="mappato su java.lang.String"/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="CSIFloat">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="mappato su float o java.lang.Float (se nillable==true)"/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="CSIDouble">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="mappato su double o java.lang.Double (se nillable==true)"/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="CSIBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="mappato su boolean o java.lang.Boolean (se nillable==true)"/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="CSIDate">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="mappato su java.util.Date. Consigliato l'uso per gestire timestamp; non &#xD;&#xA;consigliato per gestire date prive di informazioni sull'ora. Usare stringhe&#xD;&#xA;formattate."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="CSIByte">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="mappato su byte o java.lang.Byte (se nillable==true). E' sconsigliata la versione nillable."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="CSILong">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="mappato su long o java.lang.Long (se nillable==true)"/>
      </eAnnotations>
    </eLiterals>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TypedArray" eSuperTypes="#//Type">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Array tipato. Può essere un array di tipi semplici (CSIDatatype) o di tipi &#xD;&#xA;user defined (Entity). Normalmente gli array di tipi semplici sono forniti in&#xD;&#xA;un file da includere come risorsa e referenziare negli altri modelli che&#xD;&#xA;ne hanno bisogno, mentre gli array di tipi user defined devono essere&#xD;&#xA;definiti localmente alla definizione del singolo servizio."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="componentType" eType="#//Type">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="indica il tipo degli elementi dell'array"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Exception" eSuperTypes="#//Type">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Tipo eccezione. E' utilizzato nelle interfacce di servizio per la&#xD;&#xA;dichiarazioen delle eccezioni previste dai vari metodi."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="exceptionType" eType="#//CSIExceptionTypes">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Tipo di eccezioni (tra le tipologie previste dall'infrastruttura di cooperazione CSI)"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="CSIExceptionTypes">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Tipi di eccezione previsti dall'infrastruttura di cooperazione CSI"/>
    </eAnnotations>
    <eLiterals name="USER">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="L'eccezione di questo tipo sono definite come sottoclassi di&#xD;&#xA;UserException"/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="SYSTEM">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="L'eccezione di questo tipo sono definite come sottoclassi di&#xD;&#xA;SystemException"/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="UNRECOVERABLE">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="L'eccezione di questo tipo sono definite come sottoclassi di&#xD;&#xA;UnrecoverableException"/>
      </eAnnotations>
    </eLiterals>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TypeAnnotation">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Annotazione di tipo. E'utilizzata dai generatori per customizzare particolari&#xD;&#xA;comportamenti (es. packaging non standard)."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="source" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Serve per discriminare la fonte dell'annotazione.&#xD;&#xA;Attualmente è prevista la source &quot;typedef&quot;."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="details" upperBound="-1"
        eType="#//TDAnnotationDetail" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Dettaglio di una annotazione. contiene il vero contenuto informativo dell'annotazione"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TDAnnotationDetail">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Dettaglio dell'annotazione.&#xD;&#xA;Al momento le annotazioni previste sono:&#xD;&#xA;&lt;ul>&#xD;&#xA;&lt;li>source=typedef&#xD;&#xA;&#x9;&lt;ul>&#xD;&#xA;&#x9;&lt;li>key=java-fqn: value=full qualified name della classe java corrispondente.&#xD;&#xA;&#x9;&#x9;Necessaria per gestire situazioni legacy o che non rispettano lo standard di naming&lt;/li>&#xD;&#xA;&#x9;&lt;/ul>&#xD;&#xA;&lt;/li>&#xD;&#xA;&lt;/ul>"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="key" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="chiave dell'annotazione"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="valore dell'annotazione"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType" eSuperTypes="#//Type">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Tipo base customizzabile. Permette di definire differenti &lt;i>Typeset&lt;/i>.&#xD;&#xA;In particolare &amp;egrave; possibile definire anche un insieme di &lt;i>language binding&lt;/i>&#xD;&#xA;che permettono di indicare il tipo &lt;i>language specific&lt;/i> a cui deve essere associato&#xD;&#xA;il tipo modellato."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="typesetName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Nome del typeset, es.: &lt;i>xsd&lt;/i>, &lt;i>CSI&lt;/i>.&#xD;&#xA;Ha scopo tipicamente mnemonico, a meno che non sia referenziato &#xD;&#xA;esplicitamente da qualche cartuccia di generazione. "/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="nillable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Se impostato a &lt;i>true&lt;/i> indica che il tipo prevede tra i valori possibili&#xD;&#xA;il valore nullo."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="languageBindings" upperBound="-1"
        eType="#//TypeLanguageBinding" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Binding del tipo nei vari linguaggi. Ciascun binding permette di definire come&#xD;&#xA;deve essere trattato il tipo nel linguaggio specifico, ovvero a quale tipo effettivo&#xD;&#xA;dovr&amp;agrave; essere associato e con che caratteristiche di dettaglio."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TypeLanguageBinding">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="lang" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="codice del linguaggio.&#xD;&#xA;&#xD;&#xA;E' un codice mnemonico eventualmente utilizzato dalle cartucce di generazione, pertanto&#xD;&#xA;non vi sono vincoli a priori sulla codifica da utilizzare."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="langSpecificType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indica il nome del tipo del linguaggio target, privo dell'eventuale namespace.&#xD;&#xA;L'unione di &lt;i>langSpecificNS&lt;/i> e &lt;i>langSpecificType&lt;/i> rappresenta il&#xD;&#xA;&lt;i>full qualified name&lt;/i> del tipo.&#xD;&#xA;&#xD;&#xA;Es, per java:&#xD;&#xA;&lt;ul>&#xD;&#xA;&lt;li>int (namespace: nessuno)&lt;/li>&#xD;&#xA;&lt;li>String (namespace: java.lang.&lt;/li>&#xD;&#xA;&lt;/ul>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="langSpecificNS" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indica il nome del namespace (pacakge) che contiene il tipo del linguaggio &#xD;&#xA;target. N.B: comprende anche un eventuale carattere separatore da anteporre al nome del tipo.&#xD;&#xA;L'unione di &lt;i>langSpecificNS&lt;/i> e &lt;i>langSpecificType&lt;/i> rappresenta il&#xD;&#xA;&lt;i>full qualified name&lt;/i> del tipo.&#xD;&#xA;&#xD;&#xA;Es, per java:&#xD;&#xA;&lt;ul>&#xD;&#xA;&lt;li>int (namespace: nessuno)&lt;/li>&#xD;&#xA;&lt;li>String (namespace: java.lang.&lt;/li>&#xD;&#xA;&lt;/ul>"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultInitValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indica il valore iniziale che deve essere impostato nel codice rleativo al&#xD;&#xA;linguaggio in oggetto, nelle dichiarazioni di variabili&#xD;&#xA;che coinvolgono il &lt;b>PrimitiveType&lt;/b>."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="nullValueLiteral" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Utilizzato in congiunzione con &lt;i>nillable==true&lt;/i> sull'elemento&#xD;&#xA;padre &lt;b>PrimitiveType&lt;/p>. &#xD;&#xA;Permette di impostare il valore nullo da utilizzare per il linguaggio in oggetto.&#xD;&#xA;Es. per java: &lt;code>nullValueLiteral=null&lt;/code> "/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="EnumVal" eSuperTypes="#//Type">
    <eStructuralFeatures xsi:type="ecore:EReference" name="valueType" eType="#//Type"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="literals" upperBound="-1"
        eType="#//EnumLiteral" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="EnumLiteral">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="documentation" eType="#//TDDocumentation"
        containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TDDocumentation">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="doc" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  </eClassifiers>
</ecore:EPackage>

{"directed":true,"nodes":[{"nsPrefix":"typedef","nsURI":"http://www.csi.it/mddtools/typedef","name":"typedef","id":0,"eClass":"EPackage"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DocumentRoot","instanceClass":null,"abstract":false,"id":1,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Type","instanceClass":null,"abstract":true,"id":2,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CSIDatatype","instanceClass":null,"abstract":false,"id":3,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Entity","instanceClass":null,"abstract":false,"id":4,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Feature","instanceClass":null,"abstract":false,"id":5,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"CSIDatatypeCodes","instanceClass":null,"id":6,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TypedArray","instanceClass":null,"abstract":false,"id":7,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Exception","instanceClass":null,"abstract":false,"id":8,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"CSIExceptionTypes","instanceClass":null,"id":9,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TypeAnnotation","instanceClass":null,"abstract":false,"id":10,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TDAnnotationDetail","instanceClass":null,"abstract":false,"id":11,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PrimitiveType","instanceClass":null,"abstract":false,"id":12,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TypeLanguageBinding","instanceClass":null,"abstract":false,"id":13,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"EnumVal","instanceClass":null,"abstract":false,"id":14,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"EnumLiteral","instanceClass":null,"abstract":false,"id":15,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TDDocumentation","instanceClass":null,"abstract":false,"id":16,"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":"types","changeable":true,"resolveProxies":true,"lowerBound":0,"id":17,"derived":false},{"id":18,"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":19,"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":"annotations","changeable":true,"resolveProxies":true,"lowerBound":0,"id":20,"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":"documentation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":21,"derived":false},{"id":22,"eClass":"EGenericType"},{"id":23,"eClass":"EGenericType"},{"id":24,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"code","changeable":true,"lowerBound":0,"iD":false,"id":25,"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":"nillable","changeable":true,"lowerBound":0,"iD":false,"id":26,"derived":false},{"id":27,"eClass":"EGenericType"},{"id":28,"eClass":"EGenericType"},{"id":29,"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":"features","changeable":true,"resolveProxies":true,"lowerBound":0,"id":30,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":1,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"1","unsettable":false,"transient":false,"unique":true,"name":"versionuid","changeable":true,"lowerBound":0,"iD":false,"id":31,"derived":false},{"id":32,"eClass":"EGenericType"},{"id":33,"eClass":"EGenericType"},{"id":34,"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":35,"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":"type","changeable":true,"resolveProxies":true,"lowerBound":0,"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":"documentation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":37,"derived":false},{"id":38,"eClass":"EGenericType"},{"id":39,"eClass":"EGenericType"},{"id":40,"eClass":"EGenericType"},{"name":"CSIInteger","id":41,"value":0,"literal":"CSIInteger","eClass":"EEnumLiteral"},{"name":"CSIString","id":42,"value":0,"literal":"CSIString","eClass":"EEnumLiteral"},{"name":"CSIFloat","id":43,"value":0,"literal":"CSIFloat","eClass":"EEnumLiteral"},{"name":"CSIDouble","id":44,"value":0,"literal":"CSIDouble","eClass":"EEnumLiteral"},{"name":"CSIBoolean","id":45,"value":0,"literal":"CSIBoolean","eClass":"EEnumLiteral"},{"name":"CSIDate","id":46,"value":0,"literal":"CSIDate","eClass":"EEnumLiteral"},{"name":"CSIByte","id":47,"value":0,"literal":"CSIByte","eClass":"EEnumLiteral"},{"name":"CSILong","id":48,"value":0,"literal":"CSILong","eClass":"EEnumLiteral"},{"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":"componentType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":49,"derived":false},{"id":50,"eClass":"EGenericType"},{"id":51,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"exceptionType","changeable":true,"lowerBound":0,"iD":false,"id":52,"derived":false},{"id":53,"eClass":"EGenericType"},{"id":54,"eClass":"EGenericType"},{"name":"USER","id":55,"value":0,"literal":"USER","eClass":"EEnumLiteral"},{"name":"SYSTEM","id":56,"value":0,"literal":"SYSTEM","eClass":"EEnumLiteral"},{"name":"UNRECOVERABLE","id":57,"value":0,"literal":"UNRECOVERABLE","eClass":"EEnumLiteral"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"source","changeable":true,"lowerBound":0,"iD":false,"id":58,"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":"details","changeable":true,"resolveProxies":true,"lowerBound":0,"id":59,"derived":false},{"id":60,"eClass":"EGenericType"},{"id":61,"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":"key","changeable":true,"lowerBound":0,"iD":false,"id":62,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"value","changeable":true,"lowerBound":0,"iD":false,"id":63,"derived":false},{"id":64,"eClass":"EGenericType"},{"id":65,"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":"typesetName","changeable":true,"lowerBound":0,"iD":false,"id":66,"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":"nillable","changeable":true,"lowerBound":0,"iD":false,"id":67,"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":"languageBindings","changeable":true,"resolveProxies":true,"lowerBound":0,"id":68,"derived":false},{"id":69,"eClass":"EGenericType"},{"id":70,"eClass":"EGenericType"},{"id":71,"eClass":"EGenericType"},{"id":72,"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":"lang","changeable":true,"lowerBound":0,"iD":false,"id":73,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"langSpecificType","changeable":true,"lowerBound":0,"iD":false,"id":74,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"langSpecificNS","changeable":true,"lowerBound":0,"iD":false,"id":75,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"defaultInitValue","changeable":true,"lowerBound":0,"iD":false,"id":76,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"nullValueLiteral","changeable":true,"lowerBound":0,"iD":false,"id":77,"derived":false},{"id":78,"eClass":"EGenericType"},{"id":79,"eClass":"EGenericType"},{"id":80,"eClass":"EGenericType"},{"id":81,"eClass":"EGenericType"},{"id":82,"eClass":"EGenericType"},{"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":"valueType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":83,"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":"literals","changeable":true,"resolveProxies":true,"lowerBound":0,"id":84,"derived":false},{"id":85,"eClass":"EGenericType"},{"id":86,"eClass":"EGenericType"},{"id":87,"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":88,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"value","changeable":true,"lowerBound":0,"iD":false,"id":89,"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":"documentation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":90,"derived":false},{"id":91,"eClass":"EGenericType"},{"id":92,"eClass":"EGenericType"},{"id":93,"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":"doc","changeable":true,"lowerBound":0,"iD":false,"id":94,"derived":false},{"id":95,"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":0,"target":13},{"source":0,"target":14},{"source":0,"target":15},{"source":0,"target":16},{"source":1,"target":0},{"source":1,"target":17},{"source":17,"target":2},{"source":17,"target":18},{"source":17,"target":1},{"source":18,"target":2},{"source":2,"target":0},{"source":2,"target":19},{"source":2,"target":20},{"source":2,"target":21},{"source":19,"target":22},{"source":19,"target":2},{"source":20,"target":10},{"source":20,"target":23},{"source":20,"target":2},{"source":23,"target":10},{"source":21,"target":16},{"source":21,"target":24},{"source":21,"target":2},{"source":24,"target":16},{"source":3,"target":0},{"source":3,"target":2},{"source":3,"target":25},{"source":3,"target":26},{"source":3,"target":27},{"source":25,"target":6},{"source":25,"target":28},{"source":25,"target":3},{"source":28,"target":6},{"source":26,"target":29},{"source":26,"target":3},{"source":27,"target":2},{"source":4,"target":0},{"source":4,"target":2},{"source":4,"target":30},{"source":4,"target":31},{"source":4,"target":32},{"source":30,"target":5},{"source":30,"target":33},{"source":30,"target":4},{"source":33,"target":5},{"source":31,"target":34},{"source":31,"target":4},{"source":32,"target":2},{"source":5,"target":0},{"source":5,"target":35},{"source":5,"target":36},{"source":5,"target":37},{"source":35,"target":38},{"source":35,"target":5},{"source":36,"target":2},{"source":36,"target":39},{"source":36,"target":5},{"source":39,"target":2},{"source":37,"target":16},{"source":37,"target":40},{"source":37,"target":5},{"source":40,"target":16},{"source":6,"target":0},{"source":6,"target":41},{"source":6,"target":42},{"source":6,"target":43},{"source":6,"target":44},{"source":6,"target":45},{"source":6,"target":46},{"source":6,"target":47},{"source":6,"target":48},{"source":41,"target":6},{"source":42,"target":6},{"source":43,"target":6},{"source":44,"target":6},{"source":45,"target":6},{"source":46,"target":6},{"source":47,"target":6},{"source":48,"target":6},{"source":7,"target":0},{"source":7,"target":2},{"source":7,"target":49},{"source":7,"target":50},{"source":49,"target":2},{"source":49,"target":51},{"source":49,"target":7},{"source":51,"target":2},{"source":50,"target":2},{"source":8,"target":0},{"source":8,"target":2},{"source":8,"target":52},{"source":8,"target":53},{"source":52,"target":9},{"source":52,"target":54},{"source":52,"target":8},{"source":54,"target":9},{"source":53,"target":2},{"source":9,"target":0},{"source":9,"target":55},{"source":9,"target":56},{"source":9,"target":57},{"source":55,"target":9},{"source":56,"target":9},{"source":57,"target":9},{"source":10,"target":0},{"source":10,"target":58},{"source":10,"target":59},{"source":58,"target":60},{"source":58,"target":10},{"source":59,"target":11},{"source":59,"target":61},{"source":59,"target":10},{"source":61,"target":11},{"source":11,"target":0},{"source":11,"target":62},{"source":11,"target":63},{"source":62,"target":64},{"source":62,"target":11},{"source":63,"target":65},{"source":63,"target":11},{"source":12,"target":0},{"source":12,"target":2},{"source":12,"target":66},{"source":12,"target":67},{"source":12,"target":68},{"source":12,"target":69},{"source":66,"target":70},{"source":66,"target":12},{"source":67,"target":71},{"source":67,"target":12},{"source":68,"target":13},{"source":68,"target":72},{"source":68,"target":12},{"source":72,"target":13},{"source":69,"target":2},{"source":13,"target":0},{"source":13,"target":73},{"source":13,"target":74},{"source":13,"target":75},{"source":13,"target":76},{"source":13,"target":77},{"source":73,"target":78},{"source":73,"target":13},{"source":74,"target":79},{"source":74,"target":13},{"source":75,"target":80},{"source":75,"target":13},{"source":76,"target":81},{"source":76,"target":13},{"source":77,"target":82},{"source":77,"target":13},{"source":14,"target":0},{"source":14,"target":2},{"source":14,"target":83},{"source":14,"target":84},{"source":14,"target":85},{"source":83,"target":2},{"source":83,"target":86},{"source":83,"target":14},{"source":86,"target":2},{"source":84,"target":15},{"source":84,"target":87},{"source":84,"target":14},{"source":87,"target":15},{"source":85,"target":2},{"source":15,"target":0},{"source":15,"target":88},{"source":15,"target":89},{"source":15,"target":90},{"source":88,"target":91},{"source":88,"target":15},{"source":89,"target":92},{"source":89,"target":15},{"source":90,"target":16},{"source":90,"target":93},{"source":90,"target":15},{"source":93,"target":16},{"source":16,"target":0},{"source":16,"target":94},{"source":94,"target":95},{"source":94,"target":16}],"multigraph":true}