EXPERIMENTAL FEATURE - ChannelFillCondition

 - manual input: amalthea.xcore
 - generated code
 - changes: , ChannelFillConditionItemProvider.java, ChannelFillCondition.gif
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit/icons/full/obj16/ChannelFillCondition.gif b/plugins/org.eclipse.app4mc.amalthea.model.edit/icons/full/obj16/ChannelFillCondition.gif
new file mode 100644
index 0000000..2389ed3
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit/icons/full/obj16/ChannelFillCondition.gif
Binary files differ
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit/plugin.properties b/plugins/org.eclipse.app4mc.amalthea.model.edit/plugin.properties
index 2fe6310..fda7deb 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit/plugin.properties
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit/plugin.properties
@@ -1556,3 +1556,6 @@
 _UI_WriteStrategy_writethrough_literal = writethrough
 _UI_WhileLoop_type = <> While Loop
 _UI_WhileLoop_condition_feature = Condition
+_UI_ChannelFillCondition_type = Channel Fill Condition
+_UI_ChannelFillCondition_channel_feature = Channel
+_UI_ChannelFillCondition_fillLevel_feature = Fill Level
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit/src-gen/org/eclipse/app4mc/amalthea/model/provider/AmaltheaItemProviderAdapterFactory.java b/plugins/org.eclipse.app4mc.amalthea.model.edit/src-gen/org/eclipse/app4mc/amalthea/model/provider/AmaltheaItemProviderAdapterFactory.java
index 88dd94d..71b99fd 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit/src-gen/org/eclipse/app4mc/amalthea/model/provider/AmaltheaItemProviderAdapterFactory.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit/src-gen/org/eclipse/app4mc/amalthea/model/provider/AmaltheaItemProviderAdapterFactory.java
@@ -4594,6 +4594,29 @@
 	}
 
 	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.app4mc.amalthea.model.ChannelFillCondition} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ChannelFillConditionItemProvider channelFillConditionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.app4mc.amalthea.model.ChannelFillCondition}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createChannelFillConditionAdapter() {
+		if (channelFillConditionItemProvider == null) {
+			channelFillConditionItemProvider = new ChannelFillConditionItemProvider(this);
+		}
+
+		return channelFillConditionItemProvider;
+	}
+
+	/**
 	 * This keeps track of the one adapter used for all {@link org.eclipse.app4mc.amalthea.model.ModeConditionConjunction} instances.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -6803,6 +6826,7 @@
 		if (modeConditionDisjunctionItemProvider != null) modeConditionDisjunctionItemProvider.dispose();
 		if (modeValueConditionItemProvider != null) modeValueConditionItemProvider.dispose();
 		if (modeLabelConditionItemProvider != null) modeLabelConditionItemProvider.dispose();
+		if (channelFillConditionItemProvider != null) channelFillConditionItemProvider.dispose();
 		if (modeConditionConjunctionItemProvider != null) modeConditionConjunctionItemProvider.dispose();
 		if (periodicStimulusItemProvider != null) periodicStimulusItemProvider.dispose();
 		if (relativePeriodicStimulusItemProvider != null) relativePeriodicStimulusItemProvider.dispose();
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit/src-gen/org/eclipse/app4mc/amalthea/model/provider/ChannelFillConditionItemProvider.java b/plugins/org.eclipse.app4mc.amalthea.model.edit/src-gen/org/eclipse/app4mc/amalthea/model/provider/ChannelFillConditionItemProvider.java
new file mode 100644
index 0000000..cabd3ef
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit/src-gen/org/eclipse/app4mc/amalthea/model/provider/ChannelFillConditionItemProvider.java
@@ -0,0 +1,240 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2015-2021 Robert Bosch GmbH and others.
+ * 
+ *  This program and the accompanying materials are made
+ *  available under the terms of the Eclipse Public License 2.0
+ *  which is available at https://www.eclipse.org/legal/epl-2.0/
+ * 
+ *  SPDX-License-Identifier: EPL-2.0
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.model.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.app4mc.amalthea.model.AmaltheaPackage;
+import org.eclipse.app4mc.amalthea.model.Channel;
+import org.eclipse.app4mc.amalthea.model.ChannelFillCondition;
+import org.eclipse.app4mc.amalthea.model.RelationalOperator;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.app4mc.amalthea.model.ChannelFillCondition} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ChannelFillConditionItemProvider extends BaseObjectItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ChannelFillConditionItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addRelationPropertyDescriptor(object);
+			addChannelPropertyDescriptor(object);
+			addFillLevelPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Relation feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addRelationPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ModeCondition_relation_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ModeCondition_relation_feature", "_UI_ModeCondition_type"),
+				 AmaltheaPackage.eINSTANCE.getModeCondition_Relation(),
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Channel feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addChannelPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ChannelFillCondition_channel_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ChannelFillCondition_channel_feature", "_UI_ChannelFillCondition_type"),
+				 AmaltheaPackage.eINSTANCE.getChannelFillCondition_Channel(),
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Fill Level feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addFillLevelPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ChannelFillCondition_fillLevel_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ChannelFillCondition_fillLevel_feature", "_UI_ChannelFillCondition_type"),
+				 AmaltheaPackage.eINSTANCE.getChannelFillCondition_FillLevel(),
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ChannelFillCondition.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ChannelFillCondition"));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getTextGen(Object object) {
+		RelationalOperator labelValue = ((ChannelFillCondition)object).getRelation();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_ChannelFillCondition_type") :
+			getString("_UI_ChannelFillCondition_type") + " " + label;
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated NOT
+	 */
+	@Override
+	public String getText(Object object) {
+		ChannelFillCondition cond = (ChannelFillCondition) object;
+		Channel channel = cond.getChannel();
+		RelationalOperator relation = cond.getRelation();
+
+		String s1 = (channel == null || channel.getName() == null || channel.getName().isEmpty()) ? "???" : channel.getName();
+		String s2 = (relation == null) ? "<relation>" : relation.toString();
+		return s1 + ": Fill level " + s2 + " " + cond.getFillLevel();
+	}
+
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void notifyChangedGen(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(ChannelFillCondition.class)) {
+			case AmaltheaPackage.CHANNEL_FILL_CONDITION__RELATION:
+			case AmaltheaPackage.CHANNEL_FILL_CONDITION__FILL_LEVEL:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+	
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated NOT
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(ChannelFillCondition.class)) {
+			case AmaltheaPackage.CHANNEL_FILL_CONDITION__CHANNEL:
+			case AmaltheaPackage.CHANNEL_FILL_CONDITION__RELATION:
+			case AmaltheaPackage.CHANNEL_FILL_CONDITION__FILL_LEVEL:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit/src-gen/org/eclipse/app4mc/amalthea/model/provider/ModeConditionConjunctionItemProvider.java b/plugins/org.eclipse.app4mc.amalthea.model.edit/src-gen/org/eclipse/app4mc/amalthea/model/provider/ModeConditionConjunctionItemProvider.java
index c62d929..706170b 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit/src-gen/org/eclipse/app4mc/amalthea/model/provider/ModeConditionConjunctionItemProvider.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit/src-gen/org/eclipse/app4mc/amalthea/model/provider/ModeConditionConjunctionItemProvider.java
@@ -163,6 +163,11 @@
 			(createChildParameter
 				(AmaltheaPackage.eINSTANCE.getModeConditionConjunction_Entries(),
 				 AmaltheaFactory.eINSTANCE.createModeLabelCondition()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(AmaltheaPackage.eINSTANCE.getModeConditionConjunction_Entries(),
+				 AmaltheaFactory.eINSTANCE.createChannelFillCondition()));
 	}
 
 }
diff --git a/plugins/org.eclipse.app4mc.amalthea.model.edit/src-gen/org/eclipse/app4mc/amalthea/model/provider/ModeConditionDisjunctionItemProvider.java b/plugins/org.eclipse.app4mc.amalthea.model.edit/src-gen/org/eclipse/app4mc/amalthea/model/provider/ModeConditionDisjunctionItemProvider.java
index aee2eea..79ae77d 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model.edit/src-gen/org/eclipse/app4mc/amalthea/model/provider/ModeConditionDisjunctionItemProvider.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model.edit/src-gen/org/eclipse/app4mc/amalthea/model/provider/ModeConditionDisjunctionItemProvider.java
@@ -175,6 +175,11 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(AmaltheaPackage.eINSTANCE.getModeConditionDisjunction_Entries(),
+				 AmaltheaFactory.eINSTANCE.createChannelFillCondition()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(AmaltheaPackage.eINSTANCE.getModeConditionDisjunction_Entries(),
 				 AmaltheaFactory.eINSTANCE.createModeConditionConjunction()));
 	}
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/model-gen/xml/amalthea.xml b/plugins/org.eclipse.app4mc.amalthea.model/model-gen/xml/amalthea.xml
index 6633f52..c5e3586 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/model-gen/xml/amalthea.xml
+++ b/plugins/org.eclipse.app4mc.amalthea.model/model-gen/xml/amalthea.xml
@@ -3067,6 +3067,21 @@
     <eStructuralFeatures xsi:type="ecore:EReference" name="label2" lowerBound="1"
         eType="#//ModeLabel"/>
   </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ChannelFillCondition" eSuperTypes="#//ModeCondition">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="Experimental implementation of a ChannelFillCondition.&#xA;Will not be part of an official release!&#xA;Possible future implementation will not extend ModeCondition."/>
