<?xml version="1.0" encoding="UTF-8"?>
<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
    xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="*******************************************************************************&#xD;&#xA; Copyright (c) 2015-2023 Robert Bosch GmbH and others.&#xD;&#xA;&#xD;&#xA; This program and the accompanying materials are made&#xD;&#xA; available under the terms of the Eclipse Public License 2.0&#xD;&#xA; which is available at https://www.eclipse.org/legal/epl-2.0/&#xD;&#xA;&#xD;&#xA; SPDX-License-Identifier: EPL-2.0&#xD;&#xA;&#xD;&#xA;    Generated using Eclipse EMF&#xD;&#xA;&#xD;&#xA;*******************************************************************************"
    modelDirectory="/org.eclipse.app4mc.amalthea.model/xcore-gen" creationIcons="false"
    creationSubmenus="true" editDirectory="/org.eclipse.app4mc.amalthea.model.edit/src-gen"
    editorDirectory="/org.eclipse.app4mc.amalthea.model.editor/src-gen" modelPluginID="org.eclipse.app4mc.amalthea.model"
    runtimeJar="true" forceOverwrite="true" modelName="Amalthea" updateClasspath="false"
    rootExtendsClass="org.eclipse.app4mc.amalthea.model.emf.AmaltheaEObjectImpl" testsDirectory=""
    booleanFlagsField="eFlags" booleanFlagsReservedBits="8" importerID="org.eclipse.emf.ecore.xcore.importer"
    containmentProxies="true" complianceLevel="11.0" providerRootExtendsClass="org.eclipse.app4mc.amalthea.model.provider.AmaltheaItemProviderAdapter"
    language="en" operationReflection="true" importOrganizing="true" pluginKey=""
    decoration="Live" oSGiCompatible="true" eclipsePlatformVersion="2020-06" autoResizeProperties="true"
    autoExpandProperties="1" findAction="true" expandAllAction="true" collapseAllAction="true"
    revertAction="true">
  <genAnnotations source="http://www.eclipse.org/emf/2002/GenModel/exporter/org.eclipse.xsd.ecore.exporter">
    <genAnnotations source="selectedPackages">
      <details key="http://www.eclipse.org/emf/2002/Ecore" value="Ecore.xsd"/>
    </genAnnotations>
    <details key="directoryURI" value="."/>
  </genAnnotations>
  <genAnnotations source="http://www.eclipse.org/emf/2002/GenModel/exporter/org.eclipse.xsd.ecore.exporter.xmi">
    <genAnnotations source="selectedPackages">
      <details key="http://www.eclipse.org/emf/2002/Ecore" value="EcoreXMI.xsd"/>
    </genAnnotations>
    <details key="directoryURI" value="."/>
  </genAnnotations>
  <foreignModel>../../model/amalthea.xcore</foreignModel>
  <modelPluginVariables>org.eclipse.xtext.xbase.lib</modelPluginVariables>
  <modelPluginVariables>org.eclipse.emf.ecore.xcore.lib</modelPluginVariables>
  <genPackages prefix="Amalthea" basePackage="org.eclipse.app4mc.amalthea" disposableProviderFactory="true"
      literalsInterface="false" multipleEditorPages="false" fileExtensions="amxmi"
      ecorePackage="amalthea.ecore#/" publicationLocation="org.eclipse.app4mc.amalthea.model/model-gen/xml/amalthea.xml">
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//RelationalOperator">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//RelationalOperator/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//RelationalOperator/EQUAL"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//RelationalOperator/NOT_EQUAL"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//RelationalOperator/LESS_THAN"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//RelationalOperator/LESS_THAN_OR_EQUAL"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//RelationalOperator/GREATER_THAN"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//RelationalOperator/GREATER_THAN_OR_EQUAL"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//ParameterType">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ParameterType/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ParameterType/Integer"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ParameterType/Float"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ParameterType/Bool"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ParameterType/String"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ParameterType/Time"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//TimeUnit">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//TimeUnit/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//TimeUnit/s"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//TimeUnit/ms"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//TimeUnit/us"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//TimeUnit/ns"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//TimeUnit/ps"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//FrequencyUnit">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//FrequencyUnit/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//FrequencyUnit/Hz"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//FrequencyUnit/kHz"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//FrequencyUnit/MHz"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//FrequencyUnit/GHz"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//VoltageUnit">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//VoltageUnit/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//VoltageUnit/uV"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//VoltageUnit/mV"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//VoltageUnit/V"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//DataSizeUnit">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataSizeUnit/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataSizeUnit/bit"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataSizeUnit/kbit"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataSizeUnit/Mbit"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataSizeUnit/Gbit"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataSizeUnit/Tbit"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataSizeUnit/Kibit"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataSizeUnit/Mibit"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataSizeUnit/Gibit"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataSizeUnit/Tibit"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataSizeUnit/B"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataSizeUnit/kB"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataSizeUnit/MB"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataSizeUnit/GB"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataSizeUnit/TB"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataSizeUnit/KiB"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataSizeUnit/MiB"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataSizeUnit/GiB"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataSizeUnit/TiB"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//DataRateUnit">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataRateUnit/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataRateUnit/bitPerSecond"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataRateUnit/kbitPerSecond"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataRateUnit/MbitPerSecond"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataRateUnit/GbitPerSecond"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataRateUnit/TbitPerSecond"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataRateUnit/KibitPerSecond"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataRateUnit/MibitPerSecond"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataRateUnit/GibitPerSecond"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataRateUnit/TibitPerSecond"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataRateUnit/BPerSecond"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataRateUnit/kBPerSecond"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataRateUnit/MBPerSecond"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataRateUnit/GBPerSecond"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataRateUnit/TBPerSecond"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataRateUnit/KiBPerSecond"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataRateUnit/MiBPerSecond"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataRateUnit/GiBPerSecond"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataRateUnit/TiBPerSecond"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//SamplingType">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//SamplingType/default"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//SamplingType/BestCase"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//SamplingType/WorstCase"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//SamplingType/AverageCase"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//SamplingType/CornerCase"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//SamplingType/Uniform"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//InterfaceKind">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//InterfaceKind/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//InterfaceKind/provides"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//InterfaceKind/requires"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//InterfaceKind/provides_requires"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//RunnableOrderType">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//RunnableOrderType/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//RunnableOrderType/successor"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//RunnableOrderType/immediateSuccessorStartSequence"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//RunnableOrderType/immediateSuccessorAnySequence"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//RunnableOrderType/immediateSuccessorEndSequence"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//EventChainItemType">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//EventChainItemType/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//EventChainItemType/sequence"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//EventChainItemType/parallel"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//SynchronizationType">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//SynchronizationType/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//SynchronizationType/Stimulus"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//SynchronizationType/Response"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//MappingType">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//MappingType/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//MappingType/OneToOne"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//MappingType/Reaction"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//MappingType/UniqueReaction"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//LatencyType">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//LatencyType/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//LatencyType/Age"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//LatencyType/Reaction"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//Severity">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//Severity/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//Severity/Cosmetic"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//Severity/Minor"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//Severity/Major"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//Severity/Critical"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//LimitType">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//LimitType/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//LimitType/UpperLimit"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//LimitType/LowerLimit"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//TimeMetric">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//TimeMetric/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//TimeMetric/ActivateToActivate"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//TimeMetric/CoreExecutionTime"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//TimeMetric/EndToEnd"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//TimeMetric/EndToStart"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//TimeMetric/GrossExecutionTime"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//TimeMetric/Lateness"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//TimeMetric/MemoryAccessTime"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//TimeMetric/NetExecutionTime"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//TimeMetric/OsOverhead"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//TimeMetric/ParkingTime"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//TimeMetric/PollingTime"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//TimeMetric/ReadyTime"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//TimeMetric/ResponseTime"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//TimeMetric/RunningTime"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//TimeMetric/StartDelay"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//TimeMetric/StartToStart"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//TimeMetric/WaitingTime"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//CountMetric">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//CountMetric/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//CountMetric/Activations"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//CountMetric/BoundedMigrations"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//CountMetric/CacheHit"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//CountMetric/CacheMiss"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//CountMetric/FullMigrations"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//CountMetric/MtaLimitExceeding"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//CountMetric/Preemptions"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//PercentageMetric">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//PercentageMetric/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//PercentageMetric/CacheHitRatio"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//PercentageMetric/CacheMissRatio"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//PercentageMetric/CoreExecutionTimeRelative"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//PercentageMetric/MemoryAccessTimeRelative"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//PercentageMetric/NormalizedLateness"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//PercentageMetric/NormalizedResponseTime"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//PercentageMetric/OsOverheadRelative"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//CPUPercentageMetric">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//CPUPercentageMetric/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//CPUPercentageMetric/CPUBuffering"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//CPUPercentageMetric/CPULoad"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//CPUPercentageMetric/CPUParking"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//CPUPercentageMetric/CPUPolling"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//CPUPercentageMetric/CPUReady"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//CPUPercentageMetric/CPURunning"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//CPUPercentageMetric/CPUWaiting"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//FrequencyMetric">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//FrequencyMetric/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//FrequencyMetric/CacheHitFrequency"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//FrequencyMetric/CacheMissFrequency"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//CoherencyDirection">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//CoherencyDirection/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//CoherencyDirection/input"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//CoherencyDirection/output"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//ProcessEventType">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ProcessEventType/_all_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ProcessEventType/activate"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ProcessEventType/start"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ProcessEventType/resume"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ProcessEventType/preempt"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ProcessEventType/poll"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ProcessEventType/run"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ProcessEventType/wait"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ProcessEventType/poll_parking"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ProcessEventType/park"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ProcessEventType/release_parking"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ProcessEventType/release"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ProcessEventType/terminate"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//RunnableEventType">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//RunnableEventType/_all_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//RunnableEventType/start"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//RunnableEventType/suspend"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//RunnableEventType/resume"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//RunnableEventType/terminate"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//LabelEventType">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//LabelEventType/_all_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//LabelEventType/read"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//LabelEventType/write"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//ModeLabelEventType">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ModeLabelEventType/_all_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ModeLabelEventType/read"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ModeLabelEventType/write"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ModeLabelEventType/increment"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ModeLabelEventType/decrement"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//ChannelEventType">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ChannelEventType/_all_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ChannelEventType/send"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ChannelEventType/receive"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//SemaphoreEventType">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//SemaphoreEventType/_all_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//SemaphoreEventType/lock"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//SemaphoreEventType/unlock"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//ComponentEventType">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ComponentEventType/_all_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ComponentEventType/start"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ComponentEventType/end"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//MemoryType">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//MemoryType/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//MemoryType/DRAM"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//MemoryType/SRAM"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//MemoryType/FLASH"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//MemoryType/PCM"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//StructureType">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//StructureType/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//StructureType/System"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//StructureType/ECU"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//StructureType/Microcontroller"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//StructureType/SoC"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//StructureType/Cluster"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//StructureType/Group"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//StructureType/Array"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//StructureType/Area"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//StructureType/Region"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//CacheType">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//CacheType/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//CacheType/instruction"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//CacheType/data"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//CacheType/unified"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//PortType">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//PortType/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//PortType/initiator"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//PortType/responder"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//SchedPolicy">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//SchedPolicy/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//SchedPolicy/RoundRobin"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//SchedPolicy/FCFS"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//SchedPolicy/PriorityBased"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//WriteStrategy">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//WriteStrategy/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//WriteStrategy/none"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//WriteStrategy/writeback"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//WriteStrategy/writethrough"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//PuType">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//PuType/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//PuType/GPU"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//PuType/CPU"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//PuType/Accelerator"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//PortInterface">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//PortInterface/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//PortInterface/custom"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//PortInterface/CAN"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//PortInterface/Flexray"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//PortInterface/LIN"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//PortInterface/MOST"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//PortInterface/Ethernet"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//PortInterface/SPI"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//PortInterface/I2C"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//PortInterface/AXI"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//PortInterface/AHB"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//PortInterface/APB"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//PortInterface/SWR"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//HwFeatureType">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//HwFeatureType/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//HwFeatureType/performance"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//HwFeatureType/power"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//HwFeatureType/performance_and_power"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//MemoryAddressMappingType">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//MemoryAddressMappingType/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//MemoryAddressMappingType/none"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//MemoryAddressMappingType/address"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//MemoryAddressMappingType/offset"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//OsDataConsistencyMode">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//OsDataConsistencyMode/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//OsDataConsistencyMode/noProtection"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//OsDataConsistencyMode/automaticProtection"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//OsDataConsistencyMode/customProtection"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//OsDataConsistencyMode/handledByModelElements"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//AccessMultiplicity">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//AccessMultiplicity/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//AccessMultiplicity/singleAccess"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//AccessMultiplicity/multipleAccesses"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//DataStabilityLevel">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataStabilityLevel/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataStabilityLevel/period"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataStabilityLevel/process"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataStabilityLevel/scheduleSection"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DataStabilityLevel/runnable"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//SemaphoreType">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//SemaphoreType/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//SemaphoreType/CountingSemaphore"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//SemaphoreType/Resource"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//SemaphoreType/Spinlock"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//SemaphoreType/Mutex"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//CombinatorialCondition">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//CombinatorialCondition/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//CombinatorialCondition/requires"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//CombinatorialCondition/excludes"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//GroupingType">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//GroupingType/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//GroupingType/allOfThem"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//GroupingType/atLeastOneOfThem"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//CurveType">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//CurveType/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//CurveType/sine"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//CurveType/triangle"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//WaitEventType">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//WaitEventType/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//WaitEventType/AND"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//WaitEventType/OR"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//WaitingBehaviour">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//WaitingBehaviour/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//WaitingBehaviour/active"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//WaitingBehaviour/passive"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//ISRCategory">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ISRCategory/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ISRCategory/CATEGORY_1"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ISRCategory/CATEGORY_2"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//AccessPrecedenceType">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//AccessPrecedenceType/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//AccessPrecedenceType/defaultWR"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//AccessPrecedenceType/ignoreWR"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//AccessPrecedenceType/enforceRW"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//OrderType">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//OrderType/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//OrderType/order"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//OrderType/directOrder"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//OrderType/startSequence"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//OrderType/endSequence"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//DirectionType">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DirectionType/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DirectionType/in"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DirectionType/out"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//DirectionType/inout"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//LabelDataStability">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//LabelDataStability/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//LabelDataStability/noProtection"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//LabelDataStability/automaticProtection"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//LabelDataStability/customProtection"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//LabelDataStability/handledByModelElements"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//ModeLabelAccessEnum">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ModeLabelAccessEnum/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ModeLabelAccessEnum/read"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ModeLabelAccessEnum/set"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ModeLabelAccessEnum/increment"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ModeLabelAccessEnum/decrement"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//ReceiveOperation">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ReceiveOperation/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ReceiveOperation/FIFO_Read"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ReceiveOperation/FIFO_Take"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ReceiveOperation/LIFO_Read"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ReceiveOperation/LIFO_Take"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//LabelAccessDataStability">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//LabelAccessDataStability/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//LabelAccessDataStability/inherited"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//LabelAccessDataStability/noProtection"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//LabelAccessDataStability/automaticProtection"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//LabelAccessDataStability/customProtection"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//LabelAccessDataStability/handledByModelElements"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//LabelAccessEnum">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//LabelAccessEnum/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//LabelAccessEnum/read"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//LabelAccessEnum/write"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//LabelAccessImplementation">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//LabelAccessImplementation/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//LabelAccessImplementation/explicit"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//LabelAccessImplementation/implicit"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//LabelAccessImplementation/timed"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//SemaphoreAccessEnum">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//SemaphoreAccessEnum/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//SemaphoreAccessEnum/request"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//SemaphoreAccessEnum/exclusive"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//SemaphoreAccessEnum/release"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//BlockingType">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//BlockingType/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//BlockingType/active_wait"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//BlockingType/passive_wait"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//BlockingType/non_blocking"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//Preemption">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//Preemption/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//Preemption/preemptive"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//Preemption/cooperative"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//Preemption/non_preemptive"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//ConcurrencyType">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ConcurrencyType/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ConcurrencyType/SingleCoreSafe"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ConcurrencyType/MultiCoreSafe"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ConcurrencyType/SingleCorePrioSafe"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//ASILType">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ASILType/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ASILType/D"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ASILType/C"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ASILType/B"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ASILType/A"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ASILType/QM"/>
    </genEnums>
    <genEnums typeSafeEnumCompatible="false" ecoreEnum="amalthea.ecore#//ArithmeticOperator">
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ArithmeticOperator/_undefined_"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ArithmeticOperator/ADD"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ArithmeticOperator/SUBTRACT"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ArithmeticOperator/MULTIPLY"/>
      <genEnumLiterals ecoreEnumLiteral="amalthea.ecore#//ArithmeticOperator/MODULO"/>
    </genEnums>
    <genDataTypes ecoreDataType="amalthea.ecore#//Address" create="&lt;%java.lang.Long%> _xifexpression = null;&#xA;if ((it == null))&#xA;{&#xA;&#x9;throw new &lt;%java.lang.NumberFormatException%>(&quot;Null&quot;);&#xA;}&#xA;else&#xA;{&#xA;&#x9;&lt;%java.lang.Long%> _xifexpression_1 = null;&#xA;&#x9;if ((it.startsWith(&quot;-&quot;) || it.startsWith(&quot;+&quot;)))&#xA;&#x9;{&#xA;&#x9;&#x9;throw new &lt;%java.lang.NumberFormatException%>(&quot;Sign character&quot;);&#xA;&#x9;}&#xA;&#x9;else&#xA;&#x9;{&#xA;&#x9;&#x9;_xifexpression_1 = &lt;%java.lang.Long%>.decode(it);&#xA;&#x9;}&#xA;&#x9;_xifexpression = _xifexpression_1;&#xA;}&#xA;return (_xifexpression).longValue();"
        convert="&lt;%java.lang.String%> _hexString = &lt;%java.lang.Long%>.toHexString(it);&#xA;return (&quot;0x&quot; + _hexString);"/>
    <genDataTypes ecoreDataType="amalthea.ecore#//PositiveInt"/>
    <genDataTypes ecoreDataType="amalthea.ecore#//PositiveLong"/>
    <genDataTypes ecoreDataType="amalthea.ecore#//PositiveDouble"/>
    <genDataTypes ecoreDataType="amalthea.ecore#//NonNegativeInt"/>
    <genDataTypes ecoreDataType="amalthea.ecore#//NonNegativeLong"/>
    <genDataTypes ecoreDataType="amalthea.ecore#//NonNegativeDouble"/>
    <genClasses ecoreClass="amalthea.ecore#//Amalthea">
      <genFeatures property="Readonly" createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Amalthea/version"
          get="return &quot;3.1.0&quot;;"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//Amalthea/commonElements"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//Amalthea/swModel"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//Amalthea/hwModel"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//Amalthea/osModel"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//Amalthea/stimuliModel"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//Amalthea/eventModel"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//Amalthea/constraintsModel"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//Amalthea/propertyConstraintsModel"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//Amalthea/mappingModel"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//Amalthea/componentsModel"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//Amalthea/configModel"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//CommonElements">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//CommonElements/tags"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//CommonElements/namespaces"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//CommonElements/coreClassifiers"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//CommonElements/memoryClassifiers"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//BaseObject"/>
    <genClasses image="false" ecoreClass="amalthea.ecore#//ReferableObject"/>
    <genClasses image="false" ecoreClass="amalthea.ecore#//ReferableBaseObject"/>
    <genClasses image="false" ecoreClass="amalthea.ecore#//IAnnotatable">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//IAnnotatable/customProperties"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//ITaggable">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ITaggable/tags"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//INamed">
      <genFeatures createChild="false" propertyCategory="Basic" ecoreFeature="ecore:EAttribute amalthea.ecore#//INamed/name"/>
      <genFeatures property="Readonly" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EAttribute amalthea.ecore#//INamed/qualifiedName" get="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaExtensions%>.toPlainString(this.getQualifiedNameSegments(), this.getDefaultNameSeparator());"/>
      <genOperations ecoreOperation="amalthea.ecore#//INamed/getNamedContainer" body="&lt;%org.eclipse.app4mc.amalthea.model.INamed%> _xifexpression = null;&#xA;&lt;%org.eclipse.emf.ecore.EObject%> _eContainer = this.eContainer();&#xA;if ((_eContainer instanceof &lt;%org.eclipse.app4mc.amalthea.model.INamed%>))&#xA;{&#xA;&#x9;&lt;%org.eclipse.emf.ecore.EObject%> _eContainer_1 = this.eContainer();&#xA;&#x9;_xifexpression = ((&lt;%org.eclipse.app4mc.amalthea.model.INamed%>) _eContainer_1);&#xA;}&#xA;else&#xA;{&#xA;&#x9;_xifexpression = null;&#xA;}&#xA;return _xifexpression;"/>
      <genOperations ecoreOperation="amalthea.ecore#//INamed/getNamePrefix" body="&lt;%java.lang.String%> _xifexpression = null;&#xA;&lt;%org.eclipse.app4mc.amalthea.model.Namespace%> _namespace = this.getNamespace();&#xA;boolean _tripleEquals = (_namespace == null);&#xA;if (_tripleEquals)&#xA;{&#xA;&#x9;return &quot;&quot;;&#xA;}&#xA;else&#xA;{&#xA;&#x9;_xifexpression = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaExtensions%>.toPlainString(this.getNamePrefixSegments(), this.getDefaultNameSeparator());&#xA;}&#xA;return _xifexpression;"/>
      <genOperations ecoreOperation="amalthea.ecore#//INamed/getQualifiedNameSegments"
          body="final &lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%java.lang.String%>> segments = this.getNamePrefixSegments();&#xA;&lt;%java.lang.String%> _name = this.getName();&#xA;boolean _tripleNotEquals = (_name != null);&#xA;if (_tripleNotEquals)&#xA;{&#xA;&#x9;segments.add(this.getName());&#xA;}&#xA;return segments;"/>
      <genOperations ecoreOperation="amalthea.ecore#//INamed/getDefaultNameSeparator"
          body="return &quot;.&quot;;"/>
      <genOperations ecoreOperation="amalthea.ecore#//INamed/getNamespace" body="return null;"/>
      <genOperations ecoreOperation="amalthea.ecore#//INamed/getNamePrefixSegments"
          body="&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%java.lang.String%>> _elvis = null;&#xA;&lt;%org.eclipse.app4mc.amalthea.model.Namespace%> _namespace = this.getNamespace();&#xA;&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%java.lang.String%>> _qualifiedNameSegments = null;&#xA;if (_namespace!=null)&#xA;{&#xA;&#x9;_qualifiedNameSegments=_namespace.getQualifiedNameSegments();&#xA;}&#xA;if (_qualifiedNameSegments != null)&#xA;{&#xA;&#x9;_elvis = _qualifiedNameSegments;&#xA;} else&#xA;{&#xA;&#x9;&lt;%org.eclipse.emf.common.util.BasicEList%>&lt;&lt;%java.lang.String%>> _newBasicEList = &lt;%org.eclipse.emf.ecore.xcore.lib.XcoreCollectionLiterals%>.&lt;&lt;%java.lang.String%>>newBasicEList();&#xA;&#x9;_elvis = _newBasicEList;&#xA;}&#xA;return _elvis;"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//IReferable">
      <genFeatures property="Readonly" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EAttribute amalthea.ecore#//IReferable/uniqueName" get="&lt;%java.lang.String%> _encodedQualifiedName = this.getEncodedQualifiedName();&#xA;&lt;%java.lang.String%> _plus = (_encodedQualifiedName + &quot;?type=&quot;);&#xA;&lt;%java.lang.String%> _name = this.eClass().getName();&#xA;return (_plus + _name);">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
      <genOperations ecoreOperation="amalthea.ecore#//IReferable/getEncodedQualifiedName"
          body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaExtensions%>.toEncodedString(this.getQualifiedNameSegments());"/>
      <genOperations ecoreOperation="amalthea.ecore#//IReferable/validateInvariants"
          body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaValidations%>.validateInvariants(this, diagnostics);">
        <genParameters ecoreParameter="amalthea.ecore#//IReferable/validateInvariants/diagnostics"/>
        <genParameters ecoreParameter="amalthea.ecore#//IReferable/validateInvariants/context"/>
      </genOperations>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//IDisplayName">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//IDisplayName/displayName"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//IDescription">
      <genFeatures createChild="false" propertyMultiLine="true" ecoreFeature="ecore:EAttribute amalthea.ecore#//IDescription/description"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//INamespaceMember">
      <genFeatures createChild="false" propertyCategory="Basic" propertySortChoices="true"
          ecoreFeature="ecore:EReference amalthea.ecore#//INamespaceMember/namespace"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//Tag">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Tag/tagType"/>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//Tag/taggedObjects" get="&lt;%org.eclipse.emf.ecore.EReference%> _iTaggable_Tags = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getITaggable_Tags();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.ITaggable%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getTag_TaggedObjects(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_iTaggable_Tags)));">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//Namespace">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//Namespace/nextSegments"/>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//Namespace/previousSegment"/>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//Namespace/memberObjects"
          get="&lt;%org.eclipse.emf.ecore.EReference%> _iNamespaceMember_Namespace = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getINamespaceMember_Namespace();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.INamespaceMember%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getNamespace_MemberObjects(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_iNamespaceMember_Namespace)));">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
      <genOperations ecoreOperation="amalthea.ecore#//Namespace/getNamePrefixSegments"
          body="&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%java.lang.String%>> _elvis = null;&#xA;&lt;%org.eclipse.app4mc.amalthea.model.Namespace%> _previousSegment = this.getPreviousSegment();&#xA;&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%java.lang.String%>> _qualifiedNameSegments = null;&#xA;if (_previousSegment!=null)&#xA;{&#xA;&#x9;_qualifiedNameSegments=_previousSegment.getQualifiedNameSegments();&#xA;}&#xA;if (_qualifiedNameSegments != null)&#xA;{&#xA;&#x9;_elvis = _qualifiedNameSegments;&#xA;} else&#xA;{&#xA;&#x9;&lt;%org.eclipse.emf.common.util.BasicEList%>&lt;&lt;%java.lang.String%>> _newBasicEList = &lt;%org.eclipse.emf.ecore.xcore.lib.XcoreCollectionLiterals%>.&lt;&lt;%java.lang.String%>>newBasicEList();&#xA;&#x9;_elvis = _newBasicEList;&#xA;}&#xA;return _elvis;"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//Classifier"/>
    <genClasses ecoreClass="amalthea.ecore#//CoreClassifier"/>
    <genClasses ecoreClass="amalthea.ecore#//MemoryClassifier"/>
    <genClasses ecoreClass="amalthea.ecore#//TransmissionPolicy">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//TransmissionPolicy/chunkSize"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//TransmissionPolicy/chunkProcessingTicks"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//TransmissionPolicy/transmitRatio"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//Quantity"/>
    <genClasses image="false" ecoreClass="amalthea.ecore#//TimeComparable"/>
    <genClasses ecoreClass="amalthea.ecore#//Time">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Time/value"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Time/unit"/>
      <genOperations ecoreOperation="amalthea.ecore#//Time/toString" body="&lt;%java.math.BigInteger%> _value = this.getValue();&#xA;&lt;%java.lang.String%> _plus = (_value + &quot; &quot;);&#xA;&lt;%java.lang.String%> _xifexpression = null;&#xA;&lt;%org.eclipse.app4mc.amalthea.model.TimeUnit%> _unit = this.getUnit();&#xA;boolean _equals = &lt;%com.google.common.base.Objects%>.equal(_unit, &lt;%org.eclipse.app4mc.amalthea.model.TimeUnit%>._UNDEFINED_);&#xA;if (_equals)&#xA;{&#xA;&#x9;_xifexpression = &quot;&lt;unit>&quot;;&#xA;}&#xA;else&#xA;{&#xA;&#x9;_xifexpression = this.getUnit().getLiteral();&#xA;}&#xA;return (_plus + _xifexpression);"/>
      <genOperations ecoreOperation="amalthea.ecore#//Time/compareTo" body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices%>.compareTimes(this, t);">
        <genParameters ecoreParameter="amalthea.ecore#//Time/compareTo/t"/>
      </genOperations>
      <genOperations ecoreOperation="amalthea.ecore#//Time/adjustUnit" body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices%>.adjustTimeUnit(this);"/>
      <genOperations ecoreOperation="amalthea.ecore#//Time/add" body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices%>.addTime(this, t);">
        <genParameters ecoreParameter="amalthea.ecore#//Time/add/t"/>
      </genOperations>
      <genOperations ecoreOperation="amalthea.ecore#//Time/subtract" body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices%>.subtractTime(this, t);">
        <genParameters ecoreParameter="amalthea.ecore#//Time/subtract/t"/>
      </genOperations>
      <genOperations ecoreOperation="amalthea.ecore#//Time/multiply" body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices%>.multiply(this, v);">
        <genParameters ecoreParameter="amalthea.ecore#//Time/multiply/v"/>
      </genOperations>
      <genOperations ecoreOperation="amalthea.ecore#//Time/multiply.1" body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices%>.multiply(this, v);">
        <genParameters ecoreParameter="amalthea.ecore#//Time/multiply.1/v"/>
      </genOperations>
      <genOperations ecoreOperation="amalthea.ecore#//Time/divide" body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices%>.divideTime(this, t);">
        <genParameters ecoreParameter="amalthea.ecore#//Time/divide/t"/>
      </genOperations>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//Frequency">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Frequency/value"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Frequency/unit"/>
      <genOperations ecoreOperation="amalthea.ecore#//Frequency/toString" body="double _value = this.getValue();&#xA;&lt;%java.lang.String%> _plus = (&lt;%java.lang.Double%>.valueOf(_value) + &quot; &quot;);&#xA;&lt;%java.lang.String%> _xifexpression = null;&#xA;&lt;%org.eclipse.app4mc.amalthea.model.FrequencyUnit%> _unit = this.getUnit();&#xA;boolean _equals = &lt;%com.google.common.base.Objects%>.equal(_unit, &lt;%org.eclipse.app4mc.amalthea.model.FrequencyUnit%>._UNDEFINED_);&#xA;if (_equals)&#xA;{&#xA;&#x9;_xifexpression = &quot;&lt;unit>&quot;;&#xA;}&#xA;else&#xA;{&#xA;&#x9;_xifexpression = this.getUnit().getLiteral();&#xA;}&#xA;return (_plus + _xifexpression);"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//Voltage">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Voltage/value"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Voltage/unit"/>
      <genOperations ecoreOperation="amalthea.ecore#//Voltage/toString" body="double _value = this.getValue();&#xA;&lt;%java.lang.String%> _plus = (&lt;%java.lang.Double%>.valueOf(_value) + &quot; &quot;);&#xA;&lt;%java.lang.String%> _xifexpression = null;&#xA;&lt;%org.eclipse.app4mc.amalthea.model.VoltageUnit%> _unit = this.getUnit();&#xA;boolean _equals = &lt;%com.google.common.base.Objects%>.equal(_unit, &lt;%org.eclipse.app4mc.amalthea.model.VoltageUnit%>._UNDEFINED_);&#xA;if (_equals)&#xA;{&#xA;&#x9;_xifexpression = &quot;&lt;unit>&quot;;&#xA;}&#xA;else&#xA;{&#xA;&#x9;_xifexpression = this.getUnit().getLiteral();&#xA;}&#xA;return (_plus + _xifexpression);"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//DataSize">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//DataSize/value"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//DataSize/unit"/>
      <genOperations ecoreOperation="amalthea.ecore#//DataSize/toString" body="&lt;%java.math.BigInteger%> _value = this.getValue();&#xA;&lt;%java.lang.String%> _plus = (_value + &quot; &quot;);&#xA;&lt;%java.lang.String%> _xifexpression = null;&#xA;&lt;%org.eclipse.app4mc.amalthea.model.DataSizeUnit%> _unit = this.getUnit();&#xA;boolean _equals = &lt;%com.google.common.base.Objects%>.equal(_unit, &lt;%org.eclipse.app4mc.amalthea.model.DataSizeUnit%>._UNDEFINED_);&#xA;if (_equals)&#xA;{&#xA;&#x9;_xifexpression = &quot;&lt;unit>&quot;;&#xA;}&#xA;else&#xA;{&#xA;&#x9;_xifexpression = this.getUnit().getLiteral();&#xA;}&#xA;return (_plus + _xifexpression);"/>
      <genOperations ecoreOperation="amalthea.ecore#//DataSize/getNumberBits" body="long _xblockexpression = (long) 0;&#xA;{&#xA;&#x9;&lt;%org.eclipse.app4mc.amalthea.model.DataSizeUnit%> _unit = this.getUnit();&#xA;&#x9;boolean _tripleEquals = (_unit == &lt;%org.eclipse.app4mc.amalthea.model.DataSizeUnit%>.BIT);&#xA;&#x9;if (_tripleEquals)&#xA;&#x9;{&#xA;&#x9;&#x9;return this.getValue().longValue();&#xA;&#x9;}&#xA;&#x9;final &lt;%java.math.BigInteger%> bits = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices%>.convertToBit(this);&#xA;&#x9;long _xifexpression = (long) 0;&#xA;&#x9;if ((bits == null))&#xA;&#x9;{&#xA;&#x9;&#x9;_xifexpression = (-1L);&#xA;&#x9;}&#xA;&#x9;else&#xA;&#x9;{&#xA;&#x9;&#x9;_xifexpression = bits.longValue();&#xA;&#x9;}&#xA;&#x9;_xblockexpression = _xifexpression;&#xA;}&#xA;return _xblockexpression;"/>
      <genOperations ecoreOperation="amalthea.ecore#//DataSize/getNumberBytes" body="long _xblockexpression = (long) 0;&#xA;{&#xA;&#x9;&lt;%org.eclipse.app4mc.amalthea.model.DataSizeUnit%> _unit = this.getUnit();&#xA;&#x9;boolean _tripleEquals = (_unit == &lt;%org.eclipse.app4mc.amalthea.model.DataSizeUnit%>.B);&#xA;&#x9;if (_tripleEquals)&#xA;&#x9;{&#xA;&#x9;&#x9;return this.getValue().longValue();&#xA;&#x9;}&#xA;&#x9;final &lt;%java.math.BigInteger%> bits = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices%>.convertToBit(this);&#xA;&#x9;long _xifexpression = (long) 0;&#xA;&#x9;if ((bits == null))&#xA;&#x9;{&#xA;&#x9;&#x9;_xifexpression = (-1L);&#xA;&#x9;}&#xA;&#x9;else&#xA;&#x9;{&#xA;&#x9;&#x9;long _longValue = bits.longValue();&#xA;&#x9;&#x9;long _divide = (_longValue / 8);&#xA;&#x9;&#x9;_xifexpression = &lt;%java.lang.Double%>.valueOf(&lt;%java.lang.Math%>.ceil(_divide)).longValue();&#xA;&#x9;}&#xA;&#x9;_xblockexpression = _xifexpression;&#xA;}&#xA;return _xblockexpression;"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//DataRateComparable"/>
    <genClasses ecoreClass="amalthea.ecore#//DataRate">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//DataRate/value"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//DataRate/unit"/>
      <genOperations ecoreOperation="amalthea.ecore#//DataRate/toString" body="&lt;%java.math.BigInteger%> _value = this.getValue();&#xA;&lt;%java.lang.String%> _plus = (_value + &quot; &quot;);&#xA;&lt;%java.lang.String%> _xifexpression = null;&#xA;&lt;%org.eclipse.app4mc.amalthea.model.DataRateUnit%> _unit = this.getUnit();&#xA;boolean _equals = &lt;%com.google.common.base.Objects%>.equal(_unit, &lt;%org.eclipse.app4mc.amalthea.model.DataRateUnit%>._UNDEFINED_);&#xA;if (_equals)&#xA;{&#xA;&#x9;_xifexpression = &quot;&lt;unit>&quot;;&#xA;}&#xA;else&#xA;{&#xA;&#x9;_xifexpression = this.getUnit().getLiteral().replace(&quot;PerSecond&quot;, &quot;/s&quot;);&#xA;}&#xA;return (_plus + _xifexpression);"/>
      <genOperations ecoreOperation="amalthea.ecore#//DataRate/compareTo" body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices%>.compareDataRates(this, rate);">
        <genParameters ecoreParameter="amalthea.ecore#//DataRate/compareTo/rate"/>
      </genOperations>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//CustomProperty">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//CustomProperty/key"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//CustomProperty/value"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//Value"/>
    <genClasses ecoreClass="amalthea.ecore#//ListObject">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ListObject/values"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//MapObject">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//MapObject/entries"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//StringObject">
      <genFeatures createChild="false" propertyMultiLine="true" ecoreFeature="ecore:EAttribute amalthea.ecore#//StringObject/value"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//BigIntegerObject">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//BigIntegerObject/value"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ReferenceObject">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ReferenceObject/value"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//IntegerObject">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//IntegerObject/value"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//LongObject">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//LongObject/value"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//FloatObject">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//FloatObject/value"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//DoubleObject">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//DoubleObject/value"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//BooleanObject">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//BooleanObject/value"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//NumericStatistic"/>
    <genClasses ecoreClass="amalthea.ecore#//MinAvgMaxStatistic">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//MinAvgMaxStatistic/min"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//MinAvgMaxStatistic/avg"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//MinAvgMaxStatistic/max"/>
      <genOperations ecoreOperation="amalthea.ecore#//MinAvgMaxStatistic/validateInvariants"
          body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaValidations%>.validateInvariants(this, diagnostics);">
        <genParameters ecoreParameter="amalthea.ecore#//MinAvgMaxStatistic/validateInvariants/diagnostics"/>
        <genParameters ecoreParameter="amalthea.ecore#//MinAvgMaxStatistic/validateInvariants/context"/>
      </genOperations>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//SingleValueStatistic">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//SingleValueStatistic/value"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//ITimeDeviation">
      <genOperations ecoreOperation="amalthea.ecore#//ITimeDeviation/getLowerBound"/>
      <genOperations ecoreOperation="amalthea.ecore#//ITimeDeviation/getUpperBound"/>
      <genOperations ecoreOperation="amalthea.ecore#//ITimeDeviation/getAverage"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//TimeInterval">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//TimeInterval/lowerBound"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//TimeInterval/upperBound"/>
      <genOperations ecoreOperation="amalthea.ecore#//TimeInterval/getAverage" body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getAverage(this.getLowerBound(), this.getUpperBound());"/>
      <genOperations ecoreOperation="amalthea.ecore#//TimeInterval/validateInvariants"
          body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaValidations%>.validateInvariants(this, diagnostics);">
        <genParameters ecoreParameter="amalthea.ecore#//TimeInterval/validateInvariants/diagnostics"/>
        <genParameters ecoreParameter="amalthea.ecore#//TimeInterval/validateInvariants/context"/>
      </genOperations>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//TimeConstant">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//TimeConstant/value"/>
      <genOperations ecoreOperation="amalthea.ecore#//TimeConstant/getLowerBound"
          body="return this.getValue();"/>
      <genOperations ecoreOperation="amalthea.ecore#//TimeConstant/getUpperBound"
          body="return this.getValue();"/>
      <genOperations ecoreOperation="amalthea.ecore#//TimeConstant/getAverage" body="return this.getValue();"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//TimeHistogram">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//TimeHistogram/entries"/>
      <genOperations ecoreOperation="amalthea.ecore#//TimeHistogram/getLowerBound"
          body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getLowerBound_Time(this.getEntries());"/>
      <genOperations ecoreOperation="amalthea.ecore#//TimeHistogram/getUpperBound"
          body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getUpperBound_Time(this.getEntries());"/>
      <genOperations ecoreOperation="amalthea.ecore#//TimeHistogram/getAverage" body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getAverage_Time(this.getEntries());"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//TimeHistogramEntry">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//TimeHistogramEntry/occurrences"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//BoundedTimeDistribution"/>
    <genClasses image="false" ecoreClass="amalthea.ecore#//TruncatedTimeDistribution">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//TruncatedTimeDistribution/lowerBound"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//TruncatedTimeDistribution/upperBound"/>
      <genOperations ecoreOperation="amalthea.ecore#//TruncatedTimeDistribution/validateInvariants"
          body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaValidations%>.validateInvariants(this, diagnostics);">
        <genParameters ecoreParameter="amalthea.ecore#//TruncatedTimeDistribution/validateInvariants/diagnostics"/>
        <genParameters ecoreParameter="amalthea.ecore#//TruncatedTimeDistribution/validateInvariants/context"/>
      </genOperations>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//TimeBoundaries">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//TimeBoundaries/samplingType"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//TimeStatistics">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//TimeStatistics/average"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//TimeUniformDistribution"/>
    <genClasses ecoreClass="amalthea.ecore#//TimeGaussDistribution">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//TimeGaussDistribution/mean"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//TimeGaussDistribution/sd"/>
      <genOperations ecoreOperation="amalthea.ecore#//TimeGaussDistribution/getAverage"
          body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getAverageOfTruncatedNormalDistribution(this.getLowerBound(), this.getUpperBound(), this.getMean(), this.getSd());"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//TimeWeibullEstimatorsDistribution">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//TimeWeibullEstimatorsDistribution/average"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//TimeWeibullEstimatorsDistribution/pRemainPromille"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//TimeBetaDistribution">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//TimeBetaDistribution/alpha"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//TimeBetaDistribution/beta"/>
      <genOperations ecoreOperation="amalthea.ecore#//TimeBetaDistribution/getAverage"
          body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getAverageOfBetaDistribution(this.getLowerBound(), this.getUpperBound(), &lt;%java.lang.Double%>.valueOf(this.getAlpha()), &lt;%java.lang.Double%>.valueOf(this.getBeta()));"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//IDiscreteValueDeviation">
      <genOperations ecoreOperation="amalthea.ecore#//IDiscreteValueDeviation/getLowerBound"/>
      <genOperations ecoreOperation="amalthea.ecore#//IDiscreteValueDeviation/getUpperBound"/>
      <genOperations ecoreOperation="amalthea.ecore#//IDiscreteValueDeviation/getAverage"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//DiscreteValueInterval">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//DiscreteValueInterval/lowerBound"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//DiscreteValueInterval/upperBound"/>
      <genOperations ecoreOperation="amalthea.ecore#//DiscreteValueInterval/getAverage"
          body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getAverage(this.getLowerBound(), this.getUpperBound());"/>
      <genOperations ecoreOperation="amalthea.ecore#//DiscreteValueInterval/validateInvariants"
          body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaValidations%>.validateInvariants(this, diagnostics);">
        <genParameters ecoreParameter="amalthea.ecore#//DiscreteValueInterval/validateInvariants/diagnostics"/>
        <genParameters ecoreParameter="amalthea.ecore#//DiscreteValueInterval/validateInvariants/context"/>
      </genOperations>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//DiscreteValueConstant">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//DiscreteValueConstant/value"/>
      <genOperations ecoreOperation="amalthea.ecore#//DiscreteValueConstant/getLowerBound"
          body="return &lt;%java.lang.Long%>.valueOf(this.getValue());"/>
      <genOperations ecoreOperation="amalthea.ecore#//DiscreteValueConstant/getUpperBound"
          body="return &lt;%java.lang.Long%>.valueOf(this.getValue());"/>
      <genOperations ecoreOperation="amalthea.ecore#//DiscreteValueConstant/getAverage"
          body="return &lt;%java.lang.Double%>.valueOf(&lt;%java.lang.Long%>.valueOf(this.getValue()).doubleValue());"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//DiscreteValueHistogram">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//DiscreteValueHistogram/entries"/>
      <genOperations ecoreOperation="amalthea.ecore#//DiscreteValueHistogram/getLowerBound"
          body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getLowerBound_DV(this.getEntries());"/>
      <genOperations ecoreOperation="amalthea.ecore#//DiscreteValueHistogram/getUpperBound"
          body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getUpperBound_DV(this.getEntries());"/>
      <genOperations ecoreOperation="amalthea.ecore#//DiscreteValueHistogram/getAverage"
          body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getAverage_DV(this.getEntries());"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//DiscreteValueHistogramEntry">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//DiscreteValueHistogramEntry/occurrences"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//BoundedDiscreteValueDistribution"/>
    <genClasses image="false" ecoreClass="amalthea.ecore#//TruncatedDiscreteValueDistribution">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//TruncatedDiscreteValueDistribution/lowerBound"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//TruncatedDiscreteValueDistribution/upperBound"/>
      <genOperations ecoreOperation="amalthea.ecore#//TruncatedDiscreteValueDistribution/validateInvariants"
          body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaValidations%>.validateInvariants(this, diagnostics);">
        <genParameters ecoreParameter="amalthea.ecore#//TruncatedDiscreteValueDistribution/validateInvariants/diagnostics"/>
        <genParameters ecoreParameter="amalthea.ecore#//TruncatedDiscreteValueDistribution/validateInvariants/context"/>
      </genOperations>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//DiscreteValueBoundaries">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//DiscreteValueBoundaries/samplingType"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//DiscreteValueStatistics">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//DiscreteValueStatistics/average"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//DiscreteValueUniformDistribution"/>
    <genClasses ecoreClass="amalthea.ecore#//DiscreteValueGaussDistribution">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//DiscreteValueGaussDistribution/mean"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//DiscreteValueGaussDistribution/sd"/>
      <genOperations ecoreOperation="amalthea.ecore#//DiscreteValueGaussDistribution/getAverage"
          body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getAverageOfTruncatedNormalDistribution(this.getLowerBound(), this.getUpperBound(), &lt;%java.lang.Double%>.valueOf(this.getMean()), &lt;%java.lang.Double%>.valueOf(this.getSd()));"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//DiscreteValueWeibullEstimatorsDistribution">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//DiscreteValueWeibullEstimatorsDistribution/average"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//DiscreteValueWeibullEstimatorsDistribution/pRemainPromille"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//DiscreteValueBetaDistribution">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//DiscreteValueBetaDistribution/alpha"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//DiscreteValueBetaDistribution/beta"/>
      <genOperations ecoreOperation="amalthea.ecore#//DiscreteValueBetaDistribution/getAverage"
          body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getAverageOfBetaDistribution(this.getLowerBound(), this.getUpperBound(), &lt;%java.lang.Double%>.valueOf(this.getAlpha()), &lt;%java.lang.Double%>.valueOf(this.getBeta()));"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//IContinuousValueDeviation">
      <genOperations ecoreOperation="amalthea.ecore#//IContinuousValueDeviation/getLowerBound"/>
      <genOperations ecoreOperation="amalthea.ecore#//IContinuousValueDeviation/getUpperBound"/>
      <genOperations ecoreOperation="amalthea.ecore#//IContinuousValueDeviation/getAverage"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//ContinuousValueInterval">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ContinuousValueInterval/lowerBound"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ContinuousValueInterval/upperBound"/>
      <genOperations ecoreOperation="amalthea.ecore#//ContinuousValueInterval/getAverage"
          body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getAverage(this.getLowerBound(), this.getUpperBound());"/>
      <genOperations ecoreOperation="amalthea.ecore#//ContinuousValueInterval/validateInvariants"
          body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaValidations%>.validateInvariants(this, diagnostics);">
        <genParameters ecoreParameter="amalthea.ecore#//ContinuousValueInterval/validateInvariants/diagnostics"/>
        <genParameters ecoreParameter="amalthea.ecore#//ContinuousValueInterval/validateInvariants/context"/>
      </genOperations>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ContinuousValueConstant">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ContinuousValueConstant/value"/>
      <genOperations ecoreOperation="amalthea.ecore#//ContinuousValueConstant/getLowerBound"
          body="return &lt;%java.lang.Double%>.valueOf(this.getValue());"/>
      <genOperations ecoreOperation="amalthea.ecore#//ContinuousValueConstant/getUpperBound"
          body="return &lt;%java.lang.Double%>.valueOf(this.getValue());"/>
      <genOperations ecoreOperation="amalthea.ecore#//ContinuousValueConstant/getAverage"
          body="return &lt;%java.lang.Double%>.valueOf(this.getValue());"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ContinuousValueHistogram">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ContinuousValueHistogram/entries"/>
      <genOperations ecoreOperation="amalthea.ecore#//ContinuousValueHistogram/getLowerBound"
          body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getLowerBound_CV(this.getEntries());"/>
      <genOperations ecoreOperation="amalthea.ecore#//ContinuousValueHistogram/getUpperBound"
          body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getUpperBound_CV(this.getEntries());"/>
      <genOperations ecoreOperation="amalthea.ecore#//ContinuousValueHistogram/getAverage"
          body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getAverage_CV(this.getEntries());"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ContinuousValueHistogramEntry">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ContinuousValueHistogramEntry/occurrences"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//BoundedContinuousValueDistribution"/>
    <genClasses image="false" ecoreClass="amalthea.ecore#//TruncatedContinuousValueDistribution">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//TruncatedContinuousValueDistribution/lowerBound"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//TruncatedContinuousValueDistribution/upperBound"/>
      <genOperations ecoreOperation="amalthea.ecore#//TruncatedContinuousValueDistribution/validateInvariants"
          body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaValidations%>.validateInvariants(this, diagnostics);">
        <genParameters ecoreParameter="amalthea.ecore#//TruncatedContinuousValueDistribution/validateInvariants/diagnostics"/>
        <genParameters ecoreParameter="amalthea.ecore#//TruncatedContinuousValueDistribution/validateInvariants/context"/>
      </genOperations>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ContinuousValueBoundaries">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ContinuousValueBoundaries/samplingType"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ContinuousValueStatistics">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ContinuousValueStatistics/average"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ContinuousValueUniformDistribution"/>
    <genClasses ecoreClass="amalthea.ecore#//ContinuousValueGaussDistribution">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ContinuousValueGaussDistribution/mean"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ContinuousValueGaussDistribution/sd"/>
      <genOperations ecoreOperation="amalthea.ecore#//ContinuousValueGaussDistribution/getAverage"
          body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getAverageOfTruncatedNormalDistribution(this.getLowerBound(), this.getUpperBound(), &lt;%java.lang.Double%>.valueOf(this.getMean()), &lt;%java.lang.Double%>.valueOf(this.getSd()));"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ContinuousValueWeibullEstimatorsDistribution">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ContinuousValueWeibullEstimatorsDistribution/average"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ContinuousValueWeibullEstimatorsDistribution/pRemainPromille"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ContinuousValueBetaDistribution">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ContinuousValueBetaDistribution/alpha"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ContinuousValueBetaDistribution/beta"/>
      <genOperations ecoreOperation="amalthea.ecore#//ContinuousValueBetaDistribution/getAverage"
          body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getAverageOfBetaDistribution(this.getLowerBound(), this.getUpperBound(), &lt;%java.lang.Double%>.valueOf(this.getAlpha()), &lt;%java.lang.Double%>.valueOf(this.getBeta()));"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//Mode"/>
    <genClasses ecoreClass="amalthea.ecore#//NumericMode"/>
    <genClasses ecoreClass="amalthea.ecore#//EnumMode">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//EnumMode/literals"/>
      <genOperations ecoreOperation="amalthea.ecore#//EnumMode/getLiteral" body="final &lt;%org.eclipse.xtext.xbase.lib.Functions.Function1%>&lt;&lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%>, &lt;%java.lang.Boolean%>> _function = new &lt;%org.eclipse.xtext.xbase.lib.Functions.Function1%>&lt;&lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%>, &lt;%java.lang.Boolean%>>()&#xA;{&#xA;&#x9;public &lt;%java.lang.Boolean%> apply(final &lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%> it)&#xA;&#x9;{&#xA;&#x9;&#x9;&lt;%java.lang.String%> _name = it.getName();&#xA;&#x9;&#x9;return &lt;%java.lang.Boolean%>.valueOf(&lt;%com.google.common.base.Objects%>.equal(_name, literal));&#xA;&#x9;}&#xA;};&#xA;return &lt;%org.eclipse.xtext.xbase.lib.IterableExtensions%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%>>findFirst(this.getLiterals(), _function);">
        <genParameters ecoreParameter="amalthea.ecore#//EnumMode/getLiteral/literal"/>
      </genOperations>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ModeLiteral">
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//ModeLiteral/containingMode"/>
      <genOperations ecoreOperation="amalthea.ecore#//ModeLiteral/getNamePrefixSegments"
          body="&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%java.lang.String%>> _elvis = null;&#xA;&lt;%org.eclipse.app4mc.amalthea.model.EnumMode%> _containingMode = this.getContainingMode();&#xA;&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%java.lang.String%>> _qualifiedNameSegments = null;&#xA;if (_containingMode!=null)&#xA;{&#xA;&#x9;_qualifiedNameSegments=_containingMode.getQualifiedNameSegments();&#xA;}&#xA;if (_qualifiedNameSegments != null)&#xA;{&#xA;&#x9;_elvis = _qualifiedNameSegments;&#xA;} else&#xA;{&#xA;&#x9;&lt;%org.eclipse.emf.common.util.BasicEList%>&lt;&lt;%java.lang.String%>> _newBasicEList = &lt;%org.eclipse.emf.ecore.xcore.lib.XcoreCollectionLiterals%>.&lt;&lt;%java.lang.String%>>newBasicEList();&#xA;&#x9;_elvis = _newBasicEList;&#xA;}&#xA;return _elvis;"/>
      <genOperations ecoreOperation="amalthea.ecore#//ModeLiteral/toString" body="&lt;%java.lang.String%> _xifexpression = null;&#xA;boolean _isNullOrEmpty = &lt;%org.eclipse.xtext.xbase.lib.StringExtensions%>.isNullOrEmpty(this.getName());&#xA;if (_isNullOrEmpty)&#xA;{&#xA;&#x9;_xifexpression = &quot;&lt;literal>&quot;;&#xA;}&#xA;else&#xA;{&#xA;&#x9;_xifexpression = this.getName();&#xA;}&#xA;return _xifexpression;"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ComponentsModel">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ComponentsModel/structures"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ComponentsModel/systems"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//IComponentContainer">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//IComponentContainer/components"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//IInterfaceContainer">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//IInterfaceContainer/interfaces"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//ISystem">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ISystem/componentInstances"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ISystem/connectors"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ISystem/groundedPorts"/>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//ISystem/innerPorts" get="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices%>.getInnerPorts(this);">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//ComponentInterface">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ComponentInterface/dataType"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ComponentInterface/subInterfaces"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//MainInterface" labelFeature="#//model/INamed/qualifiedName">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//MainInterface/version"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//SubInterface" labelFeature="#//model/INamed/qualifiedName">
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//SubInterface/containingInterface"/>
      <genOperations ecoreOperation="amalthea.ecore#//SubInterface/getNamePrefixSegments"
          body="&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%java.lang.String%>> _elvis = null;&#xA;&lt;%org.eclipse.app4mc.amalthea.model.ComponentInterface%> _containingInterface = this.getContainingInterface();&#xA;&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%java.lang.String%>> _qualifiedNameSegments = null;&#xA;if (_containingInterface!=null)&#xA;{&#xA;&#x9;_qualifiedNameSegments=_containingInterface.getQualifiedNameSegments();&#xA;}&#xA;if (_qualifiedNameSegments != null)&#xA;{&#xA;&#x9;_elvis = _qualifiedNameSegments;&#xA;} else&#xA;{&#xA;&#x9;&lt;%org.eclipse.emf.common.util.BasicEList%>&lt;&lt;%java.lang.String%>> _newBasicEList = &lt;%org.eclipse.emf.ecore.xcore.lib.XcoreCollectionLiterals%>.&lt;&lt;%java.lang.String%>>newBasicEList();&#xA;&#x9;_elvis = _newBasicEList;&#xA;}&#xA;return _elvis;"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ComponentPort">
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//ComponentPort/containingComponent"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ComponentPort/kind"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ComponentPort/interface"/>
      <genOperations ecoreOperation="amalthea.ecore#//ComponentPort/getNamePrefixSegments"
          body="&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%java.lang.String%>> _elvis = null;&#xA;&lt;%org.eclipse.app4mc.amalthea.model.Component%> _containingComponent = this.getContainingComponent();&#xA;&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%java.lang.String%>> _qualifiedNameSegments = null;&#xA;if (_containingComponent!=null)&#xA;{&#xA;&#x9;_qualifiedNameSegments=_containingComponent.getQualifiedNameSegments();&#xA;}&#xA;if (_qualifiedNameSegments != null)&#xA;{&#xA;&#x9;_elvis = _qualifiedNameSegments;&#xA;} else&#xA;{&#xA;&#x9;&lt;%org.eclipse.emf.common.util.BasicEList%>&lt;&lt;%java.lang.String%>> _newBasicEList = &lt;%org.eclipse.emf.ecore.xcore.lib.XcoreCollectionLiterals%>.&lt;&lt;%java.lang.String%>>newBasicEList();&#xA;&#x9;_elvis = _newBasicEList;&#xA;}&#xA;return _elvis;"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ComponentStructure" labelFeature="#//model/INamed/qualifiedName">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ComponentStructure/structureType"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ComponentStructure/subStructures"/>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//ComponentStructure/memberObjects"
          get="&lt;%org.eclipse.emf.ecore.EReference%> _iComponentStructureMember_Structure = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getIComponentStructureMember_Structure();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.IComponentStructureMember%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getComponentStructure_MemberObjects(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_iComponentStructureMember_Structure)));">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
      <genOperations ecoreOperation="amalthea.ecore#//ComponentStructure/getContainingStructure"
          body="&lt;%org.eclipse.app4mc.amalthea.model.ComponentStructure%> _xifexpression = null;&#xA;&lt;%org.eclipse.emf.ecore.EObject%> _eContainer = this.eContainer();&#xA;if ((_eContainer instanceof &lt;%org.eclipse.app4mc.amalthea.model.ComponentStructure%>))&#xA;{&#xA;&#x9;&lt;%org.eclipse.emf.ecore.EObject%> _eContainer_1 = this.eContainer();&#xA;&#x9;_xifexpression = ((&lt;%org.eclipse.app4mc.amalthea.model.ComponentStructure%>) _eContainer_1);&#xA;}&#xA;else&#xA;{&#xA;&#x9;_xifexpression = null;&#xA;}&#xA;return _xifexpression;"/>
      <genOperations ecoreOperation="amalthea.ecore#//ComponentStructure/getDefaultNameSeparator"
          body="return &quot;::&quot;;"/>
      <genOperations ecoreOperation="amalthea.ecore#//ComponentStructure/getNamePrefixSegments"
          body="&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%java.lang.String%>> _elvis = null;&#xA;&lt;%org.eclipse.app4mc.amalthea.model.ComponentStructure%> _containingStructure = this.getContainingStructure();&#xA;&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%java.lang.String%>> _qualifiedNameSegments = null;&#xA;if (_containingStructure!=null)&#xA;{&#xA;&#x9;_qualifiedNameSegments=_containingStructure.getQualifiedNameSegments();&#xA;}&#xA;if (_qualifiedNameSegments != null)&#xA;{&#xA;&#x9;_elvis = _qualifiedNameSegments;&#xA;} else&#xA;{&#xA;&#x9;&lt;%org.eclipse.emf.common.util.BasicEList%>&lt;&lt;%java.lang.String%>> _newBasicEList = &lt;%org.eclipse.emf.ecore.xcore.lib.XcoreCollectionLiterals%>.&lt;&lt;%java.lang.String%>>newBasicEList();&#xA;&#x9;_elvis = _newBasicEList;&#xA;}&#xA;return _elvis;"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//IComponentStructureMember">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//IComponentStructureMember/structure"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//Component" labelFeature="#//model/INamed/qualifiedName">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//Component/ports"/>
      <genFeatures notify="false" createChild="false" propertyCategory="Included SW Elements"
          propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//Component/processes"/>
      <genFeatures notify="false" createChild="false" propertyCategory="Included SW Elements"
          propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//Component/runnables"/>
      <genFeatures notify="false" createChild="false" propertyCategory="Included SW Elements"
          propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//Component/labels"/>
      <genFeatures notify="false" createChild="false" propertyCategory="Included SW Elements"
          propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//Component/semaphores"/>
      <genFeatures notify="false" createChild="false" propertyCategory="Included SW Elements"
          propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//Component/osEvents"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//Composite"/>
    <genClasses ecoreClass="amalthea.ecore#//System"/>
    <genClasses ecoreClass="amalthea.ecore#//ComponentInstance">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ComponentInstance/containingSystem"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ComponentInstance/type"/>
      <genOperations ecoreOperation="amalthea.ecore#//ComponentInstance/getNamePrefixSegments"
          body="&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%java.lang.String%>> _elvis = null;&#xA;&lt;%org.eclipse.app4mc.amalthea.model.INamed%> _namedContainer = this.getNamedContainer();&#xA;&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%java.lang.String%>> _qualifiedNameSegments = null;&#xA;if (_namedContainer!=null)&#xA;{&#xA;&#x9;_qualifiedNameSegments=_namedContainer.getQualifiedNameSegments();&#xA;}&#xA;if (_qualifiedNameSegments != null)&#xA;{&#xA;&#x9;_elvis = _qualifiedNameSegments;&#xA;} else&#xA;{&#xA;&#x9;&lt;%org.eclipse.emf.common.util.BasicEList%>&lt;&lt;%java.lang.String%>> _newBasicEList = &lt;%org.eclipse.emf.ecore.xcore.lib.XcoreCollectionLiterals%>.&lt;&lt;%java.lang.String%>>newBasicEList();&#xA;&#x9;_elvis = _newBasicEList;&#xA;}&#xA;return _elvis;"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//Connector">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//Connector/containingSystem"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//Connector/sourcePort"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//Connector/targetPort"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//Connector/implementedInterfaces"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//InterfaceChannel">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//InterfaceChannel/key"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//InterfaceChannel/value"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//QualifiedPort">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//QualifiedPort/instance"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//QualifiedPort/port"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ConfigModel">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ConfigModel/eventsToTrace"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//EventConfig">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//EventConfig/event"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ConstraintsModel">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ConstraintsModel/eventChains"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ConstraintsModel/timingConstraints"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ConstraintsModel/affinityConstraints"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ConstraintsModel/runnableSequencingConstraints"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ConstraintsModel/dataAgeConstraints"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ConstraintsModel/requirements"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ConstraintsModel/dataCoherencyGroups"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ConstraintsModel/dataStabilityGroups"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ConstraintsModel/physicalSectionConstraints"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//RunnableSequencingConstraint">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//RunnableSequencingConstraint/orderType"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//RunnableSequencingConstraint/runnableGroups"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//RunnableSequencingConstraint/processScope"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//AffinityConstraint"/>
    <genClasses image="false" ecoreClass="amalthea.ecore#//SeparationConstraint"/>
    <genClasses image="false" ecoreClass="amalthea.ecore#//PairingConstraint"/>
    <genClasses image="false" ecoreClass="amalthea.ecore#//ProcessConstraint">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ProcessConstraint/target"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//RunnableConstraint">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//RunnableConstraint/target"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//DataConstraint">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//DataConstraint/target"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//RunnableSeparationConstraint">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//RunnableSeparationConstraint/groups"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ProcessSeparationConstraint">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ProcessSeparationConstraint/groups"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//DataSeparationConstraint">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//DataSeparationConstraint/groups"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//RunnablePairingConstraint">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//RunnablePairingConstraint/group"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ProcessPairingConstraint">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ProcessPairingConstraint/group"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//DataPairingConstraint">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//DataPairingConstraint/group"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//RunnableConstraintTarget"/>
    <genClasses image="false" ecoreClass="amalthea.ecore#//ProcessConstraintTarget"/>
    <genClasses image="false" ecoreClass="amalthea.ecore#//DataConstraintTarget"/>
    <genClasses ecoreClass="amalthea.ecore#//TargetMemory">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//TargetMemory/memories"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//TargetCore">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//TargetCore/cores"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//TargetScheduler">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//TargetScheduler/schedulers"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//LabelGroup"/>
    <genClasses image="false" ecoreClass="amalthea.ecore#//RunnableGroup"/>
    <genClasses image="false" ecoreClass="amalthea.ecore#//ProcessGroup"/>
    <genClasses ecoreClass="amalthea.ecore#//LabelEntityGroup">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//LabelEntityGroup/labels"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//RunnableEntityGroup">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//RunnableEntityGroup/runnables"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ProcessEntityGroup">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ProcessEntityGroup/processes"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//TagGroup">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//TagGroup/tag"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//AbstractEventChain">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//AbstractEventChain/stimulus"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//AbstractEventChain/response"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//AbstractEventChain/items"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//AbstractEventChain/itemType"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//AbstractEventChain/minItemsCompleted"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//EventChain"/>
    <genClasses ecoreClass="amalthea.ecore#//SubEventChain"/>
    <genClasses image="false" ecoreClass="amalthea.ecore#//EventChainItem">
      <genOperations ecoreOperation="amalthea.ecore#//EventChainItem/getEventChain"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//EventChainReference">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//EventChainReference/eventChain"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//EventChainContainer">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//EventChainContainer/eventChain"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//TimingConstraint"/>
    <genClasses ecoreClass="amalthea.ecore#//PhysicalSectionConstraint">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//PhysicalSectionConstraint/section"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//PhysicalSectionConstraint/memories"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//SynchronizationConstraint">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//SynchronizationConstraint/multipleOccurrencesAllowed"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//SynchronizationConstraint/tolerance"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//EventSynchronizationConstraint">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//EventSynchronizationConstraint/events"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//EventChainSynchronizationConstraint">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//EventChainSynchronizationConstraint/scope"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//EventChainSynchronizationConstraint/type"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//DelayConstraint">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//DelayConstraint/mappingType"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//DelayConstraint/source"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//DelayConstraint/target"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//DelayConstraint/upper"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//DelayConstraint/lower"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//EventChainLatencyConstraint">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//EventChainLatencyConstraint/scope"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//EventChainLatencyConstraint/type"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//EventChainLatencyConstraint/minimum"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//EventChainLatencyConstraint/maximum"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//RepetitionConstraint">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//RepetitionConstraint/event"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//RepetitionConstraint/span"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//RepetitionConstraint/lower"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//RepetitionConstraint/upper"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//RepetitionConstraint/jitter"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//RepetitionConstraint/period"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//DataAgeConstraint">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//DataAgeConstraint/runnable"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//DataAgeConstraint/label"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//DataAgeConstraint/dataAge"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//DataAge"/>
    <genClasses ecoreClass="amalthea.ecore#//DataAgeCycle">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//DataAgeCycle/minimumCycle"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//DataAgeCycle/maximumCycle"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//DataAgeTime">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//DataAgeTime/minimumTime"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//DataAgeTime/maximumTime"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//Requirement">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Requirement/severity"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//Requirement/limit"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ProcessRequirement">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ProcessRequirement/process"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//RunnableRequirement">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//RunnableRequirement/runnable"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ArchitectureRequirement">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ArchitectureRequirement/component"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ProcessChainRequirement">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ProcessChainRequirement/processChain"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//RequirementLimit">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//RequirementLimit/limitType"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//CPUPercentageRequirementLimit">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//CPUPercentageRequirementLimit/metric"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//CPUPercentageRequirementLimit/limitValue"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//CPUPercentageRequirementLimit/hardwareContext"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//FrequencyRequirementLimit">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//FrequencyRequirementLimit/metric"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//FrequencyRequirementLimit/limitValue"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//PercentageRequirementLimit">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//PercentageRequirementLimit/metric"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//PercentageRequirementLimit/limitValue"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//CountRequirementLimit">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//CountRequirementLimit/metric"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//CountRequirementLimit/limitValue"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//TimeRequirementLimit">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//TimeRequirementLimit/metric"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//TimeRequirementLimit/limitValue"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//DataCoherencyGroup">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//DataCoherencyGroup/labels"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//DataCoherencyGroup/scope"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//DataCoherencyGroup/direction"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//DataStabilityGroup">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//DataStabilityGroup/labels"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//DataStabilityGroup/scope"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//DataGroupScope"/>
    <genClasses ecoreClass="amalthea.ecore#//ProcessScope">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ProcessScope/process"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//RunnableScope">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//RunnableScope/runnable"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ComponentScope">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ComponentScope/component"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//EventModel">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//EventModel/events"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//Event"/>
    <genClasses ecoreClass="amalthea.ecore#//EventSet">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//EventSet/events"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//EntityEvent"/>
    <genClasses image="false" ecoreClass="amalthea.ecore#//TriggerEvent"/>
    <genClasses ecoreClass="amalthea.ecore#//CustomEvent">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//CustomEvent/eventType"/>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//CustomEvent/explicitTriggers"
          get="&lt;%org.eclipse.emf.ecore.EReference%> _customEventTrigger_Event = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getCustomEventTrigger_Event();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.CustomEventTrigger%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getCustomEvent_ExplicitTriggers(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_customEventTrigger_Event)));">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//StimulusEvent">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//StimulusEvent/entity"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ProcessEvent">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ProcessEvent/eventType"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ProcessEvent/entity"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ProcessEvent/processingUnit"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ProcessChainEvent">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ProcessChainEvent/eventType"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ProcessChainEvent/entity"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ProcessChainEvent/processingUnit"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//RunnableEvent">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//RunnableEvent/eventType"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//RunnableEvent/entity"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//RunnableEvent/process"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//RunnableEvent/processingUnit"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//LabelEvent">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//LabelEvent/eventType"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//LabelEvent/entity"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//LabelEvent/runnable"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//LabelEvent/process"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ModeLabelEvent">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ModeLabelEvent/eventType"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ModeLabelEvent/entity"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ModeLabelEvent/runnable"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ModeLabelEvent/process"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ChannelEvent">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ChannelEvent/eventType"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ChannelEvent/entity"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ChannelEvent/runnable"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ChannelEvent/process"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//SemaphoreEvent">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//SemaphoreEvent/eventType"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//SemaphoreEvent/entity"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//SemaphoreEvent/runnable"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//SemaphoreEvent/process"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//SemaphoreEvent/processingUnit"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ComponentEvent">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ComponentEvent/eventType"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ComponentEvent/entity"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//HWModel">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//HWModel/definitions"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//HWModel/featureCategories"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//HWModel/structures"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//HWModel/domains"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//HwStructure">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//HwStructure/structureType"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//HwStructure/ports"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//HwStructure/structures"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//HwStructure/modules"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//HwStructure/connections"/>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//HwStructure/innerPorts"
          get="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices%>.getInnerPorts(this);">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//HwModule">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//HwModule/ports"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//HwModule/powerDomain"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//HwModule/frequencyDomain"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//HwDomain"/>
    <genClasses ecoreClass="amalthea.ecore#//FrequencyDomain">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//FrequencyDomain/defaultValue"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//FrequencyDomain/clockGating"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//PowerDomain">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//PowerDomain/defaultValue"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//PowerDomain/powerGating"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ProcessingUnit">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ProcessingUnit/definition"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ProcessingUnit/accessElements"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ProcessingUnit/caches"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//Memory">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//Memory/definition"/>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//Memory/mappings" get="&lt;%org.eclipse.emf.ecore.EReference%> _memoryMapping_Memory = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getMemoryMapping_Memory();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.MemoryMapping%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getMemory_Mappings(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_memoryMapping_Memory)));">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//Cache">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//Cache/definition"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//HwFeatureCategory">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//HwFeatureCategory/featureType"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//HwFeatureCategory/features"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//HwFeature">
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//HwFeature/containingCategory"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//HwFeature/value"/>
      <genOperations ecoreOperation="amalthea.ecore#//HwFeature/getNamePrefixSegments"
          body="&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%java.lang.String%>> _elvis = null;&#xA;&lt;%org.eclipse.app4mc.amalthea.model.HwFeatureCategory%> _containingCategory = this.getContainingCategory();&#xA;&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%java.lang.String%>> _qualifiedNameSegments = null;&#xA;if (_containingCategory!=null)&#xA;{&#xA;&#x9;_qualifiedNameSegments=_containingCategory.getQualifiedNameSegments();&#xA;}&#xA;if (_qualifiedNameSegments != null)&#xA;{&#xA;&#x9;_elvis = _qualifiedNameSegments;&#xA;} else&#xA;{&#xA;&#x9;&lt;%org.eclipse.emf.common.util.BasicEList%>&lt;&lt;%java.lang.String%>> _newBasicEList = &lt;%org.eclipse.emf.ecore.xcore.lib.XcoreCollectionLiterals%>.&lt;&lt;%java.lang.String%>>newBasicEList();&#xA;&#x9;_elvis = _newBasicEList;&#xA;}&#xA;return _elvis;"/>
      <genOperations ecoreOperation="amalthea.ecore#//HwFeature/toString" body="&lt;%org.eclipse.app4mc.amalthea.model.HwFeatureCategory%> _containingCategory = this.getContainingCategory();&#xA;&lt;%java.lang.String%> _name = null;&#xA;if (_containingCategory!=null)&#xA;{&#xA;&#x9;_name=_containingCategory.getName();&#xA;}&#xA;final &lt;%java.lang.String%> featureName = _name;&#xA;&lt;%java.lang.String%> _xifexpression = null;&#xA;boolean _isNullOrEmpty = &lt;%org.eclipse.xtext.xbase.lib.StringExtensions%>.isNullOrEmpty(featureName);&#xA;if (_isNullOrEmpty)&#xA;{&#xA;&#x9;_xifexpression = &quot;&lt;category>&quot;;&#xA;}&#xA;else&#xA;{&#xA;&#x9;_xifexpression = featureName;&#xA;}&#xA;&lt;%java.lang.String%> _plus = (_xifexpression + &quot;::&quot;);&#xA;&lt;%java.lang.String%> _xifexpression_1 = null;&#xA;boolean _isNullOrEmpty_1 = &lt;%org.eclipse.xtext.xbase.lib.StringExtensions%>.isNullOrEmpty(this.getName());&#xA;if (_isNullOrEmpty_1)&#xA;{&#xA;&#x9;_xifexpression_1 = &quot;&lt;feature>&quot;;&#xA;}&#xA;else&#xA;{&#xA;&#x9;_xifexpression_1 = this.getName();&#xA;}&#xA;return (_plus + _xifexpression_1);"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//HwPort">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//HwPort/bitWidth"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//HwPort/priority"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//HwPort/portType"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//HwPort/portInterface"/>
      <genFeatures property="Readonly" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EAttribute amalthea.ecore#//HwPort/delegated" get="&lt;%org.eclipse.emf.ecore.EObject%> _eContainer = this.eContainer();&#xA;return (_eContainer instanceof &lt;%org.eclipse.app4mc.amalthea.model.HwStructure%>);"/>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//HwPort/connections" get="&lt;%org.eclipse.emf.ecore.EReference%> _hwConnection_Port1 = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getHwConnection_Port1();&#xA;&lt;%org.eclipse.emf.ecore.EReference%> _hwConnection_Port2 = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getHwConnection_Port2();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.HwConnection%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getHwPort_Connections(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_hwConnection_Port1, _hwConnection_Port2)));">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
      <genOperations ecoreOperation="amalthea.ecore#//HwPort/getNamePrefixSegments"
          body="&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%java.lang.String%>> _elvis = null;&#xA;&lt;%org.eclipse.app4mc.amalthea.model.INamed%> _namedContainer = this.getNamedContainer();&#xA;&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%java.lang.String%>> _qualifiedNameSegments = null;&#xA;if (_namedContainer!=null)&#xA;{&#xA;&#x9;_qualifiedNameSegments=_namedContainer.getQualifiedNameSegments();&#xA;}&#xA;if (_qualifiedNameSegments != null)&#xA;{&#xA;&#x9;_elvis = _qualifiedNameSegments;&#xA;} else&#xA;{&#xA;&#x9;&lt;%org.eclipse.emf.common.util.BasicEList%>&lt;&lt;%java.lang.String%>> _newBasicEList = &lt;%org.eclipse.emf.ecore.xcore.lib.XcoreCollectionLiterals%>.&lt;&lt;%java.lang.String%>>newBasicEList();&#xA;&#x9;_elvis = _newBasicEList;&#xA;}&#xA;return _elvis;"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ConnectionHandler">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ConnectionHandler/definition"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ConnectionHandler/internalConnections"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//HwConnection">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//HwConnection/readLatency"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//HwConnection/writeLatency"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//HwConnection/dataRate"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//HwConnection/port1"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//HwConnection/port2"/>
      <genFeatures property="Readonly" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EAttribute amalthea.ecore#//HwConnection/internal" get="&lt;%org.eclipse.emf.ecore.EObject%> _eContainer = this.eContainer();&#xA;return (_eContainer instanceof &lt;%org.eclipse.app4mc.amalthea.model.ConnectionHandler%>);"/>
      <genOperations ecoreOperation="amalthea.ecore#//HwConnection/getNamePrefixSegments"
          body="&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%java.lang.String%>> _elvis = null;&#xA;&lt;%org.eclipse.app4mc.amalthea.model.INamed%> _namedContainer = this.getNamedContainer();&#xA;&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%java.lang.String%>> _qualifiedNameSegments = null;&#xA;if (_namedContainer!=null)&#xA;{&#xA;&#x9;_qualifiedNameSegments=_namedContainer.getQualifiedNameSegments();&#xA;}&#xA;if (_qualifiedNameSegments != null)&#xA;{&#xA;&#x9;_elvis = _qualifiedNameSegments;&#xA;} else&#xA;{&#xA;&#x9;&lt;%org.eclipse.emf.common.util.BasicEList%>&lt;&lt;%java.lang.String%>> _newBasicEList = &lt;%org.eclipse.emf.ecore.xcore.lib.XcoreCollectionLiterals%>.&lt;&lt;%java.lang.String%>>newBasicEList();&#xA;&#x9;_elvis = _newBasicEList;&#xA;}&#xA;return _elvis;"/>
      <genOperations ecoreOperation="amalthea.ecore#//HwConnection/getPorts" body="return &lt;%org.eclipse.emf.common.util.ECollections%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.HwPort%>>unmodifiableEList(&lt;%org.eclipse.emf.common.util.ECollections%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.HwPort%>>toEList(&lt;%org.eclipse.xtext.xbase.lib.IterableExtensions%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.HwPort%>>filterNull(&lt;%org.eclipse.xtext.xbase.lib.CollectionLiterals%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.HwPort%>>newArrayList(this.getPort1(), this.getPort2()))));"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//HwAccessElement">
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//HwAccessElement/source"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//HwAccessElement/destination"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//HwAccessElement/accessPath"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//HwAccessElement/readLatency"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//HwAccessElement/writeLatency"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//HwAccessElement/dataRate"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//HwDefinition"/>
    <genClasses ecoreClass="amalthea.ecore#//ProcessingUnitDefinition">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ProcessingUnitDefinition/puType"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ProcessingUnitDefinition/features"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ProcessingUnitDefinition/classifiers"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ConnectionHandlerDefinition">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ConnectionHandlerDefinition/policy"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ConnectionHandlerDefinition/readLatency"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ConnectionHandlerDefinition/writeLatency"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ConnectionHandlerDefinition/dataRate"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ConnectionHandlerDefinition/maxBurstSize"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ConnectionHandlerDefinition/maxConcurrentTransfers"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//MemoryDefinition">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//MemoryDefinition/size"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//MemoryDefinition/accessLatency"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//MemoryDefinition/dataRate"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//MemoryDefinition/memoryType"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//MemoryDefinition/classifiers"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//CacheDefinition">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//CacheDefinition/size"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//CacheDefinition/lineSize"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//CacheDefinition/accessLatency"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//CacheDefinition/cacheType"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//CacheDefinition/writeStrategy"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//CacheDefinition/nWays"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//CacheDefinition/coherency"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//CacheDefinition/exclusive"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//CacheDefinition/hitRate"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//HwPath">
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//HwPath/source" get="return this.getContainingAccessElement().getSource();"/>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//HwPath/destination" get="return this.getContainingAccessElement().getDestination();"/>
      <genOperations ecoreOperation="amalthea.ecore#//HwPath/getContainingAccessElement"
          body="return null;"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//HwAccessPath">
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//HwAccessPath/containingAccessElement"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//HwAccessPath/pathElements"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//HwAccessPath/startAddress"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//HwAccessPath/endAddress"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//HwAccessPath/memOffset"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//HwPathElement">
      <genOperations ecoreOperation="amalthea.ecore#//HwPathElement/getPorts"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//HwDestination">
      <genOperations ecoreOperation="amalthea.ecore#//HwDestination/getPorts"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//MappingModel">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//MappingModel/schedulerAllocation"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//MappingModel/runnableAllocation"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//MappingModel/taskAllocation"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//MappingModel/isrAllocation"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//MappingModel/memoryMapping"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//MappingModel/physicalSectionMapping"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//MappingModel/addressMappingType"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//SchedulerAllocation">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//SchedulerAllocation/scheduler"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//SchedulerAllocation/responsibility"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//SchedulerAllocation/executingPU"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//TaskAllocation">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//TaskAllocation/task"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//TaskAllocation/scheduler"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//TaskAllocation/affinity"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ISRAllocation">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ISRAllocation/isr"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ISRAllocation/controller"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ISRAllocation/priority"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//RunnableAllocation">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//RunnableAllocation/scheduler"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//RunnableAllocation/entity"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//MemoryMapping">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//MemoryMapping/abstractElement"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//MemoryMapping/memory"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//MemoryMapping/memoryPositionAddress"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//PhysicalSectionMapping">
      <genFeatures notify="false" createChild="false" propertyCategory="Basic" propertySortChoices="true"
          ecoreFeature="ecore:EReference amalthea.ecore#//PhysicalSectionMapping/origin"/>
      <genFeatures notify="false" createChild="false" propertyCategory="Memory" propertySortChoices="true"
          ecoreFeature="ecore:EReference amalthea.ecore#//PhysicalSectionMapping/memory"/>
      <genFeatures createChild="false" propertyCategory="Memory" ecoreFeature="ecore:EAttribute amalthea.ecore#//PhysicalSectionMapping/startAddress"/>
      <genFeatures createChild="false" propertyCategory="Memory" ecoreFeature="ecore:EAttribute amalthea.ecore#//PhysicalSectionMapping/endAddress"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//PhysicalSectionMapping/labels"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//PhysicalSectionMapping/runEntities"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//OSModel">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OSModel/semaphores"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OSModel/operatingSystems"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OSModel/osOverheads"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OSModel/schedulerDefinitions"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OSModel/schedulingParameterDefinitions"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//OsDataConsistency">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//OsDataConsistency/mode"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OsDataConsistency/dataStability"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OsDataConsistency/nonAtomicDataCoherency"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//DataStability">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//DataStability/enabled"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//DataStability/algorithm"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//DataStability/accessMultiplicity"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//DataStability/level"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//NonAtomicDataCoherency">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//NonAtomicDataCoherency/enabled"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//NonAtomicDataCoherency/algorithm"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//NonAtomicDataCoherency/accessMultiplicity"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//Semaphore">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Semaphore/semaphoreType"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Semaphore/initialValue"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Semaphore/maxValue"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Semaphore/ownership"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Semaphore/priorityCeilingProtocol"/>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//Semaphore/semaphoreAccesses"
          get="&lt;%org.eclipse.emf.ecore.EReference%> _semaphoreAccess_Semaphore = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getSemaphoreAccess_Semaphore();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.SemaphoreAccess%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getSemaphore_SemaphoreAccesses(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_semaphoreAccess_Semaphore)));">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//Semaphore/referringComponents"
          get="&lt;%org.eclipse.emf.ecore.EReference%> _component_Semaphores = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getComponent_Semaphores();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.Component%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getSemaphore_ReferringComponents(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_component_Semaphores)));">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//Scheduler">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//Scheduler/definition"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//Scheduler/computationItems"/>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//Scheduler/schedulerAllocations"
          get="&lt;%org.eclipse.emf.ecore.EReference%> _schedulerAllocation_Scheduler = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getSchedulerAllocation_Scheduler();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.SchedulerAllocation%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getScheduler_SchedulerAllocations(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_schedulerAllocation_Scheduler)));">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//Scheduler/runnableAllocations"
          get="&lt;%org.eclipse.emf.ecore.EReference%> _runnableAllocation_Scheduler = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getRunnableAllocation_Scheduler();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.RunnableAllocation%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getScheduler_RunnableAllocations(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_runnableAllocation_Scheduler)));">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//TaskScheduler">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//TaskScheduler/parentAssociation"/>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//TaskScheduler/childAssociations"
          get="&lt;%org.eclipse.emf.ecore.EReference%> _schedulerAssociation_Parent = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getSchedulerAssociation_Parent();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.SchedulerAssociation%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getTaskScheduler_ChildAssociations(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_schedulerAssociation_Parent)));">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//TaskScheduler/taskAllocations"
          get="&lt;%org.eclipse.emf.ecore.EReference%> _taskAllocation_Scheduler = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getTaskAllocation_Scheduler();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.TaskAllocation%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getTaskScheduler_TaskAllocations(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_taskAllocation_Scheduler)));">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//TaskScheduler/parentScheduler"
          get="&lt;%org.eclipse.app4mc.amalthea.model.SchedulerAssociation%> _parentAssociation = this.getParentAssociation();&#xA;&lt;%org.eclipse.app4mc.amalthea.model.TaskScheduler%> _parent = null;&#xA;if (_parentAssociation!=null)&#xA;{&#xA;&#x9;_parent=_parentAssociation.getParent();&#xA;}&#xA;return _parent;"/>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//TaskScheduler/childSchedulers"
          get="final &lt;%org.eclipse.xtext.xbase.lib.Functions.Function1%>&lt;&lt;%org.eclipse.app4mc.amalthea.model.SchedulerAssociation%>, &lt;%org.eclipse.app4mc.amalthea.model.TaskScheduler%>> _function = new &lt;%org.eclipse.xtext.xbase.lib.Functions.Function1%>&lt;&lt;%org.eclipse.app4mc.amalthea.model.SchedulerAssociation%>, &lt;%org.eclipse.app4mc.amalthea.model.TaskScheduler%>>()&#xA;{&#xA;&#x9;public &lt;%org.eclipse.app4mc.amalthea.model.TaskScheduler%> apply(final &lt;%org.eclipse.app4mc.amalthea.model.SchedulerAssociation%> it)&#xA;&#x9;{&#xA;&#x9;&#x9;return it.getChild();&#xA;&#x9;}&#xA;};&#xA;final &lt;%java.lang.Iterable%>&lt;&lt;%org.eclipse.app4mc.amalthea.model.TaskScheduler%>> result = &lt;%org.eclipse.xtext.xbase.lib.IterableExtensions%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.TaskScheduler%>>filterNull(&lt;%org.eclipse.emf.ecore.xcore.lib.XcoreEListExtensions%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.SchedulerAssociation%>, &lt;%org.eclipse.app4mc.amalthea.model.TaskScheduler%>>map(this.getChildAssociations(), _function));&#xA;&lt;%org.eclipse.emf.ecore.EReference%> _taskScheduler_ChildSchedulers = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getTaskScheduler_ChildSchedulers();&#xA;int _size = &lt;%org.eclipse.xtext.xbase.lib.IterableExtensions%>.size(result);&#xA;&lt;%java.lang.Object%>[] _array = &lt;%org.eclipse.xtext.xbase.lib.IterableExtensions%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.TaskScheduler%>>toList(result).toArray();&#xA;return new &lt;%org.eclipse.emf.ecore.util.EcoreEList.UnmodifiableEList%>&lt;&lt;%org.eclipse.app4mc.amalthea.model.TaskScheduler%>>(((&lt;%org.eclipse.emf.ecore.InternalEObject%>) this), _taskScheduler_ChildSchedulers, _size, _array);"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//SchedulerAssociation">
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//SchedulerAssociation/child"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//SchedulerAssociation/parent"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//InterruptController">
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//InterruptController/isrAllocations"
          get="&lt;%org.eclipse.emf.ecore.EReference%> _iSRAllocation_Controller = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getISRAllocation_Controller();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.ISRAllocation%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getInterruptController_IsrAllocations(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_iSRAllocation_Controller)));">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//OsDefinition"/>
    <genClasses ecoreClass="amalthea.ecore#//SchedulerDefinition">
      <genFeatures notify="false" createChild="false" propertyCategory="Parameters"
          propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//SchedulerDefinition/algorithmParameters"/>
      <genFeatures notify="false" createChild="false" propertyCategory="Parameters"
          propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//SchedulerDefinition/processParameters"/>
      <genFeatures createChild="false" propertyCategory="Options" ecoreFeature="ecore:EAttribute amalthea.ecore#//SchedulerDefinition/requiresParentScheduler"/>
      <genFeatures createChild="false" propertyCategory="Options" ecoreFeature="ecore:EAttribute amalthea.ecore#//SchedulerDefinition/passesParametersUpwards"/>
      <genFeatures createChild="false" propertyCategory="Options" ecoreFeature="ecore:EAttribute amalthea.ecore#//SchedulerDefinition/hasExactlyOneChild"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//SchedulingParameterDefinition">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//SchedulingParameterDefinition/type"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//SchedulingParameterDefinition/many"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//SchedulingParameterDefinition/mandatory"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//SchedulingParameterDefinition/defaultValue"/>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//SchedulingParameterDefinition/schedulerDefinitions"
          get="&lt;%org.eclipse.emf.ecore.EReference%> _schedulerDefinition_AlgorithmParameters = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getSchedulerDefinition_AlgorithmParameters();&#xA;&lt;%org.eclipse.emf.ecore.EReference%> _schedulerDefinition_ProcessParameters = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getSchedulerDefinition_ProcessParameters();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.SchedulerDefinition%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getSchedulingParameterDefinition_SchedulerDefinitions(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_schedulerDefinition_AlgorithmParameters, _schedulerDefinition_ProcessParameters)));">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//ISchedulingParameterContainer">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ISchedulingParameterContainer/schedulingParameters"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//SchedulingParameter">
      <genFeatures createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//SchedulingParameter/key"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//SchedulingParameter/value"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//OsOverhead">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OsOverhead/apiOverhead"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OsOverhead/isrCategory1Overhead"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OsOverhead/isrCategory2Overhead"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//OsAPIOverhead">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OsAPIOverhead/apiSendMessage"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OsAPIOverhead/apiTerminateTask"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OsAPIOverhead/apiSchedule"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OsAPIOverhead/apiRequestResource"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OsAPIOverhead/apiReleaseResource"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OsAPIOverhead/apiSetEvent"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OsAPIOverhead/apiWaitEvent"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OsAPIOverhead/apiClearEvent"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OsAPIOverhead/apiActivateTask"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OsAPIOverhead/apiEnforcedMigration"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OsAPIOverhead/apiSuspendOsInterrupts"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OsAPIOverhead/apiResumeOsInterrupts"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OsAPIOverhead/apiRequestSpinlock"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OsAPIOverhead/apiReleaseSpinlock"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OsAPIOverhead/apiSenderReceiverRead"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OsAPIOverhead/apiSenderReceiverWrite"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OsAPIOverhead/apiSynchronousServerCallPoint"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OsAPIOverhead/apiIocRead"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OsAPIOverhead/apiIocWrite"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//OsISROverhead">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OsISROverhead/preExecutionOverhead"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OsISROverhead/postExecutionOverhead"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//OperatingSystem">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//OperatingSystem/overhead"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OperatingSystem/taskSchedulers"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OperatingSystem/interruptControllers"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//OperatingSystem/osDataConsistency"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//VendorOperatingSystem">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//VendorOperatingSystem/osName"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//VendorOperatingSystem/vendor"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//VendorOperatingSystem/version"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//PropertyConstraintsModel">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//PropertyConstraintsModel/allocationConstraints"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//PropertyConstraintsModel/mappingConstraints"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//CoreAllocationConstraint">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//CoreAllocationConstraint/coreClassification"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//MemoryMappingConstraint">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//MemoryMappingConstraint/memoryClassification"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ProcessAllocationConstraint">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ProcessAllocationConstraint/process"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ProcessPrototypeAllocationConstraint">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ProcessPrototypeAllocationConstraint/processPrototype"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//RunnableAllocationConstraint">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//RunnableAllocationConstraint/runnable"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//AbstractElementMappingConstraint">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//AbstractElementMappingConstraint/abstractElement"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//Classification">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Classification/condition"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Classification/grouping"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//CoreClassification">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//CoreClassification/classifiers"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//MemoryClassification">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//MemoryClassification/classifiers"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//StimuliModel">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//StimuliModel/stimuli"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//StimuliModel/clocks"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//Stimulus">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//Stimulus/setModeValueList"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//Stimulus/executionCondition"/>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//Stimulus/affectedProcesses"
          get="&lt;%org.eclipse.emf.ecore.EReference%> _process_Stimuli = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getProcess_Stimuli();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.Process%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getStimulus_AffectedProcesses(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_process_Stimuli)));">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ModeValueList">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ModeValueList/entries"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ModeValueMapEntry">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ModeValueMapEntry/key"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ModeValueMapEntry/value"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//ModeValue">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ModeValue/label"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ModeValue/value"/>
      <genOperations ecoreOperation="amalthea.ecore#//ModeValue/validateInvariants"
          body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaValidations%>.validateInvariants(this, diagnostics);">
        <genParameters ecoreParameter="amalthea.ecore#//ModeValue/validateInvariants/diagnostics"/>
        <genParameters ecoreParameter="amalthea.ecore#//ModeValue/validateInvariants/context"/>
      </genOperations>
      <genOperations ecoreOperation="amalthea.ecore#//ModeValue/getLiteral" body="&lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%> _xblockexpression = null;&#xA;{&#xA;&#x9;&lt;%java.lang.String%> _value = this.getValue();&#xA;&#x9;boolean _tripleEquals = (_value == null);&#xA;&#x9;if (_tripleEquals)&#xA;&#x9;{&#xA;&#x9;&#x9;return null;&#xA;&#x9;}&#xA;&#x9;&lt;%org.eclipse.app4mc.amalthea.model.ModeLabel%> _label = this.getLabel();&#xA;&#x9;&lt;%org.eclipse.app4mc.amalthea.model.Mode%> _mode = null;&#xA;&#x9;if (_label!=null)&#xA;&#x9;{&#xA;&#x9;&#x9;_mode=_label.getMode();&#xA;&#x9;}&#xA;&#x9;final &lt;%org.eclipse.app4mc.amalthea.model.Mode%> mode = _mode;&#xA;&#x9;&lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%> _xifexpression = null;&#xA;&#x9;if ((mode instanceof &lt;%org.eclipse.app4mc.amalthea.model.EnumMode%>))&#xA;&#x9;{&#xA;&#x9;&#x9;final &lt;%org.eclipse.xtext.xbase.lib.Functions.Function1%>&lt;&lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%>, &lt;%java.lang.Boolean%>> _function = new &lt;%org.eclipse.xtext.xbase.lib.Functions.Function1%>&lt;&lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%>, &lt;%java.lang.Boolean%>>()&#xA;&#x9;&#x9;{&#xA;&#x9;&#x9;&#x9;public &lt;%java.lang.Boolean%> apply(final &lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%> it)&#xA;&#x9;&#x9;&#x9;{&#xA;&#x9;&#x9;&#x9;&#x9;&lt;%java.lang.String%> _name = it.getName();&#xA;&#x9;&#x9;&#x9;&#x9;&lt;%java.lang.String%> _value = &lt;%this%>.getValue();&#xA;&#x9;&#x9;&#x9;&#x9;return &lt;%java.lang.Boolean%>.valueOf(&lt;%com.google.common.base.Objects%>.equal(_name, _value));&#xA;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;};&#xA;&#x9;&#x9;_xifexpression = &lt;%org.eclipse.xtext.xbase.lib.IterableExtensions%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%>>findFirst(((&lt;%org.eclipse.app4mc.amalthea.model.EnumMode%>)mode).getLiterals(), _function);&#xA;&#x9;}&#xA;&#x9;else&#xA;&#x9;{&#xA;&#x9;&#x9;_xifexpression = null;&#xA;&#x9;}&#xA;&#x9;_xblockexpression = _xifexpression;&#xA;}&#xA;return _xblockexpression;"/>
      <genOperations ecoreOperation="amalthea.ecore#//ModeValue/getInteger" body="&lt;%java.lang.Integer%> _xblockexpression = null;&#xA;{&#xA;&#x9;&lt;%java.lang.String%> _value = this.getValue();&#xA;&#x9;boolean _tripleEquals = (_value == null);&#xA;&#x9;if (_tripleEquals)&#xA;&#x9;{&#xA;&#x9;&#x9;return null;&#xA;&#x9;}&#xA;&#x9;&lt;%org.eclipse.app4mc.amalthea.model.ModeLabel%> _label = this.getLabel();&#xA;&#x9;&lt;%org.eclipse.app4mc.amalthea.model.Mode%> _mode = null;&#xA;&#x9;if (_label!=null)&#xA;&#x9;{&#xA;&#x9;&#x9;_mode=_label.getMode();&#xA;&#x9;}&#xA;&#x9;final &lt;%org.eclipse.app4mc.amalthea.model.Mode%> mode = _mode;&#xA;&#x9;&lt;%java.lang.Integer%> _xifexpression = null;&#xA;&#x9;if (((mode instanceof &lt;%org.eclipse.app4mc.amalthea.model.NumericMode%>) &amp;&amp; this.getValue().matches(&quot;-?\\d+&quot;)))&#xA;&#x9;{&#xA;&#x9;&#x9;_xifexpression = &lt;%java.lang.Integer%>.valueOf(&lt;%java.lang.Integer%>.parseInt(this.getValue()));&#xA;&#x9;}&#xA;&#x9;else&#xA;&#x9;{&#xA;&#x9;&#x9;_xifexpression = null;&#xA;&#x9;}&#xA;&#x9;_xblockexpression = _xifexpression;&#xA;}&#xA;return _xblockexpression;"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ModeAssignment"/>
    <genClasses image="false" ecoreClass="amalthea.ecore#//ModeCondition">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ModeCondition/relation"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ModeValueCondition">
      <genOperations ecoreOperation="amalthea.ecore#//ModeValueCondition/isSatisfiedBy"
          body="&lt;%java.lang.String%> _get = null;&#xA;if (context!=null)&#xA;{&#xA;&#x9;_get=context.get(this.getLabel());&#xA;}&#xA;final &lt;%java.lang.String%> labelValue = _get;&#xA;return ((labelValue == null) || &lt;%com.google.common.base.Objects%>.equal(labelValue, this.getValue()));">
        <genParameters ecoreParameter="amalthea.ecore#//ModeValueCondition/isSatisfiedBy/context"/>
      </genOperations>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ModeLabelCondition">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ModeLabelCondition/label1"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ModeLabelCondition/label2"/>
      <genOperations ecoreOperation="amalthea.ecore#//ModeLabelCondition/isSatisfiedBy"
          body="&lt;%java.lang.String%> _get = null;&#xA;if (context!=null)&#xA;{&#xA;&#x9;_get=context.get(this.getLabel1());&#xA;}&#xA;final &lt;%java.lang.String%> labelValue1 = _get;&#xA;&lt;%java.lang.String%> _get_1 = null;&#xA;if (context!=null)&#xA;{&#xA;&#x9;_get_1=context.get(this.getLabel2());&#xA;}&#xA;final &lt;%java.lang.String%> labelValue2 = _get_1;&#xA;return (((labelValue1 == null) || (labelValue2 == null)) || &lt;%com.google.common.base.Objects%>.equal(labelValue1, labelValue2));">
        <genParameters ecoreParameter="amalthea.ecore#//ModeLabelCondition/isSatisfiedBy/context"/>
      </genOperations>
      <genOperations ecoreOperation="amalthea.ecore#//ModeLabelCondition/validateInvariants"
          body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaValidations%>.validateInvariants(this, diagnostics);">
        <genParameters ecoreParameter="amalthea.ecore#//ModeLabelCondition/validateInvariants/diagnostics"/>
        <genParameters ecoreParameter="amalthea.ecore#//ModeLabelCondition/validateInvariants/context"/>
      </genOperations>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ConditionDisjunction">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ConditionDisjunction/entries"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//ConditionDisjunctionEntry"/>
    <genClasses ecoreClass="amalthea.ecore#//ConditionConjunction">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ConditionConjunction/entries"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//Condition"/>
    <genClasses ecoreClass="amalthea.ecore#//ChannelFillCondition">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ChannelFillCondition/channel"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ChannelFillCondition/relation"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ChannelFillCondition/fillLevel"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//FixedPeriodic">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//FixedPeriodic/recurrence"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//FixedPeriodic/offset"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//PeriodicStimulus">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//PeriodicStimulus/jitter"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//PeriodicStimulus/minDistance"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//RelativePeriodicStimulus">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//RelativePeriodicStimulus/offset"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//RelativePeriodicStimulus/nextOccurrence"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//VariableRateStimulus">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//VariableRateStimulus/step"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//VariableRateStimulus/occurrencesPerStep"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//VariableRateStimulus/maxIncreasePerStep"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//VariableRateStimulus/maxDecreasePerStep"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//VariableRateStimulus/scenario"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//Scenario">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//Scenario/clock"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Scenario/samplingOffset"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Scenario/samplingRecurrence"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//PeriodicSyntheticStimulus">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//PeriodicSyntheticStimulus/occurrenceTimes"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//CustomStimulus"/>
    <genClasses ecoreClass="amalthea.ecore#//SingleStimulus">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//SingleStimulus/occurrence"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//InterProcessStimulus">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//InterProcessStimulus/counter"/>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//InterProcessStimulus/explicitTriggers"
          get="&lt;%org.eclipse.emf.ecore.EReference%> _interProcessTrigger_Stimulus = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getInterProcessTrigger_Stimulus();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.InterProcessTrigger%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getInterProcessStimulus_ExplicitTriggers(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_interProcessTrigger_Stimulus)));">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//PeriodicBurstStimulus">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//PeriodicBurstStimulus/burstLength"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//PeriodicBurstStimulus/occurrenceMinDistance"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//PeriodicBurstStimulus/occurrenceCount"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//EventStimulus">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//EventStimulus/triggeringEvents"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//EventStimulus/counter"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ArrivalCurveStimulus">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ArrivalCurveStimulus/entries"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ArrivalCurveEntry">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ArrivalCurveEntry/numberOfOccurrences"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ArrivalCurveEntry/lowerTimeBorder"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ArrivalCurveEntry/upperTimeBorder"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//Clock"/>
    <genClasses ecoreClass="amalthea.ecore#//ClockFunction">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ClockFunction/curveType"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ClockFunction/period"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ClockFunction/peakToPeak"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ClockFunction/xOffset"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ClockFunction/yOffset"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ClockStepList">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ClockStepList/entries"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ClockStepList/period"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ClockStep">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ClockStep/frequency"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ClockStep/time"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//SWModel">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//SWModel/isrs"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//SWModel/tasks"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//SWModel/runnables"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//SWModel/labels"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//SWModel/channels"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//SWModel/processPrototypes"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//SWModel/sections"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//SWModel/activations"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//SWModel/events"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//SWModel/typeDefinitions"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//SWModel/customEntities"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//SWModel/processChains"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//SWModel/modes"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//SWModel/modeLabels"/>
      <genOperations ecoreOperation="amalthea.ecore#//SWModel/modeLiteral" body="if ((&lt;%org.eclipse.xtext.xbase.lib.StringExtensions%>.isNullOrEmpty(mode) || &lt;%org.eclipse.xtext.xbase.lib.StringExtensions%>.isNullOrEmpty(literal)))&#xA;{&#xA;&#x9;return null;&#xA;}&#xA;&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%org.eclipse.app4mc.amalthea.model.Mode%>> _modes = this.getModes();&#xA;&lt;%org.eclipse.app4mc.amalthea.model.Mode%> _findFirst = null;&#xA;if (_modes!=null)&#xA;{&#xA;&#x9;final &lt;%org.eclipse.xtext.xbase.lib.Functions.Function1%>&lt;&lt;%org.eclipse.app4mc.amalthea.model.Mode%>, &lt;%java.lang.Boolean%>> _function = new &lt;%org.eclipse.xtext.xbase.lib.Functions.Function1%>&lt;&lt;%org.eclipse.app4mc.amalthea.model.Mode%>, &lt;%java.lang.Boolean%>>()&#xA;&#x9;{&#xA;&#x9;&#x9;public &lt;%java.lang.Boolean%> apply(final &lt;%org.eclipse.app4mc.amalthea.model.Mode%> it)&#xA;&#x9;&#x9;{&#xA;&#x9;&#x9;&#x9;return &lt;%java.lang.Boolean%>.valueOf(((it instanceof &lt;%org.eclipse.app4mc.amalthea.model.EnumMode%>) &amp;&amp; &lt;%com.google.common.base.Objects%>.equal(it.getName(), mode)));&#xA;&#x9;&#x9;}&#xA;&#x9;};&#xA;&#x9;_findFirst=&lt;%org.eclipse.xtext.xbase.lib.IterableExtensions%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.Mode%>>findFirst(_modes, _function);&#xA;}&#xA;&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%>> _literals = null;&#xA;if (((&lt;%org.eclipse.app4mc.amalthea.model.EnumMode%>) _findFirst)!=null)&#xA;{&#xA;&#x9;_literals=((&lt;%org.eclipse.app4mc.amalthea.model.EnumMode%>) _findFirst).getLiterals();&#xA;}&#xA;&lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%> _findFirst_1 = null;&#xA;if (_literals!=null)&#xA;{&#xA;&#x9;final &lt;%org.eclipse.xtext.xbase.lib.Functions.Function1%>&lt;&lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%>, &lt;%java.lang.Boolean%>> _function_1 = new &lt;%org.eclipse.xtext.xbase.lib.Functions.Function1%>&lt;&lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%>, &lt;%java.lang.Boolean%>>()&#xA;&#x9;{&#xA;&#x9;&#x9;public &lt;%java.lang.Boolean%> apply(final &lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%> it)&#xA;&#x9;&#x9;{&#xA;&#x9;&#x9;&#x9;&lt;%java.lang.String%> _name = it.getName();&#xA;&#x9;&#x9;&#x9;return &lt;%java.lang.Boolean%>.valueOf(&lt;%com.google.common.base.Objects%>.equal(_name, literal));&#xA;&#x9;&#x9;}&#xA;&#x9;};&#xA;&#x9;_findFirst_1=&lt;%org.eclipse.xtext.xbase.lib.IterableExtensions%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%>>findFirst(_literals, _function_1);&#xA;}&#xA;return _findFirst_1;">
        <genParameters ecoreParameter="amalthea.ecore#//SWModel/modeLiteral/mode"/>
        <genParameters ecoreParameter="amalthea.ecore#//SWModel/modeLiteral/literal"/>
      </genOperations>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//AbstractMemoryElement">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//AbstractMemoryElement/size"/>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//AbstractMemoryElement/mappings"
          get="&lt;%org.eclipse.emf.ecore.EReference%> _memoryMapping_AbstractElement = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getMemoryMapping_AbstractElement();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.MemoryMapping%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getAbstractMemoryElement_Mappings(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_memoryMapping_AbstractElement)));">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//AbstractProcess">
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//AbstractProcess/referringComponents"
          get="&lt;%org.eclipse.emf.ecore.EReference%> _component_Processes = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getComponent_Processes();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.Component%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getAbstractProcess_ReferringComponents(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_component_Processes)));">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//CustomEntity">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//CustomEntity/typeName"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ProcessChain">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ProcessChain/processes"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//IExecutable">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//IExecutable/localLabels"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//IExecutable/activityGraph"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//Process">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//Process/stimuli"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//IActivityGraphItemContainer">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//IActivityGraphItemContainer/items"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ActivityGraph"/>
    <genClasses image="false" ecoreClass="amalthea.ecore#//ActivityGraphItem">
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//ActivityGraphItem/containingExecutable"
          get="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.IExecutable%>>getContainerOfType(this, &lt;%org.eclipse.app4mc.amalthea.model.IExecutable%>.class);">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//ActivityGraphItem/containingProcess"
          get="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.Process%>>getContainerOfType(this, &lt;%org.eclipse.app4mc.amalthea.model.Process%>.class);">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//ActivityGraphItem/containingRunnable"
          get="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.Runnable%>>getContainerOfType(this, &lt;%org.eclipse.app4mc.amalthea.model.Runnable%>.class);">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//ActivityGraphItem/containingActivityGraph"
          get="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.ActivityGraph%>>getContainerOfType(this, &lt;%org.eclipse.app4mc.amalthea.model.ActivityGraph%>.class);">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//Switch">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//Switch/entries"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//Switch/defaultEntry"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//SwitchEntry">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//SwitchEntry/condition"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//SwitchDefault"/>
    <genClasses ecoreClass="amalthea.ecore#//ProbabilitySwitch">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ProbabilitySwitch/entries"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ProbabilitySwitchEntry">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ProbabilitySwitchEntry/probability"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//WhileLoop">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//WhileLoop/condition"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//Counter">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Counter/prescaler"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Counter/offset"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//WaitEvent">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//WaitEvent/eventMask"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//WaitEvent/maskType"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//WaitEvent/waitingBehaviour"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//WaitEvent/counter"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//SetEvent">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//SetEvent/eventMask"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//SetEvent/process"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//SetEvent/counter"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ClearEvent">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ClearEvent/eventMask"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ClearEvent/counter"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//EventMask">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//EventMask/events"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//OsEvent">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//OsEvent/communicationOverheadInBit"/>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//OsEvent/referringComponents"
          get="&lt;%org.eclipse.emf.ecore.EReference%> _component_OsEvents = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getComponent_OsEvents();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.Component%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getOsEvent_ReferringComponents(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_component_OsEvents)));">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//InterProcessTrigger">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//InterProcessTrigger/stimulus"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//InterProcessTrigger/counter"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//EnforcedMigration">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//EnforcedMigration/resourceOwner"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//SchedulePoint"/>
    <genClasses ecoreClass="amalthea.ecore#//TerminateProcess">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//TerminateProcess/counter"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//Task">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Task/preemption"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Task/multipleTaskActivationLimit"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ISR">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ISR/category"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ProcessPrototype">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ProcessPrototype/preemption"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ProcessPrototype/firstRunnable"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ProcessPrototype/lastRunnable"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ProcessPrototype/accessPrecedenceSpec"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ProcessPrototype/orderPrecedenceSpec"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ProcessPrototype/chainedPrototypes"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ProcessPrototype/activation"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ProcessPrototype/runnableCalls"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ChainedProcessPrototype">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ChainedProcessPrototype/prototype"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ChainedProcessPrototype/apply"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ChainedProcessPrototype/offset"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//GeneralPrecedence">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//GeneralPrecedence/origin"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//GeneralPrecedence/target"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//AccessPrecedenceSpec">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//AccessPrecedenceSpec/label"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//AccessPrecedenceSpec/orderType"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//OrderPrecedenceSpec">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//OrderPrecedenceSpec/orderType"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//IDependsOn">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//IDependsOn/dependsOn"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//DataDependency">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//DataDependency/labels"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//DataDependency/parameters"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//DataDependency/callArguments"/>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//DataDependency/containingRunnable"
          get="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.Runnable%>>getContainerOfType(this, &lt;%org.eclipse.app4mc.amalthea.model.Runnable%>.class);">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//RunnableParameter">
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//RunnableParameter/containingRunnable"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//RunnableParameter/direction"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//RunnableParameter/dataType"/>
      <genOperations ecoreOperation="amalthea.ecore#//RunnableParameter/getNamePrefixSegments"
          body="&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%java.lang.String%>> _elvis = null;&#xA;&lt;%org.eclipse.app4mc.amalthea.model.Runnable%> _containingRunnable = this.getContainingRunnable();&#xA;&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%java.lang.String%>> _qualifiedNameSegments = null;&#xA;if (_containingRunnable!=null)&#xA;{&#xA;&#x9;_qualifiedNameSegments=_containingRunnable.getQualifiedNameSegments();&#xA;}&#xA;if (_qualifiedNameSegments != null)&#xA;{&#xA;&#x9;_elvis = _qualifiedNameSegments;&#xA;} else&#xA;{&#xA;&#x9;&lt;%org.eclipse.emf.common.util.BasicEList%>&lt;&lt;%java.lang.String%>> _newBasicEList = &lt;%org.eclipse.emf.ecore.xcore.lib.XcoreCollectionLiterals%>.&lt;&lt;%java.lang.String%>>newBasicEList();&#xA;&#x9;_elvis = _newBasicEList;&#xA;}&#xA;return _elvis;"/>
      <genOperations ecoreOperation="amalthea.ecore#//RunnableParameter/toString"
          body="&lt;%org.eclipse.app4mc.amalthea.model.Runnable%> _containingRunnable = this.getContainingRunnable();&#xA;&lt;%java.lang.String%> _name = null;&#xA;if (_containingRunnable!=null)&#xA;{&#xA;&#x9;_name=_containingRunnable.getName();&#xA;}&#xA;final &lt;%java.lang.String%> runName = _name;&#xA;&lt;%java.lang.String%> _xifexpression = null;&#xA;boolean _isNullOrEmpty = &lt;%org.eclipse.xtext.xbase.lib.StringExtensions%>.isNullOrEmpty(runName);&#xA;if (_isNullOrEmpty)&#xA;{&#xA;&#x9;_xifexpression = &quot;&lt;runnable>&quot;;&#xA;}&#xA;else&#xA;{&#xA;&#x9;_xifexpression = runName;&#xA;}&#xA;&lt;%java.lang.String%> _plus = (_xifexpression + &quot;::&quot;);&#xA;&lt;%java.lang.String%> _xifexpression_1 = null;&#xA;boolean _isNullOrEmpty_1 = &lt;%org.eclipse.xtext.xbase.lib.StringExtensions%>.isNullOrEmpty(this.getName());&#xA;if (_isNullOrEmpty_1)&#xA;{&#xA;&#x9;_xifexpression_1 = &quot;&lt;parameter>&quot;;&#xA;}&#xA;else&#xA;{&#xA;&#x9;_xifexpression_1 = this.getName();&#xA;}&#xA;return (_plus + _xifexpression_1);"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//Runnable" labelFeature="#//model/INamed/qualifiedName">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//Runnable/executionCondition"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//Runnable/parameters"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//Runnable/activations"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Runnable/callback"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Runnable/service"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Runnable/asilLevel"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//Runnable/section"/>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//Runnable/runnableCalls"
          get="&lt;%org.eclipse.emf.ecore.EReference%> _runnableCall_Runnable = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getRunnableCall_Runnable();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.RunnableCall%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getRunnable_RunnableCalls(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_runnableCall_Runnable)));">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//Runnable/referringComponents"
          get="&lt;%org.eclipse.emf.ecore.EReference%> _component_Runnables = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getComponent_Runnables();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.Component%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getRunnable_ReferringComponents(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_component_Runnables)));">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
      <genOperations ecoreOperation="amalthea.ecore#//Runnable/getRunnableItems" body="&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%org.eclipse.app4mc.amalthea.model.ActivityGraphItem%>> _xblockexpression = null;&#xA;{&#xA;&#x9;&lt;%org.eclipse.app4mc.amalthea.model.ActivityGraph%> _activityGraph = this.getActivityGraph();&#xA;&#x9;boolean _tripleEquals = (_activityGraph == null);&#xA;&#x9;if (_tripleEquals)&#xA;&#x9;{&#xA;&#x9;&#x9;this.setActivityGraph(&lt;%org.eclipse.app4mc.amalthea.model.AmaltheaFactory%>.eINSTANCE.createActivityGraph());&#xA;&#x9;}&#xA;&#x9;_xblockexpression = this.getActivityGraph().getItems();&#xA;}&#xA;return _xblockexpression;"/>
      <genOperations ecoreOperation="amalthea.ecore#//Runnable/getFirstActivation"
          body="return &lt;%org.eclipse.xtext.xbase.lib.IterableExtensions%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.Activation%>>head(this.getActivations());"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//Label" labelFeature="#//model/INamed/qualifiedName">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//Label/dataType"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Label/constant"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Label/bVolatile"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Label/dataStability"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Label/stabilityLevel"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//Label/section"/>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//Label/labelAccesses" get="&lt;%org.eclipse.emf.ecore.EReference%> _labelAccess_Data = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getLabelAccess_Data();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.LabelAccess%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getLabel_LabelAccesses(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_labelAccess_Data)));">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//Label/referringComponents"
          get="&lt;%org.eclipse.emf.ecore.EReference%> _component_Labels = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getComponent_Labels();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.Component%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getLabel_ReferringComponents(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_component_Labels)));">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//Channel" labelFeature="#//model/INamed/qualifiedName">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//Channel/elementType"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Channel/defaultElements"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Channel/maxElements"/>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//Channel/channelAccesses"
          get="&lt;%org.eclipse.emf.ecore.EReference%> _channelAccess_Data = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getChannelAccess_Data();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.ChannelAccess%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getChannel_ChannelAccesses(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_channelAccess_Data)));">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ModeLabel">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ModeLabel/mode"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ModeLabel/initialValue"/>
      <genOperations ecoreOperation="amalthea.ecore#//ModeLabel/validateInvariants"
          body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaValidations%>.validateInvariants(this, diagnostics);">
        <genParameters ecoreParameter="amalthea.ecore#//ModeLabel/validateInvariants/diagnostics"/>
        <genParameters ecoreParameter="amalthea.ecore#//ModeLabel/validateInvariants/context"/>
      </genOperations>
      <genOperations ecoreOperation="amalthea.ecore#//ModeLabel/isEnum" body="&lt;%org.eclipse.app4mc.amalthea.model.Mode%> _mode = this.getMode();&#xA;return (_mode instanceof &lt;%org.eclipse.app4mc.amalthea.model.EnumMode%>);"/>
      <genOperations ecoreOperation="amalthea.ecore#//ModeLabel/isNumeric" body="&lt;%org.eclipse.app4mc.amalthea.model.Mode%> _mode = this.getMode();&#xA;return (_mode instanceof &lt;%org.eclipse.app4mc.amalthea.model.NumericMode%>);"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//Section">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Section/asilLevel"/>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//Section/labels" get="&lt;%org.eclipse.emf.ecore.EReference%> _label_Section = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getLabel_Section();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.Label%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getSection_Labels(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_label_Section)));">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//Section/runnables" get="&lt;%org.eclipse.emf.ecore.EReference%> _runnable_Section = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getRunnable_Section();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.Runnable%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getSection_Runnables(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_runnable_Section)));">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//ComputationItem"/>
    <genClasses ecoreClass="amalthea.ecore#//ExecutionNeed">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ExecutionNeed/needs"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//NeedEntry">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//NeedEntry/key"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//NeedEntry/value"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//Ticks">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//Ticks/default"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//Ticks/extended"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//TicksEntry">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//TicksEntry/key"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//TicksEntry/value"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ModeLabelAccess">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ModeLabelAccess/data"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ModeLabelAccess/access"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ModeLabelAccess/value"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ModeLabelAccess/step"/>
      <genOperations ecoreOperation="amalthea.ecore#//ModeLabelAccess/validateInvariants"
          body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaValidations%>.validateInvariants(this, diagnostics);">
        <genParameters ecoreParameter="amalthea.ecore#//ModeLabelAccess/validateInvariants/diagnostics"/>
        <genParameters ecoreParameter="amalthea.ecore#//ModeLabelAccess/validateInvariants/context"/>
      </genOperations>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//LabelAccess">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//LabelAccess/data"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//LabelAccess/access"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//LabelAccess/statistic"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//LabelAccess/transmissionPolicy"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//LabelAccess/dataStability"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//LabelAccess/implementation"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//ChannelAccess">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ChannelAccess/data"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ChannelAccess/elements"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ChannelAccess/transmissionPolicy"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ChannelSend"/>
    <genClasses ecoreClass="amalthea.ecore#//ChannelReceive">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ChannelReceive/receiveOperation"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ChannelReceive/dataMustBeNew"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ChannelReceive/elementIndex"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ChannelReceive/lowerBound"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//SemaphoreAccess">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//SemaphoreAccess/semaphore"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//SemaphoreAccess/access"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//SemaphoreAccess/waitingBehaviour"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//SenderReceiverCommunication">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//SenderReceiverCommunication/buffered"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//SenderReceiverCommunication/label"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//SenderReceiverCommunication/port"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//SenderReceiverRead"/>
    <genClasses ecoreClass="amalthea.ecore#//SenderReceiverWrite">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//SenderReceiverWrite/notifiedRunnables"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//ServerCall">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ServerCall/serverRunnable"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ServerCall/port"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//SynchronousServerCall">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//SynchronousServerCall/waitingBehaviour"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//AsynchronousServerCall">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//AsynchronousServerCall/resultRunnable"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//GetResultServerCall">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//GetResultServerCall/blockingType"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//Group">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Group/ordered"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Group/interruptible"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//CallArgument">
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//CallArgument/containingCall"/>
      <genFeatures notify="false" createChild="false" propertyCategory="Basic" propertySortChoices="true"
          ecoreFeature="ecore:EReference amalthea.ecore#//CallArgument/parameter"/>
      <genOperations ecoreOperation="amalthea.ecore#//CallArgument/getName" body="&lt;%java.lang.String%> _xifexpression = null;&#xA;boolean _isNullOrEmpty = &lt;%org.eclipse.xtext.xbase.lib.StringExtensions%>.isNullOrEmpty(super.getName());&#xA;if (_isNullOrEmpty)&#xA;{&#xA;&#x9;_xifexpression = &quot;access-1&quot;;&#xA;}&#xA;else&#xA;{&#xA;&#x9;_xifexpression = super.getName();&#xA;}&#xA;return _xifexpression;"/>
      <genOperations ecoreOperation="amalthea.ecore#//CallArgument/getNamePrefixSegments"
          body="final &lt;%org.eclipse.emf.common.util.BasicEList%>&lt;&lt;%java.lang.String%>> segments = &lt;%org.eclipse.emf.ecore.xcore.lib.XcoreCollectionLiterals%>.&lt;&lt;%java.lang.String%>>newBasicEList();&#xA;&lt;%org.eclipse.app4mc.amalthea.model.RunnableCall%> _containingCall = this.getContainingCall();&#xA;&lt;%org.eclipse.app4mc.amalthea.model.ActivityGraph%> _containingActivityGraph = null;&#xA;if (_containingCall!=null)&#xA;{&#xA;&#x9;_containingActivityGraph=_containingCall.getContainingActivityGraph();&#xA;}&#xA;&lt;%org.eclipse.emf.ecore.EObject%> _eContainer = null;&#xA;if (_containingActivityGraph!=null)&#xA;{&#xA;&#x9;_eContainer=_containingActivityGraph.eContainer();&#xA;}&#xA;final &lt;%org.eclipse.app4mc.amalthea.model.IReferable%> runnableOrProcess = ((&lt;%org.eclipse.app4mc.amalthea.model.IReferable%>) _eContainer);&#xA;if ((runnableOrProcess != null))&#xA;{&#xA;&#x9;segments.addAll(runnableOrProcess.getQualifiedNameSegments());&#xA;}&#xA;segments.add(&quot;calls&quot;);&#xA;&lt;%java.util.List%>&lt;&lt;%java.lang.String%>> _elvis = null;&#xA;&lt;%org.eclipse.app4mc.amalthea.model.RunnableCall%> _containingCall_1 = this.getContainingCall();&#xA;&lt;%org.eclipse.app4mc.amalthea.model.Runnable%> _runnable = null;&#xA;if (_containingCall_1!=null)&#xA;{&#xA;&#x9;_runnable=_containingCall_1.getRunnable();&#xA;}&#xA;&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%java.lang.String%>> _qualifiedNameSegments = null;&#xA;if (_runnable!=null)&#xA;{&#xA;&#x9;_qualifiedNameSegments=_runnable.getQualifiedNameSegments();&#xA;}&#xA;if (_qualifiedNameSegments != null)&#xA;{&#xA;&#x9;_elvis = _qualifiedNameSegments;&#xA;} else&#xA;{&#xA;&#x9;_elvis = java.util.Collections.&lt;&lt;%java.lang.String%>>unmodifiableList(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%java.lang.String%>>newArrayList(&quot;&quot;));&#xA;}&#xA;segments.addAll(_elvis);&#xA;segments.add(&quot;param&quot;);&#xA;&lt;%java.lang.String%> _elvis_1 = null;&#xA;&lt;%org.eclipse.app4mc.amalthea.model.RunnableParameter%> _parameter = this.getParameter();&#xA;&lt;%java.lang.String%> _name = null;&#xA;if (_parameter!=null)&#xA;{&#xA;&#x9;_name=_parameter.getName();&#xA;}&#xA;if (_name != null)&#xA;{&#xA;&#x9;_elvis_1 = _name;&#xA;} else&#xA;{&#xA;&#x9;_elvis_1 = &quot;&quot;;&#xA;}&#xA;segments.add(_elvis_1);&#xA;return segments;"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//RunnableCall">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//RunnableCall/runnable"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//RunnableCall/arguments"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//RunnableCall/context"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//RunnableCall/counter"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//RunnableCall/statistic"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//CustomEventTrigger">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//CustomEventTrigger/event"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//DataType"/>
    <genClasses image="false" ecoreClass="amalthea.ecore#//CompoundType"/>
    <genClasses ecoreClass="amalthea.ecore#//Struct">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//Struct/entries"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//StructEntry">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//StructEntry/dataType"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//Array">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Array/numberElements"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//Array/dataType"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//Pointer">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//Pointer/dataType"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//TypeRef">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//TypeRef/typeDef"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//Alias">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Alias/target"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//Alias/alias"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//TypeDefinition">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//TypeDefinition/size"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//DataTypeDefinition" labelFeature="#//model/INamed/qualifiedName">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//DataTypeDefinition/dataType"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//BaseTypeDefinition" labelFeature="#//model/INamed/qualifiedName">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//BaseTypeDefinition/aliases"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//Activation"/>
    <genClasses ecoreClass="amalthea.ecore#//PeriodicActivation">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//PeriodicActivation/min"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//PeriodicActivation/max"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//PeriodicActivation/recurrence"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//PeriodicActivation/offset"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//VariableRateActivation">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//VariableRateActivation/step"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//VariableRateActivation/occurrencesPerStep"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//SporadicActivation">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//SporadicActivation/occurrence"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//SingleActivation">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//SingleActivation/min"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//SingleActivation/max"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//EventActivation">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//EventActivation/triggeringEvents"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//EventActivation/counter"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//CustomActivation"/>
    <genClasses ecoreClass="amalthea.ecore#//LabelAccessStatistic">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//LabelAccessStatistic/value"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//LabelAccessStatistic/cacheMisses"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//RunEntityCallStatistic">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//RunEntityCallStatistic/statistic"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//LocalModeLabel" labelFeature="#//model/INamed/qualifiedName">
      <genFeatures property="Readonly" notify="false" createChild="false" propertyCategory="Read only"
          ecoreFeature="ecore:EReference amalthea.ecore#//LocalModeLabel/containingExecutable"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//LocalModeLabel/mode"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//LocalModeLabel/defaultValue"/>
      <genOperations ecoreOperation="amalthea.ecore#//LocalModeLabel/getNamePrefixSegments"
          body="&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%java.lang.String%>> _xblockexpression = null;&#xA;{&#xA;&#x9;final &lt;%org.eclipse.app4mc.amalthea.model.IExecutable%> exe = this.getContainingExecutable();&#xA;&#x9;&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%java.lang.String%>> _xifexpression = null;&#xA;&#x9;if ((exe instanceof &lt;%org.eclipse.app4mc.amalthea.model.INamed%>))&#xA;&#x9;{&#xA;&#x9;&#x9;_xifexpression = ((&lt;%org.eclipse.app4mc.amalthea.model.INamed%>)exe).getQualifiedNameSegments();&#xA;&#x9;}&#xA;&#x9;else&#xA;&#x9;{&#xA;&#x9;&#x9;_xifexpression = &lt;%org.eclipse.emf.ecore.xcore.lib.XcoreCollectionLiterals%>.&lt;&lt;%java.lang.String%>>newBasicEList();&#xA;&#x9;}&#xA;&#x9;_xblockexpression = _xifexpression;&#xA;}&#xA;return _xblockexpression;"/>
      <genOperations ecoreOperation="amalthea.ecore#//LocalModeLabel/validateInvariants"
          body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaValidations%>.validateInvariants(this, diagnostics);">
        <genParameters ecoreParameter="amalthea.ecore#//LocalModeLabel/validateInvariants/diagnostics"/>
        <genParameters ecoreParameter="amalthea.ecore#//LocalModeLabel/validateInvariants/context"/>
      </genOperations>
      <genOperations ecoreOperation="amalthea.ecore#//LocalModeLabel/isEnum" body="&lt;%org.eclipse.app4mc.amalthea.model.Mode%> _mode = this.getMode();&#xA;return (_mode instanceof &lt;%org.eclipse.app4mc.amalthea.model.EnumMode%>);"/>
      <genOperations ecoreOperation="amalthea.ecore#//LocalModeLabel/isNumeric" body="&lt;%org.eclipse.app4mc.amalthea.model.Mode%> _mode = this.getMode();&#xA;return (_mode instanceof &lt;%org.eclipse.app4mc.amalthea.model.NumericMode%>);"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//LocalModeValue">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//LocalModeValue/label"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//LocalModeValue/valueSource"/>
      <genOperations ecoreOperation="amalthea.ecore#//LocalModeValue/validateInvariants"
          body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaValidations%>.validateInvariants(this, diagnostics);">
        <genParameters ecoreParameter="amalthea.ecore#//LocalModeValue/validateInvariants/diagnostics"/>
        <genParameters ecoreParameter="amalthea.ecore#//LocalModeValue/validateInvariants/context"/>
      </genOperations>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//LocalModeLabelAssignment"/>
    <genClasses ecoreClass="amalthea.ecore#//LocalModeCondition">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//LocalModeCondition/relation"/>
    </genClasses>
    <genClasses image="false" ecoreClass="amalthea.ecore#//ILocalModeValueSource">
      <genOperations ecoreOperation="amalthea.ecore#//ILocalModeValueSource/isEnum"
          body="return false;"/>
      <genOperations ecoreOperation="amalthea.ecore#//ILocalModeValueSource/isNumeric"
          body="return false;"/>
      <genOperations ecoreOperation="amalthea.ecore#//ILocalModeValueSource/getMode"
          body="return null;"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ModeLiteralConst">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ModeLiteralConst/value"/>
      <genOperations ecoreOperation="amalthea.ecore#//ModeLiteralConst/isEnum" body="return true;"/>
      <genOperations ecoreOperation="amalthea.ecore#//ModeLiteralConst/getMode" body="&lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%> _value = this.getValue();&#xA;&lt;%org.eclipse.app4mc.amalthea.model.EnumMode%> _containingMode = null;&#xA;if (_value!=null)&#xA;{&#xA;&#x9;_containingMode=_value.getContainingMode();&#xA;}&#xA;return _containingMode;"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//IntegerConst">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//IntegerConst/value"/>
      <genOperations ecoreOperation="amalthea.ecore#//IntegerConst/isNumeric" body="return true;"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ModeLabelRef">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ModeLabelRef/value"/>
      <genOperations ecoreOperation="amalthea.ecore#//ModeLabelRef/isEnum" body="return this.getValue().isEnum();"/>
      <genOperations ecoreOperation="amalthea.ecore#//ModeLabelRef/isNumeric" body="return this.getValue().isNumeric();"/>
      <genOperations ecoreOperation="amalthea.ecore#//ModeLabelRef/getMode" body="&lt;%org.eclipse.app4mc.amalthea.model.ModeLabel%> _value = this.getValue();&#xA;&lt;%org.eclipse.app4mc.amalthea.model.Mode%> _mode = null;&#xA;if (_value!=null)&#xA;{&#xA;&#x9;_mode=_value.getMode();&#xA;}&#xA;return _mode;"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//LocalModeLabelRef">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//LocalModeLabelRef/value"/>
      <genOperations ecoreOperation="amalthea.ecore#//LocalModeLabelRef/isEnum" body="return this.getValue().isEnum();"/>
      <genOperations ecoreOperation="amalthea.ecore#//LocalModeLabelRef/isNumeric"
          body="return this.getValue().isNumeric();"/>
      <genOperations ecoreOperation="amalthea.ecore#//LocalModeLabelRef/getMode" body="&lt;%org.eclipse.app4mc.amalthea.model.LocalModeLabel%> _value = this.getValue();&#xA;&lt;%org.eclipse.app4mc.amalthea.model.Mode%> _mode = null;&#xA;if (_value!=null)&#xA;{&#xA;&#x9;_mode=_value.getMode();&#xA;}&#xA;return _mode;"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ChannelFillRef">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ChannelFillRef/value"/>
      <genOperations ecoreOperation="amalthea.ecore#//ChannelFillRef/isNumeric" body="return true;"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ArithmeticExpression">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ArithmeticExpression/operand1"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference amalthea.ecore#//ArithmeticExpression/operand2"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute amalthea.ecore#//ArithmeticExpression/operator"/>
      <genOperations ecoreOperation="amalthea.ecore#//ArithmeticExpression/isNumeric"
          body="return true;"/>
    </genClasses>
    <genClasses ecoreClass="amalthea.ecore#//ModeLabelAssignment">
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ModeLabelAssignment/globalLabel"/>
      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference amalthea.ecore#//ModeLabelAssignment/localLabel"/>
      <genOperations ecoreOperation="amalthea.ecore#//ModeLabelAssignment/validateInvariants"
          body="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaValidations%>.validateInvariants(this, diagnostics);">
        <genParameters ecoreParameter="amalthea.ecore#//ModeLabelAssignment/validateInvariants/diagnostics"/>
        <genParameters ecoreParameter="amalthea.ecore#//ModeLabelAssignment/validateInvariants/context"/>
      </genOperations>
    </genClasses>
  </genPackages>
  <genPackages prefix="Ecore" basePackage="org.eclipse.emf" disposableProviderFactory="true"
      multipleEditorPages="false" contentTypeIdentifier="org.eclipse.emf.ecore" ecorePackage="ecore.ecore#/">
    <genAnnotations source="http://www.eclipse.org/emf/2002/GenModel/exporter/org.eclipse.xsd.ecore.exporter">
      <genAnnotations source="Ecore.xsd"/>
    </genAnnotations>
    <genAnnotations source="http://www.eclipse.org/emf/2002/GenModel/exporter/org.eclipse.xsd.ecore.exporter.xmi">
      <genAnnotations source="EcoreXMI.xsd"/>
    </genAnnotations>
    <genDataTypes ecoreDataType="ecore.ecore#//EBigDecimal"/>
    <genDataTypes ecoreDataType="ecore.ecore#//EBigInteger"/>
    <genDataTypes ecoreDataType="ecore.ecore#//EBoolean"/>
    <genDataTypes ecoreDataType="ecore.ecore#//EBooleanObject"/>
    <genDataTypes ecoreDataType="ecore.ecore#//EByte"/>
    <genDataTypes ecoreDataType="ecore.ecore#//EByteArray"/>
    <genDataTypes ecoreDataType="ecore.ecore#//EByteObject"/>
    <genDataTypes ecoreDataType="ecore.ecore#//EChar"/>
    <genDataTypes ecoreDataType="ecore.ecore#//ECharacterObject"/>
    <genDataTypes ecoreDataType="ecore.ecore#//EDate"/>
    <genDataTypes ecoreDataType="ecore.ecore#//EDiagnosticChain"/>
    <genDataTypes ecoreDataType="ecore.ecore#//EDouble"/>
    <genDataTypes ecoreDataType="ecore.ecore#//EDoubleObject"/>
    <genDataTypes ecoreDataType="ecore.ecore#//EEList">
      <genTypeParameters ecoreTypeParameter="ecore.ecore#//EEList/E"/>
    </genDataTypes>
    <genDataTypes ecoreDataType="ecore.ecore#//EEnumerator"/>
    <genDataTypes ecoreDataType="ecore.ecore#//EFeatureMap"/>
    <genDataTypes ecoreDataType="ecore.ecore#//EFeatureMapEntry"/>
    <genDataTypes ecoreDataType="ecore.ecore#//EFloat"/>
    <genDataTypes ecoreDataType="ecore.ecore#//EFloatObject"/>
    <genDataTypes ecoreDataType="ecore.ecore#//EInt"/>
    <genDataTypes ecoreDataType="ecore.ecore#//EIntegerObject"/>
    <genDataTypes ecoreDataType="ecore.ecore#//EJavaClass">
      <genTypeParameters ecoreTypeParameter="ecore.ecore#//EJavaClass/T"/>
    </genDataTypes>
    <genDataTypes ecoreDataType="ecore.ecore#//EJavaObject"/>
    <genDataTypes ecoreDataType="ecore.ecore#//ELong"/>
    <genDataTypes ecoreDataType="ecore.ecore#//ELongObject"/>
    <genDataTypes ecoreDataType="ecore.ecore#//EMap">
      <genTypeParameters ecoreTypeParameter="ecore.ecore#//EMap/K"/>
      <genTypeParameters ecoreTypeParameter="ecore.ecore#//EMap/V"/>
    </genDataTypes>
    <genDataTypes ecoreDataType="ecore.ecore#//EResource"/>
    <genDataTypes ecoreDataType="ecore.ecore#//EResourceSet"/>
    <genDataTypes ecoreDataType="ecore.ecore#//EShort"/>
    <genDataTypes ecoreDataType="ecore.ecore#//EShortObject"/>
    <genDataTypes ecoreDataType="ecore.ecore#//EString"/>
    <genDataTypes ecoreDataType="ecore.ecore#//ETreeIterator">
      <genTypeParameters ecoreTypeParameter="ecore.ecore#//ETreeIterator/E"/>
    </genDataTypes>
    <genDataTypes ecoreDataType="ecore.ecore#//EInvocationTargetException"/>
    <genClasses ecoreClass="ecore.ecore#//EAttribute">
      <genFeatures createChild="false" propertyDescription="Whether the value of this attribute uniquely identifies an object within its containing resource"
          ecoreFeature="ecore:EAttribute ecore.ecore#//EAttribute/iD"/>
      <genFeatures property="Readonly" createChild="false" propertyDescription="The data type of this attribute"
          ecoreFeature="ecore:EReference ecore.ecore#//EAttribute/eAttributeType"/>
    </genClasses>
    <genClasses ecoreClass="ecore.ecore#//EAnnotation">
      <genFeatures createChild="false" propertyDescription="An identifier, typically an absolute URI, that uniquely identifies this kind of annotation"
          ecoreFeature="ecore:EAttribute ecore.ecore#//EAnnotation/source"/>
      <genFeatures property="None" children="true" createChild="false" ecoreFeature="ecore:EReference ecore.ecore#//EAnnotation/details"/>
      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference ecore.ecore#//EAnnotation/eModelElement"/>
      <genFeatures property="None" children="true" createChild="false" ecoreFeature="ecore:EReference ecore.ecore#//EAnnotation/contents"/>
      <genFeatures notify="false" createChild="false" propertyDescription="Objects referenced by this annotation"
          propertySortChoices="true" ecoreFeature="ecore:EReference ecore.ecore#//EAnnotation/references"/>
    </genClasses>
    <genClasses ecoreClass="ecore.ecore#//EClass">
      <genFeatures createChild="false" propertyDescription="Whether instances of this class can be created"
          ecoreFeature="ecore:EAttribute ecore.ecore#//EClass/abstract"/>
      <genFeatures createChild="false" propertyDescription="Whether no corresponding implementation will be generated for this class"
          ecoreFeature="ecore:EAttribute ecore.ecore#//EClass/interface"/>
      <genFeatures createChild="false" propertyDescription="The immediate super types of this class"
          propertySortChoices="true" ecoreFeature="ecore:EReference ecore.ecore#//EClass/eSuperTypes"/>
      <genFeatures property="None" children="true" createChild="true" propertyCategory=""
          propertyDescription="The operations defined by this class" ecoreFeature="ecore:EReference ecore.ecore#//EClass/eOperations"/>
      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference ecore.ecore#//EClass/eAllAttributes"/>
      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference ecore.ecore#//EClass/eAllReferences"/>
      <genFeatures property="None" createChild="false" ecoreFeature="ecore:EReference ecore.ecore#//EClass/eReferences"/>
      <genFeatures property="None" createChild="false" ecoreFeature="ecore:EReference ecore.ecore#//EClass/eAttributes"/>
      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference ecore.ecore#//EClass/eAllContainments"/>
      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference ecore.ecore#//EClass/eAllOperations"/>
      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference ecore.ecore#//EClass/eAllStructuralFeatures"/>
      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference ecore.ecore#//EClass/eAllSuperTypes"/>
      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference ecore.ecore#//EClass/eIDAttribute"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ecore.ecore#//EClass/eStructuralFeatures"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ecore.ecore#//EClass/eGenericSuperTypes"/>
      <genFeatures property="None" notify="false" createChild="false" propertySortChoices="true"
          ecoreFeature="ecore:EReference ecore.ecore#//EClass/eAllGenericSuperTypes"/>
      <genOperations ecoreOperation="ecore.ecore#//EClass/isSuperTypeOf">
        <genParameters ecoreParameter="ecore.ecore#//EClass/isSuperTypeOf/someClass"/>
      </genOperations>
      <genOperations ecoreOperation="ecore.ecore#//EClass/getFeatureCount"/>
      <genOperations ecoreOperation="ecore.ecore#//EClass/getEStructuralFeature">
        <genParameters ecoreParameter="ecore.ecore#//EClass/getEStructuralFeature/featureID"/>
      </genOperations>
      <genOperations ecoreOperation="ecore.ecore#//EClass/getFeatureID">
        <genParameters ecoreParameter="ecore.ecore#//EClass/getFeatureID/feature"/>
      </genOperations>
      <genOperations ecoreOperation="ecore.ecore#//EClass/getEStructuralFeature.1">
        <genParameters ecoreParameter="ecore.ecore#//EClass/getEStructuralFeature.1/featureName"/>
      </genOperations>
      <genOperations ecoreOperation="ecore.ecore#//EClass/getOperationCount"/>
      <genOperations ecoreOperation="ecore.ecore#//EClass/getEOperation">
        <genParameters ecoreParameter="ecore.ecore#//EClass/getEOperation/operationID"/>
      </genOperations>
      <genOperations ecoreOperation="ecore.ecore#//EClass/getOperationID">
        <genParameters ecoreParameter="ecore.ecore#//EClass/getOperationID/operation"/>
      </genOperations>
      <genOperations ecoreOperation="ecore.ecore#//EClass/getOverride">
        <genParameters ecoreParameter="ecore.ecore#//EClass/getOverride/operation"/>
      </genOperations>
      <genOperations ecoreOperation="ecore.ecore#//EClass/getFeatureType">
        <genParameters ecoreParameter="ecore.ecore#//EClass/getFeatureType/feature"/>
      </genOperations>
    </genClasses>
    <genClasses image="false" ecoreClass="ecore.ecore#//EClassifier">
      <genFeatures createChild="false" propertyDescription="The erased instance class name denoted by this classifier"
          ecoreFeature="ecore:EAttribute ecore.ecore#//EClassifier/instanceClassName">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EAttribute ecore.ecore#//EClassifier/instanceClass"/>
      <genFeatures property="Readonly" createChild="false" propertyDescription="The default value for features of this type"
          ecoreFeature="ecore:EAttribute ecore.ecore#//EClassifier/defaultValue"/>
      <genFeatures createChild="false" propertyDescription="The full instance type name denoted by this classifier"
          ecoreFeature="ecore:EAttribute ecore.ecore#//EClassifier/instanceTypeName"/>
      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference ecore.ecore#//EClassifier/ePackage"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ecore.ecore#//EClassifier/eTypeParameters"/>
      <genOperations ecoreOperation="ecore.ecore#//EClassifier/isInstance">
        <genParameters ecoreParameter="ecore.ecore#//EClassifier/isInstance/object"/>
      </genOperations>
      <genOperations ecoreOperation="ecore.ecore#//EClassifier/getClassifierID"/>
    </genClasses>
    <genClasses ecoreClass="ecore.ecore#//EDataType">
      <genFeatures createChild="false" propertyDescription="Whether a value of this data type can be serialized using the factory"
          ecoreFeature="ecore:EAttribute ecore.ecore#//EDataType/serializable"/>
    </genClasses>
    <genClasses ecoreClass="ecore.ecore#//EEnum">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ecore.ecore#//EEnum/eLiterals"/>
      <genOperations ecoreOperation="ecore.ecore#//EEnum/getEEnumLiteral">
        <genParameters ecoreParameter="ecore.ecore#//EEnum/getEEnumLiteral/name"/>
      </genOperations>
      <genOperations ecoreOperation="ecore.ecore#//EEnum/getEEnumLiteral.1">
        <genParameters ecoreParameter="ecore.ecore#//EEnum/getEEnumLiteral.1/value"/>
      </genOperations>
      <genOperations ecoreOperation="ecore.ecore#//EEnum/getEEnumLiteralByLiteral">
        <genParameters ecoreParameter="ecore.ecore#//EEnum/getEEnumLiteralByLiteral/literal"/>
      </genOperations>
    </genClasses>
    <genClasses ecoreClass="ecore.ecore#//EEnumLiteral">
      <genFeatures createChild="false" propertyDescription="The integer value associated with this enumerator"
          ecoreFeature="ecore:EAttribute ecore.ecore#//EEnumLiteral/value"/>
      <genFeatures property="None" createChild="false" ecoreFeature="ecore:EAttribute ecore.ecore#//EEnumLiteral/instance"/>
      <genFeatures createChild="false" propertyDescription="The literal value associated with this enumerator"
          ecoreFeature="ecore:EAttribute ecore.ecore#//EEnumLiteral/literal"/>
      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference ecore.ecore#//EEnumLiteral/eEnum"/>
    </genClasses>
    <genClasses ecoreClass="ecore.ecore#//EFactory">
      <genFeatures property="Readonly" createChild="false" propertyDescription="The package corresponding to this factory"
          ecoreFeature="ecore:EReference ecore.ecore#//EFactory/ePackage"/>
      <genOperations ecoreOperation="ecore.ecore#//EFactory/create">
        <genParameters ecoreParameter="ecore.ecore#//EFactory/create/eClass"/>
      </genOperations>
      <genOperations ecoreOperation="ecore.ecore#//EFactory/createFromString">
        <genParameters ecoreParameter="ecore.ecore#//EFactory/createFromString/eDataType"/>
        <genParameters ecoreParameter="ecore.ecore#//EFactory/createFromString/literalValue"/>
      </genOperations>
      <genOperations ecoreOperation="ecore.ecore#//EFactory/convertToString">
        <genParameters ecoreParameter="ecore.ecore#//EFactory/convertToString/eDataType"/>
        <genParameters ecoreParameter="ecore.ecore#//EFactory/convertToString/instanceValue"/>
      </genOperations>
    </genClasses>
    <genClasses image="false" ecoreClass="ecore.ecore#//EModelElement">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ecore.ecore#//EModelElement/eAnnotations"/>
      <genOperations ecoreOperation="ecore.ecore#//EModelElement/getEAnnotation">
        <genParameters ecoreParameter="ecore.ecore#//EModelElement/getEAnnotation/source"/>
      </genOperations>
    </genClasses>
    <genClasses image="false" ecoreClass="ecore.ecore#//ENamedElement">
      <genFeatures createChild="false" propertyDescription="The name of this model element"
          ecoreFeature="ecore:EAttribute ecore.ecore#//ENamedElement/name"/>
    </genClasses>
    <genClasses ecoreClass="ecore.ecore#//EObject">
      <genOperations ecoreOperation="ecore.ecore#//EObject/eClass"/>
      <genOperations ecoreOperation="ecore.ecore#//EObject/eIsProxy"/>
      <genOperations ecoreOperation="ecore.ecore#//EObject/eResource"/>
      <genOperations ecoreOperation="ecore.ecore#//EObject/eContainer"/>
      <genOperations ecoreOperation="ecore.ecore#//EObject/eContainingFeature"/>
      <genOperations ecoreOperation="ecore.ecore#//EObject/eContainmentFeature"/>
      <genOperations ecoreOperation="ecore.ecore#//EObject/eContents"/>
      <genOperations ecoreOperation="ecore.ecore#//EObject/eAllContents"/>
      <genOperations ecoreOperation="ecore.ecore#//EObject/eCrossReferences"/>
      <genOperations ecoreOperation="ecore.ecore#//EObject/eGet">
        <genParameters ecoreParameter="ecore.ecore#//EObject/eGet/feature"/>
      </genOperations>
      <genOperations ecoreOperation="ecore.ecore#//EObject/eGet.1">
        <genParameters ecoreParameter="ecore.ecore#//EObject/eGet.1/feature"/>
        <genParameters ecoreParameter="ecore.ecore#//EObject/eGet.1/resolve"/>
      </genOperations>
      <genOperations ecoreOperation="ecore.ecore#//EObject/eSet">
        <genParameters ecoreParameter="ecore.ecore#//EObject/eSet/feature"/>
        <genParameters ecoreParameter="ecore.ecore#//EObject/eSet/newValue"/>
      </genOperations>
      <genOperations ecoreOperation="ecore.ecore#//EObject/eIsSet">
        <genParameters ecoreParameter="ecore.ecore#//EObject/eIsSet/feature"/>
      </genOperations>
      <genOperations ecoreOperation="ecore.ecore#//EObject/eUnset">
        <genParameters ecoreParameter="ecore.ecore#//EObject/eUnset/feature"/>
      </genOperations>
      <genOperations ecoreOperation="ecore.ecore#//EObject/eInvoke">
        <genParameters ecoreParameter="ecore.ecore#//EObject/eInvoke/operation"/>
        <genParameters ecoreParameter="ecore.ecore#//EObject/eInvoke/arguments"/>
      </genOperations>
    </genClasses>
    <genClasses ecoreClass="ecore.ecore#//EOperation">
      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference ecore.ecore#//EOperation/eContainingClass"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ecore.ecore#//EOperation/eTypeParameters"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ecore.ecore#//EOperation/eParameters"/>
      <genFeatures notify="false" createChild="false" propertyDescription="The exceptions thrown by this operation"
          propertySortChoices="true" ecoreFeature="ecore:EReference ecore.ecore#//EOperation/eExceptions"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ecore.ecore#//EOperation/eGenericExceptions"/>
      <genOperations ecoreOperation="ecore.ecore#//EOperation/getOperationID"/>
      <genOperations ecoreOperation="ecore.ecore#//EOperation/isOverrideOf">
        <genParameters ecoreParameter="ecore.ecore#//EOperation/isOverrideOf/someOperation"/>
      </genOperations>
    </genClasses>
    <genClasses ecoreClass="ecore.ecore#//EPackage">
      <genFeatures createChild="false" propertyCategory="" propertyDescription="The universally unique namespace identifier, typically an absolute URI, for this package"
          ecoreFeature="ecore:EAttribute ecore.ecore#//EPackage/nsURI"/>
      <genFeatures createChild="false" propertyDescription="The namespace prefix used by default when serializing instances of the package's classes"
          ecoreFeature="ecore:EAttribute ecore.ecore#//EPackage/nsPrefix"/>
      <genFeatures property="Readonly" createChild="false" propertyDescription="The factory corresponding to this package"
          ecoreFeature="ecore:EReference ecore.ecore#//EPackage/eFactoryInstance">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ecore.ecore#//EPackage/eClassifiers"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ecore.ecore#//EPackage/eSubpackages"/>
      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference ecore.ecore#//EPackage/eSuperPackage"/>
      <genOperations ecoreOperation="ecore.ecore#//EPackage/getEClassifier">
        <genParameters ecoreParameter="ecore.ecore#//EPackage/getEClassifier/name"/>
      </genOperations>
    </genClasses>
    <genClasses ecoreClass="ecore.ecore#//EParameter">
      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference ecore.ecore#//EParameter/eOperation"/>
    </genClasses>
    <genClasses ecoreClass="ecore.ecore#//EReference">
      <genFeatures createChild="false" propertyDescription="Whether this reference represents a composite relationship"
          ecoreFeature="ecore:EAttribute ecore.ecore#//EReference/containment"/>
      <genFeatures property="Readonly" createChild="false" propertyDescription="Whether this reference has as its opposite a containment reference"
          ecoreFeature="ecore:EAttribute ecore.ecore#//EReference/container"/>
      <genFeatures createChild="false" propertyDescription="Whether this reference resolves proxies automatically"
          ecoreFeature="ecore:EAttribute ecore.ecore#//EReference/resolveProxies"/>
      <genFeatures createChild="false" propertyDescription="The reference that represents the bidirectional opposite of this reference"
          propertySortChoices="true" ecoreFeature="ecore:EReference ecore.ecore#//EReference/eOpposite"/>
      <genFeatures property="Readonly" createChild="false" propertyDescription="The target class of the reference"
          ecoreFeature="ecore:EReference ecore.ecore#//EReference/eReferenceType">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
      <genFeatures notify="false" createChild="false" propertyDescription="The attributes of the referenced class that uniquely identify a referenced instance"
          propertySortChoices="true" ecoreFeature="ecore:EReference ecore.ecore#//EReference/eKeys"/>
    </genClasses>
    <genClasses image="false" ecoreClass="ecore.ecore#//EStructuralFeature">
      <genFeatures createChild="false" propertyDescription="Whether the value of this feature can be changed"
          ecoreFeature="ecore:EAttribute ecore.ecore#//EStructuralFeature/changeable"/>
      <genFeatures createChild="false" propertyDescription="Whether no field will be generated for this feature"
          ecoreFeature="ecore:EAttribute ecore.ecore#//EStructuralFeature/volatile"/>
      <genFeatures createChild="false" propertyDescription="Whether the value of this feature will be serialized"
          ecoreFeature="ecore:EAttribute ecore.ecore#//EStructuralFeature/transient"/>
      <genFeatures createChild="false" propertyDescription="The literal representation of the default value for this feature"
          ecoreFeature="ecore:EAttribute ecore.ecore#//EStructuralFeature/defaultValueLiteral"/>
      <genFeatures property="Readonly" createChild="false" propertyDescription="The default value for this feature"
          ecoreFeature="ecore:EAttribute ecore.ecore#//EStructuralFeature/defaultValue">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
      <genFeatures createChild="false" propertyDescription="Whether the value space for this feature includes the state of not being set"
          ecoreFeature="ecore:EAttribute ecore.ecore#//EStructuralFeature/unsettable"/>
      <genFeatures createChild="false" propertyDescription="Whether the value of this feature is derived from the values of other features"
          ecoreFeature="ecore:EAttribute ecore.ecore#//EStructuralFeature/derived"/>
      <genFeatures property="Readonly" createChild="false" propertyDescription="The class that defines this feature"
          ecoreFeature="ecore:EReference ecore.ecore#//EStructuralFeature/eContainingClass">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
      <genOperations ecoreOperation="ecore.ecore#//EStructuralFeature/getFeatureID"/>
      <genOperations ecoreOperation="ecore.ecore#//EStructuralFeature/getContainerClass"/>
    </genClasses>
    <genClasses image="false" ecoreClass="ecore.ecore#//ETypedElement">
      <genFeatures createChild="false" propertyDescription="Whether the order in which values occur is meaningful"
          ecoreFeature="ecore:EAttribute ecore.ecore#//ETypedElement/ordered"/>
      <genFeatures createChild="false" propertyDescription="Whether the same value may occur more than once"
          ecoreFeature="ecore:EAttribute ecore.ecore#//ETypedElement/unique"/>
      <genFeatures createChild="false" propertyDescription="The minimum number of values that must occur"
          ecoreFeature="ecore:EAttribute ecore.ecore#//ETypedElement/lowerBound"/>
      <genFeatures createChild="false" propertyDescription="The maximum number of values that may occur; -1 represents unbounded and -2 represents unspecified"
          ecoreFeature="ecore:EAttribute ecore.ecore#//ETypedElement/upperBound"/>
      <genFeatures property="Readonly" createChild="false" propertyDescription="Whether more than one value may occur"
          ecoreFeature="ecore:EAttribute ecore.ecore#//ETypedElement/many">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
      <genFeatures property="Readonly" createChild="false" propertyDescription="Whether at least one value must occur"
          ecoreFeature="ecore:EAttribute ecore.ecore#//ETypedElement/required">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
      <genFeatures createChild="false" propertyDescription="The type of this element"
          propertySortChoices="true" ecoreFeature="ecore:EReference ecore.ecore#//ETypedElement/eType"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ecore.ecore#//ETypedElement/eGenericType"/>
    </genClasses>
    <genClasses ecoreClass="ecore.ecore#//EStringToStringMapEntry">
      <genFeatures createChild="false" propertyCategory="" propertyDescription="The key of this map entry"
          ecoreFeature="ecore:EAttribute ecore.ecore#//EStringToStringMapEntry/key"/>
      <genFeatures createChild="false" propertyDescription="The value of this map entry"
          propertyMultiLine="true" ecoreFeature="ecore:EAttribute ecore.ecore#//EStringToStringMapEntry/value"/>
    </genClasses>
    <genClasses ecoreClass="ecore.ecore#//EGenericType">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ecore.ecore#//EGenericType/eUpperBound"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ecore.ecore#//EGenericType/eTypeArguments"/>
      <genFeatures property="Readonly" notify="false" createChild="false" propertyDescription="The erased type denoted by this generic type"
          propertySortChoices="true" ecoreFeature="ecore:EReference ecore.ecore#//EGenericType/eRawType">
        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
      </genFeatures>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ecore.ecore#//EGenericType/eLowerBound"/>
      <genFeatures notify="false" createChild="false" propertyDescription="The type parameter denoted by this generic type"
          propertySortChoices="true" ecoreFeature="ecore:EReference ecore.ecore#//EGenericType/eTypeParameter"/>
      <genFeatures notify="false" createChild="false" propertyDescription="The classifier denoted by this generic type"
          propertySortChoices="true" ecoreFeature="ecore:EReference ecore.ecore#//EGenericType/eClassifier"/>
      <genOperations ecoreOperation="ecore.ecore#//EGenericType/isInstance">
        <genParameters ecoreParameter="ecore.ecore#//EGenericType/isInstance/object"/>
      </genOperations>
    </genClasses>
    <genClasses ecoreClass="ecore.ecore#//ETypeParameter">
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ecore.ecore#//ETypeParameter/eBounds"/>
    </genClasses>
  </genPackages>
</genmodel:GenModel>
