text: <?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="sgen" nsURI="http://www.yakindu.org/sct/statechart/SGen" nsPrefix="sgen">
    <eClassifiers xsi:type="ecore:EClass" name="GeneratorModel">
      <eStructuralFeatures xsi:type="ecore:EReference" name="entries" upperBound="-1"
          eType="#//GeneratorEntry" containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="generatorId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="properties" upperBound="-1"
          eType="ecore:EClass ../../../org.yakindu.base.types/model/types.ecore#//Property"
          containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="GeneratorConfiguration">
      <eStructuralFeatures xsi:type="ecore:EReference" name="configurations" upperBound="-1"
          eType="#//FeatureConfiguration" containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="FeatureType" eSuperTypes="../../../org.yakindu.base.types/model/base.ecore#//NamedElement #//DeprecatableElement">
      <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
          eType="#//FeatureParameter" containment="true" eOpposite="#//FeatureParameter/featureType"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="library" lowerBound="1"
          eType="#//FeatureTypeLibrary" changeable="false" volatile="true" transient="true"
          derived="true"/>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="optional" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
          defaultValueLiteral="false"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="FeatureParameter" eSuperTypes="../../../org.yakindu.base.types/model/base.ecore#//NamedElement #//DeprecatableElement">
      <eStructuralFeatures xsi:type="ecore:EReference" name="featureType" eType="#//FeatureType"
          eOpposite="#//FeatureType/parameters"/>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="optional" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
          defaultValueLiteral="false"/>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="parameterType" eType="#//ParameterTypes"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="FeatureConfiguration">
      <eOperations name="getParameterValue" eType="#//FeatureParameterValue">
        <eParameters name="parameterName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
      </eOperations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//FeatureType"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="parameterValues" upperBound="-1"
          eType="#//FeatureParameterValue" containment="true" eOpposite="#//FeatureParameterValue/featureConfiguration"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="GeneratorEntry">
      <eOperations name="getFeatureConfiguration" eType="#//FeatureConfiguration">
        <eParameters name="featureName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
      </eOperations>
      <eOperations name="getFeatureParameterValue" eType="#//FeatureParameterValue">
        <eParameters name="featureName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
        <eParameters name="paramName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
      </eOperations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="elementRef" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="features" upperBound="-1"
          eType="#//FeatureConfiguration" containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="contentType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="FeatureParameterValue">
      <eOperations name="setValue">
        <eParameters name="string" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
      </eOperations>
      <eOperations name="setValue">
        <eParameters name="boolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
      </eOperations>
      <eOperations name="getStringValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
      <eOperations name="getBooleanValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
      <eOperations name="setValue">
        <eParameters name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
      </eOperations>
      <eOperations name="getIntegerValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" eType="#//FeatureParameter"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="featureConfiguration" eType="#//FeatureConfiguration"
          changeable="false" eOpposite="#//FeatureConfiguration/parameterValues"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="ecore:EClass ../../../org.yakindu.base.types/model/types.ecore#//Expression"
          containment="true"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="FeatureTypeLibrary">
      <eStructuralFeatures xsi:type="ecore:EReference" name="types" upperBound="-1"
          eType="#//FeatureType" containment="true"/>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EEnum" name="ParameterTypes">
      <eLiterals name="STRING" value="1"/>
      <eLiterals name="FLOAT" value="2" literal="FLOAT"/>
      <eLiterals name="BOOLEAN"/>
      <eLiterals name="INTEGER" value="3"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="DeprecatableElement">
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="deprecated" lowerBound="1"
          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="comment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    </eClassifiers>
  </ecore:EPackage>
  