+    </eAnnotations>
+    <eOperations name="isSatisfiedBy" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="body" value="return false;"/>
+      </eAnnotations>
+      <eParameters name="context" unique="false" upperBound="-1" eType="#//ModeValueMapEntry"/>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="channel" lowerBound="1"
+        eType="#//Channel"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="fillLevel" unique="false"
+        eType="#//NonNegativeInt"/>
+  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ModeConditionConjunction" eSuperTypes="#//ModeConditionDisjunctionEntry">
     <eOperations name="isSatisfiedBy" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/model/amalthea.xcore b/plugins/org.eclipse.app4mc.amalthea.model/model/amalthea.xcore
index a8e0083..aaddb22 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/model/amalthea.xcore
+++ b/plugins/org.eclipse.app4mc.amalthea.model/model/amalthea.xcore
@@ -3053,6 +3053,19 @@
 	}
 }
 
+/*
+ * Experimental implementation of a ChannelFillCondition.
+ * Will not be part of an official release!
+ * Possible future implementation will not extend ModeCondition.
+ */
+class ChannelFillCondition extends ModeCondition
+{
+	refers Channel[1] channel
+	NonNegativeInt fillLevel
+
+	op boolean isSatisfiedBy(ModeValueMapEntry[] context) { false }
+}
+
 class ModeConditionConjunction extends ModeConditionDisjunctionEntry
 {
 	contains ModeCondition[+] entries
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/AmaltheaFactory.java b/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/AmaltheaFactory.java
index 2041aa0..e5c518f 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/AmaltheaFactory.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/AmaltheaFactory.java
@@ -1763,6 +1763,15 @@
 	ModeLabelCondition createModeLabelCondition();
 
 	/**
+	 * Returns a new object of class '<em>Channel Fill Condition</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Channel Fill Condition</em>'.
+	 * @generated
+	 */
+	ChannelFillCondition createChannelFillCondition();
+
+	/**
 	 * Returns a new object of class '<em>Mode Condition Conjunction</em>'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/AmaltheaPackage.java b/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/AmaltheaPackage.java
index ccd80c2..35badcd 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/AmaltheaPackage.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/AmaltheaPackage.java
@@ -26138,6 +26138,79 @@
 	int MODE_LABEL_CONDITION_OPERATION_COUNT = MODE_CONDITION_OPERATION_COUNT + 1;
 
 	/**
+	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.impl.ChannelFillConditionImpl <em>Channel Fill Condition</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.app4mc.amalthea.model.impl.ChannelFillConditionImpl
+	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getChannelFillCondition()
+	 * @generated
+	 */
+	int CHANNEL_FILL_CONDITION = 274;
+
+	/**
+	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CHANNEL_FILL_CONDITION__CUSTOM_PROPERTIES = MODE_CONDITION__CUSTOM_PROPERTIES;
+
+	/**
+	 * The feature id for the '<em><b>Relation</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CHANNEL_FILL_CONDITION__RELATION = MODE_CONDITION__RELATION;
+
+	/**
+	 * The feature id for the '<em><b>Channel</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CHANNEL_FILL_CONDITION__CHANNEL = MODE_CONDITION_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Fill Level</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CHANNEL_FILL_CONDITION__FILL_LEVEL = MODE_CONDITION_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>Channel Fill Condition</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CHANNEL_FILL_CONDITION_FEATURE_COUNT = MODE_CONDITION_FEATURE_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>Is Satisfied By</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CHANNEL_FILL_CONDITION___IS_SATISFIED_BY__EMAP = MODE_CONDITION_OPERATION_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Channel Fill Condition</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CHANNEL_FILL_CONDITION_OPERATION_COUNT = MODE_CONDITION_OPERATION_COUNT + 1;
+
+	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.impl.ModeConditionConjunctionImpl <em>Mode Condition Conjunction</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -26145,7 +26218,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getModeConditionConjunction()
 	 * @generated
 	 */
-	int MODE_CONDITION_CONJUNCTION = 274;
+	int MODE_CONDITION_CONJUNCTION = 275;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -26200,7 +26273,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getFixedPeriodic()
 	 * @generated
 	 */
-	int FIXED_PERIODIC = 275;
+	int FIXED_PERIODIC = 276;
 
 	/**
 	 * The feature id for the '<em><b>Recurrence</b></em>' containment reference.
@@ -26246,7 +26319,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getPeriodicStimulus()
 	 * @generated
 	 */
-	int PERIODIC_STIMULUS = 276;
+	int PERIODIC_STIMULUS = 277;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -26454,7 +26527,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getRelativePeriodicStimulus()
 	 * @generated
 	 */
-	int RELATIVE_PERIODIC_STIMULUS = 277;
+	int RELATIVE_PERIODIC_STIMULUS = 278;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -26644,7 +26717,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getVariableRateStimulus()
 	 * @generated
 	 */
-	int VARIABLE_RATE_STIMULUS = 278;
+	int VARIABLE_RATE_STIMULUS = 279;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -26861,7 +26934,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getScenario()
 	 * @generated
 	 */
-	int SCENARIO = 279;
+	int SCENARIO = 280;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -26925,7 +26998,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getPeriodicSyntheticStimulus()
 	 * @generated
 	 */
-	int PERIODIC_SYNTHETIC_STIMULUS = 280;
+	int PERIODIC_SYNTHETIC_STIMULUS = 281;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -27124,7 +27197,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getCustomStimulus()
 	 * @generated
 	 */
-	int CUSTOM_STIMULUS = 281;
+	int CUSTOM_STIMULUS = 282;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -27305,7 +27378,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getSingleStimulus()
 	 * @generated
 	 */
-	int SINGLE_STIMULUS = 282;
+	int SINGLE_STIMULUS = 283;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -27486,7 +27559,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getInterProcessStimulus()
 	 * @generated
 	 */
-	int INTER_PROCESS_STIMULUS = 283;
+	int INTER_PROCESS_STIMULUS = 284;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -27676,7 +27749,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getPeriodicBurstStimulus()
 	 * @generated
 	 */
-	int PERIODIC_BURST_STIMULUS = 284;
+	int PERIODIC_BURST_STIMULUS = 285;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -27893,7 +27966,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getEventStimulus()
 	 * @generated
 	 */
-	int EVENT_STIMULUS = 285;
+	int EVENT_STIMULUS = 286;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -28083,7 +28156,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getArrivalCurveStimulus()
 	 * @generated
 	 */
-	int ARRIVAL_CURVE_STIMULUS = 286;
+	int ARRIVAL_CURVE_STIMULUS = 287;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -28264,7 +28337,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getArrivalCurveEntry()
 	 * @generated
 	 */
-	int ARRIVAL_CURVE_ENTRY = 287;
+	int ARRIVAL_CURVE_ENTRY = 288;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -28328,7 +28401,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getClock()
 	 * @generated
 	 */
-	int CLOCK = 288;
+	int CLOCK = 289;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -28464,7 +28537,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getClockFunction()
 	 * @generated
 	 */
-	int CLOCK_FUNCTION = 289;
+	int CLOCK_FUNCTION = 290;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -28645,7 +28718,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getClockStepList()
 	 * @generated
 	 */
-	int CLOCK_STEP_LIST = 290;
+	int CLOCK_STEP_LIST = 291;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -28799,7 +28872,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getClockStep()
 	 * @generated
 	 */
-	int CLOCK_STEP = 291;
+	int CLOCK_STEP = 292;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -28854,7 +28927,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getSWModel()
 	 * @generated
 	 */
-	int SW_MODEL = 292;
+	int SW_MODEL = 293;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -29026,7 +29099,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getAbstractMemoryElement()
 	 * @generated
 	 */
-	int ABSTRACT_MEMORY_ELEMENT = 293;
+	int ABSTRACT_MEMORY_ELEMENT = 294;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -29189,7 +29262,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getAbstractProcess()
 	 * @generated
 	 */
-	int ABSTRACT_PROCESS = 294;
+	int ABSTRACT_PROCESS = 295;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -29361,7 +29434,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getCustomEntity()
 	 * @generated
 	 */
-	int CUSTOM_ENTITY = 295;
+	int CUSTOM_ENTITY = 296;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -29542,7 +29615,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getProcessChain()
 	 * @generated
 	 */
-	int PROCESS_CHAIN = 296;
+	int PROCESS_CHAIN = 297;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -29688,7 +29761,7 @@
 	 * @since 1.2
 	 * @generated
 	 */
-	int IEXECUTABLE = 297;
+	int IEXECUTABLE = 298;
 
 	/**
 	 * The feature id for the '<em><b>Activity Graph</b></em>' containment reference.
@@ -29728,7 +29801,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getProcess()
 	 * @generated
 	 */
-	int PROCESS = 298;
+	int PROCESS = 299;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -29919,7 +29992,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getIActivityGraphItemContainer()
 	 * @generated
 	 */
-	int IACTIVITY_GRAPH_ITEM_CONTAINER = 299;
+	int IACTIVITY_GRAPH_ITEM_CONTAINER = 300;
 
 	/**
 	 * The feature id for the '<em><b>Items</b></em>' containment reference list.
@@ -29956,7 +30029,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getActivityGraph()
 	 * @generated
 	 */
-	int ACTIVITY_GRAPH = 300;
+	int ACTIVITY_GRAPH = 301;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -30002,7 +30075,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getActivityGraphItem()
 	 * @generated
 	 */
-	int ACTIVITY_GRAPH_ITEM = 301;
+	int ACTIVITY_GRAPH_ITEM = 302;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -30080,7 +30153,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getModeSwitch()
 	 * @generated
 	 */
-	int MODE_SWITCH = 302;
+	int MODE_SWITCH = 303;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -30176,7 +30249,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getModeSwitchEntry()
 	 * @generated
 	 */
-	int MODE_SWITCH_ENTRY = 303;
+	int MODE_SWITCH_ENTRY = 304;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -30303,7 +30376,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getModeSwitchDefault()
 	 * @generated
 	 */
-	int MODE_SWITCH_DEFAULT = 304;
+	int MODE_SWITCH_DEFAULT = 305;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -30349,7 +30422,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getProbabilitySwitch()
 	 * @generated
 	 */
-	int PROBABILITY_SWITCH = 305;
+	int PROBABILITY_SWITCH = 306;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -30436,7 +30509,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getProbabilitySwitchEntry()
 	 * @generated
 	 */
-	int PROBABILITY_SWITCH_ENTRY = 306;
+	int PROBABILITY_SWITCH_ENTRY = 307;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -30491,7 +30564,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getWhileLoop()
 	 * @generated
 	 */
-	int WHILE_LOOP = 307;
+	int WHILE_LOOP = 308;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -30587,7 +30660,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getCounter()
 	 * @generated
 	 */
-	int COUNTER = 308;
+	int COUNTER = 309;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -30642,7 +30715,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getWaitEvent()
 	 * @generated
 	 */
-	int WAIT_EVENT = 309;
+	int WAIT_EVENT = 310;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -30756,7 +30829,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getSetEvent()
 	 * @generated
 	 */
-	int SET_EVENT = 310;
+	int SET_EVENT = 311;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -30861,7 +30934,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getClearEvent()
 	 * @generated
 	 */
-	int CLEAR_EVENT = 311;
+	int CLEAR_EVENT = 312;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -30957,7 +31030,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getEventMask()
 	 * @generated
 	 */
-	int EVENT_MASK = 312;
+	int EVENT_MASK = 313;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -31003,7 +31076,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getOsEvent()
 	 * @generated
 	 */
-	int OS_EVENT = 313;
+	int OS_EVENT = 314;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -31166,7 +31239,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getInterProcessTrigger()
 	 * @generated
 	 */
-	int INTER_PROCESS_TRIGGER = 314;
+	int INTER_PROCESS_TRIGGER = 315;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -31262,7 +31335,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getEnforcedMigration()
 	 * @generated
 	 */
-	int ENFORCED_MIGRATION = 315;
+	int ENFORCED_MIGRATION = 316;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -31349,7 +31422,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getSchedulePoint()
 	 * @generated
 	 */
-	int SCHEDULE_POINT = 316;
+	int SCHEDULE_POINT = 317;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -31427,7 +31500,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getTerminateProcess()
 	 * @generated
 	 */
-	int TERMINATE_PROCESS = 317;
+	int TERMINATE_PROCESS = 318;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -31514,7 +31587,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getTask()
 	 * @generated
 	 */
-	int TASK = 318;
+	int TASK = 319;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -31723,7 +31796,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getISR()
 	 * @generated
 	 */
-	int ISR = 319;
+	int ISR = 320;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -31923,7 +31996,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getProcessPrototype()
 	 * @generated
 	 */
-	int PROCESS_PROTOTYPE = 320;
+	int PROCESS_PROTOTYPE = 321;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -32167,7 +32240,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getChainedProcessPrototype()
 	 * @generated
 	 */
-	int CHAINED_PROCESS_PROTOTYPE = 321;
+	int CHAINED_PROCESS_PROTOTYPE = 322;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -32231,7 +32304,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getGeneralPrecedence()
 	 * @generated
 	 */
-	int GENERAL_PRECEDENCE = 322;
+	int GENERAL_PRECEDENCE = 323;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -32286,7 +32359,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getAccessPrecedenceSpec()
 	 * @generated
 	 */
-	int ACCESS_PRECEDENCE_SPEC = 323;
+	int ACCESS_PRECEDENCE_SPEC = 324;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -32359,7 +32432,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getOrderPrecedenceSpec()
 	 * @generated
 	 */
-	int ORDER_PRECEDENCE_SPEC = 324;
+	int ORDER_PRECEDENCE_SPEC = 325;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -32423,7 +32496,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getIDependsOn()
 	 * @generated
 	 */
-	int IDEPENDS_ON = 325;
+	int IDEPENDS_ON = 326;
 
 	/**
 	 * The feature id for the '<em><b>Depends On</b></em>' containment reference.
@@ -32460,7 +32533,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getDataDependency()
 	 * @generated
 	 */
-	int DATA_DEPENDENCY = 326;
+	int DATA_DEPENDENCY = 327;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -32533,7 +32606,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getRunnableParameter()
 	 * @generated
 	 */
-	int RUNNABLE_PARAMETER = 327;
+	int RUNNABLE_PARAMETER = 328;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -32714,7 +32787,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getRunnable()
 	 * @generated
 	 */
-	int RUNNABLE = 328;
+	int RUNNABLE = 329;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -32995,7 +33068,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getLabel()
 	 * @generated
 	 */
-	int LABEL = 329;
+	int LABEL = 330;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -33248,7 +33321,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getChannel()
 	 * @generated
 	 */
-	int CHANNEL = 330;
+	int CHANNEL = 331;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -33465,7 +33538,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getModeLabel()
 	 * @generated
 	 */
-	int MODE_LABEL = 331;
+	int MODE_LABEL = 332;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -33673,7 +33746,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getSection()
 	 * @generated
 	 */
-	int SECTION = 332;
+	int SECTION = 333;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -33836,7 +33909,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getComputationItem()
 	 * @generated
 	 */
-	int COMPUTATION_ITEM = 333;
+	int COMPUTATION_ITEM = 334;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -33914,7 +33987,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getExecutionNeed()
 	 * @generated
 	 */
-	int EXECUTION_NEED = 334;
+	int EXECUTION_NEED = 335;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -34001,7 +34074,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getNeedEntry()
 	 * @generated
 	 */
-	int NEED_ENTRY = 335;
+	int NEED_ENTRY = 336;
 
 	/**
 	 * The feature id for the '<em><b>Key</b></em>' attribute.
@@ -34047,7 +34120,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getTicks()
 	 * @generated
 	 */
-	int TICKS = 336;
+	int TICKS = 337;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -34143,7 +34216,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getTicksEntry()
 	 * @generated
 	 */
-	int TICKS_ENTRY = 337;
+	int TICKS_ENTRY = 338;
 
 	/**
 	 * The feature id for the '<em><b>Key</b></em>' reference.
@@ -34189,7 +34262,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getModeLabelAccess()
 	 * @generated
 	 */
-	int MODE_LABEL_ACCESS = 338;
+	int MODE_LABEL_ACCESS = 339;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -34312,7 +34385,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getLabelAccess()
 	 * @generated
 	 */
-	int LABEL_ACCESS = 339;
+	int LABEL_ACCESS = 340;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -34462,7 +34535,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getChannelAccess()
 	 * @generated
 	 */
-	int CHANNEL_ACCESS = 340;
+	int CHANNEL_ACCESS = 341;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -34567,7 +34640,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getChannelSend()
 	 * @generated
 	 */
-	int CHANNEL_SEND = 341;
+	int CHANNEL_SEND = 342;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -34672,7 +34745,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getChannelReceive()
 	 * @generated
 	 */
-	int CHANNEL_RECEIVE = 342;
+	int CHANNEL_RECEIVE = 343;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -34813,7 +34886,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getSemaphoreAccess()
 	 * @generated
 	 */
-	int SEMAPHORE_ACCESS = 343;
+	int SEMAPHORE_ACCESS = 344;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -34918,7 +34991,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getSenderReceiverCommunication()
 	 * @generated
 	 */
-	int SENDER_RECEIVER_COMMUNICATION = 344;
+	int SENDER_RECEIVER_COMMUNICATION = 345;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -35023,7 +35096,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getSenderReceiverRead()
 	 * @generated
 	 */
-	int SENDER_RECEIVER_READ = 345;
+	int SENDER_RECEIVER_READ = 346;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -35128,7 +35201,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getSenderReceiverWrite()
 	 * @generated
 	 */
-	int SENDER_RECEIVER_WRITE = 346;
+	int SENDER_RECEIVER_WRITE = 347;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -35242,7 +35315,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getServerCall()
 	 * @generated
 	 */
-	int SERVER_CALL = 347;
+	int SERVER_CALL = 348;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -35338,7 +35411,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getSynchronousServerCall()
 	 * @generated
 	 */
-	int SYNCHRONOUS_SERVER_CALL = 348;
+	int SYNCHRONOUS_SERVER_CALL = 349;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -35443,7 +35516,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getAsynchronousServerCall()
 	 * @generated
 	 */
-	int ASYNCHRONOUS_SERVER_CALL = 349;
+	int ASYNCHRONOUS_SERVER_CALL = 350;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -35548,7 +35621,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getGetResultServerCall()
 	 * @generated
 	 */
-	int GET_RESULT_SERVER_CALL = 350;
+	int GET_RESULT_SERVER_CALL = 351;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -35653,7 +35726,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getGroup()
 	 * @generated
 	 */
-	int GROUP = 351;
+	int GROUP = 352;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -35831,7 +35904,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getCallArgument()
 	 * @generated
 	 */
-	int CALL_ARGUMENT = 352;
+	int CALL_ARGUMENT = 353;
 
 	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -35994,7 +36067,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getRunnableCall()
 	 * @generated
 	 */
-	int RUNNABLE_CALL = 353;
+	int RUNNABLE_CALL = 354;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -36117,7 +36190,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getCustomEventTrigger()
 	 * @generated
 	 */
-	int CUSTOM_EVENT_TRIGGER = 354;
+	int CUSTOM_EVENT_TRIGGER = 355;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -36204,7 +36277,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getDataType()
 	 * @generated
 	 */
-	int DATA_TYPE = 355;
+	int DATA_TYPE = 356;
 
 	/**
 	 * The number of structural features of the '<em>Data Type</em>' class.
@@ -36232,7 +36305,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getCompoundType()
 	 * @generated
 	 */
-	int COMPOUND_TYPE = 356;
+	int COMPOUND_TYPE = 357;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -36269,7 +36342,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getStruct()
 	 * @generated
 	 */
-	int STRUCT = 357;
+	int STRUCT = 358;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -36324,7 +36397,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getStructEntry()
 	 * @generated
 	 */
-	int STRUCT_ENTRY = 358;
+	int STRUCT_ENTRY = 359;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -36451,7 +36524,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getArray()
 	 * @generated
 	 */
-	int ARRAY = 359;
+	int ARRAY = 360;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -36506,7 +36579,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getPointer()
 	 * @generated
 	 */
-	int POINTER = 360;
+	int POINTER = 361;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -36552,7 +36625,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getTypeRef()
 	 * @generated
 	 */
-	int TYPE_REF = 361;
+	int TYPE_REF = 362;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -36598,7 +36671,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getAlias()
 	 * @generated
 	 */
-	int ALIAS = 362;
+	int ALIAS = 363;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -36653,7 +36726,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getTypeDefinition()
 	 * @generated
 	 */
-	int TYPE_DEFINITION = 363;
+	int TYPE_DEFINITION = 364;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -36807,7 +36880,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getDataTypeDefinition()
 	 * @generated
 	 */
-	int DATA_TYPE_DEFINITION = 364;
+	int DATA_TYPE_DEFINITION = 365;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -36970,7 +37043,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getBaseTypeDefinition()
 	 * @generated
 	 */
-	int BASE_TYPE_DEFINITION = 365;
+	int BASE_TYPE_DEFINITION = 366;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -37133,7 +37206,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getActivation()
 	 * @generated
 	 */
-	int ACTIVATION = 366;
+	int ACTIVATION = 367;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -37278,7 +37351,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getPeriodicActivation()
 	 * @generated
 	 */
-	int PERIODIC_ACTIVATION = 367;
+	int PERIODIC_ACTIVATION = 368;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -37459,7 +37532,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getVariableRateActivation()
 	 * @generated
 	 */
-	int VARIABLE_RATE_ACTIVATION = 368;
+	int VARIABLE_RATE_ACTIVATION = 369;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -37631,7 +37704,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getSporadicActivation()
 	 * @generated
 	 */
-	int SPORADIC_ACTIVATION = 369;
+	int SPORADIC_ACTIVATION = 370;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -37794,7 +37867,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getSingleActivation()
 	 * @generated
 	 */
-	int SINGLE_ACTIVATION = 370;
+	int SINGLE_ACTIVATION = 371;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -37957,7 +38030,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getEventActivation()
 	 * @generated
 	 */
-	int EVENT_ACTIVATION = 371;
+	int EVENT_ACTIVATION = 372;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -38120,7 +38193,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getCustomActivation()
 	 * @generated
 	 */
-	int CUSTOM_ACTIVATION = 372;
+	int CUSTOM_ACTIVATION = 373;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -38274,7 +38347,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getLabelAccessStatistic()
 	 * @generated
 	 */
-	int LABEL_ACCESS_STATISTIC = 373;
+	int LABEL_ACCESS_STATISTIC = 374;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -38329,7 +38402,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getRunEntityCallStatistic()
 	 * @generated
 	 */
-	int RUN_ENTITY_CALL_STATISTIC = 374;
+	int RUN_ENTITY_CALL_STATISTIC = 375;
 
 	/**
 	 * The feature id for the '<em><b>Custom Properties</b></em>' map.
@@ -38375,7 +38448,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getRelationalOperator()
 	 * @generated
 	 */
-	int RELATIONAL_OPERATOR = 375;
+	int RELATIONAL_OPERATOR = 376;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.TimeUnit <em>Time Unit</em>}' enum.
@@ -38385,7 +38458,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getTimeUnit()
 	 * @generated
 	 */
-	int TIME_UNIT = 376;
+	int TIME_UNIT = 377;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.FrequencyUnit <em>Frequency Unit</em>}' enum.
@@ -38395,7 +38468,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getFrequencyUnit()
 	 * @generated
 	 */
-	int FREQUENCY_UNIT = 377;
+	int FREQUENCY_UNIT = 378;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.VoltageUnit <em>Voltage Unit</em>}' enum.
@@ -38405,7 +38478,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getVoltageUnit()
 	 * @generated
 	 */
-	int VOLTAGE_UNIT = 378;
+	int VOLTAGE_UNIT = 379;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.DataSizeUnit <em>Data Size Unit</em>}' enum.
@@ -38415,7 +38488,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getDataSizeUnit()
 	 * @generated
 	 */
-	int DATA_SIZE_UNIT = 379;
+	int DATA_SIZE_UNIT = 380;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.DataRateUnit <em>Data Rate Unit</em>}' enum.
@@ -38425,7 +38498,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getDataRateUnit()
 	 * @generated
 	 */
-	int DATA_RATE_UNIT = 380;
+	int DATA_RATE_UNIT = 381;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.SamplingType <em>Sampling Type</em>}' enum.
@@ -38435,7 +38508,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getSamplingType()
 	 * @generated
 	 */
-	int SAMPLING_TYPE = 381;
+	int SAMPLING_TYPE = 382;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.InterfaceKind <em>Interface Kind</em>}' enum.
@@ -38445,7 +38518,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getInterfaceKind()
 	 * @generated
 	 */
-	int INTERFACE_KIND = 382;
+	int INTERFACE_KIND = 383;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.RunnableOrderType <em>Runnable Order Type</em>}' enum.
@@ -38455,7 +38528,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getRunnableOrderType()
 	 * @generated
 	 */
-	int RUNNABLE_ORDER_TYPE = 383;
+	int RUNNABLE_ORDER_TYPE = 384;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.EventChainItemType <em>Event Chain Item Type</em>}' enum.
@@ -38465,7 +38538,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getEventChainItemType()
 	 * @generated
 	 */
-	int EVENT_CHAIN_ITEM_TYPE = 384;
+	int EVENT_CHAIN_ITEM_TYPE = 385;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.SynchronizationType <em>Synchronization Type</em>}' enum.
@@ -38475,7 +38548,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getSynchronizationType()
 	 * @generated
 	 */
-	int SYNCHRONIZATION_TYPE = 385;
+	int SYNCHRONIZATION_TYPE = 386;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.MappingType <em>Mapping Type</em>}' enum.
@@ -38485,7 +38558,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getMappingType()
 	 * @generated
 	 */
-	int MAPPING_TYPE = 386;
+	int MAPPING_TYPE = 387;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.LatencyType <em>Latency Type</em>}' enum.
@@ -38495,7 +38568,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getLatencyType()
 	 * @generated
 	 */
-	int LATENCY_TYPE = 387;
+	int LATENCY_TYPE = 388;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.Severity <em>Severity</em>}' enum.
@@ -38505,7 +38578,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getSeverity()
 	 * @generated
 	 */
-	int SEVERITY = 388;
+	int SEVERITY = 389;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.LimitType <em>Limit Type</em>}' enum.
@@ -38515,7 +38588,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getLimitType()
 	 * @generated
 	 */
-	int LIMIT_TYPE = 389;
+	int LIMIT_TYPE = 390;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.TimeMetric <em>Time Metric</em>}' enum.
@@ -38525,7 +38598,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getTimeMetric()
 	 * @generated
 	 */
-	int TIME_METRIC = 390;
+	int TIME_METRIC = 391;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.CountMetric <em>Count Metric</em>}' enum.
@@ -38535,7 +38608,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getCountMetric()
 	 * @generated
 	 */
-	int COUNT_METRIC = 391;
+	int COUNT_METRIC = 392;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.PercentageMetric <em>Percentage Metric</em>}' enum.
@@ -38545,7 +38618,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getPercentageMetric()
 	 * @generated
 	 */
-	int PERCENTAGE_METRIC = 392;
+	int PERCENTAGE_METRIC = 393;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.CPUPercentageMetric <em>CPU Percentage Metric</em>}' enum.
@@ -38555,7 +38628,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getCPUPercentageMetric()
 	 * @generated
 	 */
-	int CPU_PERCENTAGE_METRIC = 393;
+	int CPU_PERCENTAGE_METRIC = 394;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.FrequencyMetric <em>Frequency Metric</em>}' enum.
@@ -38565,7 +38638,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getFrequencyMetric()
 	 * @generated
 	 */
-	int FREQUENCY_METRIC = 394;
+	int FREQUENCY_METRIC = 395;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.CoherencyDirection <em>Coherency Direction</em>}' enum.
@@ -38575,7 +38648,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getCoherencyDirection()
 	 * @generated
 	 */
-	int COHERENCY_DIRECTION = 395;
+	int COHERENCY_DIRECTION = 396;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.ProcessEventType <em>Process Event Type</em>}' enum.
@@ -38585,7 +38658,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getProcessEventType()
 	 * @generated
 	 */
-	int PROCESS_EVENT_TYPE = 396;
+	int PROCESS_EVENT_TYPE = 397;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.RunnableEventType <em>Runnable Event Type</em>}' enum.
@@ -38595,7 +38668,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getRunnableEventType()
 	 * @generated
 	 */
-	int RUNNABLE_EVENT_TYPE = 397;
+	int RUNNABLE_EVENT_TYPE = 398;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.LabelEventType <em>Label Event Type</em>}' enum.
@@ -38605,7 +38678,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getLabelEventType()
 	 * @generated
 	 */
-	int LABEL_EVENT_TYPE = 398;
+	int LABEL_EVENT_TYPE = 399;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.ChannelEventType <em>Channel Event Type</em>}' enum.
@@ -38615,7 +38688,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getChannelEventType()
 	 * @generated
 	 */
-	int CHANNEL_EVENT_TYPE = 399;
+	int CHANNEL_EVENT_TYPE = 400;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.SemaphoreEventType <em>Semaphore Event Type</em>}' enum.
@@ -38625,7 +38698,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getSemaphoreEventType()
 	 * @generated
 	 */
-	int SEMAPHORE_EVENT_TYPE = 400;
+	int SEMAPHORE_EVENT_TYPE = 401;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.ComponentEventType <em>Component Event Type</em>}' enum.
@@ -38635,7 +38708,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getComponentEventType()
 	 * @generated
 	 */
-	int COMPONENT_EVENT_TYPE = 401;
+	int COMPONENT_EVENT_TYPE = 402;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.MemoryType <em>Memory Type</em>}' enum.
@@ -38645,7 +38718,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getMemoryType()
 	 * @generated
 	 */
-	int MEMORY_TYPE = 402;
+	int MEMORY_TYPE = 403;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.StructureType <em>Structure Type</em>}' enum.
@@ -38655,7 +38728,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getStructureType()
 	 * @generated
 	 */
-	int STRUCTURE_TYPE = 403;
+	int STRUCTURE_TYPE = 404;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.CacheType <em>Cache Type</em>}' enum.
@@ -38665,7 +38738,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getCacheType()
 	 * @generated
 	 */
-	int CACHE_TYPE = 404;
+	int CACHE_TYPE = 405;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.PortType <em>Port Type</em>}' enum.
@@ -38675,7 +38748,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getPortType()
 	 * @generated
 	 */
-	int PORT_TYPE = 405;
+	int PORT_TYPE = 406;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.SchedPolicy <em>Sched Policy</em>}' enum.
@@ -38685,7 +38758,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getSchedPolicy()
 	 * @generated
 	 */
-	int SCHED_POLICY = 406;
+	int SCHED_POLICY = 407;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.WriteStrategy <em>Write Strategy</em>}' enum.
@@ -38695,7 +38768,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getWriteStrategy()
 	 * @generated
 	 */
-	int WRITE_STRATEGY = 407;
+	int WRITE_STRATEGY = 408;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.PuType <em>Pu Type</em>}' enum.
@@ -38705,7 +38778,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getPuType()
 	 * @generated
 	 */
-	int PU_TYPE = 408;
+	int PU_TYPE = 409;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.PortInterface <em>Port Interface</em>}' enum.
@@ -38715,7 +38788,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getPortInterface()
 	 * @generated
 	 */
-	int PORT_INTERFACE = 409;
+	int PORT_INTERFACE = 410;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.HwFeatureType <em>Hw Feature Type</em>}' enum.
@@ -38725,7 +38798,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getHwFeatureType()
 	 * @generated
 	 */
-	int HW_FEATURE_TYPE = 410;
+	int HW_FEATURE_TYPE = 411;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.MemoryAddressMappingType <em>Memory Address Mapping Type</em>}' enum.
@@ -38735,7 +38808,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getMemoryAddressMappingType()
 	 * @generated
 	 */
-	int MEMORY_ADDRESS_MAPPING_TYPE = 411;
+	int MEMORY_ADDRESS_MAPPING_TYPE = 412;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.OsDataConsistencyMode <em>Os Data Consistency Mode</em>}' enum.
@@ -38745,7 +38818,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getOsDataConsistencyMode()
 	 * @generated
 	 */
-	int OS_DATA_CONSISTENCY_MODE = 412;
+	int OS_DATA_CONSISTENCY_MODE = 413;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.AccessMultiplicity <em>Access Multiplicity</em>}' enum.
@@ -38755,7 +38828,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getAccessMultiplicity()
 	 * @generated
 	 */
-	int ACCESS_MULTIPLICITY = 413;
+	int ACCESS_MULTIPLICITY = 414;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.DataStabilityLevel <em>Data Stability Level</em>}' enum.
@@ -38765,7 +38838,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getDataStabilityLevel()
 	 * @generated
 	 */
-	int DATA_STABILITY_LEVEL = 414;
+	int DATA_STABILITY_LEVEL = 415;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.SemaphoreType <em>Semaphore Type</em>}' enum.
@@ -38775,7 +38848,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getSemaphoreType()
 	 * @generated
 	 */
-	int SEMAPHORE_TYPE = 415;
+	int SEMAPHORE_TYPE = 416;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.Condition <em>Condition</em>}' enum.
@@ -38785,7 +38858,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getCondition()
 	 * @generated
 	 */
-	int CONDITION = 416;
+	int CONDITION = 417;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.GroupingType <em>Grouping Type</em>}' enum.
@@ -38795,7 +38868,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getGroupingType()
 	 * @generated
 	 */
-	int GROUPING_TYPE = 417;
+	int GROUPING_TYPE = 418;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.CurveType <em>Curve Type</em>}' enum.
@@ -38805,7 +38878,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getCurveType()
 	 * @generated
 	 */
-	int CURVE_TYPE = 418;
+	int CURVE_TYPE = 419;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.WaitEventType <em>Wait Event Type</em>}' enum.
@@ -38815,7 +38888,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getWaitEventType()
 	 * @generated
 	 */
-	int WAIT_EVENT_TYPE = 419;
+	int WAIT_EVENT_TYPE = 420;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.WaitingBehaviour <em>Waiting Behaviour</em>}' enum.
@@ -38825,7 +38898,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getWaitingBehaviour()
 	 * @generated
 	 */
-	int WAITING_BEHAVIOUR = 420;
+	int WAITING_BEHAVIOUR = 421;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.ISRCategory <em>ISR Category</em>}' enum.
@@ -38835,7 +38908,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getISRCategory()
 	 * @generated
 	 */
-	int ISR_CATEGORY = 421;
+	int ISR_CATEGORY = 422;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.AccessPrecedenceType <em>Access Precedence Type</em>}' enum.
@@ -38845,7 +38918,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getAccessPrecedenceType()
 	 * @generated
 	 */
-	int ACCESS_PRECEDENCE_TYPE = 422;
+	int ACCESS_PRECEDENCE_TYPE = 423;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.OrderType <em>Order Type</em>}' enum.
@@ -38855,7 +38928,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getOrderType()
 	 * @generated
 	 */
-	int ORDER_TYPE = 423;
+	int ORDER_TYPE = 424;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.DirectionType <em>Direction Type</em>}' enum.
@@ -38865,7 +38938,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getDirectionType()
 	 * @generated
 	 */
-	int DIRECTION_TYPE = 424;
+	int DIRECTION_TYPE = 425;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.LabelDataStability <em>Label Data Stability</em>}' enum.
@@ -38875,7 +38948,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getLabelDataStability()
 	 * @generated
 	 */
-	int LABEL_DATA_STABILITY = 425;
+	int LABEL_DATA_STABILITY = 426;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.ModeLabelAccessEnum <em>Mode Label Access Enum</em>}' enum.
@@ -38885,7 +38958,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getModeLabelAccessEnum()
 	 * @generated
 	 */
-	int MODE_LABEL_ACCESS_ENUM = 426;
+	int MODE_LABEL_ACCESS_ENUM = 427;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.ReceiveOperation <em>Receive Operation</em>}' enum.
@@ -38895,7 +38968,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getReceiveOperation()
 	 * @generated
 	 */
-	int RECEIVE_OPERATION = 427;
+	int RECEIVE_OPERATION = 428;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.LabelAccessDataStability <em>Label Access Data Stability</em>}' enum.
@@ -38905,7 +38978,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getLabelAccessDataStability()
 	 * @generated
 	 */
-	int LABEL_ACCESS_DATA_STABILITY = 428;
+	int LABEL_ACCESS_DATA_STABILITY = 429;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.LabelAccessEnum <em>Label Access Enum</em>}' enum.
@@ -38915,7 +38988,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getLabelAccessEnum()
 	 * @generated
 	 */
-	int LABEL_ACCESS_ENUM = 429;
+	int LABEL_ACCESS_ENUM = 430;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.LabelAccessImplementation <em>Label Access Implementation</em>}' enum.
@@ -38925,7 +38998,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getLabelAccessImplementation()
 	 * @generated
 	 */
-	int LABEL_ACCESS_IMPLEMENTATION = 430;
+	int LABEL_ACCESS_IMPLEMENTATION = 431;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.SemaphoreAccessEnum <em>Semaphore Access Enum</em>}' enum.
@@ -38935,7 +39008,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getSemaphoreAccessEnum()
 	 * @generated
 	 */
-	int SEMAPHORE_ACCESS_ENUM = 431;
+	int SEMAPHORE_ACCESS_ENUM = 432;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.BlockingType <em>Blocking Type</em>}' enum.
@@ -38945,7 +39018,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getBlockingType()
 	 * @generated
 	 */
-	int BLOCKING_TYPE = 432;
+	int BLOCKING_TYPE = 433;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.Preemption <em>Preemption</em>}' enum.
@@ -38955,7 +39028,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getPreemption()
 	 * @generated
 	 */
-	int PREEMPTION = 433;
+	int PREEMPTION = 434;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.ConcurrencyType <em>Concurrency Type</em>}' enum.
@@ -38965,7 +39038,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getConcurrencyType()
 	 * @generated
 	 */
-	int CONCURRENCY_TYPE = 434;
+	int CONCURRENCY_TYPE = 435;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.model.ASILType <em>ASIL Type</em>}' enum.
@@ -38975,7 +39048,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getASILType()
 	 * @generated
 	 */
-	int ASIL_TYPE = 435;
+	int ASIL_TYPE = 436;
 
 	/**
 	 * The meta object id for the '<em>Address</em>' data type.
@@ -38984,7 +39057,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getAddress()
 	 * @generated
 	 */
-	int ADDRESS = 436;
+	int ADDRESS = 437;
 
 	/**
 	 * The meta object id for the '<em>Positive Int</em>' data type.
@@ -38993,7 +39066,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getPositiveInt()
 	 * @generated
 	 */
-	int POSITIVE_INT = 437;
+	int POSITIVE_INT = 438;
 
 	/**
 	 * The meta object id for the '<em>Positive Long</em>' data type.
@@ -39002,7 +39075,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getPositiveLong()
 	 * @generated
 	 */
-	int POSITIVE_LONG = 438;
+	int POSITIVE_LONG = 439;
 
 	/**
 	 * The meta object id for the '<em>Positive Double</em>' data type.
@@ -39011,7 +39084,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getPositiveDouble()
 	 * @generated
 	 */
-	int POSITIVE_DOUBLE = 439;
+	int POSITIVE_DOUBLE = 440;
 
 	/**
 	 * The meta object id for the '<em>Non Negative Int</em>' data type.
@@ -39020,7 +39093,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getNonNegativeInt()
 	 * @generated
 	 */
-	int NON_NEGATIVE_INT = 440;
+	int NON_NEGATIVE_INT = 441;
 
 	/**
 	 * The meta object id for the '<em>Non Negative Long</em>' data type.
@@ -39029,7 +39102,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getNonNegativeLong()
 	 * @generated
 	 */
-	int NON_NEGATIVE_LONG = 441;
+	int NON_NEGATIVE_LONG = 442;
 
 	/**
 	 * The meta object id for the '<em>Non Negative Double</em>' data type.
@@ -39038,7 +39111,7 @@
 	 * @see org.eclipse.app4mc.amalthea.model.impl.AmaltheaPackageImpl#getNonNegativeDouble()
 	 * @generated
 	 */
-	int NON_NEGATIVE_DOUBLE = 442;
+	int NON_NEGATIVE_DOUBLE = 443;
 
 
 	/**
@@ -47871,6 +47944,48 @@
 	EOperation getModeLabelCondition__IsSatisfiedBy__EMap();
 
 	/**
+	 * Returns the meta object for class '{@link org.eclipse.app4mc.amalthea.model.ChannelFillCondition <em>Channel Fill Condition</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Channel Fill Condition</em>'.
+	 * @see org.eclipse.app4mc.amalthea.model.ChannelFillCondition
+	 * @generated
+	 */
+	EClass getChannelFillCondition();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.app4mc.amalthea.model.ChannelFillCondition#getChannel <em>Channel</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Channel</em>'.
+	 * @see org.eclipse.app4mc.amalthea.model.ChannelFillCondition#getChannel()
+	 * @see #getChannelFillCondition()
+	 * @generated
+	 */
+	EReference getChannelFillCondition_Channel();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.app4mc.amalthea.model.ChannelFillCondition#getFillLevel <em>Fill Level</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Fill Level</em>'.
+	 * @see org.eclipse.app4mc.amalthea.model.ChannelFillCondition#getFillLevel()
+	 * @see #getChannelFillCondition()
+	 * @generated
+	 */
+	EAttribute getChannelFillCondition_FillLevel();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.app4mc.amalthea.model.ChannelFillCondition#isSatisfiedBy(org.eclipse.emf.common.util.EMap) <em>Is Satisfied By</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Is Satisfied By</em>' operation.
+	 * @see org.eclipse.app4mc.amalthea.model.ChannelFillCondition#isSatisfiedBy(org.eclipse.emf.common.util.EMap)
+	 * @generated
+	 */
+	EOperation getChannelFillCondition__IsSatisfiedBy__EMap();
+
+	/**
 	 * Returns the meta object for class '{@link org.eclipse.app4mc.amalthea.model.ModeConditionConjunction <em>Mode Condition Conjunction</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/ChannelFillCondition.java b/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/ChannelFillCondition.java
new file mode 100644
index 0000000..b62726d
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/ChannelFillCondition.java
@@ -0,0 +1,95 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2015-2021 Robert Bosch GmbH and others.
+ * 
+ *  This program and the accompanying materials are made
+ *  available under the terms of the Eclipse Public License 2.0
+ *  which is available at https://www.eclipse.org/legal/epl-2.0/
+ * 
+ *  SPDX-License-Identifier: EPL-2.0
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.model;
+
+import org.eclipse.emf.common.util.EMap;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Channel Fill Condition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Experimental implementation of a ChannelFillCondition.
+ * Will not be part of an official release!
+ * Possible future implementation will not extend ModeCondition.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.model.ChannelFillCondition#getChannel <em>Channel</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.model.ChannelFillCondition#getFillLevel <em>Fill Level</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.app4mc.amalthea.model.AmaltheaPackage#getChannelFillCondition()
+ * @model
+ * @generated
+ */
+public interface ChannelFillCondition extends ModeCondition {
+	/**
+	 * Returns the value of the '<em><b>Channel</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Channel</em>' reference.
+	 * @see #setChannel(Channel)
+	 * @see org.eclipse.app4mc.amalthea.model.AmaltheaPackage#getChannelFillCondition_Channel()
+	 * @model required="true"
+	 * @generated
+	 */
+	Channel getChannel();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.model.ChannelFillCondition#getChannel <em>Channel</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Channel</em>' reference.
+	 * @see #getChannel()
+	 * @generated
+	 */
+	void setChannel(Channel value);
+
+	/**
+	 * Returns the value of the '<em><b>Fill Level</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Fill Level</em>' attribute.
+	 * @see #setFillLevel(int)
+	 * @see org.eclipse.app4mc.amalthea.model.AmaltheaPackage#getChannelFillCondition_FillLevel()
+	 * @model unique="false" dataType="org.eclipse.app4mc.amalthea.model.NonNegativeInt"
+	 * @generated
+	 */
+	int getFillLevel();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.model.ChannelFillCondition#getFillLevel <em>Fill Level</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Fill Level</em>' attribute.
+	 * @see #getFillLevel()
+	 * @generated
+	 */
+	void setFillLevel(int value);
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model unique="false" contextMapType="org.eclipse.app4mc.amalthea.model.ModeValueMapEntry&lt;org.eclipse.app4mc.amalthea.model.ModeLabel, org.eclipse.emf.ecore.EString&gt;"
+	 * @generated
+	 */
+	boolean isSatisfiedBy(EMap<ModeLabel, String> context);
+
+} // ChannelFillCondition
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/impl/AmaltheaFactoryImpl.java b/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/impl/AmaltheaFactoryImpl.java
index f059a38..cfc6531 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/impl/AmaltheaFactoryImpl.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/impl/AmaltheaFactoryImpl.java
@@ -45,6 +45,7 @@
 import org.eclipse.app4mc.amalthea.model.Channel;
 import org.eclipse.app4mc.amalthea.model.ChannelEvent;
 import org.eclipse.app4mc.amalthea.model.ChannelEventType;
+import org.eclipse.app4mc.amalthea.model.ChannelFillCondition;
 import org.eclipse.app4mc.amalthea.model.ChannelReceive;
 import org.eclipse.app4mc.amalthea.model.ChannelSend;
 import org.eclipse.app4mc.amalthea.model.ClearEvent;
@@ -603,6 +604,7 @@
 			case AmaltheaPackage.MODE_CONDITION_DISJUNCTION: return createModeConditionDisjunction();
 			case AmaltheaPackage.MODE_VALUE_CONDITION: return createModeValueCondition();
 			case AmaltheaPackage.MODE_LABEL_CONDITION: return createModeLabelCondition();
+			case AmaltheaPackage.CHANNEL_FILL_CONDITION: return createChannelFillCondition();
 			case AmaltheaPackage.MODE_CONDITION_CONJUNCTION: return createModeConditionConjunction();
 			case AmaltheaPackage.PERIODIC_STIMULUS: return createPeriodicStimulus();
 			case AmaltheaPackage.RELATIVE_PERIODIC_STIMULUS: return createRelativePeriodicStimulus();
@@ -3148,6 +3150,17 @@
 	 * @generated
 	 */
 	@Override
+	public ChannelFillCondition createChannelFillCondition() {
+		ChannelFillConditionImpl channelFillCondition = new ChannelFillConditionImpl();
+		return channelFillCondition;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
 	public ModeConditionConjunction createModeConditionConjunction() {
 		ModeConditionConjunctionImpl modeConditionConjunction = new ModeConditionConjunctionImpl();
 		return modeConditionConjunction;
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/impl/AmaltheaPackageImpl.java b/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/impl/AmaltheaPackageImpl.java
index c2d7260..999f675 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/impl/AmaltheaPackageImpl.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/impl/AmaltheaPackageImpl.java
@@ -57,6 +57,7 @@
 import org.eclipse.app4mc.amalthea.model.ChannelAccess;
 import org.eclipse.app4mc.amalthea.model.ChannelEvent;
 import org.eclipse.app4mc.amalthea.model.ChannelEventType;
+import org.eclipse.app4mc.amalthea.model.ChannelFillCondition;
 import org.eclipse.app4mc.amalthea.model.ChannelReceive;
 import org.eclipse.app4mc.amalthea.model.ChannelSend;
 import org.eclipse.app4mc.amalthea.model.Classification;
@@ -2388,6 +2389,13 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	private EClass channelFillConditionEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	private EClass modeConditionConjunctionEClass = null;
 
 	/**
@@ -11999,6 +12007,46 @@
 	 * @generated
 	 */
 	@Override
+	public EClass getChannelFillCondition() {
+		return channelFillConditionEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getChannelFillCondition_Channel() {
+		return (EReference)channelFillConditionEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getChannelFillCondition_FillLevel() {
+		return (EAttribute)channelFillConditionEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EOperation getChannelFillCondition__IsSatisfiedBy__EMap() {
+		return channelFillConditionEClass.getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
 	public EClass getModeConditionConjunction() {
 		return modeConditionConjunctionEClass;
 	}
@@ -17050,6 +17098,11 @@
 		createEReference(modeLabelConditionEClass, MODE_LABEL_CONDITION__LABEL2);
 		createEOperation(modeLabelConditionEClass, MODE_LABEL_CONDITION___IS_SATISFIED_BY__EMAP);
 
+		channelFillConditionEClass = createEClass(CHANNEL_FILL_CONDITION);
+		createEReference(channelFillConditionEClass, CHANNEL_FILL_CONDITION__CHANNEL);
+		createEAttribute(channelFillConditionEClass, CHANNEL_FILL_CONDITION__FILL_LEVEL);
+		createEOperation(channelFillConditionEClass, CHANNEL_FILL_CONDITION___IS_SATISFIED_BY__EMAP);
+
 		modeConditionConjunctionEClass = createEClass(MODE_CONDITION_CONJUNCTION);
 		createEReference(modeConditionConjunctionEClass, MODE_CONDITION_CONJUNCTION__ENTRIES);
 		createEOperation(modeConditionConjunctionEClass, MODE_CONDITION_CONJUNCTION___IS_SATISFIED_BY__EMAP);
@@ -17881,6 +17934,7 @@
 		modeValueConditionEClass.getESuperTypes().add(this.getModeValue());
 		modeValueConditionEClass.getESuperTypes().add(this.getModeCondition());
 		modeLabelConditionEClass.getESuperTypes().add(this.getModeCondition());
+		channelFillConditionEClass.getESuperTypes().add(this.getModeCondition());
 		modeConditionConjunctionEClass.getESuperTypes().add(this.getModeConditionDisjunctionEntry());
 		periodicStimulusEClass.getESuperTypes().add(this.getStimulus());
 		periodicStimulusEClass.getESuperTypes().add(this.getFixedPeriodic());
@@ -19294,6 +19348,13 @@
 		op = initEOperation(getModeLabelCondition__IsSatisfiedBy__EMap(), theEcorePackage.getEBoolean(), "isSatisfiedBy", 0, 1, !IS_UNIQUE, IS_ORDERED);
 		addEParameter(op, this.getModeValueMapEntry(), "context", 0, -1, !IS_UNIQUE, IS_ORDERED);
 
+		initEClass(channelFillConditionEClass, ChannelFillCondition.class, "ChannelFillCondition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getChannelFillCondition_Channel(), this.getChannel(), null, "channel", null, 1, 1, ChannelFillCondition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getChannelFillCondition_FillLevel(), this.getNonNegativeInt(), "fillLevel", null, 0, 1, ChannelFillCondition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		op = initEOperation(getChannelFillCondition__IsSatisfiedBy__EMap(), theEcorePackage.getEBoolean(), "isSatisfiedBy", 0, 1, !IS_UNIQUE, IS_ORDERED);
+		addEParameter(op, this.getModeValueMapEntry(), "context", 0, -1, !IS_UNIQUE, IS_ORDERED);
+
 		initEClass(modeConditionConjunctionEClass, ModeConditionConjunction.class, "ModeConditionConjunction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEReference(getModeConditionConjunction_Entries(), this.getModeCondition(), null, "entries", null, 1, -1, ModeConditionConjunction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/impl/ChannelFillConditionImpl.java b/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/impl/ChannelFillConditionImpl.java
new file mode 100644
index 0000000..b9778b9
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/impl/ChannelFillConditionImpl.java
@@ -0,0 +1,328 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2015-2021 Robert Bosch GmbH and others.
+ * 
+ *  This program and the accompanying materials are made
+ *  available under the terms of the Eclipse Public License 2.0
+ *  which is available at https://www.eclipse.org/legal/epl-2.0/
+ * 
+ *  SPDX-License-Identifier: EPL-2.0
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.model.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.app4mc.amalthea.model.AmaltheaPackage;
+import org.eclipse.app4mc.amalthea.model.Channel;
+import org.eclipse.app4mc.amalthea.model.ChannelFillCondition;
+import org.eclipse.app4mc.amalthea.model.ModeLabel;
+import org.eclipse.app4mc.amalthea.model.RelationalOperator;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.EMap;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Channel Fill Condition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.model.impl.ChannelFillConditionImpl#getRelation <em>Relation</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.model.impl.ChannelFillConditionImpl#getChannel <em>Channel</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.model.impl.ChannelFillConditionImpl#getFillLevel <em>Fill Level</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ChannelFillConditionImpl extends BaseObjectImpl implements ChannelFillCondition {
+	/**
+	 * The default value of the '{@link #getRelation() <em>Relation</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRelation()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final RelationalOperator RELATION_EDEFAULT = RelationalOperator._UNDEFINED_;
+
+	/**
+	 * The cached value of the '{@link #getRelation() <em>Relation</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRelation()
+	 * @generated
+	 * @ordered
+	 */
+	protected RelationalOperator relation = RELATION_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getChannel() <em>Channel</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getChannel()
+	 * @generated
+	 * @ordered
+	 */
+	protected Channel channel;
+
+	/**
+	 * The default value of the '{@link #getFillLevel() <em>Fill Level</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFillLevel()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int FILL_LEVEL_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getFillLevel() <em>Fill Level</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFillLevel()
+	 * @generated
+	 * @ordered
+	 */
+	protected int fillLevel = FILL_LEVEL_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ChannelFillConditionImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return AmaltheaPackage.eINSTANCE.getChannelFillCondition();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public RelationalOperator getRelation() {
+		return relation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setRelation(RelationalOperator newRelation) {
+		RelationalOperator oldRelation = relation;
+		relation = newRelation == null ? RELATION_EDEFAULT : newRelation;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, AmaltheaPackage.CHANNEL_FILL_CONDITION__RELATION, oldRelation, relation));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Channel getChannel() {
+		if (channel != null && channel.eIsProxy()) {
+			InternalEObject oldChannel = (InternalEObject)channel;
+			channel = (Channel)eResolveProxy(oldChannel);
+			if (channel != oldChannel) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, AmaltheaPackage.CHANNEL_FILL_CONDITION__CHANNEL, oldChannel, channel));
+			}
+		}
+		return channel;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Channel basicGetChannel() {
+		return channel;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setChannel(Channel newChannel) {
+		Channel oldChannel = channel;
+		channel = newChannel;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, AmaltheaPackage.CHANNEL_FILL_CONDITION__CHANNEL, oldChannel, channel));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getFillLevel() {
+		return fillLevel;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setFillLevel(int newFillLevel) {
+		int oldFillLevel = fillLevel;
+		fillLevel = newFillLevel;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, AmaltheaPackage.CHANNEL_FILL_CONDITION__FILL_LEVEL, oldFillLevel, fillLevel));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isSatisfiedBy(final EMap<ModeLabel, String> context) {
+		return false;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case AmaltheaPackage.CHANNEL_FILL_CONDITION__RELATION:
+				return getRelation();
+			case AmaltheaPackage.CHANNEL_FILL_CONDITION__CHANNEL:
+				if (resolve) return getChannel();
+				return basicGetChannel();
+			case AmaltheaPackage.CHANNEL_FILL_CONDITION__FILL_LEVEL:
+				return getFillLevel();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case AmaltheaPackage.CHANNEL_FILL_CONDITION__RELATION:
+				setRelation((RelationalOperator)newValue);
+				return;
+			case AmaltheaPackage.CHANNEL_FILL_CONDITION__CHANNEL:
+				setChannel((Channel)newValue);
+				return;
+			case AmaltheaPackage.CHANNEL_FILL_CONDITION__FILL_LEVEL:
+				setFillLevel((Integer)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case AmaltheaPackage.CHANNEL_FILL_CONDITION__RELATION:
+				setRelation(RELATION_EDEFAULT);
+				return;
+			case AmaltheaPackage.CHANNEL_FILL_CONDITION__CHANNEL:
+				setChannel((Channel)null);
+				return;
+			case AmaltheaPackage.CHANNEL_FILL_CONDITION__FILL_LEVEL:
+				setFillLevel(FILL_LEVEL_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case AmaltheaPackage.CHANNEL_FILL_CONDITION__RELATION:
+				return relation != RELATION_EDEFAULT;
+			case AmaltheaPackage.CHANNEL_FILL_CONDITION__CHANNEL:
+				return channel != null;
+			case AmaltheaPackage.CHANNEL_FILL_CONDITION__FILL_LEVEL:
+				return fillLevel != FILL_LEVEL_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	@SuppressWarnings("unchecked")
+	public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+		switch (operationID) {
+			case AmaltheaPackage.CHANNEL_FILL_CONDITION___IS_SATISFIED_BY__EMAP:
+				return isSatisfiedBy((EMap<ModeLabel, String>)arguments.get(0));
+		}
+		return super.eInvoke(operationID, arguments);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (relation: ");
+		result.append(relation);
+		result.append(", fillLevel: ");
+		result.append(fillLevel);
+		result.append(')');
+		return result.toString();
+	}
+
+} //ChannelFillConditionImpl
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/util/AmaltheaAdapterFactory.java b/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/util/AmaltheaAdapterFactory.java
index 9109277..2a890c2 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/util/AmaltheaAdapterFactory.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/util/AmaltheaAdapterFactory.java
@@ -1177,6 +1177,10 @@
 				return createModeLabelConditionAdapter();
 			}
 			@Override
+			public Adapter caseChannelFillCondition(ChannelFillCondition object) {
+				return createChannelFillConditionAdapter();
+			}
+			@Override
 			public Adapter caseModeConditionConjunction(ModeConditionConjunction object) {
 				return createModeConditionConjunctionAdapter();
 			}
@@ -5438,6 +5442,20 @@
 	}
 
 	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.app4mc.amalthea.model.ChannelFillCondition <em>Channel Fill Condition</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.app4mc.amalthea.model.ChannelFillCondition
+	 * @generated
+	 */
+	public Adapter createChannelFillConditionAdapter() {
+		return null;
+	}
+
+	/**
 	 * Creates a new adapter for an object of class '{@link org.eclipse.app4mc.amalthea.model.ModeConditionConjunction <em>Mode Condition Conjunction</em>}'.
 	 * <!-- begin-user-doc -->
 	 * This default implementation returns null so that we can easily ignore cases;
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/util/AmaltheaSwitch.java b/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/util/AmaltheaSwitch.java
index ff801c0..1b26cb7 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/util/AmaltheaSwitch.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/util/AmaltheaSwitch.java
@@ -2578,6 +2578,16 @@
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
+			case AmaltheaPackage.CHANNEL_FILL_CONDITION: {
+				ChannelFillCondition channelFillCondition = (ChannelFillCondition)theEObject;
+				T result = caseChannelFillCondition(channelFillCondition);
+				if (result == null) result = caseModeCondition(channelFillCondition);
+				if (result == null) result = caseModeConditionDisjunctionEntry(channelFillCondition);
+				if (result == null) result = caseBaseObject(channelFillCondition);
+				if (result == null) result = caseIAnnotatable(channelFillCondition);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
 			case AmaltheaPackage.MODE_CONDITION_CONJUNCTION: {
 				ModeConditionConjunction modeConditionConjunction = (ModeConditionConjunction)theEObject;
 				T result = caseModeConditionConjunction(modeConditionConjunction);
@@ -7716,6 +7726,21 @@
 	}
 
 	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Channel Fill Condition</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Channel Fill Condition</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseChannelFillCondition(ChannelFillCondition object) {
+		return null;
+	}
+
+	/**
 	 * Returns the result of interpreting the object as an instance of '<em>Mode Condition Conjunction</em>'.
 	 * <!-- begin-user-doc -->
 	 * This implementation returns null;
diff --git a/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/util/AmaltheaValidator.java b/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/util/AmaltheaValidator.java
index 5167a2b..229e426 100644
--- a/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/util/AmaltheaValidator.java
+++ b/plugins/org.eclipse.app4mc.amalthea.model/xcore-gen/org/eclipse/app4mc/amalthea/model/util/AmaltheaValidator.java
@@ -734,6 +734,8 @@
 				return validateModeValueCondition((ModeValueCondition)value, diagnostics, context);
 			case AmaltheaPackage.MODE_LABEL_CONDITION:
 				return validateModeLabelCondition((ModeLabelCondition)value, diagnostics, context);
+			case AmaltheaPackage.CHANNEL_FILL_CONDITION:
+				return validateChannelFillCondition((ChannelFillCondition)value, diagnostics, context);
 			case AmaltheaPackage.MODE_CONDITION_CONJUNCTION:
 				return validateModeConditionConjunction((ModeConditionConjunction)value, diagnostics, context);
 			case AmaltheaPackage.FIXED_PERIODIC:
@@ -4809,6 +4811,15 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public boolean validateChannelFillCondition(ChannelFillCondition channelFillCondition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		return validate_EveryDefaultConstraint(channelFillCondition, diagnostics, context);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public boolean validateModeConditionConjunction(ModeConditionConjunction modeConditionConjunction, DiagnosticChain diagnostics, Map<Object, Object> context) {
 		return validate_EveryDefaultConstraint(modeConditionConjunction, diagnostics, context);
 	}