Generated files removed from tracking (.gitignore still needs to get updated)
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/AccessMethod.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/AccessMethod.java
deleted file mode 100644
index 68ed385..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/AccessMethod.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Access Method</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.resource.AccessMethod#getParameter <em>Parameter</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.resource.AccessMethod#getType <em>Type</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getAccessMethod()
- * @model
- * @generated
- */
-public interface AccessMethod extends EObject {
-	/**
-	 * Returns the value of the '<em><b>Parameter</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.sensinact.studio.resource.Parameter}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Parameter</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Parameter</em>' containment reference list.
-	 * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getAccessMethod_Parameter()
-	 * @model containment="true"
-	 * @generated
-	 */
-	EList<Parameter> getParameter();
-
-	/**
-	 * Returns the value of the '<em><b>Type</b></em>' attribute.
-	 * The literals are from the enumeration {@link org.eclipse.sensinact.studio.resource.AccessMethodType}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Type</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Type</em>' attribute.
-	 * @see org.eclipse.sensinact.studio.resource.AccessMethodType
-	 * @see #setType(AccessMethodType)
-	 * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getAccessMethod_Type()
-	 * @model
-	 * @generated
-	 */
-	AccessMethodType getType();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.sensinact.studio.resource.AccessMethod#getType <em>Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Type</em>' attribute.
-	 * @see org.eclipse.sensinact.studio.resource.AccessMethodType
-	 * @see #getType()
-	 * @generated
-	 */
-	void setType(AccessMethodType value);
-
-} // AccessMethod
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/AccessMethodType.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/AccessMethodType.java
deleted file mode 100644
index 14fe236..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/AccessMethodType.java
+++ /dev/null
@@ -1,301 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.Enumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>Access Method Type</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getAccessMethodType()
- * @model
- * @generated
- */
-public enum AccessMethodType implements Enumerator {
-	/**
-	 * The '<em><b>GET</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #GET_VALUE
-	 * @generated
-	 * @ordered
-	 */
-	GET(0, "GET", "GET"),
-
-	/**
-	 * The '<em><b>SET</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #SET_VALUE
-	 * @generated
-	 * @ordered
-	 */
-	SET(0, "SET", "SET"),
-
-	/**
-	 * The '<em><b>ACT</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #ACT_VALUE
-	 * @generated
-	 * @ordered
-	 */
-	ACT(0, "ACT", "ACT"),
-
-	/**
-	 * The '<em><b>SUBSCRIBE</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #SUBSCRIBE_VALUE
-	 * @generated
-	 * @ordered
-	 */
-	SUBSCRIBE(0, "SUBSCRIBE", "SUBSCRIBE"),
-
-	/**
-	 * The '<em><b>UNSUBSCRIBE</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #UNSUBSCRIBE_VALUE
-	 * @generated
-	 * @ordered
-	 */
-	UNSUBSCRIBE(0, "UNSUBSCRIBE", "UNSUBSCRIBE");
-
-	/**
-	 * The '<em><b>GET</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>GET</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #GET
-	 * @model
-	 * @generated
-	 * @ordered
-	 */
-	public static final int GET_VALUE = 0;
-
-	/**
-	 * The '<em><b>SET</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>SET</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #SET
-	 * @model
-	 * @generated
-	 * @ordered
-	 */
-	public static final int SET_VALUE = 0;
-
-	/**
-	 * The '<em><b>ACT</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>ACT</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #ACT
-	 * @model
-	 * @generated
-	 * @ordered
-	 */
-	public static final int ACT_VALUE = 0;
-
-	/**
-	 * The '<em><b>SUBSCRIBE</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>SUBSCRIBE</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #SUBSCRIBE
-	 * @model
-	 * @generated
-	 * @ordered
-	 */
-	public static final int SUBSCRIBE_VALUE = 0;
-
-	/**
-	 * The '<em><b>UNSUBSCRIBE</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>UNSUBSCRIBE</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #UNSUBSCRIBE
-	 * @model
-	 * @generated
-	 * @ordered
-	 */
-	public static final int UNSUBSCRIBE_VALUE = 0;
-
-	/**
-	 * An array of all the '<em><b>Access Method Type</b></em>' enumerators.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private static final AccessMethodType[] VALUES_ARRAY =
-		new AccessMethodType[] {
-			GET,
-			SET,
-			ACT,
-			SUBSCRIBE,
-			UNSUBSCRIBE,
-		};
-
-	/**
-	 * A public read-only list of all the '<em><b>Access Method Type</b></em>' enumerators.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static final List<AccessMethodType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
-	/**
-	 * Returns the '<em><b>Access Method Type</b></em>' literal with the specified literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param literal the literal.
-	 * @return the matching enumerator or <code>null</code>.
-	 * @generated
-	 */
-	public static AccessMethodType get(String literal) {
-		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
-			AccessMethodType result = VALUES_ARRAY[i];
-			if (result.toString().equals(literal)) {
-				return result;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the '<em><b>Access Method Type</b></em>' literal with the specified name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param name the name.
-	 * @return the matching enumerator or <code>null</code>.
-	 * @generated
-	 */
-	public static AccessMethodType getByName(String name) {
-		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
-			AccessMethodType result = VALUES_ARRAY[i];
-			if (result.getName().equals(name)) {
-				return result;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the '<em><b>Access Method Type</b></em>' literal with the specified integer value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the integer value.
-	 * @return the matching enumerator or <code>null</code>.
-	 * @generated
-	 */
-	public static AccessMethodType get(int value) {
-		switch (value) {
-			case GET_VALUE: return GET;
-		}
-		return null;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private final int value;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private final String name;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private final String literal;
-
-	/**
-	 * Only this class can construct instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private AccessMethodType(int value, String name, String literal) {
-		this.value = value;
-		this.name = name;
-		this.literal = literal;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getValue() {
-	  return value;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getName() {
-	  return name;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getLiteral() {
-	  return literal;
-	}
-
-	/**
-	 * Returns the literal value of the enumerator, which is its string representation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String toString() {
-		return literal;
-	}
-	
-} //AccessMethodType
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/Action.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/Action.java
deleted file mode 100644
index 947ccc8..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/Action.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource;
-
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Action</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.resource.Action#getState <em>State</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getAction()
- * @model
- * @generated
- */
-public interface Action extends Resource {
-	/**
-	 * Returns the value of the '<em><b>State</b></em>' reference list.
-	 * The list contents are of type {@link org.eclipse.sensinact.studio.resource.StateVariable}.
-	 * It is bidirectional and its opposite is '{@link org.eclipse.sensinact.studio.resource.StateVariable#getModifier <em>Modifier</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>State</em>' reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>State</em>' reference list.
-	 * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getAction_State()
-	 * @see org.eclipse.sensinact.studio.resource.StateVariable#getModifier
-	 * @model opposite="modifier"
-	 * @generated
-	 */
-	EList<StateVariable> getState();
-
-} // Action
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/Attribute.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/Attribute.java
deleted file mode 100644
index eaf0c4b..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/Attribute.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource;
-
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Attribute</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.resource.Attribute#getMetadata <em>Metadata</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getAttribute()
- * @model
- * @generated
- */
-public interface Attribute extends TypedElement {
-	/**
-	 * Returns the value of the '<em><b>Metadata</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.sensinact.studio.resource.Metadata}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Metadata</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Metadata</em>' containment reference list.
-	 * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getAttribute_Metadata()
-	 * @model containment="true"
-	 * @generated
-	 */
-	EList<Metadata> getMetadata();
-
-} // Attribute
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/Device.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/Device.java
deleted file mode 100644
index 5995552..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/Device.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource;
-
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Device</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.resource.Device#getFriendlyName <em>Friendly Name</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.resource.Device#getService <em>Service</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getDevice()
- * @model
- * @generated
- */
-public interface Device extends NamedElement {
-	/**
-	 * Returns the value of the '<em><b>Friendly Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Friendly Name</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Friendly Name</em>' attribute.
-	 * @see #setFriendlyName(String)
-	 * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getDevice_FriendlyName()
-	 * @model
-	 * @generated
-	 */
-	String getFriendlyName();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.sensinact.studio.resource.Device#getFriendlyName <em>Friendly Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Friendly Name</em>' attribute.
-	 * @see #getFriendlyName()
-	 * @generated
-	 */
-	void setFriendlyName(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Service</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.sensinact.studio.resource.Service}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Service</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Service</em>' containment reference list.
-	 * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getDevice_Service()
-	 * @model containment="true"
-	 * @generated
-	 */
-	EList<Service> getService();
-
-} // Device
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/Gateway.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/Gateway.java
deleted file mode 100644
index 0960650..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/Gateway.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource;
-
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Gateway</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.resource.Gateway#getDevice <em>Device</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getGateway()
- * @model
- * @generated
- */
-public interface Gateway extends NamedElement {
-	/**
-	 * Returns the value of the '<em><b>Device</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.sensinact.studio.resource.Device}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Device</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Device</em>' containment reference list.
-	 * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getGateway_Device()
-	 * @model containment="true"
-	 * @generated
-	 */
-	EList<Device> getDevice();
-
-} // Gateway
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/Metadata.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/Metadata.java
deleted file mode 100644
index 1eea029..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/Metadata.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Metadata</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getMetadata()
- * @model
- * @generated
- */
-public interface Metadata extends TypedElement {
-} // Metadata
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/NamedElement.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/NamedElement.java
deleted file mode 100644
index cfeae5b..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/NamedElement.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Named Element</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.resource.NamedElement#getName <em>Name</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getNamedElement()
- * @model
- * @generated
- */
-public interface NamedElement extends EObject {
-	/**
-	 * Returns the value of the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Name</em>' attribute.
-	 * @see #setName(String)
-	 * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getNamedElement_Name()
-	 * @model
-	 * @generated
-	 */
-	String getName();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.sensinact.studio.resource.NamedElement#getName <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Name</em>' attribute.
-	 * @see #getName()
-	 * @generated
-	 */
-	void setName(String value);
-
-} // NamedElement
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/Parameter.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/Parameter.java
deleted file mode 100644
index 6734da9..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/Parameter.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Parameter</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getParameter()
- * @model
- * @generated
- */
-public interface Parameter extends TypedElement {
-} // Parameter
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/Property.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/Property.java
deleted file mode 100644
index 265b928..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/Property.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Property</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getProperty()
- * @model
- * @generated
- */
-public interface Property extends Resource {
-} // Property
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/Resource.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/Resource.java
deleted file mode 100644
index 4e625bc..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/Resource.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource;
-
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Resource</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.resource.Resource#getFriendlyName <em>Friendly Name</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.resource.Resource#getAttribute <em>Attribute</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.resource.Resource#getAccessMethod <em>Access Method</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getResource()
- * @model
- * @generated
- */
-public interface Resource extends NamedElement {
-	/**
-	 * Returns the value of the '<em><b>Friendly Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Friendly Name</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Friendly Name</em>' attribute.
-	 * @see #setFriendlyName(String)
-	 * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getResource_FriendlyName()
-	 * @model
-	 * @generated
-	 */
-	String getFriendlyName();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.sensinact.studio.resource.Resource#getFriendlyName <em>Friendly Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Friendly Name</em>' attribute.
-	 * @see #getFriendlyName()
-	 * @generated
-	 */
-	void setFriendlyName(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Attribute</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.sensinact.studio.resource.Attribute}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Attribute</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Attribute</em>' containment reference list.
-	 * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getResource_Attribute()
-	 * @model containment="true"
-	 * @generated
-	 */
-	EList<Attribute> getAttribute();
-
-	/**
-	 * Returns the value of the '<em><b>Access Method</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.sensinact.studio.resource.AccessMethod}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Access Method</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Access Method</em>' containment reference list.
-	 * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getResource_AccessMethod()
-	 * @model containment="true"
-	 * @generated
-	 */
-	EList<AccessMethod> getAccessMethod();
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model annotation="http://www.eclipse.org/emf/2002/GenModel body='EList<AccessMethod> accessMethodByType = new EObjectContainmentEList<AccessMethod>(AccessMethod.class, this, ResourcePackage.RESOURCE__ACCESS_METHOD);\n\t\tfor (AccessMethod accessMethod : getAccessMethod()) {\n\t\t\tif (accessMethod.getType().equals(type))\n\t\t\t\taccessMethodByType.add(accessMethod);\n\t\t}\n\t\treturn accessMethodByType;'"
-	 * @generated
-	 */
-	EList<AccessMethod> getAccessMethod(AccessMethodType type);
-
-} // Resource
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/ResourceFactory.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/ResourceFactory.java
deleted file mode 100644
index 2324645..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/ResourceFactory.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource;
-
-import org.eclipse.emf.ecore.EFactory;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.sensinact.studio.resource.ResourcePackage
- * @generated
- */
-public interface ResourceFactory extends EFactory {
-	/**
-	 * The singleton instance of the factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	ResourceFactory eINSTANCE = org.eclipse.sensinact.studio.resource.impl.ResourceFactoryImpl.init();
-
-	/**
-	 * Returns a new object of class '<em>Studio</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Studio</em>'.
-	 * @generated
-	 */
-	Studio createStudio();
-
-	/**
-	 * Returns a new object of class '<em>Device</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Device</em>'.
-	 * @generated
-	 */
-	Device createDevice();
-
-	/**
-	 * Returns a new object of class '<em>Named Element</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Named Element</em>'.
-	 * @generated
-	 */
-	NamedElement createNamedElement();
-
-	/**
-	 * Returns a new object of class '<em>Typed Element</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Typed Element</em>'.
-	 * @generated
-	 */
-	TypedElement createTypedElement();
-
-	/**
-	 * Returns a new object of class '<em>Service</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Service</em>'.
-	 * @generated
-	 */
-	Service createService();
-
-	/**
-	 * Returns a new object of class '<em>Resource</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Resource</em>'.
-	 * @generated
-	 */
-	Resource createResource();
-
-	/**
-	 * Returns a new object of class '<em>Property</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Property</em>'.
-	 * @generated
-	 */
-	Property createProperty();
-
-	/**
-	 * Returns a new object of class '<em>Sensor Data</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Sensor Data</em>'.
-	 * @generated
-	 */
-	SensorData createSensorData();
-
-	/**
-	 * Returns a new object of class '<em>State Variable</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>State Variable</em>'.
-	 * @generated
-	 */
-	StateVariable createStateVariable();
-
-	/**
-	 * Returns a new object of class '<em>Action</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Action</em>'.
-	 * @generated
-	 */
-	Action createAction();
-
-	/**
-	 * Returns a new object of class '<em>Attribute</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Attribute</em>'.
-	 * @generated
-	 */
-	Attribute createAttribute();
-
-	/**
-	 * Returns a new object of class '<em>Metadata</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Metadata</em>'.
-	 * @generated
-	 */
-	Metadata createMetadata();
-
-	/**
-	 * Returns a new object of class '<em>Access Method</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Access Method</em>'.
-	 * @generated
-	 */
-	AccessMethod createAccessMethod();
-
-	/**
-	 * Returns a new object of class '<em>Parameter</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Parameter</em>'.
-	 * @generated
-	 */
-	Parameter createParameter();
-
-	/**
-	 * Returns a new object of class '<em>Gateway</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Gateway</em>'.
-	 * @generated
-	 */
-	Gateway createGateway();
-
-	/**
-	 * Returns the package supported by this factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the package supported by this factory.
-	 * @generated
-	 */
-	ResourcePackage getResourcePackage();
-
-} //ResourceFactory
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/ResourcePackage.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/ResourcePackage.java
deleted file mode 100644
index 579f36c..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/ResourcePackage.java
+++ /dev/null
@@ -1,1656 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EOperation;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Package</b> for the model.
- * It contains accessors for the meta objects to represent
- * <ul>
- *   <li>each class,</li>
- *   <li>each feature of each class,</li>
- *   <li>each operation of each class,</li>
- *   <li>each enum,</li>
- *   <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @see org.eclipse.sensinact.studio.resource.ResourceFactory
- * @model kind="package"
- * @generated
- */
-public interface ResourcePackage extends EPackage {
-	/**
-	 * The package name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String eNAME = "resource";
-
-	/**
-	 * The package namespace URI.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String eNS_URI = "http://SENSINACT_RESOURCE/0.1";
-
-	/**
-	 * The package namespace name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String eNS_PREFIX = "resource";
-
-	/**
-	 * The singleton instance of the package.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	ResourcePackage eINSTANCE = org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl.init();
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.sensinact.studio.resource.impl.StudioImpl <em>Studio</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.sensinact.studio.resource.impl.StudioImpl
-	 * @see org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl#getStudio()
-	 * @generated
-	 */
-	int STUDIO = 0;
-
-	/**
-	 * The feature id for the '<em><b>Gateways</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STUDIO__GATEWAYS = 0;
-
-	/**
-	 * The number of structural features of the '<em>Studio</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STUDIO_FEATURE_COUNT = 1;
-
-	/**
-	 * The number of operations of the '<em>Studio</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STUDIO_OPERATION_COUNT = 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.sensinact.studio.resource.impl.NamedElementImpl <em>Named Element</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.sensinact.studio.resource.impl.NamedElementImpl
-	 * @see org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl#getNamedElement()
-	 * @generated
-	 */
-	int NAMED_ELEMENT = 2;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int NAMED_ELEMENT__NAME = 0;
-
-	/**
-	 * The number of structural features of the '<em>Named Element</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int NAMED_ELEMENT_FEATURE_COUNT = 1;
-
-	/**
-	 * The number of operations of the '<em>Named Element</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int NAMED_ELEMENT_OPERATION_COUNT = 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.sensinact.studio.resource.impl.DeviceImpl <em>Device</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.sensinact.studio.resource.impl.DeviceImpl
-	 * @see org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl#getDevice()
-	 * @generated
-	 */
-	int DEVICE = 1;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEVICE__NAME = NAMED_ELEMENT__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Friendly Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEVICE__FRIENDLY_NAME = NAMED_ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Service</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEVICE__SERVICE = NAMED_ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the '<em>Device</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEVICE_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 2;
-
-	/**
-	 * The number of operations of the '<em>Device</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEVICE_OPERATION_COUNT = NAMED_ELEMENT_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.sensinact.studio.resource.impl.TypedElementImpl <em>Typed Element</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.sensinact.studio.resource.impl.TypedElementImpl
-	 * @see org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl#getTypedElement()
-	 * @generated
-	 */
-	int TYPED_ELEMENT = 3;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT__NAME = NAMED_ELEMENT__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Type</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT__TYPE = NAMED_ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT__VALUE = NAMED_ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the '<em>Typed Element</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 2;
-
-	/**
-	 * The number of operations of the '<em>Typed Element</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT_OPERATION_COUNT = NAMED_ELEMENT_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.sensinact.studio.resource.impl.ServiceImpl <em>Service</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.sensinact.studio.resource.impl.ServiceImpl
-	 * @see org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl#getService()
-	 * @generated
-	 */
-	int SERVICE = 4;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SERVICE__NAME = NAMED_ELEMENT__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Friendly Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SERVICE__FRIENDLY_NAME = NAMED_ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Resource</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SERVICE__RESOURCE = NAMED_ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the '<em>Service</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SERVICE_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 2;
-
-	/**
-	 * The number of operations of the '<em>Service</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SERVICE_OPERATION_COUNT = NAMED_ELEMENT_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.sensinact.studio.resource.impl.ResourceImpl <em>Resource</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.sensinact.studio.resource.impl.ResourceImpl
-	 * @see org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl#getResource()
-	 * @generated
-	 */
-	int RESOURCE = 5;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int RESOURCE__NAME = NAMED_ELEMENT__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Friendly Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int RESOURCE__FRIENDLY_NAME = NAMED_ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int RESOURCE__ATTRIBUTE = NAMED_ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Access Method</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int RESOURCE__ACCESS_METHOD = NAMED_ELEMENT_FEATURE_COUNT + 2;
-
-	/**
-	 * The number of structural features of the '<em>Resource</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int RESOURCE_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 3;
-
-	/**
-	 * The operation id for the '<em>Get Access Method</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int RESOURCE___GET_ACCESS_METHOD__ACCESSMETHODTYPE = NAMED_ELEMENT_OPERATION_COUNT + 0;
-
-	/**
-	 * The number of operations of the '<em>Resource</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int RESOURCE_OPERATION_COUNT = NAMED_ELEMENT_OPERATION_COUNT + 1;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.sensinact.studio.resource.impl.PropertyImpl <em>Property</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.sensinact.studio.resource.impl.PropertyImpl
-	 * @see org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl#getProperty()
-	 * @generated
-	 */
-	int PROPERTY = 6;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY__NAME = RESOURCE__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Friendly Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY__FRIENDLY_NAME = RESOURCE__FRIENDLY_NAME;
-
-	/**
-	 * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY__ATTRIBUTE = RESOURCE__ATTRIBUTE;
-
-	/**
-	 * The feature id for the '<em><b>Access Method</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY__ACCESS_METHOD = RESOURCE__ACCESS_METHOD;
-
-	/**
-	 * The number of structural features of the '<em>Property</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_FEATURE_COUNT = RESOURCE_FEATURE_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Get Access Method</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY___GET_ACCESS_METHOD__ACCESSMETHODTYPE = RESOURCE___GET_ACCESS_METHOD__ACCESSMETHODTYPE;
-
-	/**
-	 * The number of operations of the '<em>Property</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_OPERATION_COUNT = RESOURCE_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.sensinact.studio.resource.impl.SensorDataImpl <em>Sensor Data</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.sensinact.studio.resource.impl.SensorDataImpl
-	 * @see org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl#getSensorData()
-	 * @generated
-	 */
-	int SENSOR_DATA = 7;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SENSOR_DATA__NAME = RESOURCE__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Friendly Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SENSOR_DATA__FRIENDLY_NAME = RESOURCE__FRIENDLY_NAME;
-
-	/**
-	 * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SENSOR_DATA__ATTRIBUTE = RESOURCE__ATTRIBUTE;
-
-	/**
-	 * The feature id for the '<em><b>Access Method</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SENSOR_DATA__ACCESS_METHOD = RESOURCE__ACCESS_METHOD;
-
-	/**
-	 * The number of structural features of the '<em>Sensor Data</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SENSOR_DATA_FEATURE_COUNT = RESOURCE_FEATURE_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Get Access Method</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SENSOR_DATA___GET_ACCESS_METHOD__ACCESSMETHODTYPE = RESOURCE___GET_ACCESS_METHOD__ACCESSMETHODTYPE;
-
-	/**
-	 * The number of operations of the '<em>Sensor Data</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SENSOR_DATA_OPERATION_COUNT = RESOURCE_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.sensinact.studio.resource.impl.StateVariableImpl <em>State Variable</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.sensinact.studio.resource.impl.StateVariableImpl
-	 * @see org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl#getStateVariable()
-	 * @generated
-	 */
-	int STATE_VARIABLE = 8;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STATE_VARIABLE__NAME = RESOURCE__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Friendly Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STATE_VARIABLE__FRIENDLY_NAME = RESOURCE__FRIENDLY_NAME;
-
-	/**
-	 * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STATE_VARIABLE__ATTRIBUTE = RESOURCE__ATTRIBUTE;
-
-	/**
-	 * The feature id for the '<em><b>Access Method</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STATE_VARIABLE__ACCESS_METHOD = RESOURCE__ACCESS_METHOD;
-
-	/**
-	 * The feature id for the '<em><b>Modifier</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STATE_VARIABLE__MODIFIER = RESOURCE_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the '<em>State Variable</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STATE_VARIABLE_FEATURE_COUNT = RESOURCE_FEATURE_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Get Access Method</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STATE_VARIABLE___GET_ACCESS_METHOD__ACCESSMETHODTYPE = RESOURCE___GET_ACCESS_METHOD__ACCESSMETHODTYPE;
-
-	/**
-	 * The number of operations of the '<em>State Variable</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STATE_VARIABLE_OPERATION_COUNT = RESOURCE_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.sensinact.studio.resource.impl.ActionImpl <em>Action</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.sensinact.studio.resource.impl.ActionImpl
-	 * @see org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl#getAction()
-	 * @generated
-	 */
-	int ACTION = 9;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTION__NAME = RESOURCE__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Friendly Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTION__FRIENDLY_NAME = RESOURCE__FRIENDLY_NAME;
-
-	/**
-	 * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTION__ATTRIBUTE = RESOURCE__ATTRIBUTE;
-
-	/**
-	 * The feature id for the '<em><b>Access Method</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTION__ACCESS_METHOD = RESOURCE__ACCESS_METHOD;
-
-	/**
-	 * The feature id for the '<em><b>State</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTION__STATE = RESOURCE_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the '<em>Action</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTION_FEATURE_COUNT = RESOURCE_FEATURE_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Get Access Method</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTION___GET_ACCESS_METHOD__ACCESSMETHODTYPE = RESOURCE___GET_ACCESS_METHOD__ACCESSMETHODTYPE;
-
-	/**
-	 * The number of operations of the '<em>Action</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTION_OPERATION_COUNT = RESOURCE_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.sensinact.studio.resource.impl.AttributeImpl <em>Attribute</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.sensinact.studio.resource.impl.AttributeImpl
-	 * @see org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl#getAttribute()
-	 * @generated
-	 */
-	int ATTRIBUTE = 10;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ATTRIBUTE__NAME = TYPED_ELEMENT__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Type</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ATTRIBUTE__TYPE = TYPED_ELEMENT__TYPE;
-
-	/**
-	 * The feature id for the '<em><b>Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ATTRIBUTE__VALUE = TYPED_ELEMENT__VALUE;
-
-	/**
-	 * The feature id for the '<em><b>Metadata</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ATTRIBUTE__METADATA = TYPED_ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the '<em>Attribute</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ATTRIBUTE_FEATURE_COUNT = TYPED_ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of operations of the '<em>Attribute</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ATTRIBUTE_OPERATION_COUNT = TYPED_ELEMENT_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.sensinact.studio.resource.impl.MetadataImpl <em>Metadata</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.sensinact.studio.resource.impl.MetadataImpl
-	 * @see org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl#getMetadata()
-	 * @generated
-	 */
-	int METADATA = 11;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METADATA__NAME = TYPED_ELEMENT__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Type</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METADATA__TYPE = TYPED_ELEMENT__TYPE;
-
-	/**
-	 * The feature id for the '<em><b>Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METADATA__VALUE = TYPED_ELEMENT__VALUE;
-
-	/**
-	 * The number of structural features of the '<em>Metadata</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METADATA_FEATURE_COUNT = TYPED_ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of operations of the '<em>Metadata</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METADATA_OPERATION_COUNT = TYPED_ELEMENT_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.sensinact.studio.resource.impl.AccessMethodImpl <em>Access Method</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.sensinact.studio.resource.impl.AccessMethodImpl
-	 * @see org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl#getAccessMethod()
-	 * @generated
-	 */
-	int ACCESS_METHOD = 12;
-
-	/**
-	 * The feature id for the '<em><b>Parameter</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACCESS_METHOD__PARAMETER = 0;
-
-	/**
-	 * The feature id for the '<em><b>Type</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACCESS_METHOD__TYPE = 1;
-
-	/**
-	 * The number of structural features of the '<em>Access Method</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACCESS_METHOD_FEATURE_COUNT = 2;
-
-	/**
-	 * The number of operations of the '<em>Access Method</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACCESS_METHOD_OPERATION_COUNT = 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.sensinact.studio.resource.impl.ParameterImpl <em>Parameter</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.sensinact.studio.resource.impl.ParameterImpl
-	 * @see org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl#getParameter()
-	 * @generated
-	 */
-	int PARAMETER = 13;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER__NAME = TYPED_ELEMENT__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Type</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER__TYPE = TYPED_ELEMENT__TYPE;
-
-	/**
-	 * The feature id for the '<em><b>Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER__VALUE = TYPED_ELEMENT__VALUE;
-
-	/**
-	 * The number of structural features of the '<em>Parameter</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_FEATURE_COUNT = TYPED_ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of operations of the '<em>Parameter</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_OPERATION_COUNT = TYPED_ELEMENT_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.sensinact.studio.resource.impl.GatewayImpl <em>Gateway</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.sensinact.studio.resource.impl.GatewayImpl
-	 * @see org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl#getGateway()
-	 * @generated
-	 */
-	int GATEWAY = 14;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GATEWAY__NAME = NAMED_ELEMENT__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Device</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GATEWAY__DEVICE = NAMED_ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the '<em>Gateway</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GATEWAY_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of operations of the '<em>Gateway</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GATEWAY_OPERATION_COUNT = NAMED_ELEMENT_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.sensinact.studio.resource.AccessMethodType <em>Access Method Type</em>}' enum.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.sensinact.studio.resource.AccessMethodType
-	 * @see org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl#getAccessMethodType()
-	 * @generated
-	 */
-	int ACCESS_METHOD_TYPE = 15;
-
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.sensinact.studio.resource.Studio <em>Studio</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Studio</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.Studio
-	 * @generated
-	 */
-	EClass getStudio();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.sensinact.studio.resource.Studio#getGateways <em>Gateways</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Gateways</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.Studio#getGateways()
-	 * @see #getStudio()
-	 * @generated
-	 */
-	EReference getStudio_Gateways();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.sensinact.studio.resource.Device <em>Device</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Device</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.Device
-	 * @generated
-	 */
-	EClass getDevice();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.sensinact.studio.resource.Device#getFriendlyName <em>Friendly Name</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Friendly Name</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.Device#getFriendlyName()
-	 * @see #getDevice()
-	 * @generated
-	 */
-	EAttribute getDevice_FriendlyName();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.sensinact.studio.resource.Device#getService <em>Service</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Service</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.Device#getService()
-	 * @see #getDevice()
-	 * @generated
-	 */
-	EReference getDevice_Service();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.sensinact.studio.resource.NamedElement <em>Named Element</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Named Element</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.NamedElement
-	 * @generated
-	 */
-	EClass getNamedElement();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.sensinact.studio.resource.NamedElement#getName <em>Name</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Name</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.NamedElement#getName()
-	 * @see #getNamedElement()
-	 * @generated
-	 */
-	EAttribute getNamedElement_Name();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.sensinact.studio.resource.TypedElement <em>Typed Element</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Typed Element</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.TypedElement
-	 * @generated
-	 */
-	EClass getTypedElement();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.sensinact.studio.resource.TypedElement#getType <em>Type</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Type</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.TypedElement#getType()
-	 * @see #getTypedElement()
-	 * @generated
-	 */
-	EAttribute getTypedElement_Type();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.sensinact.studio.resource.TypedElement#getValue <em>Value</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Value</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.TypedElement#getValue()
-	 * @see #getTypedElement()
-	 * @generated
-	 */
-	EAttribute getTypedElement_Value();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.sensinact.studio.resource.Service <em>Service</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Service</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.Service
-	 * @generated
-	 */
-	EClass getService();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.sensinact.studio.resource.Service#getFriendlyName <em>Friendly Name</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Friendly Name</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.Service#getFriendlyName()
-	 * @see #getService()
-	 * @generated
-	 */
-	EAttribute getService_FriendlyName();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.sensinact.studio.resource.Service#getResource <em>Resource</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Resource</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.Service#getResource()
-	 * @see #getService()
-	 * @generated
-	 */
-	EReference getService_Resource();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.sensinact.studio.resource.Resource <em>Resource</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Resource</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.Resource
-	 * @generated
-	 */
-	EClass getResource();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.sensinact.studio.resource.Resource#getFriendlyName <em>Friendly Name</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Friendly Name</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.Resource#getFriendlyName()
-	 * @see #getResource()
-	 * @generated
-	 */
-	EAttribute getResource_FriendlyName();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.sensinact.studio.resource.Resource#getAttribute <em>Attribute</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Attribute</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.Resource#getAttribute()
-	 * @see #getResource()
-	 * @generated
-	 */
-	EReference getResource_Attribute();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.sensinact.studio.resource.Resource#getAccessMethod <em>Access Method</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Access Method</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.Resource#getAccessMethod()
-	 * @see #getResource()
-	 * @generated
-	 */
-	EReference getResource_AccessMethod();
-
-	/**
-	 * Returns the meta object for the '{@link org.eclipse.sensinact.studio.resource.Resource#getAccessMethod(org.eclipse.sensinact.studio.resource.AccessMethodType) <em>Get Access Method</em>}' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the '<em>Get Access Method</em>' operation.
-	 * @see org.eclipse.sensinact.studio.resource.Resource#getAccessMethod(org.eclipse.sensinact.studio.resource.AccessMethodType)
-	 * @generated
-	 */
-	EOperation getResource__GetAccessMethod__AccessMethodType();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.sensinact.studio.resource.Property <em>Property</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Property</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.Property
-	 * @generated
-	 */
-	EClass getProperty();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.sensinact.studio.resource.SensorData <em>Sensor Data</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Sensor Data</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.SensorData
-	 * @generated
-	 */
-	EClass getSensorData();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.sensinact.studio.resource.StateVariable <em>State Variable</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>State Variable</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.StateVariable
-	 * @generated
-	 */
-	EClass getStateVariable();
-
-	/**
-	 * Returns the meta object for the reference list '{@link org.eclipse.sensinact.studio.resource.StateVariable#getModifier <em>Modifier</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference list '<em>Modifier</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.StateVariable#getModifier()
-	 * @see #getStateVariable()
-	 * @generated
-	 */
-	EReference getStateVariable_Modifier();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.sensinact.studio.resource.Action <em>Action</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Action</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.Action
-	 * @generated
-	 */
-	EClass getAction();
-
-	/**
-	 * Returns the meta object for the reference list '{@link org.eclipse.sensinact.studio.resource.Action#getState <em>State</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference list '<em>State</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.Action#getState()
-	 * @see #getAction()
-	 * @generated
-	 */
-	EReference getAction_State();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.sensinact.studio.resource.Attribute <em>Attribute</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Attribute</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.Attribute
-	 * @generated
-	 */
-	EClass getAttribute();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.sensinact.studio.resource.Attribute#getMetadata <em>Metadata</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Metadata</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.Attribute#getMetadata()
-	 * @see #getAttribute()
-	 * @generated
-	 */
-	EReference getAttribute_Metadata();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.sensinact.studio.resource.Metadata <em>Metadata</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Metadata</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.Metadata
-	 * @generated
-	 */
-	EClass getMetadata();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.sensinact.studio.resource.AccessMethod <em>Access Method</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Access Method</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.AccessMethod
-	 * @generated
-	 */
-	EClass getAccessMethod();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.sensinact.studio.resource.AccessMethod#getParameter <em>Parameter</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Parameter</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.AccessMethod#getParameter()
-	 * @see #getAccessMethod()
-	 * @generated
-	 */
-	EReference getAccessMethod_Parameter();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.sensinact.studio.resource.AccessMethod#getType <em>Type</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Type</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.AccessMethod#getType()
-	 * @see #getAccessMethod()
-	 * @generated
-	 */
-	EAttribute getAccessMethod_Type();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.sensinact.studio.resource.Parameter <em>Parameter</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Parameter</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.Parameter
-	 * @generated
-	 */
-	EClass getParameter();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.sensinact.studio.resource.Gateway <em>Gateway</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Gateway</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.Gateway
-	 * @generated
-	 */
-	EClass getGateway();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.sensinact.studio.resource.Gateway#getDevice <em>Device</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Device</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.Gateway#getDevice()
-	 * @see #getGateway()
-	 * @generated
-	 */
-	EReference getGateway_Device();
-
-	/**
-	 * Returns the meta object for enum '{@link org.eclipse.sensinact.studio.resource.AccessMethodType <em>Access Method Type</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for enum '<em>Access Method Type</em>'.
-	 * @see org.eclipse.sensinact.studio.resource.AccessMethodType
-	 * @generated
-	 */
-	EEnum getAccessMethodType();
-
-	/**
-	 * Returns the factory that creates the instances of the model.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the factory that creates the instances of the model.
-	 * @generated
-	 */
-	ResourceFactory getResourceFactory();
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * Defines literals for the meta objects that represent
-	 * <ul>
-	 *   <li>each class,</li>
-	 *   <li>each feature of each class,</li>
-	 *   <li>each operation of each class,</li>
-	 *   <li>each enum,</li>
-	 *   <li>and each data type</li>
-	 * </ul>
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	interface Literals {
-		/**
-		 * The meta object literal for the '{@link org.eclipse.sensinact.studio.resource.impl.StudioImpl <em>Studio</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.sensinact.studio.resource.impl.StudioImpl
-		 * @see org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl#getStudio()
-		 * @generated
-		 */
-		EClass STUDIO = eINSTANCE.getStudio();
-
-		/**
-		 * The meta object literal for the '<em><b>Gateways</b></em>' containment reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference STUDIO__GATEWAYS = eINSTANCE.getStudio_Gateways();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.sensinact.studio.resource.impl.DeviceImpl <em>Device</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.sensinact.studio.resource.impl.DeviceImpl
-		 * @see org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl#getDevice()
-		 * @generated
-		 */
-		EClass DEVICE = eINSTANCE.getDevice();
-
-		/**
-		 * The meta object literal for the '<em><b>Friendly Name</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute DEVICE__FRIENDLY_NAME = eINSTANCE.getDevice_FriendlyName();
-
-		/**
-		 * The meta object literal for the '<em><b>Service</b></em>' containment reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference DEVICE__SERVICE = eINSTANCE.getDevice_Service();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.sensinact.studio.resource.impl.NamedElementImpl <em>Named Element</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.sensinact.studio.resource.impl.NamedElementImpl
-		 * @see org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl#getNamedElement()
-		 * @generated
-		 */
-		EClass NAMED_ELEMENT = eINSTANCE.getNamedElement();
-
-		/**
-		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute NAMED_ELEMENT__NAME = eINSTANCE.getNamedElement_Name();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.sensinact.studio.resource.impl.TypedElementImpl <em>Typed Element</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.sensinact.studio.resource.impl.TypedElementImpl
-		 * @see org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl#getTypedElement()
-		 * @generated
-		 */
-		EClass TYPED_ELEMENT = eINSTANCE.getTypedElement();
-
-		/**
-		 * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute TYPED_ELEMENT__TYPE = eINSTANCE.getTypedElement_Type();
-
-		/**
-		 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute TYPED_ELEMENT__VALUE = eINSTANCE.getTypedElement_Value();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.sensinact.studio.resource.impl.ServiceImpl <em>Service</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.sensinact.studio.resource.impl.ServiceImpl
-		 * @see org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl#getService()
-		 * @generated
-		 */
-		EClass SERVICE = eINSTANCE.getService();
-
-		/**
-		 * The meta object literal for the '<em><b>Friendly Name</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute SERVICE__FRIENDLY_NAME = eINSTANCE.getService_FriendlyName();
-
-		/**
-		 * The meta object literal for the '<em><b>Resource</b></em>' containment reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference SERVICE__RESOURCE = eINSTANCE.getService_Resource();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.sensinact.studio.resource.impl.ResourceImpl <em>Resource</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.sensinact.studio.resource.impl.ResourceImpl
-		 * @see org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl#getResource()
-		 * @generated
-		 */
-		EClass RESOURCE = eINSTANCE.getResource();
-
-		/**
-		 * The meta object literal for the '<em><b>Friendly Name</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute RESOURCE__FRIENDLY_NAME = eINSTANCE.getResource_FriendlyName();
-
-		/**
-		 * The meta object literal for the '<em><b>Attribute</b></em>' containment reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference RESOURCE__ATTRIBUTE = eINSTANCE.getResource_Attribute();
-
-		/**
-		 * The meta object literal for the '<em><b>Access Method</b></em>' containment reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference RESOURCE__ACCESS_METHOD = eINSTANCE.getResource_AccessMethod();
-
-		/**
-		 * The meta object literal for the '<em><b>Get Access Method</b></em>' operation.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EOperation RESOURCE___GET_ACCESS_METHOD__ACCESSMETHODTYPE = eINSTANCE.getResource__GetAccessMethod__AccessMethodType();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.sensinact.studio.resource.impl.PropertyImpl <em>Property</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.sensinact.studio.resource.impl.PropertyImpl
-		 * @see org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl#getProperty()
-		 * @generated
-		 */
-		EClass PROPERTY = eINSTANCE.getProperty();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.sensinact.studio.resource.impl.SensorDataImpl <em>Sensor Data</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.sensinact.studio.resource.impl.SensorDataImpl
-		 * @see org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl#getSensorData()
-		 * @generated
-		 */
-		EClass SENSOR_DATA = eINSTANCE.getSensorData();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.sensinact.studio.resource.impl.StateVariableImpl <em>State Variable</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.sensinact.studio.resource.impl.StateVariableImpl
-		 * @see org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl#getStateVariable()
-		 * @generated
-		 */
-		EClass STATE_VARIABLE = eINSTANCE.getStateVariable();
-
-		/**
-		 * The meta object literal for the '<em><b>Modifier</b></em>' reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference STATE_VARIABLE__MODIFIER = eINSTANCE.getStateVariable_Modifier();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.sensinact.studio.resource.impl.ActionImpl <em>Action</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.sensinact.studio.resource.impl.ActionImpl
-		 * @see org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl#getAction()
-		 * @generated
-		 */
-		EClass ACTION = eINSTANCE.getAction();
-
-		/**
-		 * The meta object literal for the '<em><b>State</b></em>' reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference ACTION__STATE = eINSTANCE.getAction_State();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.sensinact.studio.resource.impl.AttributeImpl <em>Attribute</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.sensinact.studio.resource.impl.AttributeImpl
-		 * @see org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl#getAttribute()
-		 * @generated
-		 */
-		EClass ATTRIBUTE = eINSTANCE.getAttribute();
-
-		/**
-		 * The meta object literal for the '<em><b>Metadata</b></em>' containment reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference ATTRIBUTE__METADATA = eINSTANCE.getAttribute_Metadata();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.sensinact.studio.resource.impl.MetadataImpl <em>Metadata</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.sensinact.studio.resource.impl.MetadataImpl
-		 * @see org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl#getMetadata()
-		 * @generated
-		 */
-		EClass METADATA = eINSTANCE.getMetadata();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.sensinact.studio.resource.impl.AccessMethodImpl <em>Access Method</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.sensinact.studio.resource.impl.AccessMethodImpl
-		 * @see org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl#getAccessMethod()
-		 * @generated
-		 */
-		EClass ACCESS_METHOD = eINSTANCE.getAccessMethod();
-
-		/**
-		 * The meta object literal for the '<em><b>Parameter</b></em>' containment reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference ACCESS_METHOD__PARAMETER = eINSTANCE.getAccessMethod_Parameter();
-
-		/**
-		 * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute ACCESS_METHOD__TYPE = eINSTANCE.getAccessMethod_Type();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.sensinact.studio.resource.impl.ParameterImpl <em>Parameter</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.sensinact.studio.resource.impl.ParameterImpl
-		 * @see org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl#getParameter()
-		 * @generated
-		 */
-		EClass PARAMETER = eINSTANCE.getParameter();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.sensinact.studio.resource.impl.GatewayImpl <em>Gateway</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.sensinact.studio.resource.impl.GatewayImpl
-		 * @see org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl#getGateway()
-		 * @generated
-		 */
-		EClass GATEWAY = eINSTANCE.getGateway();
-
-		/**
-		 * The meta object literal for the '<em><b>Device</b></em>' containment reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference GATEWAY__DEVICE = eINSTANCE.getGateway_Device();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.sensinact.studio.resource.AccessMethodType <em>Access Method Type</em>}' enum.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.sensinact.studio.resource.AccessMethodType
-		 * @see org.eclipse.sensinact.studio.resource.impl.ResourcePackageImpl#getAccessMethodType()
-		 * @generated
-		 */
-		EEnum ACCESS_METHOD_TYPE = eINSTANCE.getAccessMethodType();
-
-	}
-
-} //ResourcePackage
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/SensorData.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/SensorData.java
deleted file mode 100644
index 526afa3..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/SensorData.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Sensor Data</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getSensorData()
- * @model
- * @generated
- */
-public interface SensorData extends Resource {
-} // SensorData
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/Service.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/Service.java
deleted file mode 100644
index d713629..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/Service.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource;
-
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Service</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.resource.Service#getFriendlyName <em>Friendly Name</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.resource.Service#getResource <em>Resource</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getService()
- * @model
- * @generated
- */
-public interface Service extends NamedElement {
-	/**
-	 * Returns the value of the '<em><b>Friendly Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Friendly Name</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Friendly Name</em>' attribute.
-	 * @see #setFriendlyName(String)
-	 * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getService_FriendlyName()
-	 * @model
-	 * @generated
-	 */
-	String getFriendlyName();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.sensinact.studio.resource.Service#getFriendlyName <em>Friendly Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Friendly Name</em>' attribute.
-	 * @see #getFriendlyName()
-	 * @generated
-	 */
-	void setFriendlyName(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Resource</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.sensinact.studio.resource.Resource}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Resource</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Resource</em>' containment reference list.
-	 * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getService_Resource()
-	 * @model containment="true"
-	 * @generated
-	 */
-	EList<Resource> getResource();
-
-} // Service
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/StateVariable.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/StateVariable.java
deleted file mode 100644
index ad4ea22..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/StateVariable.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource;
-
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>State Variable</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.resource.StateVariable#getModifier <em>Modifier</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getStateVariable()
- * @model
- * @generated
- */
-public interface StateVariable extends Resource {
-	/**
-	 * Returns the value of the '<em><b>Modifier</b></em>' reference list.
-	 * The list contents are of type {@link org.eclipse.sensinact.studio.resource.Action}.
-	 * It is bidirectional and its opposite is '{@link org.eclipse.sensinact.studio.resource.Action#getState <em>State</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Modifier</em>' reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Modifier</em>' reference list.
-	 * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getStateVariable_Modifier()
-	 * @see org.eclipse.sensinact.studio.resource.Action#getState
-	 * @model opposite="state"
-	 * @generated
-	 */
-	EList<Action> getModifier();
-
-} // StateVariable
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/Studio.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/Studio.java
deleted file mode 100644
index 2956167..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/Studio.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Studio</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.resource.Studio#getGateways <em>Gateways</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getStudio()
- * @model
- * @generated
- */
-public interface Studio extends EObject {
-	/**
-	 * Returns the value of the '<em><b>Gateways</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.sensinact.studio.resource.Gateway}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Gateways</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Gateways</em>' containment reference list.
-	 * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getStudio_Gateways()
-	 * @model containment="true"
-	 * @generated
-	 */
-	EList<Gateway> getGateways();
-
-} // Studio
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/TypedElement.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/TypedElement.java
deleted file mode 100644
index 82e90f4..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/TypedElement.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Typed Element</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.resource.TypedElement#getType <em>Type</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.resource.TypedElement#getValue <em>Value</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getTypedElement()
- * @model
- * @generated
- */
-public interface TypedElement extends NamedElement {
-	/**
-	 * Returns the value of the '<em><b>Type</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Type</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Type</em>' attribute.
-	 * @see #setType(String)
-	 * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getTypedElement_Type()
-	 * @model
-	 * @generated
-	 */
-	String getType();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.sensinact.studio.resource.TypedElement#getType <em>Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Type</em>' attribute.
-	 * @see #getType()
-	 * @generated
-	 */
-	void setType(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Value</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Value</em>' attribute.
-	 * @see #setValue(String)
-	 * @see org.eclipse.sensinact.studio.resource.ResourcePackage#getTypedElement_Value()
-	 * @model
-	 * @generated
-	 */
-	String getValue();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.sensinact.studio.resource.TypedElement#getValue <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Value</em>' attribute.
-	 * @see #getValue()
-	 * @generated
-	 */
-	void setValue(String value);
-
-} // TypedElement
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/AccessMethodImpl.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/AccessMethodImpl.java
deleted file mode 100644
index 3584547..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/AccessMethodImpl.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource.impl;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.sensinact.studio.resource.AccessMethod;
-import org.eclipse.sensinact.studio.resource.AccessMethodType;
-import org.eclipse.sensinact.studio.resource.Parameter;
-import org.eclipse.sensinact.studio.resource.ResourcePackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Access Method</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.resource.impl.AccessMethodImpl#getParameter <em>Parameter</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.resource.impl.AccessMethodImpl#getType <em>Type</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class AccessMethodImpl extends MinimalEObjectImpl.Container implements AccessMethod {
-	/**
-	 * The cached value of the '{@link #getParameter() <em>Parameter</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getParameter()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList<Parameter> parameter;
-
-	/**
-	 * The default value of the '{@link #getType() <em>Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getType()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final AccessMethodType TYPE_EDEFAULT = AccessMethodType.GET;
-
-	/**
-	 * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getType()
-	 * @generated
-	 * @ordered
-	 */
-	protected AccessMethodType type = TYPE_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected AccessMethodImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return ResourcePackage.Literals.ACCESS_METHOD;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList<Parameter> getParameter() {
-		if (parameter == null) {
-			parameter = new EObjectContainmentEList<Parameter>(Parameter.class, this, ResourcePackage.ACCESS_METHOD__PARAMETER);
-		}
-		return parameter;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public AccessMethodType getType() {
-		return type;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setType(AccessMethodType newType) {
-		AccessMethodType oldType = type;
-		type = newType == null ? TYPE_EDEFAULT : newType;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ResourcePackage.ACCESS_METHOD__TYPE, oldType, type));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case ResourcePackage.ACCESS_METHOD__PARAMETER:
-				return ((InternalEList<?>)getParameter()).basicRemove(otherEnd, msgs);
-		}
-		return super.eInverseRemove(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case ResourcePackage.ACCESS_METHOD__PARAMETER:
-				return getParameter();
-			case ResourcePackage.ACCESS_METHOD__TYPE:
-				return getType();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@SuppressWarnings("unchecked")
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case ResourcePackage.ACCESS_METHOD__PARAMETER:
-				getParameter().clear();
-				getParameter().addAll((Collection<? extends Parameter>)newValue);
-				return;
-			case ResourcePackage.ACCESS_METHOD__TYPE:
-				setType((AccessMethodType)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case ResourcePackage.ACCESS_METHOD__PARAMETER:
-				getParameter().clear();
-				return;
-			case ResourcePackage.ACCESS_METHOD__TYPE:
-				setType(TYPE_EDEFAULT);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case ResourcePackage.ACCESS_METHOD__PARAMETER:
-				return parameter != null && !parameter.isEmpty();
-			case ResourcePackage.ACCESS_METHOD__TYPE:
-				return type != TYPE_EDEFAULT;
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (type: ");
-		result.append(type);
-		result.append(')');
-		return result.toString();
-	}
-
-} //AccessMethodImpl
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/ActionImpl.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/ActionImpl.java
deleted file mode 100644
index ae3e6f4..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/ActionImpl.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource.impl;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.sensinact.studio.resource.Action;
-import org.eclipse.sensinact.studio.resource.ResourcePackage;
-import org.eclipse.sensinact.studio.resource.StateVariable;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Action</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.resource.impl.ActionImpl#getState <em>State</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class ActionImpl extends ResourceImpl implements Action {
-	/**
-	 * The cached value of the '{@link #getState() <em>State</em>}' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getState()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList<StateVariable> state;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ActionImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return ResourcePackage.Literals.ACTION;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList<StateVariable> getState() {
-		if (state == null) {
-			state = new EObjectWithInverseResolvingEList.ManyInverse<StateVariable>(StateVariable.class, this, ResourcePackage.ACTION__STATE, ResourcePackage.STATE_VARIABLE__MODIFIER);
-		}
-		return state;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@SuppressWarnings("unchecked")
-	@Override
-	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case ResourcePackage.ACTION__STATE:
-				return ((InternalEList<InternalEObject>)(InternalEList<?>)getState()).basicAdd(otherEnd, msgs);
-		}
-		return super.eInverseAdd(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case ResourcePackage.ACTION__STATE:
-				return ((InternalEList<?>)getState()).basicRemove(otherEnd, msgs);
-		}
-		return super.eInverseRemove(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case ResourcePackage.ACTION__STATE:
-				return getState();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@SuppressWarnings("unchecked")
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case ResourcePackage.ACTION__STATE:
-				getState().clear();
-				getState().addAll((Collection<? extends StateVariable>)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case ResourcePackage.ACTION__STATE:
-				getState().clear();
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case ResourcePackage.ACTION__STATE:
-				return state != null && !state.isEmpty();
-		}
-		return super.eIsSet(featureID);
-	}
-
-} //ActionImpl
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/AttributeImpl.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/AttributeImpl.java
deleted file mode 100644
index 3caa9ba..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/AttributeImpl.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource.impl;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.sensinact.studio.resource.Attribute;
-import org.eclipse.sensinact.studio.resource.Metadata;
-import org.eclipse.sensinact.studio.resource.ResourcePackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Attribute</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.resource.impl.AttributeImpl#getMetadata <em>Metadata</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class AttributeImpl extends TypedElementImpl implements Attribute {
-	/**
-	 * The cached value of the '{@link #getMetadata() <em>Metadata</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMetadata()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList<Metadata> metadata;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected AttributeImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return ResourcePackage.Literals.ATTRIBUTE;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList<Metadata> getMetadata() {
-		if (metadata == null) {
-			metadata = new EObjectContainmentEList<Metadata>(Metadata.class, this, ResourcePackage.ATTRIBUTE__METADATA);
-		}
-		return metadata;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case ResourcePackage.ATTRIBUTE__METADATA:
-				return ((InternalEList<?>)getMetadata()).basicRemove(otherEnd, msgs);
-		}
-		return super.eInverseRemove(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case ResourcePackage.ATTRIBUTE__METADATA:
-				return getMetadata();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@SuppressWarnings("unchecked")
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case ResourcePackage.ATTRIBUTE__METADATA:
-				getMetadata().clear();
-				getMetadata().addAll((Collection<? extends Metadata>)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case ResourcePackage.ATTRIBUTE__METADATA:
-				getMetadata().clear();
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case ResourcePackage.ATTRIBUTE__METADATA:
-				return metadata != null && !metadata.isEmpty();
-		}
-		return super.eIsSet(featureID);
-	}
-
-} //AttributeImpl
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/DeviceImpl.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/DeviceImpl.java
deleted file mode 100644
index dd0e81e..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/DeviceImpl.java
+++ /dev/null
@@ -1,231 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource.impl;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.sensinact.studio.resource.Device;
-import org.eclipse.sensinact.studio.resource.ResourcePackage;
-import org.eclipse.sensinact.studio.resource.Service;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Device</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.resource.impl.DeviceImpl#getFriendlyName <em>Friendly Name</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.resource.impl.DeviceImpl#getService <em>Service</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DeviceImpl extends NamedElementImpl implements Device {
-	/**
-	 * The default value of the '{@link #getFriendlyName() <em>Friendly Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getFriendlyName()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String FRIENDLY_NAME_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getFriendlyName() <em>Friendly Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getFriendlyName()
-	 * @generated
-	 * @ordered
-	 */
-	protected String friendlyName = FRIENDLY_NAME_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getService() <em>Service</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getService()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList<Service> service;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected DeviceImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return ResourcePackage.Literals.DEVICE;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getFriendlyName() {
-		return friendlyName;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setFriendlyName(String newFriendlyName) {
-		String oldFriendlyName = friendlyName;
-		friendlyName = newFriendlyName;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ResourcePackage.DEVICE__FRIENDLY_NAME, oldFriendlyName, friendlyName));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList<Service> getService() {
-		if (service == null) {
-			service = new EObjectContainmentEList<Service>(Service.class, this, ResourcePackage.DEVICE__SERVICE);
-		}
-		return service;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case ResourcePackage.DEVICE__SERVICE:
-				return ((InternalEList<?>)getService()).basicRemove(otherEnd, msgs);
-		}
-		return super.eInverseRemove(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case ResourcePackage.DEVICE__FRIENDLY_NAME:
-				return getFriendlyName();
-			case ResourcePackage.DEVICE__SERVICE:
-				return getService();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@SuppressWarnings("unchecked")
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case ResourcePackage.DEVICE__FRIENDLY_NAME:
-				setFriendlyName((String)newValue);
-				return;
-			case ResourcePackage.DEVICE__SERVICE:
-				getService().clear();
-				getService().addAll((Collection<? extends Service>)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case ResourcePackage.DEVICE__FRIENDLY_NAME:
-				setFriendlyName(FRIENDLY_NAME_EDEFAULT);
-				return;
-			case ResourcePackage.DEVICE__SERVICE:
-				getService().clear();
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case ResourcePackage.DEVICE__FRIENDLY_NAME:
-				return FRIENDLY_NAME_EDEFAULT == null ? friendlyName != null : !FRIENDLY_NAME_EDEFAULT.equals(friendlyName);
-			case ResourcePackage.DEVICE__SERVICE:
-				return service != null && !service.isEmpty();
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (friendlyName: ");
-		result.append(friendlyName);
-		result.append(')');
-		return result.toString();
-	}
-
-} //DeviceImpl
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/GatewayImpl.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/GatewayImpl.java
deleted file mode 100644
index f87dc8f..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/GatewayImpl.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource.impl;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.sensinact.studio.resource.Device;
-import org.eclipse.sensinact.studio.resource.Gateway;
-import org.eclipse.sensinact.studio.resource.ResourcePackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Gateway</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.resource.impl.GatewayImpl#getDevice <em>Device</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class GatewayImpl extends NamedElementImpl implements Gateway {
-	/**
-	 * The cached value of the '{@link #getDevice() <em>Device</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getDevice()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList<Device> device;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected GatewayImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return ResourcePackage.Literals.GATEWAY;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList<Device> getDevice() {
-		if (device == null) {
-			device = new EObjectContainmentEList<Device>(Device.class, this, ResourcePackage.GATEWAY__DEVICE);
-		}
-		return device;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case ResourcePackage.GATEWAY__DEVICE:
-				return ((InternalEList<?>)getDevice()).basicRemove(otherEnd, msgs);
-		}
-		return super.eInverseRemove(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case ResourcePackage.GATEWAY__DEVICE:
-				return getDevice();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@SuppressWarnings("unchecked")
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case ResourcePackage.GATEWAY__DEVICE:
-				getDevice().clear();
-				getDevice().addAll((Collection<? extends Device>)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case ResourcePackage.GATEWAY__DEVICE:
-				getDevice().clear();
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case ResourcePackage.GATEWAY__DEVICE:
-				return device != null && !device.isEmpty();
-		}
-		return super.eIsSet(featureID);
-	}
-
-} //GatewayImpl
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/MetadataImpl.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/MetadataImpl.java
deleted file mode 100644
index 496d2d2..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/MetadataImpl.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource.impl;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.sensinact.studio.resource.Metadata;
-import org.eclipse.sensinact.studio.resource.ResourcePackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Metadata</b></em>'.
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class MetadataImpl extends TypedElementImpl implements Metadata {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected MetadataImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return ResourcePackage.Literals.METADATA;
-	}
-
-} //MetadataImpl
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/NamedElementImpl.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/NamedElementImpl.java
deleted file mode 100644
index 8de6839..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/NamedElementImpl.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.sensinact.studio.resource.NamedElement;
-import org.eclipse.sensinact.studio.resource.ResourcePackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Named Element</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.resource.impl.NamedElementImpl#getName <em>Name</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class NamedElementImpl extends MinimalEObjectImpl.Container implements NamedElement {
-	/**
-	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getName()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String NAME_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getName()
-	 * @generated
-	 * @ordered
-	 */
-	protected String name = NAME_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected NamedElementImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return ResourcePackage.Literals.NAMED_ELEMENT;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setName(String newName) {
-		String oldName = name;
-		name = newName;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ResourcePackage.NAMED_ELEMENT__NAME, oldName, name));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case ResourcePackage.NAMED_ELEMENT__NAME:
-				return getName();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case ResourcePackage.NAMED_ELEMENT__NAME:
-				setName((String)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case ResourcePackage.NAMED_ELEMENT__NAME:
-				setName(NAME_EDEFAULT);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case ResourcePackage.NAMED_ELEMENT__NAME:
-				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (name: ");
-		result.append(name);
-		result.append(')');
-		return result.toString();
-	}
-
-} //NamedElementImpl
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/ParameterImpl.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/ParameterImpl.java
deleted file mode 100644
index f14e155..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/ParameterImpl.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource.impl;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.sensinact.studio.resource.Parameter;
-import org.eclipse.sensinact.studio.resource.ResourcePackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Parameter</b></em>'.
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class ParameterImpl extends TypedElementImpl implements Parameter {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ParameterImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return ResourcePackage.Literals.PARAMETER;
-	}
-
-} //ParameterImpl
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/PropertyImpl.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/PropertyImpl.java
deleted file mode 100644
index dc1a82f..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/PropertyImpl.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource.impl;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.sensinact.studio.resource.Property;
-import org.eclipse.sensinact.studio.resource.ResourcePackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Property</b></em>'.
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class PropertyImpl extends ResourceImpl implements Property {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PropertyImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return ResourcePackage.Literals.PROPERTY;
-	}
-
-} //PropertyImpl
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/ResourceFactoryImpl.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/ResourceFactoryImpl.java
deleted file mode 100644
index 9afffa1..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/ResourceFactoryImpl.java
+++ /dev/null
@@ -1,310 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-
-import org.eclipse.emf.ecore.impl.EFactoryImpl;
-
-import org.eclipse.emf.ecore.plugin.EcorePlugin;
-
-import org.eclipse.sensinact.studio.resource.*;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Factory</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class ResourceFactoryImpl extends EFactoryImpl implements ResourceFactory {
-	/**
-	 * Creates the default factory implementation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static ResourceFactory init() {
-		try {
-			ResourceFactory theResourceFactory = (ResourceFactory)EPackage.Registry.INSTANCE.getEFactory(ResourcePackage.eNS_URI);
-			if (theResourceFactory != null) {
-				return theResourceFactory;
-			}
-		}
-		catch (Exception exception) {
-			EcorePlugin.INSTANCE.log(exception);
-		}
-		return new ResourceFactoryImpl();
-	}
-
-	/**
-	 * Creates an instance of the factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ResourceFactoryImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EObject create(EClass eClass) {
-		switch (eClass.getClassifierID()) {
-			case ResourcePackage.STUDIO: return createStudio();
-			case ResourcePackage.DEVICE: return createDevice();
-			case ResourcePackage.NAMED_ELEMENT: return createNamedElement();
-			case ResourcePackage.TYPED_ELEMENT: return createTypedElement();
-			case ResourcePackage.SERVICE: return createService();
-			case ResourcePackage.RESOURCE: return createResource();
-			case ResourcePackage.PROPERTY: return createProperty();
-			case ResourcePackage.SENSOR_DATA: return createSensorData();
-			case ResourcePackage.STATE_VARIABLE: return createStateVariable();
-			case ResourcePackage.ACTION: return createAction();
-			case ResourcePackage.ATTRIBUTE: return createAttribute();
-			case ResourcePackage.METADATA: return createMetadata();
-			case ResourcePackage.ACCESS_METHOD: return createAccessMethod();
-			case ResourcePackage.PARAMETER: return createParameter();
-			case ResourcePackage.GATEWAY: return createGateway();
-			default:
-				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object createFromString(EDataType eDataType, String initialValue) {
-		switch (eDataType.getClassifierID()) {
-			case ResourcePackage.ACCESS_METHOD_TYPE:
-				return createAccessMethodTypeFromString(eDataType, initialValue);
-			default:
-				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String convertToString(EDataType eDataType, Object instanceValue) {
-		switch (eDataType.getClassifierID()) {
-			case ResourcePackage.ACCESS_METHOD_TYPE:
-				return convertAccessMethodTypeToString(eDataType, instanceValue);
-			default:
-				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Studio createStudio() {
-		StudioImpl studio = new StudioImpl();
-		return studio;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Device createDevice() {
-		DeviceImpl device = new DeviceImpl();
-		return device;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NamedElement createNamedElement() {
-		NamedElementImpl namedElement = new NamedElementImpl();
-		return namedElement;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public TypedElement createTypedElement() {
-		TypedElementImpl typedElement = new TypedElementImpl();
-		return typedElement;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Service createService() {
-		ServiceImpl service = new ServiceImpl();
-		return service;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Resource createResource() {
-		ResourceImpl resource = new ResourceImpl();
-		return resource;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Property createProperty() {
-		PropertyImpl property = new PropertyImpl();
-		return property;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public SensorData createSensorData() {
-		SensorDataImpl sensorData = new SensorDataImpl();
-		return sensorData;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public StateVariable createStateVariable() {
-		StateVariableImpl stateVariable = new StateVariableImpl();
-		return stateVariable;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Action createAction() {
-		ActionImpl action = new ActionImpl();
-		return action;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Attribute createAttribute() {
-		AttributeImpl attribute = new AttributeImpl();
-		return attribute;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Metadata createMetadata() {
-		MetadataImpl metadata = new MetadataImpl();
-		return metadata;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public AccessMethod createAccessMethod() {
-		AccessMethodImpl accessMethod = new AccessMethodImpl();
-		return accessMethod;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Parameter createParameter() {
-		ParameterImpl parameter = new ParameterImpl();
-		return parameter;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Gateway createGateway() {
-		GatewayImpl gateway = new GatewayImpl();
-		return gateway;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public AccessMethodType createAccessMethodTypeFromString(EDataType eDataType, String initialValue) {
-		AccessMethodType result = AccessMethodType.get(initialValue);
-		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
-		return result;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String convertAccessMethodTypeToString(EDataType eDataType, Object instanceValue) {
-		return instanceValue == null ? null : instanceValue.toString();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ResourcePackage getResourcePackage() {
-		return (ResourcePackage)getEPackage();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @deprecated
-	 * @generated
-	 */
-	@Deprecated
-	public static ResourcePackage getPackage() {
-		return ResourcePackage.eINSTANCE;
-	}
-
-} //ResourceFactoryImpl
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/ResourceImpl.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/ResourceImpl.java
deleted file mode 100644
index efccd01..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/ResourceImpl.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource.impl;
-
-import java.lang.reflect.InvocationTargetException;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.sensinact.studio.resource.AccessMethod;
-import org.eclipse.sensinact.studio.resource.AccessMethodType;
-import org.eclipse.sensinact.studio.resource.Attribute;
-import org.eclipse.sensinact.studio.resource.Resource;
-import org.eclipse.sensinact.studio.resource.ResourcePackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Resource</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.resource.impl.ResourceImpl#getFriendlyName <em>Friendly Name</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.resource.impl.ResourceImpl#getAttribute <em>Attribute</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.resource.impl.ResourceImpl#getAccessMethod <em>Access Method</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class ResourceImpl extends NamedElementImpl implements Resource {
-	/**
-	 * The default value of the '{@link #getFriendlyName() <em>Friendly Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getFriendlyName()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String FRIENDLY_NAME_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getFriendlyName() <em>Friendly Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getFriendlyName()
-	 * @generated
-	 * @ordered
-	 */
-	protected String friendlyName = FRIENDLY_NAME_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getAttribute() <em>Attribute</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getAttribute()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList<Attribute> attribute;
-
-	/**
-	 * The cached value of the '{@link #getAccessMethod() <em>Access Method</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getAccessMethod()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList<AccessMethod> accessMethod;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ResourceImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return ResourcePackage.Literals.RESOURCE;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getFriendlyName() {
-		return friendlyName;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setFriendlyName(String newFriendlyName) {
-		String oldFriendlyName = friendlyName;
-		friendlyName = newFriendlyName;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ResourcePackage.RESOURCE__FRIENDLY_NAME, oldFriendlyName, friendlyName));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList<Attribute> getAttribute() {
-		if (attribute == null) {
-			attribute = new EObjectContainmentEList<Attribute>(Attribute.class, this, ResourcePackage.RESOURCE__ATTRIBUTE);
-		}
-		return attribute;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList<AccessMethod> getAccessMethod() {
-		if (accessMethod == null) {
-			accessMethod = new EObjectContainmentEList<AccessMethod>(AccessMethod.class, this, ResourcePackage.RESOURCE__ACCESS_METHOD);
-		}
-		return accessMethod;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList<AccessMethod> getAccessMethod(final AccessMethodType type) {
-		EList<AccessMethod> accessMethodByType = new EObjectContainmentEList<AccessMethod>(AccessMethod.class, this, ResourcePackage.RESOURCE__ACCESS_METHOD);
-				for (AccessMethod accessMethod : getAccessMethod()) {
-					if (accessMethod.getType().equals(type))
-						accessMethodByType.add(accessMethod);
-				}
-				return accessMethodByType;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case ResourcePackage.RESOURCE__ATTRIBUTE:
-				return ((InternalEList<?>)getAttribute()).basicRemove(otherEnd, msgs);
-			case ResourcePackage.RESOURCE__ACCESS_METHOD:
-				return ((InternalEList<?>)getAccessMethod()).basicRemove(otherEnd, msgs);
-		}
-		return super.eInverseRemove(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case ResourcePackage.RESOURCE__FRIENDLY_NAME:
-				return getFriendlyName();
-			case ResourcePackage.RESOURCE__ATTRIBUTE:
-				return getAttribute();
-			case ResourcePackage.RESOURCE__ACCESS_METHOD:
-				return getAccessMethod();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@SuppressWarnings("unchecked")
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case ResourcePackage.RESOURCE__FRIENDLY_NAME:
-				setFriendlyName((String)newValue);
-				return;
-			case ResourcePackage.RESOURCE__ATTRIBUTE:
-				getAttribute().clear();
-				getAttribute().addAll((Collection<? extends Attribute>)newValue);
-				return;
-			case ResourcePackage.RESOURCE__ACCESS_METHOD:
-				getAccessMethod().clear();
-				getAccessMethod().addAll((Collection<? extends AccessMethod>)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case ResourcePackage.RESOURCE__FRIENDLY_NAME:
-				setFriendlyName(FRIENDLY_NAME_EDEFAULT);
-				return;
-			case ResourcePackage.RESOURCE__ATTRIBUTE:
-				getAttribute().clear();
-				return;
-			case ResourcePackage.RESOURCE__ACCESS_METHOD:
-				getAccessMethod().clear();
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case ResourcePackage.RESOURCE__FRIENDLY_NAME:
-				return FRIENDLY_NAME_EDEFAULT == null ? friendlyName != null : !FRIENDLY_NAME_EDEFAULT.equals(friendlyName);
-			case ResourcePackage.RESOURCE__ATTRIBUTE:
-				return attribute != null && !attribute.isEmpty();
-			case ResourcePackage.RESOURCE__ACCESS_METHOD:
-				return accessMethod != null && !accessMethod.isEmpty();
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
-		switch (operationID) {
-			case ResourcePackage.RESOURCE___GET_ACCESS_METHOD__ACCESSMETHODTYPE:
-				return getAccessMethod((AccessMethodType)arguments.get(0));
-		}
-		return super.eInvoke(operationID, arguments);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (friendlyName: ");
-		result.append(friendlyName);
-		result.append(')');
-		return result.toString();
-	}
-
-} //ResourceImpl
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/ResourcePackageImpl.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/ResourcePackageImpl.java
deleted file mode 100644
index 457eef6..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/ResourcePackageImpl.java
+++ /dev/null
@@ -1,713 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource.impl;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EOperation;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-
-import org.eclipse.sensinact.studio.resource.AccessMethod;
-import org.eclipse.sensinact.studio.resource.AccessMethodType;
-import org.eclipse.sensinact.studio.resource.Action;
-import org.eclipse.sensinact.studio.resource.Attribute;
-import org.eclipse.sensinact.studio.resource.Device;
-import org.eclipse.sensinact.studio.resource.Gateway;
-import org.eclipse.sensinact.studio.resource.Metadata;
-import org.eclipse.sensinact.studio.resource.NamedElement;
-import org.eclipse.sensinact.studio.resource.Parameter;
-import org.eclipse.sensinact.studio.resource.Property;
-import org.eclipse.sensinact.studio.resource.Resource;
-import org.eclipse.sensinact.studio.resource.ResourceFactory;
-import org.eclipse.sensinact.studio.resource.ResourcePackage;
-import org.eclipse.sensinact.studio.resource.SensorData;
-import org.eclipse.sensinact.studio.resource.Service;
-import org.eclipse.sensinact.studio.resource.StateVariable;
-import org.eclipse.sensinact.studio.resource.Studio;
-import org.eclipse.sensinact.studio.resource.TypedElement;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Package</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class ResourcePackageImpl extends EPackageImpl implements ResourcePackage {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass studioEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass deviceEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass namedElementEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass typedElementEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass serviceEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass resourceEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass propertyEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass sensorDataEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass stateVariableEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass actionEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass attributeEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass metadataEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass accessMethodEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass parameterEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass gatewayEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EEnum accessMethodTypeEEnum = null;
-
-	/**
-	 * Creates an instance of the model <b>Package</b>, registered with
-	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
-	 * package URI value.
-	 * <p>Note: the correct way to create the package is via the static
-	 * factory method {@link #init init()}, which also performs
-	 * initialization of the package, or returns the registered package,
-	 * if one already exists.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.emf.ecore.EPackage.Registry
-	 * @see org.eclipse.sensinact.studio.resource.ResourcePackage#eNS_URI
-	 * @see #init()
-	 * @generated
-	 */
-	private ResourcePackageImpl() {
-		super(eNS_URI, ResourceFactory.eINSTANCE);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private static boolean isInited = false;
-
-	/**
-	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
-	 * 
-	 * <p>This method is used to initialize {@link ResourcePackage#eINSTANCE} when that field is accessed.
-	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #eNS_URI
-	 * @see #createPackageContents()
-	 * @see #initializePackageContents()
-	 * @generated
-	 */
-	public static ResourcePackage init() {
-		if (isInited) return (ResourcePackage)EPackage.Registry.INSTANCE.getEPackage(ResourcePackage.eNS_URI);
-
-		// Obtain or create and register package
-		ResourcePackageImpl theResourcePackage = (ResourcePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ResourcePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ResourcePackageImpl());
-
-		isInited = true;
-
-		// Create package meta-data objects
-		theResourcePackage.createPackageContents();
-
-		// Initialize created meta-data
-		theResourcePackage.initializePackageContents();
-
-		// Mark meta-data to indicate it can't be changed
-		theResourcePackage.freeze();
-
-  
-		// Update the registry and return the package
-		EPackage.Registry.INSTANCE.put(ResourcePackage.eNS_URI, theResourcePackage);
-		return theResourcePackage;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getStudio() {
-		return studioEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getStudio_Gateways() {
-		return (EReference)studioEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getDevice() {
-		return deviceEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getDevice_FriendlyName() {
-		return (EAttribute)deviceEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getDevice_Service() {
-		return (EReference)deviceEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getNamedElement() {
-		return namedElementEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getNamedElement_Name() {
-		return (EAttribute)namedElementEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getTypedElement() {
-		return typedElementEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getTypedElement_Type() {
-		return (EAttribute)typedElementEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getTypedElement_Value() {
-		return (EAttribute)typedElementEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getService() {
-		return serviceEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getService_FriendlyName() {
-		return (EAttribute)serviceEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getService_Resource() {
-		return (EReference)serviceEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getResource() {
-		return resourceEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getResource_FriendlyName() {
-		return (EAttribute)resourceEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getResource_Attribute() {
-		return (EReference)resourceEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getResource_AccessMethod() {
-		return (EReference)resourceEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getResource__GetAccessMethod__AccessMethodType() {
-		return resourceEClass.getEOperations().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getProperty() {
-		return propertyEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getSensorData() {
-		return sensorDataEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getStateVariable() {
-		return stateVariableEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getStateVariable_Modifier() {
-		return (EReference)stateVariableEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getAction() {
-		return actionEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getAction_State() {
-		return (EReference)actionEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getAttribute() {
-		return attributeEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getAttribute_Metadata() {
-		return (EReference)attributeEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getMetadata() {
-		return metadataEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getAccessMethod() {
-		return accessMethodEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getAccessMethod_Parameter() {
-		return (EReference)accessMethodEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getAccessMethod_Type() {
-		return (EAttribute)accessMethodEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getParameter() {
-		return parameterEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getGateway() {
-		return gatewayEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getGateway_Device() {
-		return (EReference)gatewayEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EEnum getAccessMethodType() {
-		return accessMethodTypeEEnum;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ResourceFactory getResourceFactory() {
-		return (ResourceFactory)getEFactoryInstance();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private boolean isCreated = false;
-
-	/**
-	 * Creates the meta-model objects for the package.  This method is
-	 * guarded to have no affect on any invocation but its first.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void createPackageContents() {
-		if (isCreated) return;
-		isCreated = true;
-
-		// Create classes and their features
-		studioEClass = createEClass(STUDIO);
-		createEReference(studioEClass, STUDIO__GATEWAYS);
-
-		deviceEClass = createEClass(DEVICE);
-		createEAttribute(deviceEClass, DEVICE__FRIENDLY_NAME);
-		createEReference(deviceEClass, DEVICE__SERVICE);
-
-		namedElementEClass = createEClass(NAMED_ELEMENT);
-		createEAttribute(namedElementEClass, NAMED_ELEMENT__NAME);
-
-		typedElementEClass = createEClass(TYPED_ELEMENT);
-		createEAttribute(typedElementEClass, TYPED_ELEMENT__TYPE);
-		createEAttribute(typedElementEClass, TYPED_ELEMENT__VALUE);
-
-		serviceEClass = createEClass(SERVICE);
-		createEAttribute(serviceEClass, SERVICE__FRIENDLY_NAME);
-		createEReference(serviceEClass, SERVICE__RESOURCE);
-
-		resourceEClass = createEClass(RESOURCE);
-		createEAttribute(resourceEClass, RESOURCE__FRIENDLY_NAME);
-		createEReference(resourceEClass, RESOURCE__ATTRIBUTE);
-		createEReference(resourceEClass, RESOURCE__ACCESS_METHOD);
-		createEOperation(resourceEClass, RESOURCE___GET_ACCESS_METHOD__ACCESSMETHODTYPE);
-
-		propertyEClass = createEClass(PROPERTY);
-
-		sensorDataEClass = createEClass(SENSOR_DATA);
-
-		stateVariableEClass = createEClass(STATE_VARIABLE);
-		createEReference(stateVariableEClass, STATE_VARIABLE__MODIFIER);
-
-		actionEClass = createEClass(ACTION);
-		createEReference(actionEClass, ACTION__STATE);
-
-		attributeEClass = createEClass(ATTRIBUTE);
-		createEReference(attributeEClass, ATTRIBUTE__METADATA);
-
-		metadataEClass = createEClass(METADATA);
-
-		accessMethodEClass = createEClass(ACCESS_METHOD);
-		createEReference(accessMethodEClass, ACCESS_METHOD__PARAMETER);
-		createEAttribute(accessMethodEClass, ACCESS_METHOD__TYPE);
-
-		parameterEClass = createEClass(PARAMETER);
-
-		gatewayEClass = createEClass(GATEWAY);
-		createEReference(gatewayEClass, GATEWAY__DEVICE);
-
-		// Create enums
-		accessMethodTypeEEnum = createEEnum(ACCESS_METHOD_TYPE);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private boolean isInitialized = false;
-
-	/**
-	 * Complete the initialization of the package and its meta-model.  This
-	 * method is guarded to have no affect on any invocation but its first.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void initializePackageContents() {
-		if (isInitialized) return;
-		isInitialized = true;
-
-		// Initialize package
-		setName(eNAME);
-		setNsPrefix(eNS_PREFIX);
-		setNsURI(eNS_URI);
-
-		// Create type parameters
-
-		// Set bounds for type parameters
-
-		// Add supertypes to classes
-		deviceEClass.getESuperTypes().add(this.getNamedElement());
-		typedElementEClass.getESuperTypes().add(this.getNamedElement());
-		serviceEClass.getESuperTypes().add(this.getNamedElement());
-		resourceEClass.getESuperTypes().add(this.getNamedElement());
-		propertyEClass.getESuperTypes().add(this.getResource());
-		sensorDataEClass.getESuperTypes().add(this.getResource());
-		stateVariableEClass.getESuperTypes().add(this.getResource());
-		actionEClass.getESuperTypes().add(this.getResource());
-		attributeEClass.getESuperTypes().add(this.getTypedElement());
-		metadataEClass.getESuperTypes().add(this.getTypedElement());
-		parameterEClass.getESuperTypes().add(this.getTypedElement());
-		gatewayEClass.getESuperTypes().add(this.getNamedElement());
-
-		// Initialize classes, features, and operations; add parameters
-		initEClass(studioEClass, Studio.class, "Studio", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEReference(getStudio_Gateways(), this.getGateway(), null, "gateways", null, 0, -1, Studio.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(deviceEClass, Device.class, "Device", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getDevice_FriendlyName(), ecorePackage.getEString(), "friendlyName", null, 0, 1, Device.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getDevice_Service(), this.getService(), null, "service", null, 0, -1, Device.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(namedElementEClass, NamedElement.class, "NamedElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getNamedElement_Name(), ecorePackage.getEString(), "name", null, 0, 1, NamedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(typedElementEClass, TypedElement.class, "TypedElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getTypedElement_Type(), ecorePackage.getEString(), "type", null, 0, 1, TypedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getTypedElement_Value(), ecorePackage.getEString(), "value", null, 0, 1, TypedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(serviceEClass, Service.class, "Service", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getService_FriendlyName(), ecorePackage.getEString(), "friendlyName", null, 0, 1, Service.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getService_Resource(), this.getResource(), null, "resource", null, 0, -1, Service.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(resourceEClass, Resource.class, "Resource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getResource_FriendlyName(), ecorePackage.getEString(), "friendlyName", null, 0, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getResource_Attribute(), this.getAttribute(), null, "attribute", null, 0, -1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getResource_AccessMethod(), this.getAccessMethod(), null, "accessMethod", null, 0, -1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		EOperation op = initEOperation(getResource__GetAccessMethod__AccessMethodType(), this.getAccessMethod(), "getAccessMethod", 0, -1, IS_UNIQUE, IS_ORDERED);
-		addEParameter(op, this.getAccessMethodType(), "type", 0, 1, IS_UNIQUE, IS_ORDERED);
-
-		initEClass(propertyEClass, Property.class, "Property", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-
-		initEClass(sensorDataEClass, SensorData.class, "SensorData", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-
-		initEClass(stateVariableEClass, StateVariable.class, "StateVariable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEReference(getStateVariable_Modifier(), this.getAction(), this.getAction_State(), "modifier", null, 0, -1, StateVariable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(actionEClass, Action.class, "Action", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEReference(getAction_State(), this.getStateVariable(), this.getStateVariable_Modifier(), "state", null, 0, -1, Action.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(attributeEClass, Attribute.class, "Attribute", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEReference(getAttribute_Metadata(), this.getMetadata(), null, "metadata", null, 0, -1, Attribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(metadataEClass, Metadata.class, "Metadata", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-
-		initEClass(accessMethodEClass, AccessMethod.class, "AccessMethod", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEReference(getAccessMethod_Parameter(), this.getParameter(), null, "parameter", null, 0, -1, AccessMethod.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getAccessMethod_Type(), this.getAccessMethodType(), "type", null, 0, 1, AccessMethod.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(parameterEClass, Parameter.class, "Parameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-
-		initEClass(gatewayEClass, Gateway.class, "Gateway", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEReference(getGateway_Device(), this.getDevice(), null, "device", null, 0, -1, Gateway.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		// Initialize enums and add enum literals
-		initEEnum(accessMethodTypeEEnum, AccessMethodType.class, "AccessMethodType");
-		addEEnumLiteral(accessMethodTypeEEnum, AccessMethodType.GET);
-		addEEnumLiteral(accessMethodTypeEEnum, AccessMethodType.SET);
-		addEEnumLiteral(accessMethodTypeEEnum, AccessMethodType.ACT);
-		addEEnumLiteral(accessMethodTypeEEnum, AccessMethodType.SUBSCRIBE);
-		addEEnumLiteral(accessMethodTypeEEnum, AccessMethodType.UNSUBSCRIBE);
-
-		// Create resource
-		createResource(eNS_URI);
-	}
-
-} //ResourcePackageImpl
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/SensorDataImpl.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/SensorDataImpl.java
deleted file mode 100644
index 9421922..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/SensorDataImpl.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource.impl;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.sensinact.studio.resource.ResourcePackage;
-import org.eclipse.sensinact.studio.resource.SensorData;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Sensor Data</b></em>'.
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class SensorDataImpl extends ResourceImpl implements SensorData {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected SensorDataImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return ResourcePackage.Literals.SENSOR_DATA;
-	}
-
-} //SensorDataImpl
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/ServiceImpl.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/ServiceImpl.java
deleted file mode 100644
index 50f258b..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/ServiceImpl.java
+++ /dev/null
@@ -1,231 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource.impl;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.sensinact.studio.resource.Resource;
-import org.eclipse.sensinact.studio.resource.ResourcePackage;
-import org.eclipse.sensinact.studio.resource.Service;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Service</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.resource.impl.ServiceImpl#getFriendlyName <em>Friendly Name</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.resource.impl.ServiceImpl#getResource <em>Resource</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class ServiceImpl extends NamedElementImpl implements Service {
-	/**
-	 * The default value of the '{@link #getFriendlyName() <em>Friendly Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getFriendlyName()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String FRIENDLY_NAME_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getFriendlyName() <em>Friendly Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getFriendlyName()
-	 * @generated
-	 * @ordered
-	 */
-	protected String friendlyName = FRIENDLY_NAME_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getResource() <em>Resource</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getResource()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList<Resource> resource;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ServiceImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return ResourcePackage.Literals.SERVICE;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getFriendlyName() {
-		return friendlyName;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setFriendlyName(String newFriendlyName) {
-		String oldFriendlyName = friendlyName;
-		friendlyName = newFriendlyName;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ResourcePackage.SERVICE__FRIENDLY_NAME, oldFriendlyName, friendlyName));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList<Resource> getResource() {
-		if (resource == null) {
-			resource = new EObjectContainmentEList<Resource>(Resource.class, this, ResourcePackage.SERVICE__RESOURCE);
-		}
-		return resource;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case ResourcePackage.SERVICE__RESOURCE:
-				return ((InternalEList<?>)getResource()).basicRemove(otherEnd, msgs);
-		}
-		return super.eInverseRemove(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case ResourcePackage.SERVICE__FRIENDLY_NAME:
-				return getFriendlyName();
-			case ResourcePackage.SERVICE__RESOURCE:
-				return getResource();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@SuppressWarnings("unchecked")
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case ResourcePackage.SERVICE__FRIENDLY_NAME:
-				setFriendlyName((String)newValue);
-				return;
-			case ResourcePackage.SERVICE__RESOURCE:
-				getResource().clear();
-				getResource().addAll((Collection<? extends Resource>)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case ResourcePackage.SERVICE__FRIENDLY_NAME:
-				setFriendlyName(FRIENDLY_NAME_EDEFAULT);
-				return;
-			case ResourcePackage.SERVICE__RESOURCE:
-				getResource().clear();
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case ResourcePackage.SERVICE__FRIENDLY_NAME:
-				return FRIENDLY_NAME_EDEFAULT == null ? friendlyName != null : !FRIENDLY_NAME_EDEFAULT.equals(friendlyName);
-			case ResourcePackage.SERVICE__RESOURCE:
-				return resource != null && !resource.isEmpty();
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (friendlyName: ");
-		result.append(friendlyName);
-		result.append(')');
-		return result.toString();
-	}
-
-} //ServiceImpl
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/StateVariableImpl.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/StateVariableImpl.java
deleted file mode 100644
index ed66cfc..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/StateVariableImpl.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource.impl;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.sensinact.studio.resource.Action;
-import org.eclipse.sensinact.studio.resource.ResourcePackage;
-import org.eclipse.sensinact.studio.resource.StateVariable;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>State Variable</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.resource.impl.StateVariableImpl#getModifier <em>Modifier</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class StateVariableImpl extends ResourceImpl implements StateVariable {
-	/**
-	 * The cached value of the '{@link #getModifier() <em>Modifier</em>}' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getModifier()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList<Action> modifier;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected StateVariableImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return ResourcePackage.Literals.STATE_VARIABLE;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList<Action> getModifier() {
-		if (modifier == null) {
-			modifier = new EObjectWithInverseResolvingEList.ManyInverse<Action>(Action.class, this, ResourcePackage.STATE_VARIABLE__MODIFIER, ResourcePackage.ACTION__STATE);
-		}
-		return modifier;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@SuppressWarnings("unchecked")
-	@Override
-	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case ResourcePackage.STATE_VARIABLE__MODIFIER:
-				return ((InternalEList<InternalEObject>)(InternalEList<?>)getModifier()).basicAdd(otherEnd, msgs);
-		}
-		return super.eInverseAdd(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case ResourcePackage.STATE_VARIABLE__MODIFIER:
-				return ((InternalEList<?>)getModifier()).basicRemove(otherEnd, msgs);
-		}
-		return super.eInverseRemove(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case ResourcePackage.STATE_VARIABLE__MODIFIER:
-				return getModifier();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@SuppressWarnings("unchecked")
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case ResourcePackage.STATE_VARIABLE__MODIFIER:
-				getModifier().clear();
-				getModifier().addAll((Collection<? extends Action>)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case ResourcePackage.STATE_VARIABLE__MODIFIER:
-				getModifier().clear();
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case ResourcePackage.STATE_VARIABLE__MODIFIER:
-				return modifier != null && !modifier.isEmpty();
-		}
-		return super.eIsSet(featureID);
-	}
-
-} //StateVariableImpl
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/StudioImpl.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/StudioImpl.java
deleted file mode 100644
index 059aacb..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/StudioImpl.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource.impl;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.sensinact.studio.resource.Gateway;
-import org.eclipse.sensinact.studio.resource.ResourcePackage;
-import org.eclipse.sensinact.studio.resource.Studio;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Studio</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.resource.impl.StudioImpl#getGateways <em>Gateways</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class StudioImpl extends MinimalEObjectImpl.Container implements Studio {
-	/**
-	 * The cached value of the '{@link #getGateways() <em>Gateways</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGateways()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList<Gateway> gateways;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected StudioImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return ResourcePackage.Literals.STUDIO;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList<Gateway> getGateways() {
-		if (gateways == null) {
-			gateways = new EObjectContainmentEList<Gateway>(Gateway.class, this, ResourcePackage.STUDIO__GATEWAYS);
-		}
-		return gateways;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case ResourcePackage.STUDIO__GATEWAYS:
-				return ((InternalEList<?>)getGateways()).basicRemove(otherEnd, msgs);
-		}
-		return super.eInverseRemove(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case ResourcePackage.STUDIO__GATEWAYS:
-				return getGateways();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@SuppressWarnings("unchecked")
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case ResourcePackage.STUDIO__GATEWAYS:
-				getGateways().clear();
-				getGateways().addAll((Collection<? extends Gateway>)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case ResourcePackage.STUDIO__GATEWAYS:
-				getGateways().clear();
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case ResourcePackage.STUDIO__GATEWAYS:
-				return gateways != null && !gateways.isEmpty();
-		}
-		return super.eIsSet(featureID);
-	}
-
-} //StudioImpl
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/TypedElementImpl.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/TypedElementImpl.java
deleted file mode 100644
index c6dde15..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/impl/TypedElementImpl.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.sensinact.studio.resource.ResourcePackage;
-import org.eclipse.sensinact.studio.resource.TypedElement;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Typed Element</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.resource.impl.TypedElementImpl#getType <em>Type</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.resource.impl.TypedElementImpl#getValue <em>Value</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class TypedElementImpl extends NamedElementImpl implements TypedElement {
-	/**
-	 * The default value of the '{@link #getType() <em>Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getType()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String TYPE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getType()
-	 * @generated
-	 * @ordered
-	 */
-	protected String type = TYPE_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String VALUE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected String value = VALUE_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected TypedElementImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return ResourcePackage.Literals.TYPED_ELEMENT;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getType() {
-		return type;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setType(String newType) {
-		String oldType = type;
-		type = newType;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ResourcePackage.TYPED_ELEMENT__TYPE, oldType, type));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getValue() {
-		return value;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setValue(String newValue) {
-		String oldValue = value;
-		value = newValue;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ResourcePackage.TYPED_ELEMENT__VALUE, oldValue, value));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case ResourcePackage.TYPED_ELEMENT__TYPE:
-				return getType();
-			case ResourcePackage.TYPED_ELEMENT__VALUE:
-				return getValue();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case ResourcePackage.TYPED_ELEMENT__TYPE:
-				setType((String)newValue);
-				return;
-			case ResourcePackage.TYPED_ELEMENT__VALUE:
-				setValue((String)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case ResourcePackage.TYPED_ELEMENT__TYPE:
-				setType(TYPE_EDEFAULT);
-				return;
-			case ResourcePackage.TYPED_ELEMENT__VALUE:
-				setValue(VALUE_EDEFAULT);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case ResourcePackage.TYPED_ELEMENT__TYPE:
-				return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
-			case ResourcePackage.TYPED_ELEMENT__VALUE:
-				return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (type: ");
-		result.append(type);
-		result.append(", value: ");
-		result.append(value);
-		result.append(')');
-		return result.toString();
-	}
-
-} //TypedElementImpl
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/util/ResourceAdapterFactory.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/util/ResourceAdapterFactory.java
deleted file mode 100644
index 8941e2a..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/util/ResourceAdapterFactory.java
+++ /dev/null
@@ -1,382 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource.util;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notifier;
-
-import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.sensinact.studio.resource.*;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Adapter Factory</b> for the model.
- * It provides an adapter <code>createXXX</code> method for each class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.sensinact.studio.resource.ResourcePackage
- * @generated
- */
-public class ResourceAdapterFactory extends AdapterFactoryImpl {
-	/**
-	 * The cached model package.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected static ResourcePackage modelPackage;
-
-	/**
-	 * Creates an instance of the adapter factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ResourceAdapterFactory() {
-		if (modelPackage == null) {
-			modelPackage = ResourcePackage.eINSTANCE;
-		}
-	}
-
-	/**
-	 * Returns whether this factory is applicable for the type of the object.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
-	 * <!-- end-user-doc -->
-	 * @return whether this factory is applicable for the type of the object.
-	 * @generated
-	 */
-	@Override
-	public boolean isFactoryForType(Object object) {
-		if (object == modelPackage) {
-			return true;
-		}
-		if (object instanceof EObject) {
-			return ((EObject)object).eClass().getEPackage() == modelPackage;
-		}
-		return false;
-	}
-
-	/**
-	 * The switch that delegates to the <code>createXXX</code> methods.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ResourceSwitch<Adapter> modelSwitch =
-		new ResourceSwitch<Adapter>() {
-			@Override
-			public Adapter caseStudio(Studio object) {
-				return createStudioAdapter();
-			}
-			@Override
-			public Adapter caseDevice(Device object) {
-				return createDeviceAdapter();
-			}
-			@Override
-			public Adapter caseNamedElement(NamedElement object) {
-				return createNamedElementAdapter();
-			}
-			@Override
-			public Adapter caseTypedElement(TypedElement object) {
-				return createTypedElementAdapter();
-			}
-			@Override
-			public Adapter caseService(Service object) {
-				return createServiceAdapter();
-			}
-			@Override
-			public Adapter caseResource(Resource object) {
-				return createResourceAdapter();
-			}
-			@Override
-			public Adapter caseProperty(Property object) {
-				return createPropertyAdapter();
-			}
-			@Override
-			public Adapter caseSensorData(SensorData object) {
-				return createSensorDataAdapter();
-			}
-			@Override
-			public Adapter caseStateVariable(StateVariable object) {
-				return createStateVariableAdapter();
-			}
-			@Override
-			public Adapter caseAction(Action object) {
-				return createActionAdapter();
-			}
-			@Override
-			public Adapter caseAttribute(Attribute object) {
-				return createAttributeAdapter();
-			}
-			@Override
-			public Adapter caseMetadata(Metadata object) {
-				return createMetadataAdapter();
-			}
-			@Override
-			public Adapter caseAccessMethod(AccessMethod object) {
-				return createAccessMethodAdapter();
-			}
-			@Override
-			public Adapter caseParameter(Parameter object) {
-				return createParameterAdapter();
-			}
-			@Override
-			public Adapter caseGateway(Gateway object) {
-				return createGatewayAdapter();
-			}
-			@Override
-			public Adapter defaultCase(EObject object) {
-				return createEObjectAdapter();
-			}
-		};
-
-	/**
-	 * Creates an adapter for the <code>target</code>.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param target the object to adapt.
-	 * @return the adapter for the <code>target</code>.
-	 * @generated
-	 */
-	@Override
-	public Adapter createAdapter(Notifier target) {
-		return modelSwitch.doSwitch((EObject)target);
-	}
-
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.resource.Studio <em>Studio</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.sensinact.studio.resource.Studio
-	 * @generated
-	 */
-	public Adapter createStudioAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.resource.Device <em>Device</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.sensinact.studio.resource.Device
-	 * @generated
-	 */
-	public Adapter createDeviceAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.resource.NamedElement <em>Named Element</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.sensinact.studio.resource.NamedElement
-	 * @generated
-	 */
-	public Adapter createNamedElementAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.resource.TypedElement <em>Typed Element</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.sensinact.studio.resource.TypedElement
-	 * @generated
-	 */
-	public Adapter createTypedElementAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.resource.Service <em>Service</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.sensinact.studio.resource.Service
-	 * @generated
-	 */
-	public Adapter createServiceAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.resource.Resource <em>Resource</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.sensinact.studio.resource.Resource
-	 * @generated
-	 */
-	public Adapter createResourceAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.resource.Property <em>Property</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.sensinact.studio.resource.Property
-	 * @generated
-	 */
-	public Adapter createPropertyAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.resource.SensorData <em>Sensor Data</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.sensinact.studio.resource.SensorData
-	 * @generated
-	 */
-	public Adapter createSensorDataAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.resource.StateVariable <em>State Variable</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.sensinact.studio.resource.StateVariable
-	 * @generated
-	 */
-	public Adapter createStateVariableAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.resource.Action <em>Action</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.sensinact.studio.resource.Action
-	 * @generated
-	 */
-	public Adapter createActionAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.resource.Attribute <em>Attribute</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.sensinact.studio.resource.Attribute
-	 * @generated
-	 */
-	public Adapter createAttributeAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.resource.Metadata <em>Metadata</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.sensinact.studio.resource.Metadata
-	 * @generated
-	 */
-	public Adapter createMetadataAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.resource.AccessMethod <em>Access Method</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.sensinact.studio.resource.AccessMethod
-	 * @generated
-	 */
-	public Adapter createAccessMethodAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.resource.Parameter <em>Parameter</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.sensinact.studio.resource.Parameter
-	 * @generated
-	 */
-	public Adapter createParameterAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.resource.Gateway <em>Gateway</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.sensinact.studio.resource.Gateway
-	 * @generated
-	 */
-	public Adapter createGatewayAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for the default case.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @generated
-	 */
-	public Adapter createEObjectAdapter() {
-		return null;
-	}
-
-} //ResourceAdapterFactory
diff --git a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/util/ResourceSwitch.java b/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/util/ResourceSwitch.java
deleted file mode 100644
index 21b4913..0000000
--- a/services/org.eclipse.sensinact.studio.model.resource/src-gen/org/eclipse/sensinact/studio/resource/util/ResourceSwitch.java
+++ /dev/null
@@ -1,433 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- */
-package org.eclipse.sensinact.studio.resource.util;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-
-import org.eclipse.emf.ecore.util.Switch;
-
-import org.eclipse.sensinact.studio.resource.*;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
- * to invoke the <code>caseXXX</code> method for each class of the model,
- * starting with the actual class of the object
- * and proceeding up the inheritance hierarchy
- * until a non-null result is returned,
- * which is the result of the switch.
- * <!-- end-user-doc -->
- * @see org.eclipse.sensinact.studio.resource.ResourcePackage
- * @generated
- */
-public class ResourceSwitch<T> extends Switch<T> {
-	/**
-	 * The cached model package
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected static ResourcePackage modelPackage;
-
-	/**
-	 * Creates an instance of the switch.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ResourceSwitch() {
-		if (modelPackage == null) {
-			modelPackage = ResourcePackage.eINSTANCE;
-		}
-	}
-
-	/**
-	 * Checks whether this is a switch for the given package.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param ePackage the package in question.
-	 * @return whether this is a switch for the given package.
-	 * @generated
-	 */
-	@Override
-	protected boolean isSwitchFor(EPackage ePackage) {
-		return ePackage == modelPackage;
-	}
-
-	/**
-	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the first non-null result returned by a <code>caseXXX</code> call.
-	 * @generated
-	 */
-	@Override
-	protected T doSwitch(int classifierID, EObject theEObject) {
-		switch (classifierID) {
-			case ResourcePackage.STUDIO: {
-				Studio studio = (Studio)theEObject;
-				T result = caseStudio(studio);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case ResourcePackage.DEVICE: {
-				Device device = (Device)theEObject;
-				T result = caseDevice(device);
-				if (result == null) result = caseNamedElement(device);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case ResourcePackage.NAMED_ELEMENT: {
-				NamedElement namedElement = (NamedElement)theEObject;
-				T result = caseNamedElement(namedElement);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case ResourcePackage.TYPED_ELEMENT: {
-				TypedElement typedElement = (TypedElement)theEObject;
-				T result = caseTypedElement(typedElement);
-				if (result == null) result = caseNamedElement(typedElement);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case ResourcePackage.SERVICE: {
-				Service service = (Service)theEObject;
-				T result = caseService(service);
-				if (result == null) result = caseNamedElement(service);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case ResourcePackage.RESOURCE: {
-				Resource resource = (Resource)theEObject;
-				T result = caseResource(resource);
-				if (result == null) result = caseNamedElement(resource);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case ResourcePackage.PROPERTY: {
-				Property property = (Property)theEObject;
-				T result = caseProperty(property);
-				if (result == null) result = caseResource(property);
-				if (result == null) result = caseNamedElement(property);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case ResourcePackage.SENSOR_DATA: {
-				SensorData sensorData = (SensorData)theEObject;
-				T result = caseSensorData(sensorData);
-				if (result == null) result = caseResource(sensorData);
-				if (result == null) result = caseNamedElement(sensorData);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case ResourcePackage.STATE_VARIABLE: {
-				StateVariable stateVariable = (StateVariable)theEObject;
-				T result = caseStateVariable(stateVariable);
-				if (result == null) result = caseResource(stateVariable);
-				if (result == null) result = caseNamedElement(stateVariable);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case ResourcePackage.ACTION: {
-				Action action = (Action)theEObject;
-				T result = caseAction(action);
-				if (result == null) result = caseResource(action);
-				if (result == null) result = caseNamedElement(action);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case ResourcePackage.ATTRIBUTE: {
-				Attribute attribute = (Attribute)theEObject;
-				T result = caseAttribute(attribute);
-				if (result == null) result = caseTypedElement(attribute);
-				if (result == null) result = caseNamedElement(attribute);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case ResourcePackage.METADATA: {
-				Metadata metadata = (Metadata)theEObject;
-				T result = caseMetadata(metadata);
-				if (result == null) result = caseTypedElement(metadata);
-				if (result == null) result = caseNamedElement(metadata);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case ResourcePackage.ACCESS_METHOD: {
-				AccessMethod accessMethod = (AccessMethod)theEObject;
-				T result = caseAccessMethod(accessMethod);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case ResourcePackage.PARAMETER: {
-				Parameter parameter = (Parameter)theEObject;
-				T result = caseParameter(parameter);
-				if (result == null) result = caseTypedElement(parameter);
-				if (result == null) result = caseNamedElement(parameter);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case ResourcePackage.GATEWAY: {
-				Gateway gateway = (Gateway)theEObject;
-				T result = caseGateway(gateway);
-				if (result == null) result = caseNamedElement(gateway);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			default: return defaultCase(theEObject);
-		}
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Studio</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>Studio</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseStudio(Studio object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Device</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>Device</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseDevice(Device object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Named Element</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>Named Element</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseNamedElement(NamedElement object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Typed Element</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>Typed Element</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseTypedElement(TypedElement object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Service</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>Service</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseService(Service object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Resource</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>Resource</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseResource(Resource object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Property</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>Property</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseProperty(Property object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Sensor Data</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>Sensor Data</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseSensorData(SensorData object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>State Variable</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>State Variable</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseStateVariable(StateVariable object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Action</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>Action</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseAction(Action object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Attribute</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>Attribute</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseAttribute(Attribute object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Metadata</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>Metadata</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseMetadata(Metadata object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Access Method</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>Access Method</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseAccessMethod(AccessMethod object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Parameter</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>Parameter</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseParameter(Parameter object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Gateway</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>Gateway</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseGateway(Gateway object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch, but this is the last case anyway.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
-	 * @generated
-	 */
-	@Override
-	public T defaultCase(EObject object) {
-		return null;
-	}
-
-} //ResourceSwitch
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.ide/src-gen/org/eclipse/sensinact/studio/language/ide/contentassist/antlr/PartialSensinactContentAssistParser.java b/xtext/org.eclipse.sensinact.studio.language.sensinact.ide/src-gen/org/eclipse/sensinact/studio/language/ide/contentassist/antlr/PartialSensinactContentAssistParser.java
deleted file mode 100644
index fa72c44..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.ide/src-gen/org/eclipse/sensinact/studio/language/ide/contentassist/antlr/PartialSensinactContentAssistParser.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/*
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.ide.contentassist.antlr;
-
-import java.util.Collection;
-import java.util.Collections;
-import org.eclipse.xtext.AbstractRule;
-import org.eclipse.xtext.ide.editor.contentassist.antlr.FollowElement;
-import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
-import org.eclipse.xtext.ide.editor.partialEditing.IPartialEditingContentAssistParser;
-import org.eclipse.xtext.util.PolymorphicDispatcher;
-
-public class PartialSensinactContentAssistParser extends SensinactParser implements IPartialEditingContentAssistParser {
-
-	private AbstractRule rule;
-
-	@Override
-	public void initializeFor(AbstractRule rule) {
-		this.rule = rule;
-	}
-
-	@Override
-	protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
-		if (rule == null || rule.eIsProxy())
-			return Collections.emptyList();
-		String methodName = "entryRule" + rule.getName();
-		PolymorphicDispatcher<Collection<FollowElement>> dispatcher = 
-			new PolymorphicDispatcher<Collection<FollowElement>>(methodName, 0, 0, Collections.singletonList(parser));
-		dispatcher.invoke();
-		return parser.getFollowElements();
-	}
-
-}
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.ide/src-gen/org/eclipse/sensinact/studio/language/ide/contentassist/antlr/SensinactParser.java b/xtext/org.eclipse.sensinact.studio.language.sensinact.ide/src-gen/org/eclipse/sensinact/studio/language/ide/contentassist/antlr/SensinactParser.java
deleted file mode 100644
index 71cd11c..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.ide/src-gen/org/eclipse/sensinact/studio/language/ide/contentassist/antlr/SensinactParser.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/*
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.ide.contentassist.antlr;
-
-import com.google.inject.Inject;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-import org.antlr.runtime.RecognitionException;
-import org.eclipse.sensinact.studio.language.ide.contentassist.antlr.internal.InternalSensinactParser;
-import org.eclipse.sensinact.studio.language.services.SensinactGrammarAccess;
-import org.eclipse.xtext.AbstractElement;
-import org.eclipse.xtext.ide.editor.contentassist.antlr.AbstractContentAssistParser;
-import org.eclipse.xtext.ide.editor.contentassist.antlr.FollowElement;
-import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
-
-public class SensinactParser extends AbstractContentAssistParser {
-
-	@Inject
-	private SensinactGrammarAccess grammarAccess;
-
-	private Map<AbstractElement, String> nameMappings;
-
-	@Override
-	protected InternalSensinactParser createParser() {
-		InternalSensinactParser result = new InternalSensinactParser(null);
-		result.setGrammarAccess(grammarAccess);
-		return result;
-	}
-
-	@Override
-	protected String getRuleName(AbstractElement element) {
-		if (nameMappings == null) {
-			nameMappings = new HashMap<AbstractElement, String>() {
-				private static final long serialVersionUID = 1L;
-				{
-					put(grammarAccess.getNUMBERAccess().getAlternatives(), "rule__NUMBER__Alternatives");
-					put(grammarAccess.getDSL_REFAccess().getAlternatives(), "rule__DSL_REF__Alternatives");
-					put(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationAlternatives_3_0(), "rule__DSL_CEP_STATEMENT__OperationAlternatives_3_0");
-					put(grammarAccess.getDSL_CEP_DURATIONAccess().getUnitsAlternatives_0(), "rule__DSL_CEP_DURATION__UnitsAlternatives_0");
-					put(grammarAccess.getDSL_ResourceActionAccess().getActiontypeAlternatives_3_0(), "rule__DSL_ResourceAction__ActiontypeAlternatives_3_0");
-					put(grammarAccess.getDSL_Expression_DiffEqualAccess().getAlternatives_1(), "rule__DSL_Expression_DiffEqual__Alternatives_1");
-					put(grammarAccess.getDSL_Expression_CompareAccess().getAlternatives_1(), "rule__DSL_Expression_Compare__Alternatives_1");
-					put(grammarAccess.getDSL_Expression_PlusMinusAccess().getAlternatives_1(), "rule__DSL_Expression_PlusMinus__Alternatives_1");
-					put(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getAlternatives_1(), "rule__DSL_Expression_MultiplicationDivision__Alternatives_1");
-					put(grammarAccess.getDSL_Expression_UnaryAccess().getAlternatives(), "rule__DSL_Expression_Unary__Alternatives");
-					put(grammarAccess.getSensinactAccess().getGroup(), "rule__Sensinact__Group__0");
-					put(grammarAccess.getDSL_SENSINACTAccess().getGroup(), "rule__DSL_SENSINACT__Group__0");
-					put(grammarAccess.getDSL_ResourceAccess().getGroup(), "rule__DSL_Resource__Group__0");
-					put(grammarAccess.getDSL_OnAccess().getGroup(), "rule__DSL_On__Group__0");
-					put(grammarAccess.getDSL_OnAccess().getGroup_2(), "rule__DSL_On__Group_2__0");
-					put(grammarAccess.getDSL_ECA_STATEMENTAccess().getGroup(), "rule__DSL_ECA_STATEMENT__Group__0");
-					put(grammarAccess.getDSL_IfDoAccess().getGroup(), "rule__DSL_IfDo__Group__0");
-					put(grammarAccess.getDSL_ElseIfDoAccess().getGroup(), "rule__DSL_ElseIfDo__Group__0");
-					put(grammarAccess.getDSL_ElseDoAccess().getGroup(), "rule__DSL_ElseDo__Group__0");
-					put(grammarAccess.getNUMBERAccess().getGroup_1(), "rule__NUMBER__Group_1__0");
-					put(grammarAccess.getEXTENDED_IDAccess().getGroup(), "rule__EXTENDED_ID__Group__0");
-					put(grammarAccess.getEXTENDED_IDAccess().getGroup_1(), "rule__EXTENDED_ID__Group_1__0");
-					put(grammarAccess.getDSL_REF_CONDITIONAccess().getGroup(), "rule__DSL_REF_CONDITION__Group__0");
-					put(grammarAccess.getDSL_CEP_STATEMENTAccess().getGroup(), "rule__DSL_CEP_STATEMENT__Group__0");
-					put(grammarAccess.getDSL_CEP_AFTERAccess().getGroup(), "rule__DSL_CEP_AFTER__Group__0");
-					put(grammarAccess.getDSL_CEP_AFTERAccess().getGroup_6(), "rule__DSL_CEP_AFTER__Group_6__0");
-					put(grammarAccess.getDSL_CEP_BEFOREAccess().getGroup(), "rule__DSL_CEP_BEFORE__Group__0");
-					put(grammarAccess.getDSL_CEP_BEFOREAccess().getGroup_6(), "rule__DSL_CEP_BEFORE__Group_6__0");
-					put(grammarAccess.getDSL_CEP_COINCIDEAccess().getGroup(), "rule__DSL_CEP_COINCIDE__Group__0");
-					put(grammarAccess.getDSL_CEP_MINAccess().getGroup(), "rule__DSL_CEP_MIN__Group__0");
-					put(grammarAccess.getDSL_CEP_MAXAccess().getGroup(), "rule__DSL_CEP_MAX__Group__0");
-					put(grammarAccess.getDSL_CEP_AVGAccess().getGroup(), "rule__DSL_CEP_AVG__Group__0");
-					put(grammarAccess.getDSL_CEP_SUMAccess().getGroup(), "rule__DSL_CEP_SUM__Group__0");
-					put(grammarAccess.getDSL_CEP_COUNTAccess().getGroup(), "rule__DSL_CEP_COUNT__Group__0");
-					put(grammarAccess.getDSL_CEP_DURATION_MINAccess().getGroup(), "rule__DSL_CEP_DURATION_MIN__Group__0");
-					put(grammarAccess.getDSL_CEP_DURATION_SECAccess().getGroup(), "rule__DSL_CEP_DURATION_SEC__Group__0");
-					put(grammarAccess.getDSL_ListActionsAccess().getGroup(), "rule__DSL_ListActions__Group__0");
-					put(grammarAccess.getDSL_ListActionsAccess().getGroup_1(), "rule__DSL_ListActions__Group_1__0");
-					put(grammarAccess.getDSL_ResourceActionAccess().getGroup(), "rule__DSL_ResourceAction__Group__0");
-					put(grammarAccess.getDSL_ResourceActionAccess().getGroup_0(), "rule__DSL_ResourceAction__Group_0__0");
-					put(grammarAccess.getDSL_ListParamAccess().getGroup(), "rule__DSL_ListParam__Group__0");
-					put(grammarAccess.getDSL_ListParamAccess().getGroup_1(), "rule__DSL_ListParam__Group_1__0");
-					put(grammarAccess.getDSL_Expression_OrAccess().getGroup(), "rule__DSL_Expression_Or__Group__0");
-					put(grammarAccess.getDSL_Expression_OrAccess().getGroup_1(), "rule__DSL_Expression_Or__Group_1__0");
-					put(grammarAccess.getDSL_Expression_AndAccess().getGroup(), "rule__DSL_Expression_And__Group__0");
-					put(grammarAccess.getDSL_Expression_AndAccess().getGroup_1(), "rule__DSL_Expression_And__Group_1__0");
-					put(grammarAccess.getDSL_Expression_DiffEqualAccess().getGroup(), "rule__DSL_Expression_DiffEqual__Group__0");
-					put(grammarAccess.getDSL_Expression_DiffEqualAccess().getGroup_1_0(), "rule__DSL_Expression_DiffEqual__Group_1_0__0");
-					put(grammarAccess.getDSL_Expression_DiffEqualAccess().getGroup_1_1(), "rule__DSL_Expression_DiffEqual__Group_1_1__0");
-					put(grammarAccess.getDSL_Expression_CompareAccess().getGroup(), "rule__DSL_Expression_Compare__Group__0");
-					put(grammarAccess.getDSL_Expression_CompareAccess().getGroup_1_0(), "rule__DSL_Expression_Compare__Group_1_0__0");
-					put(grammarAccess.getDSL_Expression_CompareAccess().getGroup_1_1(), "rule__DSL_Expression_Compare__Group_1_1__0");
-					put(grammarAccess.getDSL_Expression_CompareAccess().getGroup_1_2(), "rule__DSL_Expression_Compare__Group_1_2__0");
-					put(grammarAccess.getDSL_Expression_CompareAccess().getGroup_1_3(), "rule__DSL_Expression_Compare__Group_1_3__0");
-					put(grammarAccess.getDSL_Expression_PlusMinusAccess().getGroup(), "rule__DSL_Expression_PlusMinus__Group__0");
-					put(grammarAccess.getDSL_Expression_PlusMinusAccess().getGroup_1_0(), "rule__DSL_Expression_PlusMinus__Group_1_0__0");
-					put(grammarAccess.getDSL_Expression_PlusMinusAccess().getGroup_1_1(), "rule__DSL_Expression_PlusMinus__Group_1_1__0");
-					put(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getGroup(), "rule__DSL_Expression_MultiplicationDivision__Group__0");
-					put(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getGroup_1_0(), "rule__DSL_Expression_MultiplicationDivision__Group_1_0__0");
-					put(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getGroup_1_1(), "rule__DSL_Expression_MultiplicationDivision__Group_1_1__0");
-					put(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getGroup_1_2(), "rule__DSL_Expression_MultiplicationDivision__Group_1_2__0");
-					put(grammarAccess.getDSL_Expression_UnaryAccess().getGroup_0(), "rule__DSL_Expression_Unary__Group_0__0");
-					put(grammarAccess.getDSL_Expression_UnaryAccess().getGroup_1(), "rule__DSL_Expression_Unary__Group_1__0");
-					put(grammarAccess.getDSL_Expression_UnaryAccess().getGroup_2(), "rule__DSL_Expression_Unary__Group_2__0");
-					put(grammarAccess.getDSL_Expression_UnaryAccess().getGroup_3(), "rule__DSL_Expression_Unary__Group_3__0");
-					put(grammarAccess.getDSL_Expression_UnaryAccess().getGroup_4(), "rule__DSL_Expression_Unary__Group_4__0");
-					put(grammarAccess.getDSL_Expression_UnaryAccess().getGroup_5(), "rule__DSL_Expression_Unary__Group_5__0");
-					put(grammarAccess.getSensinactAccess().getEcaAssignment_1(), "rule__Sensinact__EcaAssignment_1");
-					put(grammarAccess.getDSL_SENSINACTAccess().getResourcesAssignment_0(), "rule__DSL_SENSINACT__ResourcesAssignment_0");
-					put(grammarAccess.getDSL_SENSINACTAccess().getCepAssignment_1(), "rule__DSL_SENSINACT__CepAssignment_1");
-					put(grammarAccess.getDSL_SENSINACTAccess().getOnAssignment_2(), "rule__DSL_SENSINACT__OnAssignment_2");
-					put(grammarAccess.getDSL_SENSINACTAccess().getEcaAssignment_3(), "rule__DSL_SENSINACT__EcaAssignment_3");
-					put(grammarAccess.getDSL_ResourceAccess().getNameAssignment_1(), "rule__DSL_Resource__NameAssignment_1");
-					put(grammarAccess.getDSL_ResourceAccess().getGatewayIDAssignment_4(), "rule__DSL_Resource__GatewayIDAssignment_4");
-					put(grammarAccess.getDSL_ResourceAccess().getDeviceIDAssignment_6(), "rule__DSL_Resource__DeviceIDAssignment_6");
-					put(grammarAccess.getDSL_ResourceAccess().getServiceIDAssignment_8(), "rule__DSL_Resource__ServiceIDAssignment_8");
-					put(grammarAccess.getDSL_ResourceAccess().getResourceIDAssignment_10(), "rule__DSL_Resource__ResourceIDAssignment_10");
-					put(grammarAccess.getDSL_OnAccess().getTriggersAssignment_1(), "rule__DSL_On__TriggersAssignment_1");
-					put(grammarAccess.getDSL_OnAccess().getTriggersAssignment_2_1(), "rule__DSL_On__TriggersAssignment_2_1");
-					put(grammarAccess.getDSL_ECA_STATEMENTAccess().getIfdoAssignment_0(), "rule__DSL_ECA_STATEMENT__IfdoAssignment_0");
-					put(grammarAccess.getDSL_ECA_STATEMENTAccess().getElseIfdoAssignment_1(), "rule__DSL_ECA_STATEMENT__ElseIfdoAssignment_1");
-					put(grammarAccess.getDSL_ECA_STATEMENTAccess().getElsedoAssignment_2(), "rule__DSL_ECA_STATEMENT__ElsedoAssignment_2");
-					put(grammarAccess.getDSL_IfDoAccess().getConditionAssignment_1(), "rule__DSL_IfDo__ConditionAssignment_1");
-					put(grammarAccess.getDSL_IfDoAccess().getActionsAssignment_3(), "rule__DSL_IfDo__ActionsAssignment_3");
-					put(grammarAccess.getDSL_ElseIfDoAccess().getConditionAssignment_1(), "rule__DSL_ElseIfDo__ConditionAssignment_1");
-					put(grammarAccess.getDSL_ElseIfDoAccess().getActionsAssignment_3(), "rule__DSL_ElseIfDo__ActionsAssignment_3");
-					put(grammarAccess.getDSL_ElseDoAccess().getActionsAssignment_1(), "rule__DSL_ElseDo__ActionsAssignment_1");
-					put(grammarAccess.getDSL_REF_CONDITIONAccess().getRefAssignment_0(), "rule__DSL_REF_CONDITION__RefAssignment_0");
-					put(grammarAccess.getDSL_CEP_STATEMENTAccess().getNameAssignment_1(), "rule__DSL_CEP_STATEMENT__NameAssignment_1");
-					put(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationAssignment_3(), "rule__DSL_CEP_STATEMENT__OperationAssignment_3");
-					put(grammarAccess.getDSL_CEP_AFTERAccess().getRef1Assignment_2(), "rule__DSL_CEP_AFTER__Ref1Assignment_2");
-					put(grammarAccess.getDSL_CEP_AFTERAccess().getRef2Assignment_4(), "rule__DSL_CEP_AFTER__Ref2Assignment_4");
-					put(grammarAccess.getDSL_CEP_AFTERAccess().getStartAssignment_6_0(), "rule__DSL_CEP_AFTER__StartAssignment_6_0");
-					put(grammarAccess.getDSL_CEP_AFTERAccess().getEndAssignment_7(), "rule__DSL_CEP_AFTER__EndAssignment_7");
-					put(grammarAccess.getDSL_CEP_BEFOREAccess().getRef1Assignment_2(), "rule__DSL_CEP_BEFORE__Ref1Assignment_2");
-					put(grammarAccess.getDSL_CEP_BEFOREAccess().getRef2Assignment_4(), "rule__DSL_CEP_BEFORE__Ref2Assignment_4");
-					put(grammarAccess.getDSL_CEP_BEFOREAccess().getStartAssignment_6_0(), "rule__DSL_CEP_BEFORE__StartAssignment_6_0");
-					put(grammarAccess.getDSL_CEP_BEFOREAccess().getEndAssignment_7(), "rule__DSL_CEP_BEFORE__EndAssignment_7");
-					put(grammarAccess.getDSL_CEP_COINCIDEAccess().getRef1Assignment_2(), "rule__DSL_CEP_COINCIDE__Ref1Assignment_2");
-					put(grammarAccess.getDSL_CEP_COINCIDEAccess().getRef2Assignment_4(), "rule__DSL_CEP_COINCIDE__Ref2Assignment_4");
-					put(grammarAccess.getDSL_CEP_COINCIDEAccess().getWindowAssignment_6(), "rule__DSL_CEP_COINCIDE__WindowAssignment_6");
-					put(grammarAccess.getDSL_CEP_MINAccess().getRefAssignment_2(), "rule__DSL_CEP_MIN__RefAssignment_2");
-					put(grammarAccess.getDSL_CEP_MINAccess().getWindowAssignment_4(), "rule__DSL_CEP_MIN__WindowAssignment_4");
-					put(grammarAccess.getDSL_CEP_MAXAccess().getRefAssignment_2(), "rule__DSL_CEP_MAX__RefAssignment_2");
-					put(grammarAccess.getDSL_CEP_MAXAccess().getWindowAssignment_4(), "rule__DSL_CEP_MAX__WindowAssignment_4");
-					put(grammarAccess.getDSL_CEP_AVGAccess().getRefAssignment_2(), "rule__DSL_CEP_AVG__RefAssignment_2");
-					put(grammarAccess.getDSL_CEP_AVGAccess().getWindowAssignment_4(), "rule__DSL_CEP_AVG__WindowAssignment_4");
-					put(grammarAccess.getDSL_CEP_SUMAccess().getRefAssignment_2(), "rule__DSL_CEP_SUM__RefAssignment_2");
-					put(grammarAccess.getDSL_CEP_SUMAccess().getWindowAssignment_4(), "rule__DSL_CEP_SUM__WindowAssignment_4");
-					put(grammarAccess.getDSL_CEP_COUNTAccess().getRefAssignment_2(), "rule__DSL_CEP_COUNT__RefAssignment_2");
-					put(grammarAccess.getDSL_CEP_COUNTAccess().getWindowAssignment_4(), "rule__DSL_CEP_COUNT__WindowAssignment_4");
-					put(grammarAccess.getDSL_CEP_DURATIONAccess().getUnitsAssignment(), "rule__DSL_CEP_DURATION__UnitsAssignment");
-					put(grammarAccess.getDSL_CEP_DURATION_MINAccess().getMinAssignment_0(), "rule__DSL_CEP_DURATION_MIN__MinAssignment_0");
-					put(grammarAccess.getDSL_CEP_DURATION_SECAccess().getSecAssignment_0(), "rule__DSL_CEP_DURATION_SEC__SecAssignment_0");
-					put(grammarAccess.getDSL_ListActionsAccess().getActionListAssignment_0(), "rule__DSL_ListActions__ActionListAssignment_0");
-					put(grammarAccess.getDSL_ListActionsAccess().getActionListAssignment_1_1(), "rule__DSL_ListActions__ActionListAssignment_1_1");
-					put(grammarAccess.getDSL_ResourceActionAccess().getVariableAssignment_0_0(), "rule__DSL_ResourceAction__VariableAssignment_0_0");
-					put(grammarAccess.getDSL_ResourceActionAccess().getRefAssignment_1(), "rule__DSL_ResourceAction__RefAssignment_1");
-					put(grammarAccess.getDSL_ResourceActionAccess().getActiontypeAssignment_3(), "rule__DSL_ResourceAction__ActiontypeAssignment_3");
-					put(grammarAccess.getDSL_ResourceActionAccess().getListParamAssignment_5(), "rule__DSL_ResourceAction__ListParamAssignment_5");
-					put(grammarAccess.getDSL_ListParamAccess().getParamAssignment_0(), "rule__DSL_ListParam__ParamAssignment_0");
-					put(grammarAccess.getDSL_ListParamAccess().getParamAssignment_1_1(), "rule__DSL_ListParam__ParamAssignment_1_1");
-					put(grammarAccess.getDSL_Expression_OrAccess().getRightAssignment_1_2(), "rule__DSL_Expression_Or__RightAssignment_1_2");
-					put(grammarAccess.getDSL_Expression_AndAccess().getRightAssignment_1_2(), "rule__DSL_Expression_And__RightAssignment_1_2");
-					put(grammarAccess.getDSL_Expression_DiffEqualAccess().getRightAssignment_1_0_2(), "rule__DSL_Expression_DiffEqual__RightAssignment_1_0_2");
-					put(grammarAccess.getDSL_Expression_DiffEqualAccess().getRightAssignment_1_1_2(), "rule__DSL_Expression_DiffEqual__RightAssignment_1_1_2");
-					put(grammarAccess.getDSL_Expression_CompareAccess().getRightAssignment_1_0_2(), "rule__DSL_Expression_Compare__RightAssignment_1_0_2");
-					put(grammarAccess.getDSL_Expression_CompareAccess().getRightAssignment_1_1_2(), "rule__DSL_Expression_Compare__RightAssignment_1_1_2");
-					put(grammarAccess.getDSL_Expression_CompareAccess().getRightAssignment_1_2_2(), "rule__DSL_Expression_Compare__RightAssignment_1_2_2");
-					put(grammarAccess.getDSL_Expression_CompareAccess().getRightAssignment_1_3_2(), "rule__DSL_Expression_Compare__RightAssignment_1_3_2");
-					put(grammarAccess.getDSL_Expression_PlusMinusAccess().getRightAssignment_1_0_2(), "rule__DSL_Expression_PlusMinus__RightAssignment_1_0_2");
-					put(grammarAccess.getDSL_Expression_PlusMinusAccess().getRightAssignment_1_1_2(), "rule__DSL_Expression_PlusMinus__RightAssignment_1_1_2");
-					put(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightAssignment_1_0_2(), "rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_0_2");
-					put(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightAssignment_1_1_2(), "rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_1_2");
-					put(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightAssignment_1_2_2(), "rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_2_2");
-					put(grammarAccess.getDSL_Expression_UnaryAccess().getValueAssignment_0_1(), "rule__DSL_Expression_Unary__ValueAssignment_0_1");
-					put(grammarAccess.getDSL_Expression_UnaryAccess().getValueAssignment_1_1(), "rule__DSL_Expression_Unary__ValueAssignment_1_1");
-					put(grammarAccess.getDSL_Expression_UnaryAccess().getValueAssignment_2_1(), "rule__DSL_Expression_Unary__ValueAssignment_2_1");
-					put(grammarAccess.getDSL_Expression_UnaryAccess().getValueAssignment_3_1(), "rule__DSL_Expression_Unary__ValueAssignment_3_1");
-					put(grammarAccess.getDSL_Expression_UnaryAccess().getExpAssignment_5_2(), "rule__DSL_Expression_Unary__ExpAssignment_5_2");
-				}
-			};
-		}
-		return nameMappings.get(element);
-	}
-
-	@Override
-	protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
-		try {
-			InternalSensinactParser typedParser = (InternalSensinactParser) parser;
-			typedParser.entryRuleSensinact();
-			return typedParser.getFollowElements();
-		} catch(RecognitionException ex) {
-			throw new RuntimeException(ex);
-		}
-	}
-
-	@Override
-	protected String[] getInitialHiddenTokens() {
-		return new String[] { "RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT" };
-	}
-
-	public SensinactGrammarAccess getGrammarAccess() {
-		return this.grammarAccess;
-	}
-
-	public void setGrammarAccess(SensinactGrammarAccess grammarAccess) {
-		this.grammarAccess = grammarAccess;
-	}
-}
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.ide/src-gen/org/eclipse/sensinact/studio/language/ide/contentassist/antlr/internal/InternalSensinact.g b/xtext/org.eclipse.sensinact.studio.language.sensinact.ide/src-gen/org/eclipse/sensinact/studio/language/ide/contentassist/antlr/internal/InternalSensinact.g
deleted file mode 100644
index e2ad158..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.ide/src-gen/org/eclipse/sensinact/studio/language/ide/contentassist/antlr/internal/InternalSensinact.g
+++ /dev/null
@@ -1,7679 +0,0 @@
-/*
- * generated by Xtext 2.9.1
- */
-grammar InternalSensinact;
-
-options {
-	superClass=AbstractInternalContentAssistParser;
-}
-
-@lexer::header {
-package org.eclipse.sensinact.studio.language.ide.contentassist.antlr.internal;
-
-// Hack: Use our own Lexer superclass by means of import. 
-// Currently there is no other way to specify the superclass for the lexer.
-import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer;
-}
-
-@parser::header {
-package org.eclipse.sensinact.studio.language.ide.contentassist.antlr.internal;
-
-import java.io.InputStream;
-import org.eclipse.xtext.*;
-import org.eclipse.xtext.parser.*;
-import org.eclipse.xtext.parser.impl.*;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
-import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
-import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.DFA;
-import org.eclipse.sensinact.studio.language.services.SensinactGrammarAccess;
-
-}
-@parser::members {
-	private SensinactGrammarAccess grammarAccess;
-
-	public void setGrammarAccess(SensinactGrammarAccess grammarAccess) {
-		this.grammarAccess = grammarAccess;
-	}
-
-	@Override
-	protected Grammar getGrammar() {
-		return grammarAccess.getGrammar();
-	}
-
-	@Override
-	protected String getValueForTokenName(String tokenName) {
-		return tokenName;
-	}
-}
-
-// Entry rule entryRuleSensinact
-entryRuleSensinact
-:
-{ before(grammarAccess.getSensinactRule()); }
-	 ruleSensinact
-{ after(grammarAccess.getSensinactRule()); } 
-	 EOF 
-;
-
-// Rule Sensinact
-ruleSensinact 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		{ before(grammarAccess.getSensinactAccess().getGroup()); }
-		(rule__Sensinact__Group__0)
-		{ after(grammarAccess.getSensinactAccess().getGroup()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-// Entry rule entryRuleDSL_SENSINACT
-entryRuleDSL_SENSINACT
-:
-{ before(grammarAccess.getDSL_SENSINACTRule()); }
-	 ruleDSL_SENSINACT
-{ after(grammarAccess.getDSL_SENSINACTRule()); } 
-	 EOF 
-;
-
-// Rule DSL_SENSINACT
-ruleDSL_SENSINACT 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		{ before(grammarAccess.getDSL_SENSINACTAccess().getGroup()); }
-		(rule__DSL_SENSINACT__Group__0)
-		{ after(grammarAccess.getDSL_SENSINACTAccess().getGroup()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-// Entry rule entryRuleDSL_Resource
-entryRuleDSL_Resource
-:
-{ before(grammarAccess.getDSL_ResourceRule()); }
-	 ruleDSL_Resource
-{ after(grammarAccess.getDSL_ResourceRule()); } 
-	 EOF 
-;
-
-// Rule DSL_Resource
-ruleDSL_Resource 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		{ before(grammarAccess.getDSL_ResourceAccess().getGroup()); }
-		(rule__DSL_Resource__Group__0)
-		{ after(grammarAccess.getDSL_ResourceAccess().getGroup()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-// Entry rule entryRuleDSL_On
-entryRuleDSL_On
-:
-{ before(grammarAccess.getDSL_OnRule()); }
-	 ruleDSL_On
-{ after(grammarAccess.getDSL_OnRule()); } 
-	 EOF 
-;
-
-// Rule DSL_On
-ruleDSL_On 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		{ before(grammarAccess.getDSL_OnAccess().getGroup()); }
-		(rule__DSL_On__Group__0)
-		{ after(grammarAccess.getDSL_OnAccess().getGroup()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-// Entry rule entryRuleDSL_ECA_STATEMENT
-entryRuleDSL_ECA_STATEMENT
-:
-{ before(grammarAccess.getDSL_ECA_STATEMENTRule()); }
-	 ruleDSL_ECA_STATEMENT
-{ after(grammarAccess.getDSL_ECA_STATEMENTRule()); } 
-	 EOF 
-;
-
-// Rule DSL_ECA_STATEMENT
-ruleDSL_ECA_STATEMENT 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		{ before(grammarAccess.getDSL_ECA_STATEMENTAccess().getGroup()); }
-		(rule__DSL_ECA_STATEMENT__Group__0)
-		{ after(grammarAccess.getDSL_ECA_STATEMENTAccess().getGroup()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-// Entry rule entryRuleDSL_IfDo
-entryRuleDSL_IfDo
-:
-{ before(grammarAccess.getDSL_IfDoRule()); }
-	 ruleDSL_IfDo
-{ after(grammarAccess.getDSL_IfDoRule()); } 
-	 EOF 
-;
-
-// Rule DSL_IfDo
-ruleDSL_IfDo 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		{ before(grammarAccess.getDSL_IfDoAccess().getGroup()); }
-		(rule__DSL_IfDo__Group__0)
-		{ after(grammarAccess.getDSL_IfDoAccess().getGroup()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-// Entry rule entryRuleDSL_ElseIfDo
-entryRuleDSL_ElseIfDo
-:
-{ before(grammarAccess.getDSL_ElseIfDoRule()); }
-	 ruleDSL_ElseIfDo
-{ after(grammarAccess.getDSL_ElseIfDoRule()); } 
-	 EOF 
-;
-
-// Rule DSL_ElseIfDo
-ruleDSL_ElseIfDo 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		{ before(grammarAccess.getDSL_ElseIfDoAccess().getGroup()); }
-		(rule__DSL_ElseIfDo__Group__0)
-		{ after(grammarAccess.getDSL_ElseIfDoAccess().getGroup()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-// Entry rule entryRuleDSL_ElseDo
-entryRuleDSL_ElseDo
-:
-{ before(grammarAccess.getDSL_ElseDoRule()); }
-	 ruleDSL_ElseDo
-{ after(grammarAccess.getDSL_ElseDoRule()); } 
-	 EOF 
-;
-
-// Rule DSL_ElseDo
-ruleDSL_ElseDo 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		{ before(grammarAccess.getDSL_ElseDoAccess().getGroup()); }
-		(rule__DSL_ElseDo__Group__0)
-		{ after(grammarAccess.getDSL_ElseDoAccess().getGroup()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-// Entry rule entryRuleNUMBER
-entryRuleNUMBER
-:
-{ before(grammarAccess.getNUMBERRule()); }
-	 ruleNUMBER
-{ after(grammarAccess.getNUMBERRule()); } 
-	 EOF 
-;
-
-// Rule NUMBER
-ruleNUMBER 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		{ before(grammarAccess.getNUMBERAccess().getAlternatives()); }
-		(rule__NUMBER__Alternatives)
-		{ after(grammarAccess.getNUMBERAccess().getAlternatives()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-// Entry rule entryRuleEXTENDED_ID
-entryRuleEXTENDED_ID
-:
-{ before(grammarAccess.getEXTENDED_IDRule()); }
-	 ruleEXTENDED_ID
-{ after(grammarAccess.getEXTENDED_IDRule()); } 
-	 EOF 
-;
-
-// Rule EXTENDED_ID
-ruleEXTENDED_ID 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		{ before(grammarAccess.getEXTENDED_IDAccess().getGroup()); }
-		(rule__EXTENDED_ID__Group__0)
-		{ after(grammarAccess.getEXTENDED_IDAccess().getGroup()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-// Entry rule entryRuleDSL_REF_CONDITION
-entryRuleDSL_REF_CONDITION
-:
-{ before(grammarAccess.getDSL_REF_CONDITIONRule()); }
-	 ruleDSL_REF_CONDITION
-{ after(grammarAccess.getDSL_REF_CONDITIONRule()); } 
-	 EOF 
-;
-
-// Rule DSL_REF_CONDITION
-ruleDSL_REF_CONDITION 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		{ before(grammarAccess.getDSL_REF_CONDITIONAccess().getGroup()); }
-		(rule__DSL_REF_CONDITION__Group__0)
-		{ after(grammarAccess.getDSL_REF_CONDITIONAccess().getGroup()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-// Entry rule entryRuleDSL_CEP_STATEMENT
-entryRuleDSL_CEP_STATEMENT
-:
-{ before(grammarAccess.getDSL_CEP_STATEMENTRule()); }
-	 ruleDSL_CEP_STATEMENT
-{ after(grammarAccess.getDSL_CEP_STATEMENTRule()); } 
-	 EOF 
-;
-
-// Rule DSL_CEP_STATEMENT
-ruleDSL_CEP_STATEMENT 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		{ before(grammarAccess.getDSL_CEP_STATEMENTAccess().getGroup()); }
-		(rule__DSL_CEP_STATEMENT__Group__0)
-		{ after(grammarAccess.getDSL_CEP_STATEMENTAccess().getGroup()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-// Entry rule entryRuleDSL_CEP_AFTER
-entryRuleDSL_CEP_AFTER
-:
-{ before(grammarAccess.getDSL_CEP_AFTERRule()); }
-	 ruleDSL_CEP_AFTER
-{ after(grammarAccess.getDSL_CEP_AFTERRule()); } 
-	 EOF 
-;
-
-// Rule DSL_CEP_AFTER
-ruleDSL_CEP_AFTER 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		{ before(grammarAccess.getDSL_CEP_AFTERAccess().getGroup()); }
-		(rule__DSL_CEP_AFTER__Group__0)
-		{ after(grammarAccess.getDSL_CEP_AFTERAccess().getGroup()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-// Entry rule entryRuleDSL_CEP_BEFORE
-entryRuleDSL_CEP_BEFORE
-:
-{ before(grammarAccess.getDSL_CEP_BEFORERule()); }
-	 ruleDSL_CEP_BEFORE
-{ after(grammarAccess.getDSL_CEP_BEFORERule()); } 
-	 EOF 
-;
-
-// Rule DSL_CEP_BEFORE
-ruleDSL_CEP_BEFORE 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		{ before(grammarAccess.getDSL_CEP_BEFOREAccess().getGroup()); }
-		(rule__DSL_CEP_BEFORE__Group__0)
-		{ after(grammarAccess.getDSL_CEP_BEFOREAccess().getGroup()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-// Entry rule entryRuleDSL_CEP_COINCIDE
-entryRuleDSL_CEP_COINCIDE
-:
-{ before(grammarAccess.getDSL_CEP_COINCIDERule()); }
-	 ruleDSL_CEP_COINCIDE
-{ after(grammarAccess.getDSL_CEP_COINCIDERule()); } 
-	 EOF 
-;
-
-// Rule DSL_CEP_COINCIDE
-ruleDSL_CEP_COINCIDE 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		{ before(grammarAccess.getDSL_CEP_COINCIDEAccess().getGroup()); }
-		(rule__DSL_CEP_COINCIDE__Group__0)
-		{ after(grammarAccess.getDSL_CEP_COINCIDEAccess().getGroup()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-// Entry rule entryRuleDSL_CEP_MIN
-entryRuleDSL_CEP_MIN
-:
-{ before(grammarAccess.getDSL_CEP_MINRule()); }
-	 ruleDSL_CEP_MIN
-{ after(grammarAccess.getDSL_CEP_MINRule()); } 
-	 EOF 
-;
-
-// Rule DSL_CEP_MIN
-ruleDSL_CEP_MIN 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		{ before(grammarAccess.getDSL_CEP_MINAccess().getGroup()); }
-		(rule__DSL_CEP_MIN__Group__0)
-		{ after(grammarAccess.getDSL_CEP_MINAccess().getGroup()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-// Entry rule entryRuleDSL_CEP_MAX
-entryRuleDSL_CEP_MAX
-:
-{ before(grammarAccess.getDSL_CEP_MAXRule()); }
-	 ruleDSL_CEP_MAX
-{ after(grammarAccess.getDSL_CEP_MAXRule()); } 
-	 EOF 
-;
-
-// Rule DSL_CEP_MAX
-ruleDSL_CEP_MAX 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		{ before(grammarAccess.getDSL_CEP_MAXAccess().getGroup()); }
-		(rule__DSL_CEP_MAX__Group__0)
-		{ after(grammarAccess.getDSL_CEP_MAXAccess().getGroup()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-// Entry rule entryRuleDSL_CEP_AVG
-entryRuleDSL_CEP_AVG
-:
-{ before(grammarAccess.getDSL_CEP_AVGRule()); }
-	 ruleDSL_CEP_AVG
-{ after(grammarAccess.getDSL_CEP_AVGRule()); } 
-	 EOF 
-;
-
-// Rule DSL_CEP_AVG
-ruleDSL_CEP_AVG 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		{ before(grammarAccess.getDSL_CEP_AVGAccess().getGroup()); }
-		(rule__DSL_CEP_AVG__Group__0)
-		{ after(grammarAccess.getDSL_CEP_AVGAccess().getGroup()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-// Entry rule entryRuleDSL_CEP_SUM
-entryRuleDSL_CEP_SUM
-:
-{ before(grammarAccess.getDSL_CEP_SUMRule()); }
-	 ruleDSL_CEP_SUM
-{ after(grammarAccess.getDSL_CEP_SUMRule()); } 
-	 EOF 
-;
-
-// Rule DSL_CEP_SUM
-ruleDSL_CEP_SUM 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		{ before(grammarAccess.getDSL_CEP_SUMAccess().getGroup()); }
-		(rule__DSL_CEP_SUM__Group__0)
-		{ after(grammarAccess.getDSL_CEP_SUMAccess().getGroup()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-// Entry rule entryRuleDSL_CEP_COUNT
-entryRuleDSL_CEP_COUNT
-:
-{ before(grammarAccess.getDSL_CEP_COUNTRule()); }
-	 ruleDSL_CEP_COUNT
-{ after(grammarAccess.getDSL_CEP_COUNTRule()); } 
-	 EOF 
-;
-
-// Rule DSL_CEP_COUNT
-ruleDSL_CEP_COUNT 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		{ before(grammarAccess.getDSL_CEP_COUNTAccess().getGroup()); }
-		(rule__DSL_CEP_COUNT__Group__0)
-		{ after(grammarAccess.getDSL_CEP_COUNTAccess().getGroup()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-// Entry rule entryRuleDSL_CEP_DURATION
-entryRuleDSL_CEP_DURATION
-:
-{ before(grammarAccess.getDSL_CEP_DURATIONRule()); }
-	 ruleDSL_CEP_DURATION
-{ after(grammarAccess.getDSL_CEP_DURATIONRule()); } 
-	 EOF 
-;
-
-// Rule DSL_CEP_DURATION
-ruleDSL_CEP_DURATION 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		(
-			{ before(grammarAccess.getDSL_CEP_DURATIONAccess().getUnitsAssignment()); }
-			(rule__DSL_CEP_DURATION__UnitsAssignment)
-			{ after(grammarAccess.getDSL_CEP_DURATIONAccess().getUnitsAssignment()); }
-		)
-		(
-			{ before(grammarAccess.getDSL_CEP_DURATIONAccess().getUnitsAssignment()); }
-			(rule__DSL_CEP_DURATION__UnitsAssignment)*
-			{ after(grammarAccess.getDSL_CEP_DURATIONAccess().getUnitsAssignment()); }
-		)
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-// Entry rule entryRuleDSL_CEP_DURATION_MIN
-entryRuleDSL_CEP_DURATION_MIN
-:
-{ before(grammarAccess.getDSL_CEP_DURATION_MINRule()); }
-	 ruleDSL_CEP_DURATION_MIN
-{ after(grammarAccess.getDSL_CEP_DURATION_MINRule()); } 
-	 EOF 
-;
-
-// Rule DSL_CEP_DURATION_MIN
-ruleDSL_CEP_DURATION_MIN 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		{ before(grammarAccess.getDSL_CEP_DURATION_MINAccess().getGroup()); }
-		(rule__DSL_CEP_DURATION_MIN__Group__0)
-		{ after(grammarAccess.getDSL_CEP_DURATION_MINAccess().getGroup()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-// Entry rule entryRuleDSL_CEP_DURATION_SEC
-entryRuleDSL_CEP_DURATION_SEC
-:
-{ before(grammarAccess.getDSL_CEP_DURATION_SECRule()); }
-	 ruleDSL_CEP_DURATION_SEC
-{ after(grammarAccess.getDSL_CEP_DURATION_SECRule()); } 
-	 EOF 
-;
-
-// Rule DSL_CEP_DURATION_SEC
-ruleDSL_CEP_DURATION_SEC 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		{ before(grammarAccess.getDSL_CEP_DURATION_SECAccess().getGroup()); }
-		(rule__DSL_CEP_DURATION_SEC__Group__0)
-		{ after(grammarAccess.getDSL_CEP_DURATION_SECAccess().getGroup()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-// Entry rule entryRuleDSL_ListActions
-entryRuleDSL_ListActions
-:
-{ before(grammarAccess.getDSL_ListActionsRule()); }
-	 ruleDSL_ListActions
-{ after(grammarAccess.getDSL_ListActionsRule()); } 
-	 EOF 
-;
-
-// Rule DSL_ListActions
-ruleDSL_ListActions 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		{ before(grammarAccess.getDSL_ListActionsAccess().getGroup()); }
-		(rule__DSL_ListActions__Group__0)
-		{ after(grammarAccess.getDSL_ListActionsAccess().getGroup()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-// Entry rule entryRuleDSL_ResourceAction
-entryRuleDSL_ResourceAction
-:
-{ before(grammarAccess.getDSL_ResourceActionRule()); }
-	 ruleDSL_ResourceAction
-{ after(grammarAccess.getDSL_ResourceActionRule()); } 
-	 EOF 
-;
-
-// Rule DSL_ResourceAction
-ruleDSL_ResourceAction 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		{ before(grammarAccess.getDSL_ResourceActionAccess().getGroup()); }
-		(rule__DSL_ResourceAction__Group__0)
-		{ after(grammarAccess.getDSL_ResourceActionAccess().getGroup()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-// Entry rule entryRuleDSL_ListParam
-entryRuleDSL_ListParam
-:
-{ before(grammarAccess.getDSL_ListParamRule()); }
-	 ruleDSL_ListParam
-{ after(grammarAccess.getDSL_ListParamRule()); } 
-	 EOF 
-;
-
-// Rule DSL_ListParam
-ruleDSL_ListParam 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		{ before(grammarAccess.getDSL_ListParamAccess().getGroup()); }
-		(rule__DSL_ListParam__Group__0)
-		{ after(grammarAccess.getDSL_ListParamAccess().getGroup()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-// Entry rule entryRuleDSL_Expression_Or
-entryRuleDSL_Expression_Or
-:
-{ before(grammarAccess.getDSL_Expression_OrRule()); }
-	 ruleDSL_Expression_Or
-{ after(grammarAccess.getDSL_Expression_OrRule()); } 
-	 EOF 
-;
-
-// Rule DSL_Expression_Or
-ruleDSL_Expression_Or 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		{ before(grammarAccess.getDSL_Expression_OrAccess().getGroup()); }
-		(rule__DSL_Expression_Or__Group__0)
-		{ after(grammarAccess.getDSL_Expression_OrAccess().getGroup()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-// Entry rule entryRuleDSL_Expression_And
-entryRuleDSL_Expression_And
-:
-{ before(grammarAccess.getDSL_Expression_AndRule()); }
-	 ruleDSL_Expression_And
-{ after(grammarAccess.getDSL_Expression_AndRule()); } 
-	 EOF 
-;
-
-// Rule DSL_Expression_And
-ruleDSL_Expression_And 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		{ before(grammarAccess.getDSL_Expression_AndAccess().getGroup()); }
-		(rule__DSL_Expression_And__Group__0)
-		{ after(grammarAccess.getDSL_Expression_AndAccess().getGroup()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-// Entry rule entryRuleDSL_Expression_DiffEqual
-entryRuleDSL_Expression_DiffEqual
-:
-{ before(grammarAccess.getDSL_Expression_DiffEqualRule()); }
-	 ruleDSL_Expression_DiffEqual
-{ after(grammarAccess.getDSL_Expression_DiffEqualRule()); } 
-	 EOF 
-;
-
-// Rule DSL_Expression_DiffEqual
-ruleDSL_Expression_DiffEqual 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		{ before(grammarAccess.getDSL_Expression_DiffEqualAccess().getGroup()); }
-		(rule__DSL_Expression_DiffEqual__Group__0)
-		{ after(grammarAccess.getDSL_Expression_DiffEqualAccess().getGroup()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-// Entry rule entryRuleDSL_Expression_Compare
-entryRuleDSL_Expression_Compare
-:
-{ before(grammarAccess.getDSL_Expression_CompareRule()); }
-	 ruleDSL_Expression_Compare
-{ after(grammarAccess.getDSL_Expression_CompareRule()); } 
-	 EOF 
-;
-
-// Rule DSL_Expression_Compare
-ruleDSL_Expression_Compare 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		{ before(grammarAccess.getDSL_Expression_CompareAccess().getGroup()); }
-		(rule__DSL_Expression_Compare__Group__0)
-		{ after(grammarAccess.getDSL_Expression_CompareAccess().getGroup()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-// Entry rule entryRuleDSL_Expression_PlusMinus
-entryRuleDSL_Expression_PlusMinus
-:
-{ before(grammarAccess.getDSL_Expression_PlusMinusRule()); }
-	 ruleDSL_Expression_PlusMinus
-{ after(grammarAccess.getDSL_Expression_PlusMinusRule()); } 
-	 EOF 
-;
-
-// Rule DSL_Expression_PlusMinus
-ruleDSL_Expression_PlusMinus 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		{ before(grammarAccess.getDSL_Expression_PlusMinusAccess().getGroup()); }
-		(rule__DSL_Expression_PlusMinus__Group__0)
-		{ after(grammarAccess.getDSL_Expression_PlusMinusAccess().getGroup()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-// Entry rule entryRuleDSL_Expression_MultiplicationDivision
-entryRuleDSL_Expression_MultiplicationDivision
-:
-{ before(grammarAccess.getDSL_Expression_MultiplicationDivisionRule()); }
-	 ruleDSL_Expression_MultiplicationDivision
-{ after(grammarAccess.getDSL_Expression_MultiplicationDivisionRule()); } 
-	 EOF 
-;
-
-// Rule DSL_Expression_MultiplicationDivision
-ruleDSL_Expression_MultiplicationDivision 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		{ before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getGroup()); }
-		(rule__DSL_Expression_MultiplicationDivision__Group__0)
-		{ after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getGroup()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-// Entry rule entryRuleDSL_Expression_Unary
-entryRuleDSL_Expression_Unary
-:
-{ before(grammarAccess.getDSL_Expression_UnaryRule()); }
-	 ruleDSL_Expression_Unary
-{ after(grammarAccess.getDSL_Expression_UnaryRule()); } 
-	 EOF 
-;
-
-// Rule DSL_Expression_Unary
-ruleDSL_Expression_Unary 
-	@init {
-		int stackSize = keepStackSize();
-	}
-	:
-	(
-		{ before(grammarAccess.getDSL_Expression_UnaryAccess().getAlternatives()); }
-		(rule__DSL_Expression_Unary__Alternatives)
-		{ after(grammarAccess.getDSL_Expression_UnaryAccess().getAlternatives()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__NUMBER__Alternatives
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getNUMBERAccess().getINTTerminalRuleCall_0()); }
-		RULE_INT
-		{ after(grammarAccess.getNUMBERAccess().getINTTerminalRuleCall_0()); }
-	)
-	|
-	(
-		{ before(grammarAccess.getNUMBERAccess().getGroup_1()); }
-		(rule__NUMBER__Group_1__0)
-		{ after(grammarAccess.getNUMBERAccess().getGroup_1()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_STATEMENT__OperationAlternatives_3_0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_AFTERParserRuleCall_3_0_0()); }
-		ruleDSL_CEP_AFTER
-		{ after(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_AFTERParserRuleCall_3_0_0()); }
-	)
-	|
-	(
-		{ before(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_BEFOREParserRuleCall_3_0_1()); }
-		ruleDSL_CEP_BEFORE
-		{ after(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_BEFOREParserRuleCall_3_0_1()); }
-	)
-	|
-	(
-		{ before(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_COINCIDEParserRuleCall_3_0_2()); }
-		ruleDSL_CEP_COINCIDE
-		{ after(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_COINCIDEParserRuleCall_3_0_2()); }
-	)
-	|
-	(
-		{ before(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_MINParserRuleCall_3_0_3()); }
-		ruleDSL_CEP_MIN
-		{ after(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_MINParserRuleCall_3_0_3()); }
-	)
-	|
-	(
-		{ before(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_MAXParserRuleCall_3_0_4()); }
-		ruleDSL_CEP_MAX
-		{ after(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_MAXParserRuleCall_3_0_4()); }
-	)
-	|
-	(
-		{ before(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_AVGParserRuleCall_3_0_5()); }
-		ruleDSL_CEP_AVG
-		{ after(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_AVGParserRuleCall_3_0_5()); }
-	)
-	|
-	(
-		{ before(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_SUMParserRuleCall_3_0_6()); }
-		ruleDSL_CEP_SUM
-		{ after(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_SUMParserRuleCall_3_0_6()); }
-	)
-	|
-	(
-		{ before(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_COUNTParserRuleCall_3_0_7()); }
-		ruleDSL_CEP_COUNT
-		{ after(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_COUNTParserRuleCall_3_0_7()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_DURATION__UnitsAlternatives_0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_CEP_DURATIONAccess().getUnitsDSL_CEP_DURATION_MINParserRuleCall_0_0()); }
-		ruleDSL_CEP_DURATION_MIN
-		{ after(grammarAccess.getDSL_CEP_DURATIONAccess().getUnitsDSL_CEP_DURATION_MINParserRuleCall_0_0()); }
-	)
-	|
-	(
-		{ before(grammarAccess.getDSL_CEP_DURATIONAccess().getUnitsDSL_CEP_DURATION_SECParserRuleCall_0_1()); }
-		ruleDSL_CEP_DURATION_SEC
-		{ after(grammarAccess.getDSL_CEP_DURATIONAccess().getUnitsDSL_CEP_DURATION_SECParserRuleCall_0_1()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ResourceAction__ActiontypeAlternatives_3_0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_ResourceActionAccess().getActiontypeActKeyword_3_0_0()); }
-		'act'
-		{ after(grammarAccess.getDSL_ResourceActionAccess().getActiontypeActKeyword_3_0_0()); }
-	)
-	|
-	(
-		{ before(grammarAccess.getDSL_ResourceActionAccess().getActiontypeSetKeyword_3_0_1()); }
-		'set'
-		{ after(grammarAccess.getDSL_ResourceActionAccess().getActiontypeSetKeyword_3_0_1()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_DiffEqual__Alternatives_1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_Expression_DiffEqualAccess().getGroup_1_0()); }
-		(rule__DSL_Expression_DiffEqual__Group_1_0__0)
-		{ after(grammarAccess.getDSL_Expression_DiffEqualAccess().getGroup_1_0()); }
-	)
-	|
-	(
-		{ before(grammarAccess.getDSL_Expression_DiffEqualAccess().getGroup_1_1()); }
-		(rule__DSL_Expression_DiffEqual__Group_1_1__0)
-		{ after(grammarAccess.getDSL_Expression_DiffEqualAccess().getGroup_1_1()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Compare__Alternatives_1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_Expression_CompareAccess().getGroup_1_0()); }
-		(rule__DSL_Expression_Compare__Group_1_0__0)
-		{ after(grammarAccess.getDSL_Expression_CompareAccess().getGroup_1_0()); }
-	)
-	|
-	(
-		{ before(grammarAccess.getDSL_Expression_CompareAccess().getGroup_1_1()); }
-		(rule__DSL_Expression_Compare__Group_1_1__0)
-		{ after(grammarAccess.getDSL_Expression_CompareAccess().getGroup_1_1()); }
-	)
-	|
-	(
-		{ before(grammarAccess.getDSL_Expression_CompareAccess().getGroup_1_2()); }
-		(rule__DSL_Expression_Compare__Group_1_2__0)
-		{ after(grammarAccess.getDSL_Expression_CompareAccess().getGroup_1_2()); }
-	)
-	|
-	(
-		{ before(grammarAccess.getDSL_Expression_CompareAccess().getGroup_1_3()); }
-		(rule__DSL_Expression_Compare__Group_1_3__0)
-		{ after(grammarAccess.getDSL_Expression_CompareAccess().getGroup_1_3()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_PlusMinus__Alternatives_1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_Expression_PlusMinusAccess().getGroup_1_0()); }
-		(rule__DSL_Expression_PlusMinus__Group_1_0__0)
-		{ after(grammarAccess.getDSL_Expression_PlusMinusAccess().getGroup_1_0()); }
-	)
-	|
-	(
-		{ before(grammarAccess.getDSL_Expression_PlusMinusAccess().getGroup_1_1()); }
-		(rule__DSL_Expression_PlusMinus__Group_1_1__0)
-		{ after(grammarAccess.getDSL_Expression_PlusMinusAccess().getGroup_1_1()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_MultiplicationDivision__Alternatives_1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getGroup_1_0()); }
-		(rule__DSL_Expression_MultiplicationDivision__Group_1_0__0)
-		{ after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getGroup_1_0()); }
-	)
-	|
-	(
-		{ before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getGroup_1_1()); }
-		(rule__DSL_Expression_MultiplicationDivision__Group_1_1__0)
-		{ after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getGroup_1_1()); }
-	)
-	|
-	(
-		{ before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getGroup_1_2()); }
-		(rule__DSL_Expression_MultiplicationDivision__Group_1_2__0)
-		{ after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getGroup_1_2()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Unary__Alternatives
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_Expression_UnaryAccess().getGroup_0()); }
-		(rule__DSL_Expression_Unary__Group_0__0)
-		{ after(grammarAccess.getDSL_Expression_UnaryAccess().getGroup_0()); }
-	)
-	|
-	(
-		{ before(grammarAccess.getDSL_Expression_UnaryAccess().getGroup_1()); }
-		(rule__DSL_Expression_Unary__Group_1__0)
-		{ after(grammarAccess.getDSL_Expression_UnaryAccess().getGroup_1()); }
-	)
-	|
-	(
-		{ before(grammarAccess.getDSL_Expression_UnaryAccess().getGroup_2()); }
-		(rule__DSL_Expression_Unary__Group_2__0)
-		{ after(grammarAccess.getDSL_Expression_UnaryAccess().getGroup_2()); }
-	)
-	|
-	(
-		{ before(grammarAccess.getDSL_Expression_UnaryAccess().getGroup_3()); }
-		(rule__DSL_Expression_Unary__Group_3__0)
-		{ after(grammarAccess.getDSL_Expression_UnaryAccess().getGroup_3()); }
-	)
-	|
-	(
-		{ before(grammarAccess.getDSL_Expression_UnaryAccess().getGroup_4()); }
-		(rule__DSL_Expression_Unary__Group_4__0)
-		{ after(grammarAccess.getDSL_Expression_UnaryAccess().getGroup_4()); }
-	)
-	|
-	(
-		{ before(grammarAccess.getDSL_Expression_UnaryAccess().getGroup_5()); }
-		(rule__DSL_Expression_Unary__Group_5__0)
-		{ after(grammarAccess.getDSL_Expression_UnaryAccess().getGroup_5()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Sensinact__Group__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__Sensinact__Group__0__Impl
-	rule__Sensinact__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Sensinact__Group__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getSensinactAccess().getSensinactAction_0()); }
-	()
-	{ after(grammarAccess.getSensinactAccess().getSensinactAction_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Sensinact__Group__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__Sensinact__Group__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Sensinact__Group__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getSensinactAccess().getEcaAssignment_1()); }
-	(rule__Sensinact__EcaAssignment_1)
-	{ after(grammarAccess.getSensinactAccess().getEcaAssignment_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_SENSINACT__Group__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_SENSINACT__Group__0__Impl
-	rule__DSL_SENSINACT__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_SENSINACT__Group__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	(
-		{ before(grammarAccess.getDSL_SENSINACTAccess().getResourcesAssignment_0()); }
-		(rule__DSL_SENSINACT__ResourcesAssignment_0)
-		{ after(grammarAccess.getDSL_SENSINACTAccess().getResourcesAssignment_0()); }
-	)
-	(
-		{ before(grammarAccess.getDSL_SENSINACTAccess().getResourcesAssignment_0()); }
-		(rule__DSL_SENSINACT__ResourcesAssignment_0)*
-		{ after(grammarAccess.getDSL_SENSINACTAccess().getResourcesAssignment_0()); }
-	)
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_SENSINACT__Group__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_SENSINACT__Group__1__Impl
-	rule__DSL_SENSINACT__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_SENSINACT__Group__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_SENSINACTAccess().getCepAssignment_1()); }
-	(rule__DSL_SENSINACT__CepAssignment_1)*
-	{ after(grammarAccess.getDSL_SENSINACTAccess().getCepAssignment_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_SENSINACT__Group__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_SENSINACT__Group__2__Impl
-	rule__DSL_SENSINACT__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_SENSINACT__Group__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_SENSINACTAccess().getOnAssignment_2()); }
-	(rule__DSL_SENSINACT__OnAssignment_2)
-	{ after(grammarAccess.getDSL_SENSINACTAccess().getOnAssignment_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_SENSINACT__Group__3
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_SENSINACT__Group__3__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_SENSINACT__Group__3__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_SENSINACTAccess().getEcaAssignment_3()); }
-	(rule__DSL_SENSINACT__EcaAssignment_3)
-	{ after(grammarAccess.getDSL_SENSINACTAccess().getEcaAssignment_3()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_Resource__Group__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Resource__Group__0__Impl
-	rule__DSL_Resource__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Resource__Group__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ResourceAccess().getResourceKeyword_0()); }
-	'resource'
-	{ after(grammarAccess.getDSL_ResourceAccess().getResourceKeyword_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Resource__Group__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Resource__Group__1__Impl
-	rule__DSL_Resource__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Resource__Group__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ResourceAccess().getNameAssignment_1()); }
-	(rule__DSL_Resource__NameAssignment_1)
-	{ after(grammarAccess.getDSL_ResourceAccess().getNameAssignment_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Resource__Group__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Resource__Group__2__Impl
-	rule__DSL_Resource__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Resource__Group__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ResourceAccess().getEqualsSignKeyword_2()); }
-	'='
-	{ after(grammarAccess.getDSL_ResourceAccess().getEqualsSignKeyword_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Resource__Group__3
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Resource__Group__3__Impl
-	rule__DSL_Resource__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Resource__Group__3__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ResourceAccess().getLeftSquareBracketKeyword_3()); }
-	'['
-	{ after(grammarAccess.getDSL_ResourceAccess().getLeftSquareBracketKeyword_3()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Resource__Group__4
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Resource__Group__4__Impl
-	rule__DSL_Resource__Group__5
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Resource__Group__4__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ResourceAccess().getGatewayIDAssignment_4()); }
-	(rule__DSL_Resource__GatewayIDAssignment_4)
-	{ after(grammarAccess.getDSL_ResourceAccess().getGatewayIDAssignment_4()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Resource__Group__5
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Resource__Group__5__Impl
-	rule__DSL_Resource__Group__6
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Resource__Group__5__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ResourceAccess().getSolidusKeyword_5()); }
-	'/'
-	{ after(grammarAccess.getDSL_ResourceAccess().getSolidusKeyword_5()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Resource__Group__6
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Resource__Group__6__Impl
-	rule__DSL_Resource__Group__7
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Resource__Group__6__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ResourceAccess().getDeviceIDAssignment_6()); }
-	(rule__DSL_Resource__DeviceIDAssignment_6)
-	{ after(grammarAccess.getDSL_ResourceAccess().getDeviceIDAssignment_6()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Resource__Group__7
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Resource__Group__7__Impl
-	rule__DSL_Resource__Group__8
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Resource__Group__7__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ResourceAccess().getSolidusKeyword_7()); }
-	'/'
-	{ after(grammarAccess.getDSL_ResourceAccess().getSolidusKeyword_7()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Resource__Group__8
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Resource__Group__8__Impl
-	rule__DSL_Resource__Group__9
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Resource__Group__8__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ResourceAccess().getServiceIDAssignment_8()); }
-	(rule__DSL_Resource__ServiceIDAssignment_8)
-	{ after(grammarAccess.getDSL_ResourceAccess().getServiceIDAssignment_8()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Resource__Group__9
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Resource__Group__9__Impl
-	rule__DSL_Resource__Group__10
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Resource__Group__9__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ResourceAccess().getSolidusKeyword_9()); }
-	'/'
-	{ after(grammarAccess.getDSL_ResourceAccess().getSolidusKeyword_9()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Resource__Group__10
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Resource__Group__10__Impl
-	rule__DSL_Resource__Group__11
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Resource__Group__10__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ResourceAccess().getResourceIDAssignment_10()); }
-	(rule__DSL_Resource__ResourceIDAssignment_10)
-	{ after(grammarAccess.getDSL_ResourceAccess().getResourceIDAssignment_10()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Resource__Group__11
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Resource__Group__11__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Resource__Group__11__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ResourceAccess().getRightSquareBracketKeyword_11()); }
-	']'
-	{ after(grammarAccess.getDSL_ResourceAccess().getRightSquareBracketKeyword_11()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_On__Group__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_On__Group__0__Impl
-	rule__DSL_On__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_On__Group__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_OnAccess().getOnKeyword_0()); }
-	'on'
-	{ after(grammarAccess.getDSL_OnAccess().getOnKeyword_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_On__Group__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_On__Group__1__Impl
-	rule__DSL_On__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_On__Group__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_OnAccess().getTriggersAssignment_1()); }
-	(rule__DSL_On__TriggersAssignment_1)
-	{ after(grammarAccess.getDSL_OnAccess().getTriggersAssignment_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_On__Group__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_On__Group__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_On__Group__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_OnAccess().getGroup_2()); }
-	(rule__DSL_On__Group_2__0)*
-	{ after(grammarAccess.getDSL_OnAccess().getGroup_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_On__Group_2__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_On__Group_2__0__Impl
-	rule__DSL_On__Group_2__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_On__Group_2__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_OnAccess().getCommaKeyword_2_0()); }
-	','
-	{ after(grammarAccess.getDSL_OnAccess().getCommaKeyword_2_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_On__Group_2__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_On__Group_2__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_On__Group_2__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_OnAccess().getTriggersAssignment_2_1()); }
-	(rule__DSL_On__TriggersAssignment_2_1)
-	{ after(grammarAccess.getDSL_OnAccess().getTriggersAssignment_2_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_ECA_STATEMENT__Group__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_ECA_STATEMENT__Group__0__Impl
-	rule__DSL_ECA_STATEMENT__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ECA_STATEMENT__Group__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ECA_STATEMENTAccess().getIfdoAssignment_0()); }
-	(rule__DSL_ECA_STATEMENT__IfdoAssignment_0)
-	{ after(grammarAccess.getDSL_ECA_STATEMENTAccess().getIfdoAssignment_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ECA_STATEMENT__Group__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_ECA_STATEMENT__Group__1__Impl
-	rule__DSL_ECA_STATEMENT__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ECA_STATEMENT__Group__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ECA_STATEMENTAccess().getElseIfdoAssignment_1()); }
-	(rule__DSL_ECA_STATEMENT__ElseIfdoAssignment_1)*
-	{ after(grammarAccess.getDSL_ECA_STATEMENTAccess().getElseIfdoAssignment_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ECA_STATEMENT__Group__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_ECA_STATEMENT__Group__2__Impl
-	rule__DSL_ECA_STATEMENT__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ECA_STATEMENT__Group__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ECA_STATEMENTAccess().getElsedoAssignment_2()); }
-	(rule__DSL_ECA_STATEMENT__ElsedoAssignment_2)?
-	{ after(grammarAccess.getDSL_ECA_STATEMENTAccess().getElsedoAssignment_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ECA_STATEMENT__Group__3
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_ECA_STATEMENT__Group__3__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ECA_STATEMENT__Group__3__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ECA_STATEMENTAccess().getEndIfKeyword_3()); }
-	'end if'
-	{ after(grammarAccess.getDSL_ECA_STATEMENTAccess().getEndIfKeyword_3()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_IfDo__Group__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_IfDo__Group__0__Impl
-	rule__DSL_IfDo__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_IfDo__Group__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_IfDoAccess().getIfKeyword_0()); }
-	'if'
-	{ after(grammarAccess.getDSL_IfDoAccess().getIfKeyword_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_IfDo__Group__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_IfDo__Group__1__Impl
-	rule__DSL_IfDo__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_IfDo__Group__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_IfDoAccess().getConditionAssignment_1()); }
-	(rule__DSL_IfDo__ConditionAssignment_1)
-	{ after(grammarAccess.getDSL_IfDoAccess().getConditionAssignment_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_IfDo__Group__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_IfDo__Group__2__Impl
-	rule__DSL_IfDo__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_IfDo__Group__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_IfDoAccess().getDoKeyword_2()); }
-	'do'
-	{ after(grammarAccess.getDSL_IfDoAccess().getDoKeyword_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_IfDo__Group__3
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_IfDo__Group__3__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_IfDo__Group__3__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_IfDoAccess().getActionsAssignment_3()); }
-	(rule__DSL_IfDo__ActionsAssignment_3)
-	{ after(grammarAccess.getDSL_IfDoAccess().getActionsAssignment_3()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_ElseIfDo__Group__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_ElseIfDo__Group__0__Impl
-	rule__DSL_ElseIfDo__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ElseIfDo__Group__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ElseIfDoAccess().getElseIfKeyword_0()); }
-	'else if'
-	{ after(grammarAccess.getDSL_ElseIfDoAccess().getElseIfKeyword_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ElseIfDo__Group__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_ElseIfDo__Group__1__Impl
-	rule__DSL_ElseIfDo__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ElseIfDo__Group__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ElseIfDoAccess().getConditionAssignment_1()); }
-	(rule__DSL_ElseIfDo__ConditionAssignment_1)
-	{ after(grammarAccess.getDSL_ElseIfDoAccess().getConditionAssignment_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ElseIfDo__Group__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_ElseIfDo__Group__2__Impl
-	rule__DSL_ElseIfDo__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ElseIfDo__Group__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ElseIfDoAccess().getDoKeyword_2()); }
-	'do'
-	{ after(grammarAccess.getDSL_ElseIfDoAccess().getDoKeyword_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ElseIfDo__Group__3
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_ElseIfDo__Group__3__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ElseIfDo__Group__3__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ElseIfDoAccess().getActionsAssignment_3()); }
-	(rule__DSL_ElseIfDo__ActionsAssignment_3)
-	{ after(grammarAccess.getDSL_ElseIfDoAccess().getActionsAssignment_3()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_ElseDo__Group__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_ElseDo__Group__0__Impl
-	rule__DSL_ElseDo__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ElseDo__Group__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ElseDoAccess().getElseDoKeyword_0()); }
-	'else do'
-	{ after(grammarAccess.getDSL_ElseDoAccess().getElseDoKeyword_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ElseDo__Group__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_ElseDo__Group__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ElseDo__Group__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ElseDoAccess().getActionsAssignment_1()); }
-	(rule__DSL_ElseDo__ActionsAssignment_1)
-	{ after(grammarAccess.getDSL_ElseDoAccess().getActionsAssignment_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__NUMBER__Group_1__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__NUMBER__Group_1__0__Impl
-	rule__NUMBER__Group_1__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__NUMBER__Group_1__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getNUMBERAccess().getINTTerminalRuleCall_1_0()); }
-	RULE_INT
-	{ after(grammarAccess.getNUMBERAccess().getINTTerminalRuleCall_1_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__NUMBER__Group_1__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__NUMBER__Group_1__1__Impl
-	rule__NUMBER__Group_1__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__NUMBER__Group_1__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getNUMBERAccess().getFullStopKeyword_1_1()); }
-	'.'
-	{ after(grammarAccess.getNUMBERAccess().getFullStopKeyword_1_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__NUMBER__Group_1__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__NUMBER__Group_1__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__NUMBER__Group_1__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getNUMBERAccess().getINTTerminalRuleCall_1_2()); }
-	RULE_INT
-	{ after(grammarAccess.getNUMBERAccess().getINTTerminalRuleCall_1_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__EXTENDED_ID__Group__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__EXTENDED_ID__Group__0__Impl
-	rule__EXTENDED_ID__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__EXTENDED_ID__Group__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getEXTENDED_IDAccess().getIDTerminalRuleCall_0()); }
-	RULE_ID
-	{ after(grammarAccess.getEXTENDED_IDAccess().getIDTerminalRuleCall_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__EXTENDED_ID__Group__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__EXTENDED_ID__Group__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__EXTENDED_ID__Group__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getEXTENDED_IDAccess().getGroup_1()); }
-	(rule__EXTENDED_ID__Group_1__0)*
-	{ after(grammarAccess.getEXTENDED_IDAccess().getGroup_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__EXTENDED_ID__Group_1__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__EXTENDED_ID__Group_1__0__Impl
-	rule__EXTENDED_ID__Group_1__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__EXTENDED_ID__Group_1__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getEXTENDED_IDAccess().getFullStopKeyword_1_0()); }
-	'.'
-	{ after(grammarAccess.getEXTENDED_IDAccess().getFullStopKeyword_1_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__EXTENDED_ID__Group_1__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__EXTENDED_ID__Group_1__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__EXTENDED_ID__Group_1__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getEXTENDED_IDAccess().getIDTerminalRuleCall_1_1()); }
-	RULE_ID
-	{ after(grammarAccess.getEXTENDED_IDAccess().getIDTerminalRuleCall_1_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_REF_CONDITION__Group__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_REF_CONDITION__Group__0__Impl
-	rule__DSL_REF_CONDITION__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_REF_CONDITION__Group__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_REF_CONDITIONAccess().getRefAssignment_0()); }
-	(rule__DSL_REF_CONDITION__RefAssignment_0)
-	{ after(grammarAccess.getDSL_REF_CONDITIONAccess().getRefAssignment_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_REF_CONDITION__Group__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_REF_CONDITION__Group__1__Impl
-	rule__DSL_REF_CONDITION__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_REF_CONDITION__Group__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_REF_CONDITIONAccess().getFullStopKeyword_1()); }
-	'.'
-	{ after(grammarAccess.getDSL_REF_CONDITIONAccess().getFullStopKeyword_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_REF_CONDITION__Group__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_REF_CONDITION__Group__2__Impl
-	rule__DSL_REF_CONDITION__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_REF_CONDITION__Group__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_REF_CONDITIONAccess().getSubscribeKeyword_2()); }
-	'subscribe'
-	{ after(grammarAccess.getDSL_REF_CONDITIONAccess().getSubscribeKeyword_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_REF_CONDITION__Group__3
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_REF_CONDITION__Group__3__Impl
-	rule__DSL_REF_CONDITION__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_REF_CONDITION__Group__3__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_REF_CONDITIONAccess().getLeftParenthesisKeyword_3()); }
-	'('
-	{ after(grammarAccess.getDSL_REF_CONDITIONAccess().getLeftParenthesisKeyword_3()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_REF_CONDITION__Group__4
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_REF_CONDITION__Group__4__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_REF_CONDITION__Group__4__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_REF_CONDITIONAccess().getRightParenthesisKeyword_4()); }
-	')'
-	{ after(grammarAccess.getDSL_REF_CONDITIONAccess().getRightParenthesisKeyword_4()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_CEP_STATEMENT__Group__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_STATEMENT__Group__0__Impl
-	rule__DSL_CEP_STATEMENT__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_STATEMENT__Group__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_STATEMENTAccess().getDefineKeyword_0()); }
-	'define'
-	{ after(grammarAccess.getDSL_CEP_STATEMENTAccess().getDefineKeyword_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_STATEMENT__Group__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_STATEMENT__Group__1__Impl
-	rule__DSL_CEP_STATEMENT__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_STATEMENT__Group__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_STATEMENTAccess().getNameAssignment_1()); }
-	(rule__DSL_CEP_STATEMENT__NameAssignment_1)
-	{ after(grammarAccess.getDSL_CEP_STATEMENTAccess().getNameAssignment_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_STATEMENT__Group__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_STATEMENT__Group__2__Impl
-	rule__DSL_CEP_STATEMENT__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_STATEMENT__Group__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_STATEMENTAccess().getEqualsSignKeyword_2()); }
-	'='
-	{ after(grammarAccess.getDSL_CEP_STATEMENTAccess().getEqualsSignKeyword_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_STATEMENT__Group__3
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_STATEMENT__Group__3__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_STATEMENT__Group__3__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationAssignment_3()); }
-	(rule__DSL_CEP_STATEMENT__OperationAssignment_3)
-	{ after(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationAssignment_3()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_CEP_AFTER__Group__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_AFTER__Group__0__Impl
-	rule__DSL_CEP_AFTER__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AFTER__Group__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_AFTERAccess().getAfterKeyword_0()); }
-	'after'
-	{ after(grammarAccess.getDSL_CEP_AFTERAccess().getAfterKeyword_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AFTER__Group__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_AFTER__Group__1__Impl
-	rule__DSL_CEP_AFTER__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AFTER__Group__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_AFTERAccess().getLeftParenthesisKeyword_1()); }
-	'('
-	{ after(grammarAccess.getDSL_CEP_AFTERAccess().getLeftParenthesisKeyword_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AFTER__Group__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_AFTER__Group__2__Impl
-	rule__DSL_CEP_AFTER__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AFTER__Group__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_AFTERAccess().getRef1Assignment_2()); }
-	(rule__DSL_CEP_AFTER__Ref1Assignment_2)
-	{ after(grammarAccess.getDSL_CEP_AFTERAccess().getRef1Assignment_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AFTER__Group__3
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_AFTER__Group__3__Impl
-	rule__DSL_CEP_AFTER__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AFTER__Group__3__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_AFTERAccess().getCommaKeyword_3()); }
-	','
-	{ after(grammarAccess.getDSL_CEP_AFTERAccess().getCommaKeyword_3()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AFTER__Group__4
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_AFTER__Group__4__Impl
-	rule__DSL_CEP_AFTER__Group__5
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AFTER__Group__4__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_AFTERAccess().getRef2Assignment_4()); }
-	(rule__DSL_CEP_AFTER__Ref2Assignment_4)
-	{ after(grammarAccess.getDSL_CEP_AFTERAccess().getRef2Assignment_4()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AFTER__Group__5
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_AFTER__Group__5__Impl
-	rule__DSL_CEP_AFTER__Group__6
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AFTER__Group__5__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_AFTERAccess().getCommaKeyword_5()); }
-	','
-	{ after(grammarAccess.getDSL_CEP_AFTERAccess().getCommaKeyword_5()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AFTER__Group__6
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_AFTER__Group__6__Impl
-	rule__DSL_CEP_AFTER__Group__7
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AFTER__Group__6__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_AFTERAccess().getGroup_6()); }
-	(rule__DSL_CEP_AFTER__Group_6__0)?
-	{ after(grammarAccess.getDSL_CEP_AFTERAccess().getGroup_6()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AFTER__Group__7
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_AFTER__Group__7__Impl
-	rule__DSL_CEP_AFTER__Group__8
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AFTER__Group__7__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_AFTERAccess().getEndAssignment_7()); }
-	(rule__DSL_CEP_AFTER__EndAssignment_7)
-	{ after(grammarAccess.getDSL_CEP_AFTERAccess().getEndAssignment_7()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AFTER__Group__8
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_AFTER__Group__8__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AFTER__Group__8__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_AFTERAccess().getRightParenthesisKeyword_8()); }
-	')'
-	{ after(grammarAccess.getDSL_CEP_AFTERAccess().getRightParenthesisKeyword_8()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_CEP_AFTER__Group_6__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_AFTER__Group_6__0__Impl
-	rule__DSL_CEP_AFTER__Group_6__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AFTER__Group_6__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_AFTERAccess().getStartAssignment_6_0()); }
-	(rule__DSL_CEP_AFTER__StartAssignment_6_0)
-	{ after(grammarAccess.getDSL_CEP_AFTERAccess().getStartAssignment_6_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AFTER__Group_6__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_AFTER__Group_6__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AFTER__Group_6__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_AFTERAccess().getCommaKeyword_6_1()); }
-	','
-	{ after(grammarAccess.getDSL_CEP_AFTERAccess().getCommaKeyword_6_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_CEP_BEFORE__Group__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_BEFORE__Group__0__Impl
-	rule__DSL_CEP_BEFORE__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_BEFORE__Group__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_BEFOREAccess().getBeforeKeyword_0()); }
-	'before'
-	{ after(grammarAccess.getDSL_CEP_BEFOREAccess().getBeforeKeyword_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_BEFORE__Group__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_BEFORE__Group__1__Impl
-	rule__DSL_CEP_BEFORE__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_BEFORE__Group__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_BEFOREAccess().getLeftParenthesisKeyword_1()); }
-	'('
-	{ after(grammarAccess.getDSL_CEP_BEFOREAccess().getLeftParenthesisKeyword_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_BEFORE__Group__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_BEFORE__Group__2__Impl
-	rule__DSL_CEP_BEFORE__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_BEFORE__Group__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_BEFOREAccess().getRef1Assignment_2()); }
-	(rule__DSL_CEP_BEFORE__Ref1Assignment_2)
-	{ after(grammarAccess.getDSL_CEP_BEFOREAccess().getRef1Assignment_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_BEFORE__Group__3
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_BEFORE__Group__3__Impl
-	rule__DSL_CEP_BEFORE__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_BEFORE__Group__3__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_BEFOREAccess().getCommaKeyword_3()); }
-	','
-	{ after(grammarAccess.getDSL_CEP_BEFOREAccess().getCommaKeyword_3()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_BEFORE__Group__4
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_BEFORE__Group__4__Impl
-	rule__DSL_CEP_BEFORE__Group__5
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_BEFORE__Group__4__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_BEFOREAccess().getRef2Assignment_4()); }
-	(rule__DSL_CEP_BEFORE__Ref2Assignment_4)
-	{ after(grammarAccess.getDSL_CEP_BEFOREAccess().getRef2Assignment_4()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_BEFORE__Group__5
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_BEFORE__Group__5__Impl
-	rule__DSL_CEP_BEFORE__Group__6
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_BEFORE__Group__5__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_BEFOREAccess().getCommaKeyword_5()); }
-	','
-	{ after(grammarAccess.getDSL_CEP_BEFOREAccess().getCommaKeyword_5()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_BEFORE__Group__6
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_BEFORE__Group__6__Impl
-	rule__DSL_CEP_BEFORE__Group__7
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_BEFORE__Group__6__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_BEFOREAccess().getGroup_6()); }
-	(rule__DSL_CEP_BEFORE__Group_6__0)?
-	{ after(grammarAccess.getDSL_CEP_BEFOREAccess().getGroup_6()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_BEFORE__Group__7
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_BEFORE__Group__7__Impl
-	rule__DSL_CEP_BEFORE__Group__8
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_BEFORE__Group__7__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_BEFOREAccess().getEndAssignment_7()); }
-	(rule__DSL_CEP_BEFORE__EndAssignment_7)
-	{ after(grammarAccess.getDSL_CEP_BEFOREAccess().getEndAssignment_7()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_BEFORE__Group__8
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_BEFORE__Group__8__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_BEFORE__Group__8__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_BEFOREAccess().getRightParenthesisKeyword_8()); }
-	')'
-	{ after(grammarAccess.getDSL_CEP_BEFOREAccess().getRightParenthesisKeyword_8()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_CEP_BEFORE__Group_6__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_BEFORE__Group_6__0__Impl
-	rule__DSL_CEP_BEFORE__Group_6__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_BEFORE__Group_6__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_BEFOREAccess().getStartAssignment_6_0()); }
-	(rule__DSL_CEP_BEFORE__StartAssignment_6_0)
-	{ after(grammarAccess.getDSL_CEP_BEFOREAccess().getStartAssignment_6_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_BEFORE__Group_6__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_BEFORE__Group_6__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_BEFORE__Group_6__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_BEFOREAccess().getCommaKeyword_6_1()); }
-	','
-	{ after(grammarAccess.getDSL_CEP_BEFOREAccess().getCommaKeyword_6_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_CEP_COINCIDE__Group__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_COINCIDE__Group__0__Impl
-	rule__DSL_CEP_COINCIDE__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_COINCIDE__Group__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_COINCIDEAccess().getCoincideKeyword_0()); }
-	'coincide'
-	{ after(grammarAccess.getDSL_CEP_COINCIDEAccess().getCoincideKeyword_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_COINCIDE__Group__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_COINCIDE__Group__1__Impl
-	rule__DSL_CEP_COINCIDE__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_COINCIDE__Group__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_COINCIDEAccess().getLeftParenthesisKeyword_1()); }
-	'('
-	{ after(grammarAccess.getDSL_CEP_COINCIDEAccess().getLeftParenthesisKeyword_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_COINCIDE__Group__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_COINCIDE__Group__2__Impl
-	rule__DSL_CEP_COINCIDE__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_COINCIDE__Group__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_COINCIDEAccess().getRef1Assignment_2()); }
-	(rule__DSL_CEP_COINCIDE__Ref1Assignment_2)
-	{ after(grammarAccess.getDSL_CEP_COINCIDEAccess().getRef1Assignment_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_COINCIDE__Group__3
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_COINCIDE__Group__3__Impl
-	rule__DSL_CEP_COINCIDE__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_COINCIDE__Group__3__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_COINCIDEAccess().getCommaKeyword_3()); }
-	','
-	{ after(grammarAccess.getDSL_CEP_COINCIDEAccess().getCommaKeyword_3()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_COINCIDE__Group__4
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_COINCIDE__Group__4__Impl
-	rule__DSL_CEP_COINCIDE__Group__5
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_COINCIDE__Group__4__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_COINCIDEAccess().getRef2Assignment_4()); }
-	(rule__DSL_CEP_COINCIDE__Ref2Assignment_4)
-	{ after(grammarAccess.getDSL_CEP_COINCIDEAccess().getRef2Assignment_4()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_COINCIDE__Group__5
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_COINCIDE__Group__5__Impl
-	rule__DSL_CEP_COINCIDE__Group__6
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_COINCIDE__Group__5__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_COINCIDEAccess().getCommaKeyword_5()); }
-	','
-	{ after(grammarAccess.getDSL_CEP_COINCIDEAccess().getCommaKeyword_5()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_COINCIDE__Group__6
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_COINCIDE__Group__6__Impl
-	rule__DSL_CEP_COINCIDE__Group__7
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_COINCIDE__Group__6__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_COINCIDEAccess().getWindowAssignment_6()); }
-	(rule__DSL_CEP_COINCIDE__WindowAssignment_6)
-	{ after(grammarAccess.getDSL_CEP_COINCIDEAccess().getWindowAssignment_6()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_COINCIDE__Group__7
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_COINCIDE__Group__7__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_COINCIDE__Group__7__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_COINCIDEAccess().getRightParenthesisKeyword_7()); }
-	')'
-	{ after(grammarAccess.getDSL_CEP_COINCIDEAccess().getRightParenthesisKeyword_7()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_CEP_MIN__Group__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_MIN__Group__0__Impl
-	rule__DSL_CEP_MIN__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_MIN__Group__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_MINAccess().getMinKeyword_0()); }
-	'min'
-	{ after(grammarAccess.getDSL_CEP_MINAccess().getMinKeyword_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_MIN__Group__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_MIN__Group__1__Impl
-	rule__DSL_CEP_MIN__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_MIN__Group__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_MINAccess().getLeftParenthesisKeyword_1()); }
-	'('
-	{ after(grammarAccess.getDSL_CEP_MINAccess().getLeftParenthesisKeyword_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_MIN__Group__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_MIN__Group__2__Impl
-	rule__DSL_CEP_MIN__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_MIN__Group__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_MINAccess().getRefAssignment_2()); }
-	(rule__DSL_CEP_MIN__RefAssignment_2)
-	{ after(grammarAccess.getDSL_CEP_MINAccess().getRefAssignment_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_MIN__Group__3
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_MIN__Group__3__Impl
-	rule__DSL_CEP_MIN__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_MIN__Group__3__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_MINAccess().getCommaKeyword_3()); }
-	','
-	{ after(grammarAccess.getDSL_CEP_MINAccess().getCommaKeyword_3()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_MIN__Group__4
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_MIN__Group__4__Impl
-	rule__DSL_CEP_MIN__Group__5
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_MIN__Group__4__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_MINAccess().getWindowAssignment_4()); }
-	(rule__DSL_CEP_MIN__WindowAssignment_4)
-	{ after(grammarAccess.getDSL_CEP_MINAccess().getWindowAssignment_4()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_MIN__Group__5
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_MIN__Group__5__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_MIN__Group__5__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_MINAccess().getRightParenthesisKeyword_5()); }
-	')'
-	{ after(grammarAccess.getDSL_CEP_MINAccess().getRightParenthesisKeyword_5()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_CEP_MAX__Group__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_MAX__Group__0__Impl
-	rule__DSL_CEP_MAX__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_MAX__Group__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_MAXAccess().getMaxKeyword_0()); }
-	'max'
-	{ after(grammarAccess.getDSL_CEP_MAXAccess().getMaxKeyword_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_MAX__Group__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_MAX__Group__1__Impl
-	rule__DSL_CEP_MAX__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_MAX__Group__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_MAXAccess().getLeftParenthesisKeyword_1()); }
-	'('
-	{ after(grammarAccess.getDSL_CEP_MAXAccess().getLeftParenthesisKeyword_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_MAX__Group__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_MAX__Group__2__Impl
-	rule__DSL_CEP_MAX__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_MAX__Group__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_MAXAccess().getRefAssignment_2()); }
-	(rule__DSL_CEP_MAX__RefAssignment_2)
-	{ after(grammarAccess.getDSL_CEP_MAXAccess().getRefAssignment_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_MAX__Group__3
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_MAX__Group__3__Impl
-	rule__DSL_CEP_MAX__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_MAX__Group__3__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_MAXAccess().getCommaKeyword_3()); }
-	','
-	{ after(grammarAccess.getDSL_CEP_MAXAccess().getCommaKeyword_3()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_MAX__Group__4
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_MAX__Group__4__Impl
-	rule__DSL_CEP_MAX__Group__5
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_MAX__Group__4__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_MAXAccess().getWindowAssignment_4()); }
-	(rule__DSL_CEP_MAX__WindowAssignment_4)
-	{ after(grammarAccess.getDSL_CEP_MAXAccess().getWindowAssignment_4()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_MAX__Group__5
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_MAX__Group__5__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_MAX__Group__5__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_MAXAccess().getRightParenthesisKeyword_5()); }
-	')'
-	{ after(grammarAccess.getDSL_CEP_MAXAccess().getRightParenthesisKeyword_5()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_CEP_AVG__Group__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_AVG__Group__0__Impl
-	rule__DSL_CEP_AVG__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AVG__Group__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_AVGAccess().getAvgKeyword_0()); }
-	'avg'
-	{ after(grammarAccess.getDSL_CEP_AVGAccess().getAvgKeyword_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AVG__Group__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_AVG__Group__1__Impl
-	rule__DSL_CEP_AVG__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AVG__Group__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_AVGAccess().getLeftParenthesisKeyword_1()); }
-	'('
-	{ after(grammarAccess.getDSL_CEP_AVGAccess().getLeftParenthesisKeyword_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AVG__Group__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_AVG__Group__2__Impl
-	rule__DSL_CEP_AVG__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AVG__Group__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_AVGAccess().getRefAssignment_2()); }
-	(rule__DSL_CEP_AVG__RefAssignment_2)
-	{ after(grammarAccess.getDSL_CEP_AVGAccess().getRefAssignment_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AVG__Group__3
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_AVG__Group__3__Impl
-	rule__DSL_CEP_AVG__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AVG__Group__3__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_AVGAccess().getCommaKeyword_3()); }
-	','
-	{ after(grammarAccess.getDSL_CEP_AVGAccess().getCommaKeyword_3()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AVG__Group__4
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_AVG__Group__4__Impl
-	rule__DSL_CEP_AVG__Group__5
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AVG__Group__4__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_AVGAccess().getWindowAssignment_4()); }
-	(rule__DSL_CEP_AVG__WindowAssignment_4)
-	{ after(grammarAccess.getDSL_CEP_AVGAccess().getWindowAssignment_4()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AVG__Group__5
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_AVG__Group__5__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AVG__Group__5__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_AVGAccess().getRightParenthesisKeyword_5()); }
-	')'
-	{ after(grammarAccess.getDSL_CEP_AVGAccess().getRightParenthesisKeyword_5()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_CEP_SUM__Group__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_SUM__Group__0__Impl
-	rule__DSL_CEP_SUM__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_SUM__Group__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_SUMAccess().getSumKeyword_0()); }
-	'sum'
-	{ after(grammarAccess.getDSL_CEP_SUMAccess().getSumKeyword_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_SUM__Group__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_SUM__Group__1__Impl
-	rule__DSL_CEP_SUM__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_SUM__Group__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_SUMAccess().getLeftParenthesisKeyword_1()); }
-	'('
-	{ after(grammarAccess.getDSL_CEP_SUMAccess().getLeftParenthesisKeyword_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_SUM__Group__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_SUM__Group__2__Impl
-	rule__DSL_CEP_SUM__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_SUM__Group__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_SUMAccess().getRefAssignment_2()); }
-	(rule__DSL_CEP_SUM__RefAssignment_2)
-	{ after(grammarAccess.getDSL_CEP_SUMAccess().getRefAssignment_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_SUM__Group__3
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_SUM__Group__3__Impl
-	rule__DSL_CEP_SUM__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_SUM__Group__3__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_SUMAccess().getCommaKeyword_3()); }
-	','
-	{ after(grammarAccess.getDSL_CEP_SUMAccess().getCommaKeyword_3()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_SUM__Group__4
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_SUM__Group__4__Impl
-	rule__DSL_CEP_SUM__Group__5
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_SUM__Group__4__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_SUMAccess().getWindowAssignment_4()); }
-	(rule__DSL_CEP_SUM__WindowAssignment_4)
-	{ after(grammarAccess.getDSL_CEP_SUMAccess().getWindowAssignment_4()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_SUM__Group__5
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_SUM__Group__5__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_SUM__Group__5__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_SUMAccess().getRightParenthesisKeyword_5()); }
-	')'
-	{ after(grammarAccess.getDSL_CEP_SUMAccess().getRightParenthesisKeyword_5()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_CEP_COUNT__Group__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_COUNT__Group__0__Impl
-	rule__DSL_CEP_COUNT__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_COUNT__Group__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_COUNTAccess().getCountKeyword_0()); }
-	'count'
-	{ after(grammarAccess.getDSL_CEP_COUNTAccess().getCountKeyword_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_COUNT__Group__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_COUNT__Group__1__Impl
-	rule__DSL_CEP_COUNT__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_COUNT__Group__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_COUNTAccess().getLeftParenthesisKeyword_1()); }
-	'('
-	{ after(grammarAccess.getDSL_CEP_COUNTAccess().getLeftParenthesisKeyword_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_COUNT__Group__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_COUNT__Group__2__Impl
-	rule__DSL_CEP_COUNT__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_COUNT__Group__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_COUNTAccess().getRefAssignment_2()); }
-	(rule__DSL_CEP_COUNT__RefAssignment_2)
-	{ after(grammarAccess.getDSL_CEP_COUNTAccess().getRefAssignment_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_COUNT__Group__3
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_COUNT__Group__3__Impl
-	rule__DSL_CEP_COUNT__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_COUNT__Group__3__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_COUNTAccess().getCommaKeyword_3()); }
-	','
-	{ after(grammarAccess.getDSL_CEP_COUNTAccess().getCommaKeyword_3()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_COUNT__Group__4
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_COUNT__Group__4__Impl
-	rule__DSL_CEP_COUNT__Group__5
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_COUNT__Group__4__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_COUNTAccess().getWindowAssignment_4()); }
-	(rule__DSL_CEP_COUNT__WindowAssignment_4)
-	{ after(grammarAccess.getDSL_CEP_COUNTAccess().getWindowAssignment_4()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_COUNT__Group__5
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_COUNT__Group__5__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_COUNT__Group__5__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_COUNTAccess().getRightParenthesisKeyword_5()); }
-	')'
-	{ after(grammarAccess.getDSL_CEP_COUNTAccess().getRightParenthesisKeyword_5()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_CEP_DURATION_MIN__Group__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_DURATION_MIN__Group__0__Impl
-	rule__DSL_CEP_DURATION_MIN__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_DURATION_MIN__Group__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_DURATION_MINAccess().getMinAssignment_0()); }
-	(rule__DSL_CEP_DURATION_MIN__MinAssignment_0)
-	{ after(grammarAccess.getDSL_CEP_DURATION_MINAccess().getMinAssignment_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_DURATION_MIN__Group__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_DURATION_MIN__Group__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_DURATION_MIN__Group__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_DURATION_MINAccess().getMinKeyword_1()); }
-	'min'
-	{ after(grammarAccess.getDSL_CEP_DURATION_MINAccess().getMinKeyword_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_CEP_DURATION_SEC__Group__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_DURATION_SEC__Group__0__Impl
-	rule__DSL_CEP_DURATION_SEC__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_DURATION_SEC__Group__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_DURATION_SECAccess().getSecAssignment_0()); }
-	(rule__DSL_CEP_DURATION_SEC__SecAssignment_0)
-	{ after(grammarAccess.getDSL_CEP_DURATION_SECAccess().getSecAssignment_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_DURATION_SEC__Group__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_CEP_DURATION_SEC__Group__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_DURATION_SEC__Group__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_CEP_DURATION_SECAccess().getSecKeyword_1()); }
-	'sec'
-	{ after(grammarAccess.getDSL_CEP_DURATION_SECAccess().getSecKeyword_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_ListActions__Group__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_ListActions__Group__0__Impl
-	rule__DSL_ListActions__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ListActions__Group__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ListActionsAccess().getActionListAssignment_0()); }
-	(rule__DSL_ListActions__ActionListAssignment_0)
-	{ after(grammarAccess.getDSL_ListActionsAccess().getActionListAssignment_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ListActions__Group__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_ListActions__Group__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ListActions__Group__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ListActionsAccess().getGroup_1()); }
-	(rule__DSL_ListActions__Group_1__0)*
-	{ after(grammarAccess.getDSL_ListActionsAccess().getGroup_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_ListActions__Group_1__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_ListActions__Group_1__0__Impl
-	rule__DSL_ListActions__Group_1__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ListActions__Group_1__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ListActionsAccess().getCommaKeyword_1_0()); }
-	','
-	{ after(grammarAccess.getDSL_ListActionsAccess().getCommaKeyword_1_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ListActions__Group_1__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_ListActions__Group_1__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ListActions__Group_1__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ListActionsAccess().getActionListAssignment_1_1()); }
-	(rule__DSL_ListActions__ActionListAssignment_1_1)
-	{ after(grammarAccess.getDSL_ListActionsAccess().getActionListAssignment_1_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_ResourceAction__Group__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_ResourceAction__Group__0__Impl
-	rule__DSL_ResourceAction__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ResourceAction__Group__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ResourceActionAccess().getGroup_0()); }
-	(rule__DSL_ResourceAction__Group_0__0)?
-	{ after(grammarAccess.getDSL_ResourceActionAccess().getGroup_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ResourceAction__Group__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_ResourceAction__Group__1__Impl
-	rule__DSL_ResourceAction__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ResourceAction__Group__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ResourceActionAccess().getRefAssignment_1()); }
-	(rule__DSL_ResourceAction__RefAssignment_1)
-	{ after(grammarAccess.getDSL_ResourceActionAccess().getRefAssignment_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ResourceAction__Group__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_ResourceAction__Group__2__Impl
-	rule__DSL_ResourceAction__Group__3
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ResourceAction__Group__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ResourceActionAccess().getFullStopKeyword_2()); }
-	'.'
-	{ after(grammarAccess.getDSL_ResourceActionAccess().getFullStopKeyword_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ResourceAction__Group__3
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_ResourceAction__Group__3__Impl
-	rule__DSL_ResourceAction__Group__4
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ResourceAction__Group__3__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ResourceActionAccess().getActiontypeAssignment_3()); }
-	(rule__DSL_ResourceAction__ActiontypeAssignment_3)
-	{ after(grammarAccess.getDSL_ResourceActionAccess().getActiontypeAssignment_3()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ResourceAction__Group__4
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_ResourceAction__Group__4__Impl
-	rule__DSL_ResourceAction__Group__5
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ResourceAction__Group__4__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ResourceActionAccess().getLeftParenthesisKeyword_4()); }
-	'('
-	{ after(grammarAccess.getDSL_ResourceActionAccess().getLeftParenthesisKeyword_4()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ResourceAction__Group__5
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_ResourceAction__Group__5__Impl
-	rule__DSL_ResourceAction__Group__6
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ResourceAction__Group__5__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ResourceActionAccess().getListParamAssignment_5()); }
-	(rule__DSL_ResourceAction__ListParamAssignment_5)?
-	{ after(grammarAccess.getDSL_ResourceActionAccess().getListParamAssignment_5()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ResourceAction__Group__6
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_ResourceAction__Group__6__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ResourceAction__Group__6__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ResourceActionAccess().getRightParenthesisKeyword_6()); }
-	')'
-	{ after(grammarAccess.getDSL_ResourceActionAccess().getRightParenthesisKeyword_6()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_ResourceAction__Group_0__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_ResourceAction__Group_0__0__Impl
-	rule__DSL_ResourceAction__Group_0__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ResourceAction__Group_0__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ResourceActionAccess().getVariableAssignment_0_0()); }
-	(rule__DSL_ResourceAction__VariableAssignment_0_0)
-	{ after(grammarAccess.getDSL_ResourceActionAccess().getVariableAssignment_0_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ResourceAction__Group_0__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_ResourceAction__Group_0__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ResourceAction__Group_0__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ResourceActionAccess().getEqualsSignKeyword_0_1()); }
-	'='
-	{ after(grammarAccess.getDSL_ResourceActionAccess().getEqualsSignKeyword_0_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_ListParam__Group__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_ListParam__Group__0__Impl
-	rule__DSL_ListParam__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ListParam__Group__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ListParamAccess().getParamAssignment_0()); }
-	(rule__DSL_ListParam__ParamAssignment_0)
-	{ after(grammarAccess.getDSL_ListParamAccess().getParamAssignment_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ListParam__Group__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_ListParam__Group__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ListParam__Group__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ListParamAccess().getGroup_1()); }
-	(rule__DSL_ListParam__Group_1__0)*
-	{ after(grammarAccess.getDSL_ListParamAccess().getGroup_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_ListParam__Group_1__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_ListParam__Group_1__0__Impl
-	rule__DSL_ListParam__Group_1__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ListParam__Group_1__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ListParamAccess().getCommaKeyword_1_0()); }
-	','
-	{ after(grammarAccess.getDSL_ListParamAccess().getCommaKeyword_1_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ListParam__Group_1__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_ListParam__Group_1__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ListParam__Group_1__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_ListParamAccess().getParamAssignment_1_1()); }
-	(rule__DSL_ListParam__ParamAssignment_1_1)
-	{ after(grammarAccess.getDSL_ListParamAccess().getParamAssignment_1_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_Expression_Or__Group__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Or__Group__0__Impl
-	rule__DSL_Expression_Or__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Or__Group__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_OrAccess().getDSL_Expression_AndParserRuleCall_0()); }
-	ruleDSL_Expression_And
-	{ after(grammarAccess.getDSL_Expression_OrAccess().getDSL_Expression_AndParserRuleCall_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Or__Group__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Or__Group__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Or__Group__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_OrAccess().getGroup_1()); }
-	(rule__DSL_Expression_Or__Group_1__0)*
-	{ after(grammarAccess.getDSL_Expression_OrAccess().getGroup_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_Expression_Or__Group_1__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Or__Group_1__0__Impl
-	rule__DSL_Expression_Or__Group_1__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Or__Group_1__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_OrAccess().getOrKeyword_1_0()); }
-	'or'
-	{ after(grammarAccess.getDSL_Expression_OrAccess().getOrKeyword_1_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Or__Group_1__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Or__Group_1__1__Impl
-	rule__DSL_Expression_Or__Group_1__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Or__Group_1__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_OrAccess().getDSL_Expression_OrLeftAction_1_1()); }
-	()
-	{ after(grammarAccess.getDSL_Expression_OrAccess().getDSL_Expression_OrLeftAction_1_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Or__Group_1__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Or__Group_1__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Or__Group_1__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_OrAccess().getRightAssignment_1_2()); }
-	(rule__DSL_Expression_Or__RightAssignment_1_2)
-	{ after(grammarAccess.getDSL_Expression_OrAccess().getRightAssignment_1_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_Expression_And__Group__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_And__Group__0__Impl
-	rule__DSL_Expression_And__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_And__Group__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_AndAccess().getDSL_Expression_DiffEqualParserRuleCall_0()); }
-	ruleDSL_Expression_DiffEqual
-	{ after(grammarAccess.getDSL_Expression_AndAccess().getDSL_Expression_DiffEqualParserRuleCall_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_And__Group__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_And__Group__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_And__Group__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_AndAccess().getGroup_1()); }
-	(rule__DSL_Expression_And__Group_1__0)*
-	{ after(grammarAccess.getDSL_Expression_AndAccess().getGroup_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_Expression_And__Group_1__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_And__Group_1__0__Impl
-	rule__DSL_Expression_And__Group_1__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_And__Group_1__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_AndAccess().getAndKeyword_1_0()); }
-	'and'
-	{ after(grammarAccess.getDSL_Expression_AndAccess().getAndKeyword_1_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_And__Group_1__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_And__Group_1__1__Impl
-	rule__DSL_Expression_And__Group_1__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_And__Group_1__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_AndAccess().getDSL_Expression_AndLeftAction_1_1()); }
-	()
-	{ after(grammarAccess.getDSL_Expression_AndAccess().getDSL_Expression_AndLeftAction_1_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_And__Group_1__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_And__Group_1__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_And__Group_1__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_AndAccess().getRightAssignment_1_2()); }
-	(rule__DSL_Expression_And__RightAssignment_1_2)
-	{ after(grammarAccess.getDSL_Expression_AndAccess().getRightAssignment_1_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_Expression_DiffEqual__Group__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_DiffEqual__Group__0__Impl
-	rule__DSL_Expression_DiffEqual__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_DiffEqual__Group__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_DiffEqualAccess().getDSL_Expression_CompareParserRuleCall_0()); }
-	ruleDSL_Expression_Compare
-	{ after(grammarAccess.getDSL_Expression_DiffEqualAccess().getDSL_Expression_CompareParserRuleCall_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_DiffEqual__Group__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_DiffEqual__Group__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_DiffEqual__Group__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_DiffEqualAccess().getAlternatives_1()); }
-	(rule__DSL_Expression_DiffEqual__Alternatives_1)*
-	{ after(grammarAccess.getDSL_Expression_DiffEqualAccess().getAlternatives_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_Expression_DiffEqual__Group_1_0__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_DiffEqual__Group_1_0__0__Impl
-	rule__DSL_Expression_DiffEqual__Group_1_0__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_DiffEqual__Group_1_0__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_DiffEqualAccess().getExclamationMarkEqualsSignKeyword_1_0_0()); }
-	'!='
-	{ after(grammarAccess.getDSL_Expression_DiffEqualAccess().getExclamationMarkEqualsSignKeyword_1_0_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_DiffEqual__Group_1_0__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_DiffEqual__Group_1_0__1__Impl
-	rule__DSL_Expression_DiffEqual__Group_1_0__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_DiffEqual__Group_1_0__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_DiffEqualAccess().getDSL_Expression_DiffLeftAction_1_0_1()); }
-	()
-	{ after(grammarAccess.getDSL_Expression_DiffEqualAccess().getDSL_Expression_DiffLeftAction_1_0_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_DiffEqual__Group_1_0__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_DiffEqual__Group_1_0__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_DiffEqual__Group_1_0__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_DiffEqualAccess().getRightAssignment_1_0_2()); }
-	(rule__DSL_Expression_DiffEqual__RightAssignment_1_0_2)
-	{ after(grammarAccess.getDSL_Expression_DiffEqualAccess().getRightAssignment_1_0_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_Expression_DiffEqual__Group_1_1__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_DiffEqual__Group_1_1__0__Impl
-	rule__DSL_Expression_DiffEqual__Group_1_1__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_DiffEqual__Group_1_1__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_DiffEqualAccess().getEqualsSignEqualsSignKeyword_1_1_0()); }
-	'=='
-	{ after(grammarAccess.getDSL_Expression_DiffEqualAccess().getEqualsSignEqualsSignKeyword_1_1_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_DiffEqual__Group_1_1__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_DiffEqual__Group_1_1__1__Impl
-	rule__DSL_Expression_DiffEqual__Group_1_1__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_DiffEqual__Group_1_1__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_DiffEqualAccess().getDSL_Expression_EqualLeftAction_1_1_1()); }
-	()
-	{ after(grammarAccess.getDSL_Expression_DiffEqualAccess().getDSL_Expression_EqualLeftAction_1_1_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_DiffEqual__Group_1_1__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_DiffEqual__Group_1_1__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_DiffEqual__Group_1_1__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_DiffEqualAccess().getRightAssignment_1_1_2()); }
-	(rule__DSL_Expression_DiffEqual__RightAssignment_1_1_2)
-	{ after(grammarAccess.getDSL_Expression_DiffEqualAccess().getRightAssignment_1_1_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_Expression_Compare__Group__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Compare__Group__0__Impl
-	rule__DSL_Expression_Compare__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Compare__Group__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_PlusMinusParserRuleCall_0()); }
-	ruleDSL_Expression_PlusMinus
-	{ after(grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_PlusMinusParserRuleCall_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Compare__Group__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Compare__Group__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Compare__Group__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_CompareAccess().getAlternatives_1()); }
-	(rule__DSL_Expression_Compare__Alternatives_1)*
-	{ after(grammarAccess.getDSL_Expression_CompareAccess().getAlternatives_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_Expression_Compare__Group_1_0__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Compare__Group_1_0__0__Impl
-	rule__DSL_Expression_Compare__Group_1_0__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Compare__Group_1_0__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_CompareAccess().getGreaterThanSignKeyword_1_0_0()); }
-	'>'
-	{ after(grammarAccess.getDSL_Expression_CompareAccess().getGreaterThanSignKeyword_1_0_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Compare__Group_1_0__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Compare__Group_1_0__1__Impl
-	rule__DSL_Expression_Compare__Group_1_0__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Compare__Group_1_0__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_LargerLeftAction_1_0_1()); }
-	()
-	{ after(grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_LargerLeftAction_1_0_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Compare__Group_1_0__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Compare__Group_1_0__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Compare__Group_1_0__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_CompareAccess().getRightAssignment_1_0_2()); }
-	(rule__DSL_Expression_Compare__RightAssignment_1_0_2)
-	{ after(grammarAccess.getDSL_Expression_CompareAccess().getRightAssignment_1_0_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_Expression_Compare__Group_1_1__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Compare__Group_1_1__0__Impl
-	rule__DSL_Expression_Compare__Group_1_1__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Compare__Group_1_1__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_CompareAccess().getGreaterThanSignEqualsSignKeyword_1_1_0()); }
-	'>='
-	{ after(grammarAccess.getDSL_Expression_CompareAccess().getGreaterThanSignEqualsSignKeyword_1_1_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Compare__Group_1_1__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Compare__Group_1_1__1__Impl
-	rule__DSL_Expression_Compare__Group_1_1__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Compare__Group_1_1__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_Larger_EqualLeftAction_1_1_1()); }
-	()
-	{ after(grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_Larger_EqualLeftAction_1_1_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Compare__Group_1_1__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Compare__Group_1_1__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Compare__Group_1_1__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_CompareAccess().getRightAssignment_1_1_2()); }
-	(rule__DSL_Expression_Compare__RightAssignment_1_1_2)
-	{ after(grammarAccess.getDSL_Expression_CompareAccess().getRightAssignment_1_1_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_Expression_Compare__Group_1_2__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Compare__Group_1_2__0__Impl
-	rule__DSL_Expression_Compare__Group_1_2__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Compare__Group_1_2__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_CompareAccess().getLessThanSignKeyword_1_2_0()); }
-	'<'
-	{ after(grammarAccess.getDSL_Expression_CompareAccess().getLessThanSignKeyword_1_2_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Compare__Group_1_2__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Compare__Group_1_2__1__Impl
-	rule__DSL_Expression_Compare__Group_1_2__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Compare__Group_1_2__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_SmallerLeftAction_1_2_1()); }
-	()
-	{ after(grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_SmallerLeftAction_1_2_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Compare__Group_1_2__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Compare__Group_1_2__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Compare__Group_1_2__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_CompareAccess().getRightAssignment_1_2_2()); }
-	(rule__DSL_Expression_Compare__RightAssignment_1_2_2)
-	{ after(grammarAccess.getDSL_Expression_CompareAccess().getRightAssignment_1_2_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_Expression_Compare__Group_1_3__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Compare__Group_1_3__0__Impl
-	rule__DSL_Expression_Compare__Group_1_3__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Compare__Group_1_3__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_CompareAccess().getLessThanSignEqualsSignKeyword_1_3_0()); }
-	'<='
-	{ after(grammarAccess.getDSL_Expression_CompareAccess().getLessThanSignEqualsSignKeyword_1_3_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Compare__Group_1_3__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Compare__Group_1_3__1__Impl
-	rule__DSL_Expression_Compare__Group_1_3__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Compare__Group_1_3__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_Smaller_EqualLeftAction_1_3_1()); }
-	()
-	{ after(grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_Smaller_EqualLeftAction_1_3_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Compare__Group_1_3__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Compare__Group_1_3__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Compare__Group_1_3__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_CompareAccess().getRightAssignment_1_3_2()); }
-	(rule__DSL_Expression_Compare__RightAssignment_1_3_2)
-	{ after(grammarAccess.getDSL_Expression_CompareAccess().getRightAssignment_1_3_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_Expression_PlusMinus__Group__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_PlusMinus__Group__0__Impl
-	rule__DSL_Expression_PlusMinus__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_PlusMinus__Group__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_PlusMinusAccess().getDSL_Expression_MultiplicationDivisionParserRuleCall_0()); }
-	ruleDSL_Expression_MultiplicationDivision
-	{ after(grammarAccess.getDSL_Expression_PlusMinusAccess().getDSL_Expression_MultiplicationDivisionParserRuleCall_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_PlusMinus__Group__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_PlusMinus__Group__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_PlusMinus__Group__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_PlusMinusAccess().getAlternatives_1()); }
-	(rule__DSL_Expression_PlusMinus__Alternatives_1)*
-	{ after(grammarAccess.getDSL_Expression_PlusMinusAccess().getAlternatives_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_Expression_PlusMinus__Group_1_0__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_PlusMinus__Group_1_0__0__Impl
-	rule__DSL_Expression_PlusMinus__Group_1_0__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_PlusMinus__Group_1_0__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_PlusMinusAccess().getPlusSignKeyword_1_0_0()); }
-	'+'
-	{ after(grammarAccess.getDSL_Expression_PlusMinusAccess().getPlusSignKeyword_1_0_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_PlusMinus__Group_1_0__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_PlusMinus__Group_1_0__1__Impl
-	rule__DSL_Expression_PlusMinus__Group_1_0__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_PlusMinus__Group_1_0__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_PlusMinusAccess().getDSL_Expression_PlusLeftAction_1_0_1()); }
-	()
-	{ after(grammarAccess.getDSL_Expression_PlusMinusAccess().getDSL_Expression_PlusLeftAction_1_0_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_PlusMinus__Group_1_0__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_PlusMinus__Group_1_0__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_PlusMinus__Group_1_0__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_PlusMinusAccess().getRightAssignment_1_0_2()); }
-	(rule__DSL_Expression_PlusMinus__RightAssignment_1_0_2)
-	{ after(grammarAccess.getDSL_Expression_PlusMinusAccess().getRightAssignment_1_0_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_Expression_PlusMinus__Group_1_1__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_PlusMinus__Group_1_1__0__Impl
-	rule__DSL_Expression_PlusMinus__Group_1_1__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_PlusMinus__Group_1_1__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_PlusMinusAccess().getHyphenMinusKeyword_1_1_0()); }
-	'-'
-	{ after(grammarAccess.getDSL_Expression_PlusMinusAccess().getHyphenMinusKeyword_1_1_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_PlusMinus__Group_1_1__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_PlusMinus__Group_1_1__1__Impl
-	rule__DSL_Expression_PlusMinus__Group_1_1__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_PlusMinus__Group_1_1__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_PlusMinusAccess().getDSL_Expression_MinusLeftAction_1_1_1()); }
-	()
-	{ after(grammarAccess.getDSL_Expression_PlusMinusAccess().getDSL_Expression_MinusLeftAction_1_1_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_PlusMinus__Group_1_1__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_PlusMinus__Group_1_1__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_PlusMinus__Group_1_1__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_PlusMinusAccess().getRightAssignment_1_1_2()); }
-	(rule__DSL_Expression_PlusMinus__RightAssignment_1_1_2)
-	{ after(grammarAccess.getDSL_Expression_PlusMinusAccess().getRightAssignment_1_1_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_Expression_MultiplicationDivision__Group__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_MultiplicationDivision__Group__0__Impl
-	rule__DSL_Expression_MultiplicationDivision__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_MultiplicationDivision__Group__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getDSL_Expression_UnaryParserRuleCall_0()); }
-	ruleDSL_Expression_Unary
-	{ after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getDSL_Expression_UnaryParserRuleCall_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_MultiplicationDivision__Group__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_MultiplicationDivision__Group__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_MultiplicationDivision__Group__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getAlternatives_1()); }
-	(rule__DSL_Expression_MultiplicationDivision__Alternatives_1)*
-	{ after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getAlternatives_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_Expression_MultiplicationDivision__Group_1_0__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_MultiplicationDivision__Group_1_0__0__Impl
-	rule__DSL_Expression_MultiplicationDivision__Group_1_0__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_MultiplicationDivision__Group_1_0__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getAsteriskKeyword_1_0_0()); }
-	'*'
-	{ after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getAsteriskKeyword_1_0_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_MultiplicationDivision__Group_1_0__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_MultiplicationDivision__Group_1_0__1__Impl
-	rule__DSL_Expression_MultiplicationDivision__Group_1_0__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_MultiplicationDivision__Group_1_0__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getDSL_Expression_MultiplicationLeftAction_1_0_1()); }
-	()
-	{ after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getDSL_Expression_MultiplicationLeftAction_1_0_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_MultiplicationDivision__Group_1_0__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_MultiplicationDivision__Group_1_0__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_MultiplicationDivision__Group_1_0__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightAssignment_1_0_2()); }
-	(rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_0_2)
-	{ after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightAssignment_1_0_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_Expression_MultiplicationDivision__Group_1_1__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_MultiplicationDivision__Group_1_1__0__Impl
-	rule__DSL_Expression_MultiplicationDivision__Group_1_1__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_MultiplicationDivision__Group_1_1__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getSolidusKeyword_1_1_0()); }
-	'/'
-	{ after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getSolidusKeyword_1_1_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_MultiplicationDivision__Group_1_1__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_MultiplicationDivision__Group_1_1__1__Impl
-	rule__DSL_Expression_MultiplicationDivision__Group_1_1__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_MultiplicationDivision__Group_1_1__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getDSL_Expression_DivisionLeftAction_1_1_1()); }
-	()
-	{ after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getDSL_Expression_DivisionLeftAction_1_1_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_MultiplicationDivision__Group_1_1__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_MultiplicationDivision__Group_1_1__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_MultiplicationDivision__Group_1_1__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightAssignment_1_1_2()); }
-	(rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_1_2)
-	{ after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightAssignment_1_1_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_Expression_MultiplicationDivision__Group_1_2__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_MultiplicationDivision__Group_1_2__0__Impl
-	rule__DSL_Expression_MultiplicationDivision__Group_1_2__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_MultiplicationDivision__Group_1_2__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getPercentSignKeyword_1_2_0()); }
-	'%'
-	{ after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getPercentSignKeyword_1_2_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_MultiplicationDivision__Group_1_2__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_MultiplicationDivision__Group_1_2__1__Impl
-	rule__DSL_Expression_MultiplicationDivision__Group_1_2__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_MultiplicationDivision__Group_1_2__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getDSL_Expression_ModuloLeftAction_1_2_1()); }
-	()
-	{ after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getDSL_Expression_ModuloLeftAction_1_2_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_MultiplicationDivision__Group_1_2__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_MultiplicationDivision__Group_1_2__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_MultiplicationDivision__Group_1_2__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightAssignment_1_2_2()); }
-	(rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_2_2)
-	{ after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightAssignment_1_2_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_Expression_Unary__Group_0__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Unary__Group_0__0__Impl
-	rule__DSL_Expression_Unary__Group_0__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Unary__Group_0__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Object_NumberAction_0_0()); }
-	()
-	{ after(grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Object_NumberAction_0_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Unary__Group_0__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Unary__Group_0__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Unary__Group_0__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_UnaryAccess().getValueAssignment_0_1()); }
-	(rule__DSL_Expression_Unary__ValueAssignment_0_1)
-	{ after(grammarAccess.getDSL_Expression_UnaryAccess().getValueAssignment_0_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_Expression_Unary__Group_1__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Unary__Group_1__0__Impl
-	rule__DSL_Expression_Unary__Group_1__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Unary__Group_1__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Object_StringAction_1_0()); }
-	()
-	{ after(grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Object_StringAction_1_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Unary__Group_1__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Unary__Group_1__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Unary__Group_1__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_UnaryAccess().getValueAssignment_1_1()); }
-	(rule__DSL_Expression_Unary__ValueAssignment_1_1)
-	{ after(grammarAccess.getDSL_Expression_UnaryAccess().getValueAssignment_1_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_Expression_Unary__Group_2__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Unary__Group_2__0__Impl
-	rule__DSL_Expression_Unary__Group_2__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Unary__Group_2__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Object_BooleanAction_2_0()); }
-	()
-	{ after(grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Object_BooleanAction_2_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Unary__Group_2__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Unary__Group_2__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Unary__Group_2__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_UnaryAccess().getValueAssignment_2_1()); }
-	(rule__DSL_Expression_Unary__ValueAssignment_2_1)
-	{ after(grammarAccess.getDSL_Expression_UnaryAccess().getValueAssignment_2_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_Expression_Unary__Group_3__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Unary__Group_3__0__Impl
-	rule__DSL_Expression_Unary__Group_3__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Unary__Group_3__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Object_RefAction_3_0()); }
-	()
-	{ after(grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Object_RefAction_3_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Unary__Group_3__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Unary__Group_3__1__Impl
-	rule__DSL_Expression_Unary__Group_3__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Unary__Group_3__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_UnaryAccess().getValueAssignment_3_1()); }
-	(rule__DSL_Expression_Unary__ValueAssignment_3_1)
-	{ after(grammarAccess.getDSL_Expression_UnaryAccess().getValueAssignment_3_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Unary__Group_3__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Unary__Group_3__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Unary__Group_3__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_UnaryAccess().getGetKeyword_3_2()); }
-	'.get()'
-	{ after(grammarAccess.getDSL_Expression_UnaryAccess().getGetKeyword_3_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_Expression_Unary__Group_4__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Unary__Group_4__0__Impl
-	rule__DSL_Expression_Unary__Group_4__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Unary__Group_4__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_UnaryAccess().getLeftParenthesisKeyword_4_0()); }
-	'('
-	{ after(grammarAccess.getDSL_Expression_UnaryAccess().getLeftParenthesisKeyword_4_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Unary__Group_4__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Unary__Group_4__1__Impl
-	rule__DSL_Expression_Unary__Group_4__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Unary__Group_4__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Expression_OrParserRuleCall_4_1()); }
-	ruleDSL_Expression_Or
-	{ after(grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Expression_OrParserRuleCall_4_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Unary__Group_4__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Unary__Group_4__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Unary__Group_4__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_UnaryAccess().getRightParenthesisKeyword_4_2()); }
-	')'
-	{ after(grammarAccess.getDSL_Expression_UnaryAccess().getRightParenthesisKeyword_4_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DSL_Expression_Unary__Group_5__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Unary__Group_5__0__Impl
-	rule__DSL_Expression_Unary__Group_5__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Unary__Group_5__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_UnaryAccess().getNotKeyword_5_0()); }
-	'not'
-	{ after(grammarAccess.getDSL_Expression_UnaryAccess().getNotKeyword_5_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Unary__Group_5__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Unary__Group_5__1__Impl
-	rule__DSL_Expression_Unary__Group_5__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Unary__Group_5__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Expression_NegateAction_5_1()); }
-	()
-	{ after(grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Expression_NegateAction_5_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Unary__Group_5__2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__DSL_Expression_Unary__Group_5__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Unary__Group_5__2__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getDSL_Expression_UnaryAccess().getExpAssignment_5_2()); }
-	(rule__DSL_Expression_Unary__ExpAssignment_5_2)
-	{ after(grammarAccess.getDSL_Expression_UnaryAccess().getExpAssignment_5_2()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Sensinact__EcaAssignment_1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getSensinactAccess().getEcaDSL_SENSINACTParserRuleCall_1_0()); }
-		ruleDSL_SENSINACT
-		{ after(grammarAccess.getSensinactAccess().getEcaDSL_SENSINACTParserRuleCall_1_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_SENSINACT__ResourcesAssignment_0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_SENSINACTAccess().getResourcesDSL_ResourceParserRuleCall_0_0()); }
-		ruleDSL_Resource
-		{ after(grammarAccess.getDSL_SENSINACTAccess().getResourcesDSL_ResourceParserRuleCall_0_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_SENSINACT__CepAssignment_1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_SENSINACTAccess().getCepDSL_CEP_STATEMENTParserRuleCall_1_0()); }
-		ruleDSL_CEP_STATEMENT
-		{ after(grammarAccess.getDSL_SENSINACTAccess().getCepDSL_CEP_STATEMENTParserRuleCall_1_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_SENSINACT__OnAssignment_2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_SENSINACTAccess().getOnDSL_OnParserRuleCall_2_0()); }
-		ruleDSL_On
-		{ after(grammarAccess.getDSL_SENSINACTAccess().getOnDSL_OnParserRuleCall_2_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_SENSINACT__EcaAssignment_3
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_SENSINACTAccess().getEcaDSL_ECA_STATEMENTParserRuleCall_3_0()); }
-		ruleDSL_ECA_STATEMENT
-		{ after(grammarAccess.getDSL_SENSINACTAccess().getEcaDSL_ECA_STATEMENTParserRuleCall_3_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Resource__NameAssignment_1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_ResourceAccess().getNameIDTerminalRuleCall_1_0()); }
-		RULE_ID
-		{ after(grammarAccess.getDSL_ResourceAccess().getNameIDTerminalRuleCall_1_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Resource__GatewayIDAssignment_4
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_ResourceAccess().getGatewayIDEXTENDED_IDParserRuleCall_4_0()); }
-		ruleEXTENDED_ID
-		{ after(grammarAccess.getDSL_ResourceAccess().getGatewayIDEXTENDED_IDParserRuleCall_4_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Resource__DeviceIDAssignment_6
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_ResourceAccess().getDeviceIDEXTENDED_IDParserRuleCall_6_0()); }
-		ruleEXTENDED_ID
-		{ after(grammarAccess.getDSL_ResourceAccess().getDeviceIDEXTENDED_IDParserRuleCall_6_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Resource__ServiceIDAssignment_8
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_ResourceAccess().getServiceIDEXTENDED_IDParserRuleCall_8_0()); }
-		ruleEXTENDED_ID
-		{ after(grammarAccess.getDSL_ResourceAccess().getServiceIDEXTENDED_IDParserRuleCall_8_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Resource__ResourceIDAssignment_10
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_ResourceAccess().getResourceIDEXTENDED_IDParserRuleCall_10_0()); }
-		ruleEXTENDED_ID
-		{ after(grammarAccess.getDSL_ResourceAccess().getResourceIDEXTENDED_IDParserRuleCall_10_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_On__TriggersAssignment_1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_OnAccess().getTriggersDSL_REF_CONDITIONParserRuleCall_1_0()); }
-		ruleDSL_REF_CONDITION
-		{ after(grammarAccess.getDSL_OnAccess().getTriggersDSL_REF_CONDITIONParserRuleCall_1_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_On__TriggersAssignment_2_1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_OnAccess().getTriggersDSL_REF_CONDITIONParserRuleCall_2_1_0()); }
-		ruleDSL_REF_CONDITION
-		{ after(grammarAccess.getDSL_OnAccess().getTriggersDSL_REF_CONDITIONParserRuleCall_2_1_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ECA_STATEMENT__IfdoAssignment_0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_ECA_STATEMENTAccess().getIfdoDSL_IfDoParserRuleCall_0_0()); }
-		ruleDSL_IfDo
-		{ after(grammarAccess.getDSL_ECA_STATEMENTAccess().getIfdoDSL_IfDoParserRuleCall_0_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ECA_STATEMENT__ElseIfdoAssignment_1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_ECA_STATEMENTAccess().getElseIfdoDSL_ElseIfDoParserRuleCall_1_0()); }
-		ruleDSL_ElseIfDo
-		{ after(grammarAccess.getDSL_ECA_STATEMENTAccess().getElseIfdoDSL_ElseIfDoParserRuleCall_1_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ECA_STATEMENT__ElsedoAssignment_2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_ECA_STATEMENTAccess().getElsedoDSL_ElseDoParserRuleCall_2_0()); }
-		ruleDSL_ElseDo
-		{ after(grammarAccess.getDSL_ECA_STATEMENTAccess().getElsedoDSL_ElseDoParserRuleCall_2_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_IfDo__ConditionAssignment_1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_IfDoAccess().getConditionDSL_Expression_OrParserRuleCall_1_0()); }
-		ruleDSL_Expression_Or
-		{ after(grammarAccess.getDSL_IfDoAccess().getConditionDSL_Expression_OrParserRuleCall_1_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_IfDo__ActionsAssignment_3
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_IfDoAccess().getActionsDSL_ListActionsParserRuleCall_3_0()); }
-		ruleDSL_ListActions
-		{ after(grammarAccess.getDSL_IfDoAccess().getActionsDSL_ListActionsParserRuleCall_3_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ElseIfDo__ConditionAssignment_1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_ElseIfDoAccess().getConditionDSL_Expression_OrParserRuleCall_1_0()); }
-		ruleDSL_Expression_Or
-		{ after(grammarAccess.getDSL_ElseIfDoAccess().getConditionDSL_Expression_OrParserRuleCall_1_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ElseIfDo__ActionsAssignment_3
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_ElseIfDoAccess().getActionsDSL_ListActionsParserRuleCall_3_0()); }
-		ruleDSL_ListActions
-		{ after(grammarAccess.getDSL_ElseIfDoAccess().getActionsDSL_ListActionsParserRuleCall_3_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ElseDo__ActionsAssignment_1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_ElseDoAccess().getActionsDSL_ListActionsParserRuleCall_1_0()); }
-		ruleDSL_ListActions
-		{ after(grammarAccess.getDSL_ElseDoAccess().getActionsDSL_ListActionsParserRuleCall_1_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_REF_CONDITION__RefAssignment_0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_REF_CONDITIONAccess().getRefDSL_REFCrossReference_0_0()); }
-		(
-			{ before(grammarAccess.getDSL_REF_CONDITIONAccess().getRefDSL_REFIDTerminalRuleCall_0_0_1()); }
-			RULE_ID
-			{ after(grammarAccess.getDSL_REF_CONDITIONAccess().getRefDSL_REFIDTerminalRuleCall_0_0_1()); }
-		)
-		{ after(grammarAccess.getDSL_REF_CONDITIONAccess().getRefDSL_REFCrossReference_0_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_STATEMENT__NameAssignment_1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_CEP_STATEMENTAccess().getNameIDTerminalRuleCall_1_0()); }
-		RULE_ID
-		{ after(grammarAccess.getDSL_CEP_STATEMENTAccess().getNameIDTerminalRuleCall_1_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_STATEMENT__OperationAssignment_3
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationAlternatives_3_0()); }
-		(rule__DSL_CEP_STATEMENT__OperationAlternatives_3_0)
-		{ after(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationAlternatives_3_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AFTER__Ref1Assignment_2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_CEP_AFTERAccess().getRef1DSL_REF_CONDITIONParserRuleCall_2_0()); }
-		ruleDSL_REF_CONDITION
-		{ after(grammarAccess.getDSL_CEP_AFTERAccess().getRef1DSL_REF_CONDITIONParserRuleCall_2_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AFTER__Ref2Assignment_4
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_CEP_AFTERAccess().getRef2DSL_REF_CONDITIONParserRuleCall_4_0()); }
-		ruleDSL_REF_CONDITION
-		{ after(grammarAccess.getDSL_CEP_AFTERAccess().getRef2DSL_REF_CONDITIONParserRuleCall_4_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AFTER__StartAssignment_6_0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_CEP_AFTERAccess().getStartDSL_CEP_DURATIONParserRuleCall_6_0_0()); }
-		ruleDSL_CEP_DURATION
-		{ after(grammarAccess.getDSL_CEP_AFTERAccess().getStartDSL_CEP_DURATIONParserRuleCall_6_0_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AFTER__EndAssignment_7
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_CEP_AFTERAccess().getEndDSL_CEP_DURATIONParserRuleCall_7_0()); }
-		ruleDSL_CEP_DURATION
-		{ after(grammarAccess.getDSL_CEP_AFTERAccess().getEndDSL_CEP_DURATIONParserRuleCall_7_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_BEFORE__Ref1Assignment_2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_CEP_BEFOREAccess().getRef1DSL_REF_CONDITIONParserRuleCall_2_0()); }
-		ruleDSL_REF_CONDITION
-		{ after(grammarAccess.getDSL_CEP_BEFOREAccess().getRef1DSL_REF_CONDITIONParserRuleCall_2_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_BEFORE__Ref2Assignment_4
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_CEP_BEFOREAccess().getRef2DSL_REF_CONDITIONParserRuleCall_4_0()); }
-		ruleDSL_REF_CONDITION
-		{ after(grammarAccess.getDSL_CEP_BEFOREAccess().getRef2DSL_REF_CONDITIONParserRuleCall_4_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_BEFORE__StartAssignment_6_0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_CEP_BEFOREAccess().getStartDSL_CEP_DURATIONParserRuleCall_6_0_0()); }
-		ruleDSL_CEP_DURATION
-		{ after(grammarAccess.getDSL_CEP_BEFOREAccess().getStartDSL_CEP_DURATIONParserRuleCall_6_0_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_BEFORE__EndAssignment_7
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_CEP_BEFOREAccess().getEndDSL_CEP_DURATIONParserRuleCall_7_0()); }
-		ruleDSL_CEP_DURATION
-		{ after(grammarAccess.getDSL_CEP_BEFOREAccess().getEndDSL_CEP_DURATIONParserRuleCall_7_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_COINCIDE__Ref1Assignment_2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_CEP_COINCIDEAccess().getRef1DSL_REF_CONDITIONParserRuleCall_2_0()); }
-		ruleDSL_REF_CONDITION
-		{ after(grammarAccess.getDSL_CEP_COINCIDEAccess().getRef1DSL_REF_CONDITIONParserRuleCall_2_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_COINCIDE__Ref2Assignment_4
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_CEP_COINCIDEAccess().getRef2DSL_REF_CONDITIONParserRuleCall_4_0()); }
-		ruleDSL_REF_CONDITION
-		{ after(grammarAccess.getDSL_CEP_COINCIDEAccess().getRef2DSL_REF_CONDITIONParserRuleCall_4_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_COINCIDE__WindowAssignment_6
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_CEP_COINCIDEAccess().getWindowDSL_CEP_DURATIONParserRuleCall_6_0()); }
-		ruleDSL_CEP_DURATION
-		{ after(grammarAccess.getDSL_CEP_COINCIDEAccess().getWindowDSL_CEP_DURATIONParserRuleCall_6_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_MIN__RefAssignment_2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_CEP_MINAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0()); }
-		ruleDSL_REF_CONDITION
-		{ after(grammarAccess.getDSL_CEP_MINAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_MIN__WindowAssignment_4
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_CEP_MINAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0()); }
-		ruleDSL_CEP_DURATION
-		{ after(grammarAccess.getDSL_CEP_MINAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_MAX__RefAssignment_2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_CEP_MAXAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0()); }
-		ruleDSL_REF_CONDITION
-		{ after(grammarAccess.getDSL_CEP_MAXAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_MAX__WindowAssignment_4
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_CEP_MAXAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0()); }
-		ruleDSL_CEP_DURATION
-		{ after(grammarAccess.getDSL_CEP_MAXAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AVG__RefAssignment_2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_CEP_AVGAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0()); }
-		ruleDSL_REF_CONDITION
-		{ after(grammarAccess.getDSL_CEP_AVGAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_AVG__WindowAssignment_4
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_CEP_AVGAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0()); }
-		ruleDSL_CEP_DURATION
-		{ after(grammarAccess.getDSL_CEP_AVGAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_SUM__RefAssignment_2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_CEP_SUMAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0()); }
-		ruleDSL_REF_CONDITION
-		{ after(grammarAccess.getDSL_CEP_SUMAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_SUM__WindowAssignment_4
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_CEP_SUMAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0()); }
-		ruleDSL_CEP_DURATION
-		{ after(grammarAccess.getDSL_CEP_SUMAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_COUNT__RefAssignment_2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_CEP_COUNTAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0()); }
-		ruleDSL_REF_CONDITION
-		{ after(grammarAccess.getDSL_CEP_COUNTAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_COUNT__WindowAssignment_4
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_CEP_COUNTAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0()); }
-		ruleDSL_CEP_DURATION
-		{ after(grammarAccess.getDSL_CEP_COUNTAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_DURATION__UnitsAssignment
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_CEP_DURATIONAccess().getUnitsAlternatives_0()); }
-		(rule__DSL_CEP_DURATION__UnitsAlternatives_0)
-		{ after(grammarAccess.getDSL_CEP_DURATIONAccess().getUnitsAlternatives_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_DURATION_MIN__MinAssignment_0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_CEP_DURATION_MINAccess().getMinNUMBERParserRuleCall_0_0()); }
-		ruleNUMBER
-		{ after(grammarAccess.getDSL_CEP_DURATION_MINAccess().getMinNUMBERParserRuleCall_0_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_CEP_DURATION_SEC__SecAssignment_0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_CEP_DURATION_SECAccess().getSecNUMBERParserRuleCall_0_0()); }
-		ruleNUMBER
-		{ after(grammarAccess.getDSL_CEP_DURATION_SECAccess().getSecNUMBERParserRuleCall_0_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ListActions__ActionListAssignment_0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_ListActionsAccess().getActionListDSL_ResourceActionParserRuleCall_0_0()); }
-		ruleDSL_ResourceAction
-		{ after(grammarAccess.getDSL_ListActionsAccess().getActionListDSL_ResourceActionParserRuleCall_0_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ListActions__ActionListAssignment_1_1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_ListActionsAccess().getActionListDSL_ResourceActionParserRuleCall_1_1_0()); }
-		ruleDSL_ResourceAction
-		{ after(grammarAccess.getDSL_ListActionsAccess().getActionListDSL_ResourceActionParserRuleCall_1_1_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ResourceAction__VariableAssignment_0_0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_ResourceActionAccess().getVariableIDTerminalRuleCall_0_0_0()); }
-		RULE_ID
-		{ after(grammarAccess.getDSL_ResourceActionAccess().getVariableIDTerminalRuleCall_0_0_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ResourceAction__RefAssignment_1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_ResourceActionAccess().getRefDSL_REFCrossReference_1_0()); }
-		(
-			{ before(grammarAccess.getDSL_ResourceActionAccess().getRefDSL_REFIDTerminalRuleCall_1_0_1()); }
-			RULE_ID
-			{ after(grammarAccess.getDSL_ResourceActionAccess().getRefDSL_REFIDTerminalRuleCall_1_0_1()); }
-		)
-		{ after(grammarAccess.getDSL_ResourceActionAccess().getRefDSL_REFCrossReference_1_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ResourceAction__ActiontypeAssignment_3
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_ResourceActionAccess().getActiontypeAlternatives_3_0()); }
-		(rule__DSL_ResourceAction__ActiontypeAlternatives_3_0)
-		{ after(grammarAccess.getDSL_ResourceActionAccess().getActiontypeAlternatives_3_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ResourceAction__ListParamAssignment_5
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_ResourceActionAccess().getListParamDSL_ListParamParserRuleCall_5_0()); }
-		ruleDSL_ListParam
-		{ after(grammarAccess.getDSL_ResourceActionAccess().getListParamDSL_ListParamParserRuleCall_5_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ListParam__ParamAssignment_0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_ListParamAccess().getParamDSL_Expression_OrParserRuleCall_0_0()); }
-		ruleDSL_Expression_Or
-		{ after(grammarAccess.getDSL_ListParamAccess().getParamDSL_Expression_OrParserRuleCall_0_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_ListParam__ParamAssignment_1_1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_ListParamAccess().getParamDSL_Expression_OrParserRuleCall_1_1_0()); }
-		ruleDSL_Expression_Or
-		{ after(grammarAccess.getDSL_ListParamAccess().getParamDSL_Expression_OrParserRuleCall_1_1_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Or__RightAssignment_1_2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_Expression_OrAccess().getRightDSL_Expression_AndParserRuleCall_1_2_0()); }
-		ruleDSL_Expression_And
-		{ after(grammarAccess.getDSL_Expression_OrAccess().getRightDSL_Expression_AndParserRuleCall_1_2_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_And__RightAssignment_1_2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_Expression_AndAccess().getRightDSL_Expression_DiffEqualParserRuleCall_1_2_0()); }
-		ruleDSL_Expression_DiffEqual
-		{ after(grammarAccess.getDSL_Expression_AndAccess().getRightDSL_Expression_DiffEqualParserRuleCall_1_2_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_DiffEqual__RightAssignment_1_0_2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_Expression_DiffEqualAccess().getRightDSL_Expression_CompareParserRuleCall_1_0_2_0()); }
-		ruleDSL_Expression_Compare
-		{ after(grammarAccess.getDSL_Expression_DiffEqualAccess().getRightDSL_Expression_CompareParserRuleCall_1_0_2_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_DiffEqual__RightAssignment_1_1_2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_Expression_DiffEqualAccess().getRightDSL_Expression_CompareParserRuleCall_1_1_2_0()); }
-		ruleDSL_Expression_Compare
-		{ after(grammarAccess.getDSL_Expression_DiffEqualAccess().getRightDSL_Expression_CompareParserRuleCall_1_1_2_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Compare__RightAssignment_1_0_2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_Expression_CompareAccess().getRightDSL_Expression_PlusMinusParserRuleCall_1_0_2_0()); }
-		ruleDSL_Expression_PlusMinus
-		{ after(grammarAccess.getDSL_Expression_CompareAccess().getRightDSL_Expression_PlusMinusParserRuleCall_1_0_2_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Compare__RightAssignment_1_1_2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_Expression_CompareAccess().getRightDSL_Expression_PlusMinusParserRuleCall_1_1_2_0()); }
-		ruleDSL_Expression_PlusMinus
-		{ after(grammarAccess.getDSL_Expression_CompareAccess().getRightDSL_Expression_PlusMinusParserRuleCall_1_1_2_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Compare__RightAssignment_1_2_2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_Expression_CompareAccess().getRightDSL_Expression_PlusMinusParserRuleCall_1_2_2_0()); }
-		ruleDSL_Expression_PlusMinus
-		{ after(grammarAccess.getDSL_Expression_CompareAccess().getRightDSL_Expression_PlusMinusParserRuleCall_1_2_2_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Compare__RightAssignment_1_3_2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_Expression_CompareAccess().getRightDSL_Expression_PlusMinusParserRuleCall_1_3_2_0()); }
-		ruleDSL_Expression_PlusMinus
-		{ after(grammarAccess.getDSL_Expression_CompareAccess().getRightDSL_Expression_PlusMinusParserRuleCall_1_3_2_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_PlusMinus__RightAssignment_1_0_2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_Expression_PlusMinusAccess().getRightDSL_Expression_MultiplicationDivisionParserRuleCall_1_0_2_0()); }
-		ruleDSL_Expression_MultiplicationDivision
-		{ after(grammarAccess.getDSL_Expression_PlusMinusAccess().getRightDSL_Expression_MultiplicationDivisionParserRuleCall_1_0_2_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_PlusMinus__RightAssignment_1_1_2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_Expression_PlusMinusAccess().getRightDSL_Expression_MultiplicationDivisionParserRuleCall_1_1_2_0()); }
-		ruleDSL_Expression_MultiplicationDivision
-		{ after(grammarAccess.getDSL_Expression_PlusMinusAccess().getRightDSL_Expression_MultiplicationDivisionParserRuleCall_1_1_2_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_0_2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightDSL_Expression_UnaryParserRuleCall_1_0_2_0()); }
-		ruleDSL_Expression_Unary
-		{ after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightDSL_Expression_UnaryParserRuleCall_1_0_2_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_1_2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightDSL_Expression_UnaryParserRuleCall_1_1_2_0()); }
-		ruleDSL_Expression_Unary
-		{ after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightDSL_Expression_UnaryParserRuleCall_1_1_2_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_2_2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightDSL_Expression_UnaryParserRuleCall_1_2_2_0()); }
-		ruleDSL_Expression_Unary
-		{ after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightDSL_Expression_UnaryParserRuleCall_1_2_2_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Unary__ValueAssignment_0_1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_Expression_UnaryAccess().getValueNUMBERParserRuleCall_0_1_0()); }
-		ruleNUMBER
-		{ after(grammarAccess.getDSL_Expression_UnaryAccess().getValueNUMBERParserRuleCall_0_1_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Unary__ValueAssignment_1_1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_Expression_UnaryAccess().getValueSTRINGTerminalRuleCall_1_1_0()); }
-		RULE_STRING
-		{ after(grammarAccess.getDSL_Expression_UnaryAccess().getValueSTRINGTerminalRuleCall_1_1_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Unary__ValueAssignment_2_1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_Expression_UnaryAccess().getValueBOOLEANTerminalRuleCall_2_1_0()); }
-		RULE_BOOLEAN
-		{ after(grammarAccess.getDSL_Expression_UnaryAccess().getValueBOOLEANTerminalRuleCall_2_1_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Unary__ValueAssignment_3_1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_Expression_UnaryAccess().getValueDSL_REFCrossReference_3_1_0()); }
-		(
-			{ before(grammarAccess.getDSL_Expression_UnaryAccess().getValueDSL_REFIDTerminalRuleCall_3_1_0_1()); }
-			RULE_ID
-			{ after(grammarAccess.getDSL_Expression_UnaryAccess().getValueDSL_REFIDTerminalRuleCall_3_1_0_1()); }
-		)
-		{ after(grammarAccess.getDSL_Expression_UnaryAccess().getValueDSL_REFCrossReference_3_1_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DSL_Expression_Unary__ExpAssignment_5_2
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getDSL_Expression_UnaryAccess().getExpDSL_Expression_UnaryParserRuleCall_5_2_0()); }
-		ruleDSL_Expression_Unary
-		{ after(grammarAccess.getDSL_Expression_UnaryAccess().getExpDSL_Expression_UnaryParserRuleCall_5_2_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-RULE_BOOLEAN : ('true'|'false');
-
-RULE_INT : ('0'..'9')+;
-
-RULE_ID : ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|':'|'-')+;
-
-RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\'');
-
-RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
-
-RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
-
-RULE_WS : (' '|'\t'|'\r'|'\n')+;
-
-RULE_ANY_OTHER : .;
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.ide/src-gen/org/eclipse/sensinact/studio/language/ide/contentassist/antlr/internal/InternalSensinact.tokens b/xtext/org.eclipse.sensinact.studio.language.sensinact.ide/src-gen/org/eclipse/sensinact/studio/language/ide/contentassist/antlr/internal/InternalSensinact.tokens
deleted file mode 100644
index f2bbb77..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.ide/src-gen/org/eclipse/sensinact/studio/language/ide/contentassist/antlr/internal/InternalSensinact.tokens
+++ /dev/null
@@ -1,92 +0,0 @@
-'!='=42
-'%'=51
-'('=28
-')'=29
-'*'=50
-'+'=48
-','=20
-'-'=49
-'.'=26
-'.get()'=52
-'/'=17
-'<'=46
-'<='=47
-'='=15
-'=='=43
-'>'=44
-'>='=45
-'['=16
-']'=18
-'act'=12
-'after'=31
-'and'=41
-'avg'=36
-'before'=32
-'coincide'=33
-'count'=38
-'define'=30
-'do'=23
-'else do'=25
-'else if'=24
-'end if'=21
-'if'=22
-'max'=35
-'min'=34
-'not'=53
-'on'=19
-'or'=40
-'resource'=14
-'sec'=39
-'set'=13
-'subscribe'=27
-'sum'=37
-RULE_ANY_OTHER=11
-RULE_BOOLEAN=7
-RULE_ID=5
-RULE_INT=4
-RULE_ML_COMMENT=8
-RULE_SL_COMMENT=9
-RULE_STRING=6
-RULE_WS=10
-T__12=12
-T__13=13
-T__14=14
-T__15=15
-T__16=16
-T__17=17
-T__18=18
-T__19=19
-T__20=20
-T__21=21
-T__22=22
-T__23=23
-T__24=24
-T__25=25
-T__26=26
-T__27=27
-T__28=28
-T__29=29
-T__30=30
-T__31=31
-T__32=32
-T__33=33
-T__34=34
-T__35=35
-T__36=36
-T__37=37
-T__38=38
-T__39=39
-T__40=40
-T__41=41
-T__42=42
-T__43=43
-T__44=44
-T__45=45
-T__46=46
-T__47=47
-T__48=48
-T__49=49
-T__50=50
-T__51=51
-T__52=52
-T__53=53
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.ide/src-gen/org/eclipse/sensinact/studio/language/ide/contentassist/antlr/internal/InternalSensinactLexer.java b/xtext/org.eclipse.sensinact.studio.language.sensinact.ide/src-gen/org/eclipse/sensinact/studio/language/ide/contentassist/antlr/internal/InternalSensinactLexer.java
deleted file mode 100644
index 987c216..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.ide/src-gen/org/eclipse/sensinact/studio/language/ide/contentassist/antlr/internal/InternalSensinactLexer.java
+++ /dev/null
@@ -1,2162 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-package org.eclipse.sensinact.studio.language.ide.contentassist.antlr.internal;
-
-// Hack: Use our own Lexer superclass by means of import. 
-// Currently there is no other way to specify the superclass for the lexer.
-import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer;
-
-
-import org.antlr.runtime.*;
-import java.util.Stack;
-import java.util.List;
-import java.util.ArrayList;
-
-@SuppressWarnings("all")
-public class InternalSensinactLexer extends Lexer {
-    public static final int T__50=50;
-    public static final int RULE_BOOLEAN=7;
-    public static final int T__19=19;
-    public static final int T__15=15;
-    public static final int T__16=16;
-    public static final int T__17=17;
-    public static final int T__18=18;
-    public static final int T__12=12;
-    public static final int T__13=13;
-    public static final int T__14=14;
-    public static final int T__51=51;
-    public static final int T__52=52;
-    public static final int T__53=53;
-    public static final int RULE_ID=5;
-    public static final int T__26=26;
-    public static final int T__27=27;
-    public static final int T__28=28;
-    public static final int RULE_INT=4;
-    public static final int T__29=29;
-    public static final int T__22=22;
-    public static final int RULE_ML_COMMENT=8;
-    public static final int T__23=23;
-    public static final int T__24=24;
-    public static final int T__25=25;
-    public static final int T__20=20;
-    public static final int T__21=21;
-    public static final int RULE_STRING=6;
-    public static final int RULE_SL_COMMENT=9;
-    public static final int T__37=37;
-    public static final int T__38=38;
-    public static final int T__39=39;
-    public static final int T__33=33;
-    public static final int T__34=34;
-    public static final int T__35=35;
-    public static final int T__36=36;
-    public static final int EOF=-1;
-    public static final int T__30=30;
-    public static final int T__31=31;
-    public static final int T__32=32;
-    public static final int RULE_WS=10;
-    public static final int RULE_ANY_OTHER=11;
-    public static final int T__48=48;
-    public static final int T__49=49;
-    public static final int T__44=44;
-    public static final int T__45=45;
-    public static final int T__46=46;
-    public static final int T__47=47;
-    public static final int T__40=40;
-    public static final int T__41=41;
-    public static final int T__42=42;
-    public static final int T__43=43;
-
-    // delegates
-    // delegators
-
-    public InternalSensinactLexer() {;} 
-    public InternalSensinactLexer(CharStream input) {
-        this(input, new RecognizerSharedState());
-    }
-    public InternalSensinactLexer(CharStream input, RecognizerSharedState state) {
-        super(input,state);
-
-    }
-    public String getGrammarFileName() { return "InternalSensinact.g"; }
-
-    // $ANTLR start "T__12"
-    public final void mT__12() throws RecognitionException {
-        try {
-            int _type = T__12;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:11:7: ( 'act' )
-            // InternalSensinact.g:11:9: 'act'
-            {
-            match("act"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__12"
-
-    // $ANTLR start "T__13"
-    public final void mT__13() throws RecognitionException {
-        try {
-            int _type = T__13;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:12:7: ( 'set' )
-            // InternalSensinact.g:12:9: 'set'
-            {
-            match("set"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__13"
-
-    // $ANTLR start "T__14"
-    public final void mT__14() throws RecognitionException {
-        try {
-            int _type = T__14;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:13:7: ( 'resource' )
-            // InternalSensinact.g:13:9: 'resource'
-            {
-            match("resource"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__14"
-
-    // $ANTLR start "T__15"
-    public final void mT__15() throws RecognitionException {
-        try {
-            int _type = T__15;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:14:7: ( '=' )
-            // InternalSensinact.g:14:9: '='
-            {
-            match('='); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__15"
-
-    // $ANTLR start "T__16"
-    public final void mT__16() throws RecognitionException {
-        try {
-            int _type = T__16;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:15:7: ( '[' )
-            // InternalSensinact.g:15:9: '['
-            {
-            match('['); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__16"
-
-    // $ANTLR start "T__17"
-    public final void mT__17() throws RecognitionException {
-        try {
-            int _type = T__17;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:16:7: ( '/' )
-            // InternalSensinact.g:16:9: '/'
-            {
-            match('/'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__17"
-
-    // $ANTLR start "T__18"
-    public final void mT__18() throws RecognitionException {
-        try {
-            int _type = T__18;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:17:7: ( ']' )
-            // InternalSensinact.g:17:9: ']'
-            {
-            match(']'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__18"
-
-    // $ANTLR start "T__19"
-    public final void mT__19() throws RecognitionException {
-        try {
-            int _type = T__19;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:18:7: ( 'on' )
-            // InternalSensinact.g:18:9: 'on'
-            {
-            match("on"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__19"
-
-    // $ANTLR start "T__20"
-    public final void mT__20() throws RecognitionException {
-        try {
-            int _type = T__20;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:19:7: ( ',' )
-            // InternalSensinact.g:19:9: ','
-            {
-            match(','); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__20"
-
-    // $ANTLR start "T__21"
-    public final void mT__21() throws RecognitionException {
-        try {
-            int _type = T__21;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:20:7: ( 'end if' )
-            // InternalSensinact.g:20:9: 'end if'
-            {
-            match("end if"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__21"
-
-    // $ANTLR start "T__22"
-    public final void mT__22() throws RecognitionException {
-        try {
-            int _type = T__22;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:21:7: ( 'if' )
-            // InternalSensinact.g:21:9: 'if'
-            {
-            match("if"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__22"
-
-    // $ANTLR start "T__23"
-    public final void mT__23() throws RecognitionException {
-        try {
-            int _type = T__23;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:22:7: ( 'do' )
-            // InternalSensinact.g:22:9: 'do'
-            {
-            match("do"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__23"
-
-    // $ANTLR start "T__24"
-    public final void mT__24() throws RecognitionException {
-        try {
-            int _type = T__24;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:23:7: ( 'else if' )
-            // InternalSensinact.g:23:9: 'else if'
-            {
-            match("else if"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__24"
-
-    // $ANTLR start "T__25"
-    public final void mT__25() throws RecognitionException {
-        try {
-            int _type = T__25;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:24:7: ( 'else do' )
-            // InternalSensinact.g:24:9: 'else do'
-            {
-            match("else do"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__25"
-
-    // $ANTLR start "T__26"
-    public final void mT__26() throws RecognitionException {
-        try {
-            int _type = T__26;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:25:7: ( '.' )
-            // InternalSensinact.g:25:9: '.'
-            {
-            match('.'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__26"
-
-    // $ANTLR start "T__27"
-    public final void mT__27() throws RecognitionException {
-        try {
-            int _type = T__27;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:26:7: ( 'subscribe' )
-            // InternalSensinact.g:26:9: 'subscribe'
-            {
-            match("subscribe"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__27"
-
-    // $ANTLR start "T__28"
-    public final void mT__28() throws RecognitionException {
-        try {
-            int _type = T__28;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:27:7: ( '(' )
-            // InternalSensinact.g:27:9: '('
-            {
-            match('('); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__28"
-
-    // $ANTLR start "T__29"
-    public final void mT__29() throws RecognitionException {
-        try {
-            int _type = T__29;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:28:7: ( ')' )
-            // InternalSensinact.g:28:9: ')'
-            {
-            match(')'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__29"
-
-    // $ANTLR start "T__30"
-    public final void mT__30() throws RecognitionException {
-        try {
-            int _type = T__30;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:29:7: ( 'define' )
-            // InternalSensinact.g:29:9: 'define'
-            {
-            match("define"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__30"
-
-    // $ANTLR start "T__31"
-    public final void mT__31() throws RecognitionException {
-        try {
-            int _type = T__31;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:30:7: ( 'after' )
-            // InternalSensinact.g:30:9: 'after'
-            {
-            match("after"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__31"
-
-    // $ANTLR start "T__32"
-    public final void mT__32() throws RecognitionException {
-        try {
-            int _type = T__32;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:31:7: ( 'before' )
-            // InternalSensinact.g:31:9: 'before'
-            {
-            match("before"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__32"
-
-    // $ANTLR start "T__33"
-    public final void mT__33() throws RecognitionException {
-        try {
-            int _type = T__33;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:32:7: ( 'coincide' )
-            // InternalSensinact.g:32:9: 'coincide'
-            {
-            match("coincide"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__33"
-
-    // $ANTLR start "T__34"
-    public final void mT__34() throws RecognitionException {
-        try {
-            int _type = T__34;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:33:7: ( 'min' )
-            // InternalSensinact.g:33:9: 'min'
-            {
-            match("min"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__34"
-
-    // $ANTLR start "T__35"
-    public final void mT__35() throws RecognitionException {
-        try {
-            int _type = T__35;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:34:7: ( 'max' )
-            // InternalSensinact.g:34:9: 'max'
-            {
-            match("max"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__35"
-
-    // $ANTLR start "T__36"
-    public final void mT__36() throws RecognitionException {
-        try {
-            int _type = T__36;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:35:7: ( 'avg' )
-            // InternalSensinact.g:35:9: 'avg'
-            {
-            match("avg"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__36"
-
-    // $ANTLR start "T__37"
-    public final void mT__37() throws RecognitionException {
-        try {
-            int _type = T__37;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:36:7: ( 'sum' )
-            // InternalSensinact.g:36:9: 'sum'
-            {
-            match("sum"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__37"
-
-    // $ANTLR start "T__38"
-    public final void mT__38() throws RecognitionException {
-        try {
-            int _type = T__38;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:37:7: ( 'count' )
-            // InternalSensinact.g:37:9: 'count'
-            {
-            match("count"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__38"
-
-    // $ANTLR start "T__39"
-    public final void mT__39() throws RecognitionException {
-        try {
-            int _type = T__39;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:38:7: ( 'sec' )
-            // InternalSensinact.g:38:9: 'sec'
-            {
-            match("sec"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__39"
-
-    // $ANTLR start "T__40"
-    public final void mT__40() throws RecognitionException {
-        try {
-            int _type = T__40;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:39:7: ( 'or' )
-            // InternalSensinact.g:39:9: 'or'
-            {
-            match("or"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__40"
-
-    // $ANTLR start "T__41"
-    public final void mT__41() throws RecognitionException {
-        try {
-            int _type = T__41;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:40:7: ( 'and' )
-            // InternalSensinact.g:40:9: 'and'
-            {
-            match("and"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__41"
-
-    // $ANTLR start "T__42"
-    public final void mT__42() throws RecognitionException {
-        try {
-            int _type = T__42;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:41:7: ( '!=' )
-            // InternalSensinact.g:41:9: '!='
-            {
-            match("!="); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__42"
-
-    // $ANTLR start "T__43"
-    public final void mT__43() throws RecognitionException {
-        try {
-            int _type = T__43;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:42:7: ( '==' )
-            // InternalSensinact.g:42:9: '=='
-            {
-            match("=="); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__43"
-
-    // $ANTLR start "T__44"
-    public final void mT__44() throws RecognitionException {
-        try {
-            int _type = T__44;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:43:7: ( '>' )
-            // InternalSensinact.g:43:9: '>'
-            {
-            match('>'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__44"
-
-    // $ANTLR start "T__45"
-    public final void mT__45() throws RecognitionException {
-        try {
-            int _type = T__45;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:44:7: ( '>=' )
-            // InternalSensinact.g:44:9: '>='
-            {
-            match(">="); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__45"
-
-    // $ANTLR start "T__46"
-    public final void mT__46() throws RecognitionException {
-        try {
-            int _type = T__46;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:45:7: ( '<' )
-            // InternalSensinact.g:45:9: '<'
-            {
-            match('<'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__46"
-
-    // $ANTLR start "T__47"
-    public final void mT__47() throws RecognitionException {
-        try {
-            int _type = T__47;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:46:7: ( '<=' )
-            // InternalSensinact.g:46:9: '<='
-            {
-            match("<="); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__47"
-
-    // $ANTLR start "T__48"
-    public final void mT__48() throws RecognitionException {
-        try {
-            int _type = T__48;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:47:7: ( '+' )
-            // InternalSensinact.g:47:9: '+'
-            {
-            match('+'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__48"
-
-    // $ANTLR start "T__49"
-    public final void mT__49() throws RecognitionException {
-        try {
-            int _type = T__49;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:48:7: ( '-' )
-            // InternalSensinact.g:48:9: '-'
-            {
-            match('-'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__49"
-
-    // $ANTLR start "T__50"
-    public final void mT__50() throws RecognitionException {
-        try {
-            int _type = T__50;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:49:7: ( '*' )
-            // InternalSensinact.g:49:9: '*'
-            {
-            match('*'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__50"
-
-    // $ANTLR start "T__51"
-    public final void mT__51() throws RecognitionException {
-        try {
-            int _type = T__51;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:50:7: ( '%' )
-            // InternalSensinact.g:50:9: '%'
-            {
-            match('%'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__51"
-
-    // $ANTLR start "T__52"
-    public final void mT__52() throws RecognitionException {
-        try {
-            int _type = T__52;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:51:7: ( '.get()' )
-            // InternalSensinact.g:51:9: '.get()'
-            {
-            match(".get()"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__52"
-
-    // $ANTLR start "T__53"
-    public final void mT__53() throws RecognitionException {
-        try {
-            int _type = T__53;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:52:7: ( 'not' )
-            // InternalSensinact.g:52:9: 'not'
-            {
-            match("not"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__53"
-
-    // $ANTLR start "RULE_BOOLEAN"
-    public final void mRULE_BOOLEAN() throws RecognitionException {
-        try {
-            int _type = RULE_BOOLEAN;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:7665:14: ( ( 'true' | 'false' ) )
-            // InternalSensinact.g:7665:16: ( 'true' | 'false' )
-            {
-            // InternalSensinact.g:7665:16: ( 'true' | 'false' )
-            int alt1=2;
-            int LA1_0 = input.LA(1);
-
-            if ( (LA1_0=='t') ) {
-                alt1=1;
-            }
-            else if ( (LA1_0=='f') ) {
-                alt1=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 1, 0, input);
-
-                throw nvae;
-            }
-            switch (alt1) {
-                case 1 :
-                    // InternalSensinact.g:7665:17: 'true'
-                    {
-                    match("true"); 
-
-
-                    }
-                    break;
-                case 2 :
-                    // InternalSensinact.g:7665:24: 'false'
-                    {
-                    match("false"); 
-
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_BOOLEAN"
-
-    // $ANTLR start "RULE_INT"
-    public final void mRULE_INT() throws RecognitionException {
-        try {
-            int _type = RULE_INT;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:7667:10: ( ( '0' .. '9' )+ )
-            // InternalSensinact.g:7667:12: ( '0' .. '9' )+
-            {
-            // InternalSensinact.g:7667:12: ( '0' .. '9' )+
-            int cnt2=0;
-            loop2:
-            do {
-                int alt2=2;
-                int LA2_0 = input.LA(1);
-
-                if ( ((LA2_0>='0' && LA2_0<='9')) ) {
-                    alt2=1;
-                }
-
-
-                switch (alt2) {
-            	case 1 :
-            	    // InternalSensinact.g:7667:13: '0' .. '9'
-            	    {
-            	    matchRange('0','9'); 
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt2 >= 1 ) break loop2;
-                        EarlyExitException eee =
-                            new EarlyExitException(2, input);
-                        throw eee;
-                }
-                cnt2++;
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_INT"
-
-    // $ANTLR start "RULE_ID"
-    public final void mRULE_ID() throws RecognitionException {
-        try {
-            int _type = RULE_ID;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:7669:9: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | ':' | '-' )+ )
-            // InternalSensinact.g:7669:11: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | ':' | '-' )+
-            {
-            // InternalSensinact.g:7669:11: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | ':' | '-' )+
-            int cnt3=0;
-            loop3:
-            do {
-                int alt3=2;
-                int LA3_0 = input.LA(1);
-
-                if ( (LA3_0=='-'||(LA3_0>='0' && LA3_0<=':')||(LA3_0>='A' && LA3_0<='Z')||LA3_0=='_'||(LA3_0>='a' && LA3_0<='z')) ) {
-                    alt3=1;
-                }
-
-
-                switch (alt3) {
-            	case 1 :
-            	    // InternalSensinact.g:
-            	    {
-            	    if ( input.LA(1)=='-'||(input.LA(1)>='0' && input.LA(1)<=':')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt3 >= 1 ) break loop3;
-                        EarlyExitException eee =
-                            new EarlyExitException(3, input);
-                        throw eee;
-                }
-                cnt3++;
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_ID"
-
-    // $ANTLR start "RULE_STRING"
-    public final void mRULE_STRING() throws RecognitionException {
-        try {
-            int _type = RULE_STRING;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:7671:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
-            // InternalSensinact.g:7671:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
-            {
-            // InternalSensinact.g:7671:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
-            int alt6=2;
-            int LA6_0 = input.LA(1);
-
-            if ( (LA6_0=='\"') ) {
-                alt6=1;
-            }
-            else if ( (LA6_0=='\'') ) {
-                alt6=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 6, 0, input);
-
-                throw nvae;
-            }
-            switch (alt6) {
-                case 1 :
-                    // InternalSensinact.g:7671:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
-                    {
-                    match('\"'); 
-                    // InternalSensinact.g:7671:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
-                    loop4:
-                    do {
-                        int alt4=3;
-                        int LA4_0 = input.LA(1);
-
-                        if ( (LA4_0=='\\') ) {
-                            alt4=1;
-                        }
-                        else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFF')) ) {
-                            alt4=2;
-                        }
-
-
-                        switch (alt4) {
-                    	case 1 :
-                    	    // InternalSensinact.g:7671:21: '\\\\' .
-                    	    {
-                    	    match('\\'); 
-                    	    matchAny(); 
-
-                    	    }
-                    	    break;
-                    	case 2 :
-                    	    // InternalSensinact.g:7671:28: ~ ( ( '\\\\' | '\"' ) )
-                    	    {
-                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
-                    	        input.consume();
-
-                    	    }
-                    	    else {
-                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
-                    	        recover(mse);
-                    	        throw mse;}
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop4;
-                        }
-                    } while (true);
-
-                    match('\"'); 
-
-                    }
-                    break;
-                case 2 :
-                    // InternalSensinact.g:7671:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
-                    {
-                    match('\''); 
-                    // InternalSensinact.g:7671:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
-                    loop5:
-                    do {
-                        int alt5=3;
-                        int LA5_0 = input.LA(1);
-
-                        if ( (LA5_0=='\\') ) {
-                            alt5=1;
-                        }
-                        else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=']' && LA5_0<='\uFFFF')) ) {
-                            alt5=2;
-                        }
-
-
-                        switch (alt5) {
-                    	case 1 :
-                    	    // InternalSensinact.g:7671:54: '\\\\' .
-                    	    {
-                    	    match('\\'); 
-                    	    matchAny(); 
-
-                    	    }
-                    	    break;
-                    	case 2 :
-                    	    // InternalSensinact.g:7671:61: ~ ( ( '\\\\' | '\\'' ) )
-                    	    {
-                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
-                    	        input.consume();
-
-                    	    }
-                    	    else {
-                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
-                    	        recover(mse);
-                    	        throw mse;}
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop5;
-                        }
-                    } while (true);
-
-                    match('\''); 
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_STRING"
-
-    // $ANTLR start "RULE_ML_COMMENT"
-    public final void mRULE_ML_COMMENT() throws RecognitionException {
-        try {
-            int _type = RULE_ML_COMMENT;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:7673:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // InternalSensinact.g:7673:19: '/*' ( options {greedy=false; } : . )* '*/'
-            {
-            match("/*"); 
-
-            // InternalSensinact.g:7673:24: ( options {greedy=false; } : . )*
-            loop7:
-            do {
-                int alt7=2;
-                int LA7_0 = input.LA(1);
-
-                if ( (LA7_0=='*') ) {
-                    int LA7_1 = input.LA(2);
-
-                    if ( (LA7_1=='/') ) {
-                        alt7=2;
-                    }
-                    else if ( ((LA7_1>='\u0000' && LA7_1<='.')||(LA7_1>='0' && LA7_1<='\uFFFF')) ) {
-                        alt7=1;
-                    }
-
-
-                }
-                else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFF')) ) {
-                    alt7=1;
-                }
-
-
-                switch (alt7) {
-            	case 1 :
-            	    // InternalSensinact.g:7673:52: .
-            	    {
-            	    matchAny(); 
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop7;
-                }
-            } while (true);
-
-            match("*/"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_ML_COMMENT"
-
-    // $ANTLR start "RULE_SL_COMMENT"
-    public final void mRULE_SL_COMMENT() throws RecognitionException {
-        try {
-            int _type = RULE_SL_COMMENT;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:7675:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // InternalSensinact.g:7675:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
-            {
-            match("//"); 
-
-            // InternalSensinact.g:7675:24: (~ ( ( '\\n' | '\\r' ) ) )*
-            loop8:
-            do {
-                int alt8=2;
-                int LA8_0 = input.LA(1);
-
-                if ( ((LA8_0>='\u0000' && LA8_0<='\t')||(LA8_0>='\u000B' && LA8_0<='\f')||(LA8_0>='\u000E' && LA8_0<='\uFFFF')) ) {
-                    alt8=1;
-                }
-
-
-                switch (alt8) {
-            	case 1 :
-            	    // InternalSensinact.g:7675:24: ~ ( ( '\\n' | '\\r' ) )
-            	    {
-            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop8;
-                }
-            } while (true);
-
-            // InternalSensinact.g:7675:40: ( ( '\\r' )? '\\n' )?
-            int alt10=2;
-            int LA10_0 = input.LA(1);
-
-            if ( (LA10_0=='\n'||LA10_0=='\r') ) {
-                alt10=1;
-            }
-            switch (alt10) {
-                case 1 :
-                    // InternalSensinact.g:7675:41: ( '\\r' )? '\\n'
-                    {
-                    // InternalSensinact.g:7675:41: ( '\\r' )?
-                    int alt9=2;
-                    int LA9_0 = input.LA(1);
-
-                    if ( (LA9_0=='\r') ) {
-                        alt9=1;
-                    }
-                    switch (alt9) {
-                        case 1 :
-                            // InternalSensinact.g:7675:41: '\\r'
-                            {
-                            match('\r'); 
-
-                            }
-                            break;
-
-                    }
-
-                    match('\n'); 
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_SL_COMMENT"
-
-    // $ANTLR start "RULE_WS"
-    public final void mRULE_WS() throws RecognitionException {
-        try {
-            int _type = RULE_WS;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:7677:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // InternalSensinact.g:7677:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
-            {
-            // InternalSensinact.g:7677:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
-            int cnt11=0;
-            loop11:
-            do {
-                int alt11=2;
-                int LA11_0 = input.LA(1);
-
-                if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {
-                    alt11=1;
-                }
-
-
-                switch (alt11) {
-            	case 1 :
-            	    // InternalSensinact.g:
-            	    {
-            	    if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt11 >= 1 ) break loop11;
-                        EarlyExitException eee =
-                            new EarlyExitException(11, input);
-                        throw eee;
-                }
-                cnt11++;
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_WS"
-
-    // $ANTLR start "RULE_ANY_OTHER"
-    public final void mRULE_ANY_OTHER() throws RecognitionException {
-        try {
-            int _type = RULE_ANY_OTHER;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:7679:16: ( . )
-            // InternalSensinact.g:7679:18: .
-            {
-            matchAny(); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_ANY_OTHER"
-
-    public void mTokens() throws RecognitionException {
-        // InternalSensinact.g:1:8: ( T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | RULE_BOOLEAN | RULE_INT | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
-        int alt12=50;
-        alt12 = dfa12.predict(input);
-        switch (alt12) {
-            case 1 :
-                // InternalSensinact.g:1:10: T__12
-                {
-                mT__12(); 
-
-                }
-                break;
-            case 2 :
-                // InternalSensinact.g:1:16: T__13
-                {
-                mT__13(); 
-
-                }
-                break;
-            case 3 :
-                // InternalSensinact.g:1:22: T__14
-                {
-                mT__14(); 
-
-                }
-                break;
-            case 4 :
-                // InternalSensinact.g:1:28: T__15
-                {
-                mT__15(); 
-
-                }
-                break;
-            case 5 :
-                // InternalSensinact.g:1:34: T__16
-                {
-                mT__16(); 
-
-                }
-                break;
-            case 6 :
-                // InternalSensinact.g:1:40: T__17
-                {
-                mT__17(); 
-
-                }
-                break;
-            case 7 :
-                // InternalSensinact.g:1:46: T__18
-                {
-                mT__18(); 
-
-                }
-                break;
-            case 8 :
-                // InternalSensinact.g:1:52: T__19
-                {
-                mT__19(); 
-
-                }
-                break;
-            case 9 :
-                // InternalSensinact.g:1:58: T__20
-                {
-                mT__20(); 
-
-                }
-                break;
-            case 10 :
-                // InternalSensinact.g:1:64: T__21
-                {
-                mT__21(); 
-
-                }
-                break;
-            case 11 :
-                // InternalSensinact.g:1:70: T__22
-                {
-                mT__22(); 
-
-                }
-                break;
-            case 12 :
-                // InternalSensinact.g:1:76: T__23
-                {
-                mT__23(); 
-
-                }
-                break;
-            case 13 :
-                // InternalSensinact.g:1:82: T__24
-                {
-                mT__24(); 
-
-                }
-                break;
-            case 14 :
-                // InternalSensinact.g:1:88: T__25
-                {
-                mT__25(); 
-
-                }
-                break;
-            case 15 :
-                // InternalSensinact.g:1:94: T__26
-                {
-                mT__26(); 
-
-                }
-                break;
-            case 16 :
-                // InternalSensinact.g:1:100: T__27
-                {
-                mT__27(); 
-
-                }
-                break;
-            case 17 :
-                // InternalSensinact.g:1:106: T__28
-                {
-                mT__28(); 
-
-                }
-                break;
-            case 18 :
-                // InternalSensinact.g:1:112: T__29
-                {
-                mT__29(); 
-
-                }
-                break;
-            case 19 :
-                // InternalSensinact.g:1:118: T__30
-                {
-                mT__30(); 
-
-                }
-                break;
-            case 20 :
-                // InternalSensinact.g:1:124: T__31
-                {
-                mT__31(); 
-
-                }
-                break;
-            case 21 :
-                // InternalSensinact.g:1:130: T__32
-                {
-                mT__32(); 
-
-                }
-                break;
-            case 22 :
-                // InternalSensinact.g:1:136: T__33
-                {
-                mT__33(); 
-
-                }
-                break;
-            case 23 :
-                // InternalSensinact.g:1:142: T__34
-                {
-                mT__34(); 
-
-                }
-                break;
-            case 24 :
-                // InternalSensinact.g:1:148: T__35
-                {
-                mT__35(); 
-
-                }
-                break;
-            case 25 :
-                // InternalSensinact.g:1:154: T__36
-                {
-                mT__36(); 
-
-                }
-                break;
-            case 26 :
-                // InternalSensinact.g:1:160: T__37
-                {
-                mT__37(); 
-
-                }
-                break;
-            case 27 :
-                // InternalSensinact.g:1:166: T__38
-                {
-                mT__38(); 
-
-                }
-                break;
-            case 28 :
-                // InternalSensinact.g:1:172: T__39
-                {
-                mT__39(); 
-
-                }
-                break;
-            case 29 :
-                // InternalSensinact.g:1:178: T__40
-                {
-                mT__40(); 
-
-                }
-                break;
-            case 30 :
-                // InternalSensinact.g:1:184: T__41
-                {
-                mT__41(); 
-
-                }
-                break;
-            case 31 :
-                // InternalSensinact.g:1:190: T__42
-                {
-                mT__42(); 
-
-                }
-                break;
-            case 32 :
-                // InternalSensinact.g:1:196: T__43
-                {
-                mT__43(); 
-
-                }
-                break;
-            case 33 :
-                // InternalSensinact.g:1:202: T__44
-                {
-                mT__44(); 
-
-                }
-                break;
-            case 34 :
-                // InternalSensinact.g:1:208: T__45
-                {
-                mT__45(); 
-
-                }
-                break;
-            case 35 :
-                // InternalSensinact.g:1:214: T__46
-                {
-                mT__46(); 
-
-                }
-                break;
-            case 36 :
-                // InternalSensinact.g:1:220: T__47
-                {
-                mT__47(); 
-
-                }
-                break;
-            case 37 :
-                // InternalSensinact.g:1:226: T__48
-                {
-                mT__48(); 
-
-                }
-                break;
-            case 38 :
-                // InternalSensinact.g:1:232: T__49
-                {
-                mT__49(); 
-
-                }
-                break;
-            case 39 :
-                // InternalSensinact.g:1:238: T__50
-                {
-                mT__50(); 
-
-                }
-                break;
-            case 40 :
-                // InternalSensinact.g:1:244: T__51
-                {
-                mT__51(); 
-
-                }
-                break;
-            case 41 :
-                // InternalSensinact.g:1:250: T__52
-                {
-                mT__52(); 
-
-                }
-                break;
-            case 42 :
-                // InternalSensinact.g:1:256: T__53
-                {
-                mT__53(); 
-
-                }
-                break;
-            case 43 :
-                // InternalSensinact.g:1:262: RULE_BOOLEAN
-                {
-                mRULE_BOOLEAN(); 
-
-                }
-                break;
-            case 44 :
-                // InternalSensinact.g:1:275: RULE_INT
-                {
-                mRULE_INT(); 
-
-                }
-                break;
-            case 45 :
-                // InternalSensinact.g:1:284: RULE_ID
-                {
-                mRULE_ID(); 
-
-                }
-                break;
-            case 46 :
-                // InternalSensinact.g:1:292: RULE_STRING
-                {
-                mRULE_STRING(); 
-
-                }
-                break;
-            case 47 :
-                // InternalSensinact.g:1:304: RULE_ML_COMMENT
-                {
-                mRULE_ML_COMMENT(); 
-
-                }
-                break;
-            case 48 :
-                // InternalSensinact.g:1:320: RULE_SL_COMMENT
-                {
-                mRULE_SL_COMMENT(); 
-
-                }
-                break;
-            case 49 :
-                // InternalSensinact.g:1:336: RULE_WS
-                {
-                mRULE_WS(); 
-
-                }
-                break;
-            case 50 :
-                // InternalSensinact.g:1:344: RULE_ANY_OTHER
-                {
-                mRULE_ANY_OTHER(); 
-
-                }
-                break;
-
-        }
-
-    }
-
-
-    protected DFA12 dfa12 = new DFA12(this);
-    static final String DFA12_eotS =
-        "\1\uffff\3\47\1\54\1\uffff\1\60\1\uffff\1\47\1\uffff\3\47\1\73\2\uffff\3\47\1\42\1\104\1\106\1\uffff\1\110\2\uffff\3\47\1\116\1\uffff\2\42\2\uffff\4\47\1\uffff\3\47\7\uffff\1\133\1\134\1\uffff\2\47\1\137\1\140\1\47\4\uffff\4\47\11\uffff\3\47\1\uffff\1\116\2\uffff\1\152\1\47\1\154\1\155\1\156\1\157\1\47\1\161\1\47\2\uffff\2\47\2\uffff\4\47\1\171\1\172\1\173\2\47\1\uffff\1\47\4\uffff\1\47\1\uffff\1\47\1\uffff\5\47\3\uffff\1\u0086\1\47\1\u0088\2\47\1\uffff\3\47\1\u0090\1\uffff\1\u0086\1\uffff\2\47\2\uffff\1\u0093\1\u0094\1\47\1\uffff\2\47\2\uffff\2\47\1\u009a\1\u009b\1\u009c\3\uffff";
-    static final String DFA12_eofS =
-        "\u009d\uffff";
-    static final String DFA12_minS =
-        "\1\0\1\143\2\145\1\75\1\uffff\1\52\1\uffff\1\156\1\uffff\1\154\1\146\1\145\1\147\2\uffff\1\145\1\157\1\141\3\75\1\uffff\1\55\2\uffff\1\157\1\162\1\141\1\55\1\uffff\2\0\2\uffff\2\164\1\147\1\144\1\uffff\1\143\1\142\1\163\7\uffff\2\55\1\uffff\1\144\1\163\2\55\1\146\4\uffff\1\146\1\151\1\156\1\170\11\uffff\1\164\1\165\1\154\1\uffff\1\55\2\uffff\1\55\1\145\4\55\1\163\1\55\1\157\2\uffff\1\40\1\145\2\uffff\1\151\1\157\2\156\3\55\1\145\1\163\1\uffff\1\162\4\uffff\1\143\1\uffff\1\165\1\uffff\1\40\1\156\1\162\1\143\1\164\3\uffff\1\55\1\145\1\55\2\162\1\144\2\145\1\151\1\55\1\uffff\1\55\1\uffff\1\151\1\143\2\uffff\2\55\1\144\1\uffff\1\142\1\145\2\uffff\2\145\3\55\3\uffff";
-    static final String DFA12_maxS =
-        "\1\uffff\1\166\1\165\1\145\1\75\1\uffff\1\57\1\uffff\1\162\1\uffff\1\156\1\146\1\157\1\147\2\uffff\1\145\1\157\1\151\3\75\1\uffff\1\172\2\uffff\1\157\1\162\1\141\1\172\1\uffff\2\uffff\2\uffff\2\164\1\147\1\144\1\uffff\1\164\1\155\1\163\7\uffff\2\172\1\uffff\1\144\1\163\2\172\1\146\4\uffff\1\146\1\165\1\156\1\170\11\uffff\1\164\1\165\1\154\1\uffff\1\172\2\uffff\1\172\1\145\4\172\1\163\1\172\1\157\2\uffff\1\40\1\145\2\uffff\1\151\1\157\2\156\3\172\1\145\1\163\1\uffff\1\162\4\uffff\1\143\1\uffff\1\165\1\uffff\1\40\1\156\1\162\1\143\1\164\3\uffff\1\172\1\145\1\172\2\162\1\151\2\145\1\151\1\172\1\uffff\1\172\1\uffff\1\151\1\143\2\uffff\2\172\1\144\1\uffff\1\142\1\145\2\uffff\2\145\3\172\3\uffff";
-    static final String DFA12_acceptS =
-        "\5\uffff\1\5\1\uffff\1\7\1\uffff\1\11\4\uffff\1\21\1\22\6\uffff\1\45\1\uffff\1\47\1\50\4\uffff\1\55\2\uffff\1\61\1\62\4\uffff\1\55\3\uffff\1\40\1\4\1\5\1\57\1\60\1\6\1\7\2\uffff\1\11\5\uffff\1\51\1\17\1\21\1\22\4\uffff\1\37\1\42\1\41\1\44\1\43\1\45\1\46\1\47\1\50\3\uffff\1\54\1\uffff\1\56\1\61\11\uffff\1\10\1\35\2\uffff\1\13\1\14\11\uffff\1\1\1\uffff\1\31\1\36\1\2\1\34\1\uffff\1\32\1\uffff\1\12\5\uffff\1\27\1\30\1\52\12\uffff\1\53\1\uffff\1\24\2\uffff\1\15\1\16\3\uffff\1\33\2\uffff\1\23\1\25\5\uffff\1\3\1\26\1\20";
-    static final String DFA12_specialS =
-        "\1\0\36\uffff\1\1\1\2\174\uffff}>";
-    static final String[] DFA12_transitionS = {
-            "\11\42\2\41\2\42\1\41\22\42\1\41\1\23\1\37\2\42\1\31\1\42\1\40\1\16\1\17\1\30\1\26\1\11\1\27\1\15\1\6\12\35\1\36\1\42\1\25\1\4\1\24\2\42\32\36\1\5\1\42\1\7\1\42\1\36\1\42\1\1\1\20\1\21\1\14\1\12\1\34\2\36\1\13\3\36\1\22\1\32\1\10\2\36\1\3\1\2\1\33\6\36\uff85\42",
-            "\1\43\2\uffff\1\44\7\uffff\1\46\7\uffff\1\45",
-            "\1\50\17\uffff\1\51",
-            "\1\52",
-            "\1\53",
-            "",
-            "\1\56\4\uffff\1\57",
-            "",
-            "\1\62\3\uffff\1\63",
-            "",
-            "\1\66\1\uffff\1\65",
-            "\1\67",
-            "\1\71\11\uffff\1\70",
-            "\1\72",
-            "",
-            "",
-            "\1\76",
-            "\1\77",
-            "\1\101\7\uffff\1\100",
-            "\1\102",
-            "\1\103",
-            "\1\105",
-            "",
-            "\1\47\2\uffff\13\47\6\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
-            "",
-            "",
-            "\1\113",
-            "\1\114",
-            "\1\115",
-            "\1\47\2\uffff\12\117\1\47\6\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
-            "",
-            "\0\120",
-            "\0\120",
-            "",
-            "",
-            "\1\122",
-            "\1\123",
-            "\1\124",
-            "\1\125",
-            "",
-            "\1\127\20\uffff\1\126",
-            "\1\130\12\uffff\1\131",
-            "\1\132",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "\1\47\2\uffff\13\47\6\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
-            "\1\47\2\uffff\13\47\6\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
-            "",
-            "\1\135",
-            "\1\136",
-            "\1\47\2\uffff\13\47\6\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
-            "\1\47\2\uffff\13\47\6\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
-            "\1\141",
-            "",
-            "",
-            "",
-            "",
-            "\1\142",
-            "\1\143\13\uffff\1\144",
-            "\1\145",
-            "\1\146",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "\1\147",
-            "\1\150",
-            "\1\151",
-            "",
-            "\1\47\2\uffff\12\117\1\47\6\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
-            "",
-            "",
-            "\1\47\2\uffff\13\47\6\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
-            "\1\153",
-            "\1\47\2\uffff\13\47\6\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
-            "\1\47\2\uffff\13\47\6\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
-            "\1\47\2\uffff\13\47\6\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
-            "\1\47\2\uffff\13\47\6\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
-            "\1\160",
-            "\1\47\2\uffff\13\47\6\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
-            "\1\162",
-            "",
-            "",
-            "\1\163",
-            "\1\164",
-            "",
-            "",
-            "\1\165",
-            "\1\166",
-            "\1\167",
-            "\1\170",
-            "\1\47\2\uffff\13\47\6\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
-            "\1\47\2\uffff\13\47\6\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
-            "\1\47\2\uffff\13\47\6\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
-            "\1\174",
-            "\1\175",
-            "",
-            "\1\176",
-            "",
-            "",
-            "",
-            "",
-            "\1\177",
-            "",
-            "\1\u0080",
-            "",
-            "\1\u0081",
-            "\1\u0082",
-            "\1\u0083",
-            "\1\u0084",
-            "\1\u0085",
-            "",
-            "",
-            "",
-            "\1\47\2\uffff\13\47\6\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
-            "\1\u0087",
-            "\1\47\2\uffff\13\47\6\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
-            "\1\u0089",
-            "\1\u008a",
-            "\1\u008c\4\uffff\1\u008b",
-            "\1\u008d",
-            "\1\u008e",
-            "\1\u008f",
-            "\1\47\2\uffff\13\47\6\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
-            "",
-            "\1\47\2\uffff\13\47\6\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
-            "",
-            "\1\u0091",
-            "\1\u0092",
-            "",
-            "",
-            "\1\47\2\uffff\13\47\6\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
-            "\1\47\2\uffff\13\47\6\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
-            "\1\u0095",
-            "",
-            "\1\u0096",
-            "\1\u0097",
-            "",
-            "",
-            "\1\u0098",
-            "\1\u0099",
-            "\1\47\2\uffff\13\47\6\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
-            "\1\47\2\uffff\13\47\6\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
-            "\1\47\2\uffff\13\47\6\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA12_eot = DFA.unpackEncodedString(DFA12_eotS);
-    static final short[] DFA12_eof = DFA.unpackEncodedString(DFA12_eofS);
-    static final char[] DFA12_min = DFA.unpackEncodedStringToUnsignedChars(DFA12_minS);
-    static final char[] DFA12_max = DFA.unpackEncodedStringToUnsignedChars(DFA12_maxS);
-    static final short[] DFA12_accept = DFA.unpackEncodedString(DFA12_acceptS);
-    static final short[] DFA12_special = DFA.unpackEncodedString(DFA12_specialS);
-    static final short[][] DFA12_transition;
-
-    static {
-        int numStates = DFA12_transitionS.length;
-        DFA12_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA12_transition[i] = DFA.unpackEncodedString(DFA12_transitionS[i]);
-        }
-    }
-
-    class DFA12 extends DFA {
-
-        public DFA12(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 12;
-            this.eot = DFA12_eot;
-            this.eof = DFA12_eof;
-            this.min = DFA12_min;
-            this.max = DFA12_max;
-            this.accept = DFA12_accept;
-            this.special = DFA12_special;
-            this.transition = DFA12_transition;
-        }
-        public String getDescription() {
-            return "1:1: Tokens : ( T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | RULE_BOOLEAN | RULE_INT | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            IntStream input = _input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA12_0 = input.LA(1);
-
-                        s = -1;
-                        if ( (LA12_0=='a') ) {s = 1;}
-
-                        else if ( (LA12_0=='s') ) {s = 2;}
-
-                        else if ( (LA12_0=='r') ) {s = 3;}
-
-                        else if ( (LA12_0=='=') ) {s = 4;}
-
-                        else if ( (LA12_0=='[') ) {s = 5;}
-
-                        else if ( (LA12_0=='/') ) {s = 6;}
-
-                        else if ( (LA12_0==']') ) {s = 7;}
-
-                        else if ( (LA12_0=='o') ) {s = 8;}
-
-                        else if ( (LA12_0==',') ) {s = 9;}
-
-                        else if ( (LA12_0=='e') ) {s = 10;}
-
-                        else if ( (LA12_0=='i') ) {s = 11;}
-
-                        else if ( (LA12_0=='d') ) {s = 12;}
-
-                        else if ( (LA12_0=='.') ) {s = 13;}
-
-                        else if ( (LA12_0=='(') ) {s = 14;}
-
-                        else if ( (LA12_0==')') ) {s = 15;}
-
-                        else if ( (LA12_0=='b') ) {s = 16;}
-
-                        else if ( (LA12_0=='c') ) {s = 17;}
-
-                        else if ( (LA12_0=='m') ) {s = 18;}
-
-                        else if ( (LA12_0=='!') ) {s = 19;}
-
-                        else if ( (LA12_0=='>') ) {s = 20;}
-
-                        else if ( (LA12_0=='<') ) {s = 21;}
-
-                        else if ( (LA12_0=='+') ) {s = 22;}
-
-                        else if ( (LA12_0=='-') ) {s = 23;}
-
-                        else if ( (LA12_0=='*') ) {s = 24;}
-
-                        else if ( (LA12_0=='%') ) {s = 25;}
-
-                        else if ( (LA12_0=='n') ) {s = 26;}
-
-                        else if ( (LA12_0=='t') ) {s = 27;}
-
-                        else if ( (LA12_0=='f') ) {s = 28;}
-
-                        else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 29;}
-
-                        else if ( (LA12_0==':'||(LA12_0>='A' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='g' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='l')||(LA12_0>='p' && LA12_0<='q')||(LA12_0>='u' && LA12_0<='z')) ) {s = 30;}
-
-                        else if ( (LA12_0=='\"') ) {s = 31;}
-
-                        else if ( (LA12_0=='\'') ) {s = 32;}
-
-                        else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 33;}
-
-                        else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||(LA12_0>='#' && LA12_0<='$')||LA12_0=='&'||LA12_0==';'||(LA12_0>='?' && LA12_0<='@')||LA12_0=='\\'||LA12_0=='^'||LA12_0=='`'||(LA12_0>='{' && LA12_0<='\uFFFF')) ) {s = 34;}
-
-                        if ( s>=0 ) return s;
-                        break;
-                    case 1 : 
-                        int LA12_31 = input.LA(1);
-
-                        s = -1;
-                        if ( ((LA12_31>='\u0000' && LA12_31<='\uFFFF')) ) {s = 80;}
-
-                        else s = 34;
-
-                        if ( s>=0 ) return s;
-                        break;
-                    case 2 : 
-                        int LA12_32 = input.LA(1);
-
-                        s = -1;
-                        if ( ((LA12_32>='\u0000' && LA12_32<='\uFFFF')) ) {s = 80;}
-
-                        else s = 34;
-
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 12, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
- 
-
-}
\ No newline at end of file
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.ide/src-gen/org/eclipse/sensinact/studio/language/ide/contentassist/antlr/internal/InternalSensinactParser.java b/xtext/org.eclipse.sensinact.studio.language.sensinact.ide/src-gen/org/eclipse/sensinact/studio/language/ide/contentassist/antlr/internal/InternalSensinactParser.java
deleted file mode 100644
index cda8e2b..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.ide/src-gen/org/eclipse/sensinact/studio/language/ide/contentassist/antlr/internal/InternalSensinactParser.java
+++ /dev/null
@@ -1,22938 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-package org.eclipse.sensinact.studio.language.ide.contentassist.antlr.internal;
-
-import java.io.InputStream;
-import org.eclipse.xtext.*;
-import org.eclipse.xtext.parser.*;
-import org.eclipse.xtext.parser.impl.*;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
-import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
-import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.DFA;
-import org.eclipse.sensinact.studio.language.services.SensinactGrammarAccess;
-
-
-
-import org.antlr.runtime.*;
-import java.util.Stack;
-import java.util.List;
-import java.util.ArrayList;
-
-@SuppressWarnings("all")
-public class InternalSensinactParser extends AbstractInternalContentAssistParser {
-    public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_INT", "RULE_ID", "RULE_STRING", "RULE_BOOLEAN", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'act'", "'set'", "'resource'", "'='", "'['", "'/'", "']'", "'on'", "','", "'end if'", "'if'", "'do'", "'else if'", "'else do'", "'.'", "'subscribe'", "'('", "')'", "'define'", "'after'", "'before'", "'coincide'", "'min'", "'max'", "'avg'", "'sum'", "'count'", "'sec'", "'or'", "'and'", "'!='", "'=='", "'>'", "'>='", "'<'", "'<='", "'+'", "'-'", "'*'", "'%'", "'.get()'", "'not'"
-    };
-    public static final int T__50=50;
-    public static final int RULE_BOOLEAN=7;
-    public static final int T__19=19;
-    public static final int T__15=15;
-    public static final int T__16=16;
-    public static final int T__17=17;
-    public static final int T__18=18;
-    public static final int T__12=12;
-    public static final int T__13=13;
-    public static final int T__14=14;
-    public static final int T__51=51;
-    public static final int T__52=52;
-    public static final int T__53=53;
-    public static final int RULE_ID=5;
-    public static final int T__26=26;
-    public static final int T__27=27;
-    public static final int T__28=28;
-    public static final int RULE_INT=4;
-    public static final int T__29=29;
-    public static final int T__22=22;
-    public static final int RULE_ML_COMMENT=8;
-    public static final int T__23=23;
-    public static final int T__24=24;
-    public static final int T__25=25;
-    public static final int T__20=20;
-    public static final int T__21=21;
-    public static final int RULE_STRING=6;
-    public static final int RULE_SL_COMMENT=9;
-    public static final int T__37=37;
-    public static final int T__38=38;
-    public static final int T__39=39;
-    public static final int T__33=33;
-    public static final int T__34=34;
-    public static final int T__35=35;
-    public static final int T__36=36;
-    public static final int EOF=-1;
-    public static final int T__30=30;
-    public static final int T__31=31;
-    public static final int T__32=32;
-    public static final int RULE_WS=10;
-    public static final int RULE_ANY_OTHER=11;
-    public static final int T__48=48;
-    public static final int T__49=49;
-    public static final int T__44=44;
-    public static final int T__45=45;
-    public static final int T__46=46;
-    public static final int T__47=47;
-    public static final int T__40=40;
-    public static final int T__41=41;
-    public static final int T__42=42;
-    public static final int T__43=43;
-
-    // delegates
-    // delegators
-
-
-        public InternalSensinactParser(TokenStream input) {
-            this(input, new RecognizerSharedState());
-        }
-        public InternalSensinactParser(TokenStream input, RecognizerSharedState state) {
-            super(input, state);
-             
-        }
-        
-
-    public String[] getTokenNames() { return InternalSensinactParser.tokenNames; }
-    public String getGrammarFileName() { return "InternalSensinact.g"; }
-
-
-    	private SensinactGrammarAccess grammarAccess;
-
-    	public void setGrammarAccess(SensinactGrammarAccess grammarAccess) {
-    		this.grammarAccess = grammarAccess;
-    	}
-
-    	@Override
-    	protected Grammar getGrammar() {
-    		return grammarAccess.getGrammar();
-    	}
-
-    	@Override
-    	protected String getValueForTokenName(String tokenName) {
-    		return tokenName;
-    	}
-
-
-
-    // $ANTLR start "entryRuleSensinact"
-    // InternalSensinact.g:53:1: entryRuleSensinact : ruleSensinact EOF ;
-    public final void entryRuleSensinact() throws RecognitionException {
-        try {
-            // InternalSensinact.g:54:1: ( ruleSensinact EOF )
-            // InternalSensinact.g:55:1: ruleSensinact EOF
-            {
-             before(grammarAccess.getSensinactRule()); 
-            pushFollow(FOLLOW_1);
-            ruleSensinact();
-
-            state._fsp--;
-
-             after(grammarAccess.getSensinactRule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleSensinact"
-
-
-    // $ANTLR start "ruleSensinact"
-    // InternalSensinact.g:62:1: ruleSensinact : ( ( rule__Sensinact__Group__0 ) ) ;
-    public final void ruleSensinact() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:66:2: ( ( ( rule__Sensinact__Group__0 ) ) )
-            // InternalSensinact.g:67:2: ( ( rule__Sensinact__Group__0 ) )
-            {
-            // InternalSensinact.g:67:2: ( ( rule__Sensinact__Group__0 ) )
-            // InternalSensinact.g:68:3: ( rule__Sensinact__Group__0 )
-            {
-             before(grammarAccess.getSensinactAccess().getGroup()); 
-            // InternalSensinact.g:69:3: ( rule__Sensinact__Group__0 )
-            // InternalSensinact.g:69:4: rule__Sensinact__Group__0
-            {
-            pushFollow(FOLLOW_2);
-            rule__Sensinact__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getSensinactAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleSensinact"
-
-
-    // $ANTLR start "entryRuleDSL_SENSINACT"
-    // InternalSensinact.g:78:1: entryRuleDSL_SENSINACT : ruleDSL_SENSINACT EOF ;
-    public final void entryRuleDSL_SENSINACT() throws RecognitionException {
-        try {
-            // InternalSensinact.g:79:1: ( ruleDSL_SENSINACT EOF )
-            // InternalSensinact.g:80:1: ruleDSL_SENSINACT EOF
-            {
-             before(grammarAccess.getDSL_SENSINACTRule()); 
-            pushFollow(FOLLOW_1);
-            ruleDSL_SENSINACT();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_SENSINACTRule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDSL_SENSINACT"
-
-
-    // $ANTLR start "ruleDSL_SENSINACT"
-    // InternalSensinact.g:87:1: ruleDSL_SENSINACT : ( ( rule__DSL_SENSINACT__Group__0 ) ) ;
-    public final void ruleDSL_SENSINACT() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:91:2: ( ( ( rule__DSL_SENSINACT__Group__0 ) ) )
-            // InternalSensinact.g:92:2: ( ( rule__DSL_SENSINACT__Group__0 ) )
-            {
-            // InternalSensinact.g:92:2: ( ( rule__DSL_SENSINACT__Group__0 ) )
-            // InternalSensinact.g:93:3: ( rule__DSL_SENSINACT__Group__0 )
-            {
-             before(grammarAccess.getDSL_SENSINACTAccess().getGroup()); 
-            // InternalSensinact.g:94:3: ( rule__DSL_SENSINACT__Group__0 )
-            // InternalSensinact.g:94:4: rule__DSL_SENSINACT__Group__0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_SENSINACT__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_SENSINACTAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDSL_SENSINACT"
-
-
-    // $ANTLR start "entryRuleDSL_Resource"
-    // InternalSensinact.g:103:1: entryRuleDSL_Resource : ruleDSL_Resource EOF ;
-    public final void entryRuleDSL_Resource() throws RecognitionException {
-        try {
-            // InternalSensinact.g:104:1: ( ruleDSL_Resource EOF )
-            // InternalSensinact.g:105:1: ruleDSL_Resource EOF
-            {
-             before(grammarAccess.getDSL_ResourceRule()); 
-            pushFollow(FOLLOW_1);
-            ruleDSL_Resource();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_ResourceRule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDSL_Resource"
-
-
-    // $ANTLR start "ruleDSL_Resource"
-    // InternalSensinact.g:112:1: ruleDSL_Resource : ( ( rule__DSL_Resource__Group__0 ) ) ;
-    public final void ruleDSL_Resource() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:116:2: ( ( ( rule__DSL_Resource__Group__0 ) ) )
-            // InternalSensinact.g:117:2: ( ( rule__DSL_Resource__Group__0 ) )
-            {
-            // InternalSensinact.g:117:2: ( ( rule__DSL_Resource__Group__0 ) )
-            // InternalSensinact.g:118:3: ( rule__DSL_Resource__Group__0 )
-            {
-             before(grammarAccess.getDSL_ResourceAccess().getGroup()); 
-            // InternalSensinact.g:119:3: ( rule__DSL_Resource__Group__0 )
-            // InternalSensinact.g:119:4: rule__DSL_Resource__Group__0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Resource__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_ResourceAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDSL_Resource"
-
-
-    // $ANTLR start "entryRuleDSL_On"
-    // InternalSensinact.g:128:1: entryRuleDSL_On : ruleDSL_On EOF ;
-    public final void entryRuleDSL_On() throws RecognitionException {
-        try {
-            // InternalSensinact.g:129:1: ( ruleDSL_On EOF )
-            // InternalSensinact.g:130:1: ruleDSL_On EOF
-            {
-             before(grammarAccess.getDSL_OnRule()); 
-            pushFollow(FOLLOW_1);
-            ruleDSL_On();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_OnRule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDSL_On"
-
-
-    // $ANTLR start "ruleDSL_On"
-    // InternalSensinact.g:137:1: ruleDSL_On : ( ( rule__DSL_On__Group__0 ) ) ;
-    public final void ruleDSL_On() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:141:2: ( ( ( rule__DSL_On__Group__0 ) ) )
-            // InternalSensinact.g:142:2: ( ( rule__DSL_On__Group__0 ) )
-            {
-            // InternalSensinact.g:142:2: ( ( rule__DSL_On__Group__0 ) )
-            // InternalSensinact.g:143:3: ( rule__DSL_On__Group__0 )
-            {
-             before(grammarAccess.getDSL_OnAccess().getGroup()); 
-            // InternalSensinact.g:144:3: ( rule__DSL_On__Group__0 )
-            // InternalSensinact.g:144:4: rule__DSL_On__Group__0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_On__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_OnAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDSL_On"
-
-
-    // $ANTLR start "entryRuleDSL_ECA_STATEMENT"
-    // InternalSensinact.g:153:1: entryRuleDSL_ECA_STATEMENT : ruleDSL_ECA_STATEMENT EOF ;
-    public final void entryRuleDSL_ECA_STATEMENT() throws RecognitionException {
-        try {
-            // InternalSensinact.g:154:1: ( ruleDSL_ECA_STATEMENT EOF )
-            // InternalSensinact.g:155:1: ruleDSL_ECA_STATEMENT EOF
-            {
-             before(grammarAccess.getDSL_ECA_STATEMENTRule()); 
-            pushFollow(FOLLOW_1);
-            ruleDSL_ECA_STATEMENT();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_ECA_STATEMENTRule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDSL_ECA_STATEMENT"
-
-
-    // $ANTLR start "ruleDSL_ECA_STATEMENT"
-    // InternalSensinact.g:162:1: ruleDSL_ECA_STATEMENT : ( ( rule__DSL_ECA_STATEMENT__Group__0 ) ) ;
-    public final void ruleDSL_ECA_STATEMENT() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:166:2: ( ( ( rule__DSL_ECA_STATEMENT__Group__0 ) ) )
-            // InternalSensinact.g:167:2: ( ( rule__DSL_ECA_STATEMENT__Group__0 ) )
-            {
-            // InternalSensinact.g:167:2: ( ( rule__DSL_ECA_STATEMENT__Group__0 ) )
-            // InternalSensinact.g:168:3: ( rule__DSL_ECA_STATEMENT__Group__0 )
-            {
-             before(grammarAccess.getDSL_ECA_STATEMENTAccess().getGroup()); 
-            // InternalSensinact.g:169:3: ( rule__DSL_ECA_STATEMENT__Group__0 )
-            // InternalSensinact.g:169:4: rule__DSL_ECA_STATEMENT__Group__0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_ECA_STATEMENT__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_ECA_STATEMENTAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDSL_ECA_STATEMENT"
-
-
-    // $ANTLR start "entryRuleDSL_IfDo"
-    // InternalSensinact.g:178:1: entryRuleDSL_IfDo : ruleDSL_IfDo EOF ;
-    public final void entryRuleDSL_IfDo() throws RecognitionException {
-        try {
-            // InternalSensinact.g:179:1: ( ruleDSL_IfDo EOF )
-            // InternalSensinact.g:180:1: ruleDSL_IfDo EOF
-            {
-             before(grammarAccess.getDSL_IfDoRule()); 
-            pushFollow(FOLLOW_1);
-            ruleDSL_IfDo();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_IfDoRule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDSL_IfDo"
-
-
-    // $ANTLR start "ruleDSL_IfDo"
-    // InternalSensinact.g:187:1: ruleDSL_IfDo : ( ( rule__DSL_IfDo__Group__0 ) ) ;
-    public final void ruleDSL_IfDo() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:191:2: ( ( ( rule__DSL_IfDo__Group__0 ) ) )
-            // InternalSensinact.g:192:2: ( ( rule__DSL_IfDo__Group__0 ) )
-            {
-            // InternalSensinact.g:192:2: ( ( rule__DSL_IfDo__Group__0 ) )
-            // InternalSensinact.g:193:3: ( rule__DSL_IfDo__Group__0 )
-            {
-             before(grammarAccess.getDSL_IfDoAccess().getGroup()); 
-            // InternalSensinact.g:194:3: ( rule__DSL_IfDo__Group__0 )
-            // InternalSensinact.g:194:4: rule__DSL_IfDo__Group__0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_IfDo__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_IfDoAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDSL_IfDo"
-
-
-    // $ANTLR start "entryRuleDSL_ElseIfDo"
-    // InternalSensinact.g:203:1: entryRuleDSL_ElseIfDo : ruleDSL_ElseIfDo EOF ;
-    public final void entryRuleDSL_ElseIfDo() throws RecognitionException {
-        try {
-            // InternalSensinact.g:204:1: ( ruleDSL_ElseIfDo EOF )
-            // InternalSensinact.g:205:1: ruleDSL_ElseIfDo EOF
-            {
-             before(grammarAccess.getDSL_ElseIfDoRule()); 
-            pushFollow(FOLLOW_1);
-            ruleDSL_ElseIfDo();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_ElseIfDoRule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDSL_ElseIfDo"
-
-
-    // $ANTLR start "ruleDSL_ElseIfDo"
-    // InternalSensinact.g:212:1: ruleDSL_ElseIfDo : ( ( rule__DSL_ElseIfDo__Group__0 ) ) ;
-    public final void ruleDSL_ElseIfDo() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:216:2: ( ( ( rule__DSL_ElseIfDo__Group__0 ) ) )
-            // InternalSensinact.g:217:2: ( ( rule__DSL_ElseIfDo__Group__0 ) )
-            {
-            // InternalSensinact.g:217:2: ( ( rule__DSL_ElseIfDo__Group__0 ) )
-            // InternalSensinact.g:218:3: ( rule__DSL_ElseIfDo__Group__0 )
-            {
-             before(grammarAccess.getDSL_ElseIfDoAccess().getGroup()); 
-            // InternalSensinact.g:219:3: ( rule__DSL_ElseIfDo__Group__0 )
-            // InternalSensinact.g:219:4: rule__DSL_ElseIfDo__Group__0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_ElseIfDo__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_ElseIfDoAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDSL_ElseIfDo"
-
-
-    // $ANTLR start "entryRuleDSL_ElseDo"
-    // InternalSensinact.g:228:1: entryRuleDSL_ElseDo : ruleDSL_ElseDo EOF ;
-    public final void entryRuleDSL_ElseDo() throws RecognitionException {
-        try {
-            // InternalSensinact.g:229:1: ( ruleDSL_ElseDo EOF )
-            // InternalSensinact.g:230:1: ruleDSL_ElseDo EOF
-            {
-             before(grammarAccess.getDSL_ElseDoRule()); 
-            pushFollow(FOLLOW_1);
-            ruleDSL_ElseDo();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_ElseDoRule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDSL_ElseDo"
-
-
-    // $ANTLR start "ruleDSL_ElseDo"
-    // InternalSensinact.g:237:1: ruleDSL_ElseDo : ( ( rule__DSL_ElseDo__Group__0 ) ) ;
-    public final void ruleDSL_ElseDo() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:241:2: ( ( ( rule__DSL_ElseDo__Group__0 ) ) )
-            // InternalSensinact.g:242:2: ( ( rule__DSL_ElseDo__Group__0 ) )
-            {
-            // InternalSensinact.g:242:2: ( ( rule__DSL_ElseDo__Group__0 ) )
-            // InternalSensinact.g:243:3: ( rule__DSL_ElseDo__Group__0 )
-            {
-             before(grammarAccess.getDSL_ElseDoAccess().getGroup()); 
-            // InternalSensinact.g:244:3: ( rule__DSL_ElseDo__Group__0 )
-            // InternalSensinact.g:244:4: rule__DSL_ElseDo__Group__0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_ElseDo__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_ElseDoAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDSL_ElseDo"
-
-
-    // $ANTLR start "entryRuleNUMBER"
-    // InternalSensinact.g:253:1: entryRuleNUMBER : ruleNUMBER EOF ;
-    public final void entryRuleNUMBER() throws RecognitionException {
-        try {
-            // InternalSensinact.g:254:1: ( ruleNUMBER EOF )
-            // InternalSensinact.g:255:1: ruleNUMBER EOF
-            {
-             before(grammarAccess.getNUMBERRule()); 
-            pushFollow(FOLLOW_1);
-            ruleNUMBER();
-
-            state._fsp--;
-
-             after(grammarAccess.getNUMBERRule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleNUMBER"
-
-
-    // $ANTLR start "ruleNUMBER"
-    // InternalSensinact.g:262:1: ruleNUMBER : ( ( rule__NUMBER__Alternatives ) ) ;
-    public final void ruleNUMBER() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:266:2: ( ( ( rule__NUMBER__Alternatives ) ) )
-            // InternalSensinact.g:267:2: ( ( rule__NUMBER__Alternatives ) )
-            {
-            // InternalSensinact.g:267:2: ( ( rule__NUMBER__Alternatives ) )
-            // InternalSensinact.g:268:3: ( rule__NUMBER__Alternatives )
-            {
-             before(grammarAccess.getNUMBERAccess().getAlternatives()); 
-            // InternalSensinact.g:269:3: ( rule__NUMBER__Alternatives )
-            // InternalSensinact.g:269:4: rule__NUMBER__Alternatives
-            {
-            pushFollow(FOLLOW_2);
-            rule__NUMBER__Alternatives();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getNUMBERAccess().getAlternatives()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleNUMBER"
-
-
-    // $ANTLR start "entryRuleEXTENDED_ID"
-    // InternalSensinact.g:278:1: entryRuleEXTENDED_ID : ruleEXTENDED_ID EOF ;
-    public final void entryRuleEXTENDED_ID() throws RecognitionException {
-        try {
-            // InternalSensinact.g:279:1: ( ruleEXTENDED_ID EOF )
-            // InternalSensinact.g:280:1: ruleEXTENDED_ID EOF
-            {
-             before(grammarAccess.getEXTENDED_IDRule()); 
-            pushFollow(FOLLOW_1);
-            ruleEXTENDED_ID();
-
-            state._fsp--;
-
-             after(grammarAccess.getEXTENDED_IDRule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleEXTENDED_ID"
-
-
-    // $ANTLR start "ruleEXTENDED_ID"
-    // InternalSensinact.g:287:1: ruleEXTENDED_ID : ( ( rule__EXTENDED_ID__Group__0 ) ) ;
-    public final void ruleEXTENDED_ID() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:291:2: ( ( ( rule__EXTENDED_ID__Group__0 ) ) )
-            // InternalSensinact.g:292:2: ( ( rule__EXTENDED_ID__Group__0 ) )
-            {
-            // InternalSensinact.g:292:2: ( ( rule__EXTENDED_ID__Group__0 ) )
-            // InternalSensinact.g:293:3: ( rule__EXTENDED_ID__Group__0 )
-            {
-             before(grammarAccess.getEXTENDED_IDAccess().getGroup()); 
-            // InternalSensinact.g:294:3: ( rule__EXTENDED_ID__Group__0 )
-            // InternalSensinact.g:294:4: rule__EXTENDED_ID__Group__0
-            {
-            pushFollow(FOLLOW_2);
-            rule__EXTENDED_ID__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getEXTENDED_IDAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleEXTENDED_ID"
-
-
-    // $ANTLR start "entryRuleDSL_REF_CONDITION"
-    // InternalSensinact.g:303:1: entryRuleDSL_REF_CONDITION : ruleDSL_REF_CONDITION EOF ;
-    public final void entryRuleDSL_REF_CONDITION() throws RecognitionException {
-        try {
-            // InternalSensinact.g:304:1: ( ruleDSL_REF_CONDITION EOF )
-            // InternalSensinact.g:305:1: ruleDSL_REF_CONDITION EOF
-            {
-             before(grammarAccess.getDSL_REF_CONDITIONRule()); 
-            pushFollow(FOLLOW_1);
-            ruleDSL_REF_CONDITION();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_REF_CONDITIONRule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDSL_REF_CONDITION"
-
-
-    // $ANTLR start "ruleDSL_REF_CONDITION"
-    // InternalSensinact.g:312:1: ruleDSL_REF_CONDITION : ( ( rule__DSL_REF_CONDITION__Group__0 ) ) ;
-    public final void ruleDSL_REF_CONDITION() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:316:2: ( ( ( rule__DSL_REF_CONDITION__Group__0 ) ) )
-            // InternalSensinact.g:317:2: ( ( rule__DSL_REF_CONDITION__Group__0 ) )
-            {
-            // InternalSensinact.g:317:2: ( ( rule__DSL_REF_CONDITION__Group__0 ) )
-            // InternalSensinact.g:318:3: ( rule__DSL_REF_CONDITION__Group__0 )
-            {
-             before(grammarAccess.getDSL_REF_CONDITIONAccess().getGroup()); 
-            // InternalSensinact.g:319:3: ( rule__DSL_REF_CONDITION__Group__0 )
-            // InternalSensinact.g:319:4: rule__DSL_REF_CONDITION__Group__0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_REF_CONDITION__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_REF_CONDITIONAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDSL_REF_CONDITION"
-
-
-    // $ANTLR start "entryRuleDSL_CEP_STATEMENT"
-    // InternalSensinact.g:328:1: entryRuleDSL_CEP_STATEMENT : ruleDSL_CEP_STATEMENT EOF ;
-    public final void entryRuleDSL_CEP_STATEMENT() throws RecognitionException {
-        try {
-            // InternalSensinact.g:329:1: ( ruleDSL_CEP_STATEMENT EOF )
-            // InternalSensinact.g:330:1: ruleDSL_CEP_STATEMENT EOF
-            {
-             before(grammarAccess.getDSL_CEP_STATEMENTRule()); 
-            pushFollow(FOLLOW_1);
-            ruleDSL_CEP_STATEMENT();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_STATEMENTRule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDSL_CEP_STATEMENT"
-
-
-    // $ANTLR start "ruleDSL_CEP_STATEMENT"
-    // InternalSensinact.g:337:1: ruleDSL_CEP_STATEMENT : ( ( rule__DSL_CEP_STATEMENT__Group__0 ) ) ;
-    public final void ruleDSL_CEP_STATEMENT() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:341:2: ( ( ( rule__DSL_CEP_STATEMENT__Group__0 ) ) )
-            // InternalSensinact.g:342:2: ( ( rule__DSL_CEP_STATEMENT__Group__0 ) )
-            {
-            // InternalSensinact.g:342:2: ( ( rule__DSL_CEP_STATEMENT__Group__0 ) )
-            // InternalSensinact.g:343:3: ( rule__DSL_CEP_STATEMENT__Group__0 )
-            {
-             before(grammarAccess.getDSL_CEP_STATEMENTAccess().getGroup()); 
-            // InternalSensinact.g:344:3: ( rule__DSL_CEP_STATEMENT__Group__0 )
-            // InternalSensinact.g:344:4: rule__DSL_CEP_STATEMENT__Group__0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_STATEMENT__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_STATEMENTAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDSL_CEP_STATEMENT"
-
-
-    // $ANTLR start "entryRuleDSL_CEP_AFTER"
-    // InternalSensinact.g:353:1: entryRuleDSL_CEP_AFTER : ruleDSL_CEP_AFTER EOF ;
-    public final void entryRuleDSL_CEP_AFTER() throws RecognitionException {
-        try {
-            // InternalSensinact.g:354:1: ( ruleDSL_CEP_AFTER EOF )
-            // InternalSensinact.g:355:1: ruleDSL_CEP_AFTER EOF
-            {
-             before(grammarAccess.getDSL_CEP_AFTERRule()); 
-            pushFollow(FOLLOW_1);
-            ruleDSL_CEP_AFTER();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_AFTERRule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDSL_CEP_AFTER"
-
-
-    // $ANTLR start "ruleDSL_CEP_AFTER"
-    // InternalSensinact.g:362:1: ruleDSL_CEP_AFTER : ( ( rule__DSL_CEP_AFTER__Group__0 ) ) ;
-    public final void ruleDSL_CEP_AFTER() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:366:2: ( ( ( rule__DSL_CEP_AFTER__Group__0 ) ) )
-            // InternalSensinact.g:367:2: ( ( rule__DSL_CEP_AFTER__Group__0 ) )
-            {
-            // InternalSensinact.g:367:2: ( ( rule__DSL_CEP_AFTER__Group__0 ) )
-            // InternalSensinact.g:368:3: ( rule__DSL_CEP_AFTER__Group__0 )
-            {
-             before(grammarAccess.getDSL_CEP_AFTERAccess().getGroup()); 
-            // InternalSensinact.g:369:3: ( rule__DSL_CEP_AFTER__Group__0 )
-            // InternalSensinact.g:369:4: rule__DSL_CEP_AFTER__Group__0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_AFTER__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_AFTERAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDSL_CEP_AFTER"
-
-
-    // $ANTLR start "entryRuleDSL_CEP_BEFORE"
-    // InternalSensinact.g:378:1: entryRuleDSL_CEP_BEFORE : ruleDSL_CEP_BEFORE EOF ;
-    public final void entryRuleDSL_CEP_BEFORE() throws RecognitionException {
-        try {
-            // InternalSensinact.g:379:1: ( ruleDSL_CEP_BEFORE EOF )
-            // InternalSensinact.g:380:1: ruleDSL_CEP_BEFORE EOF
-            {
-             before(grammarAccess.getDSL_CEP_BEFORERule()); 
-            pushFollow(FOLLOW_1);
-            ruleDSL_CEP_BEFORE();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_BEFORERule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDSL_CEP_BEFORE"
-
-
-    // $ANTLR start "ruleDSL_CEP_BEFORE"
-    // InternalSensinact.g:387:1: ruleDSL_CEP_BEFORE : ( ( rule__DSL_CEP_BEFORE__Group__0 ) ) ;
-    public final void ruleDSL_CEP_BEFORE() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:391:2: ( ( ( rule__DSL_CEP_BEFORE__Group__0 ) ) )
-            // InternalSensinact.g:392:2: ( ( rule__DSL_CEP_BEFORE__Group__0 ) )
-            {
-            // InternalSensinact.g:392:2: ( ( rule__DSL_CEP_BEFORE__Group__0 ) )
-            // InternalSensinact.g:393:3: ( rule__DSL_CEP_BEFORE__Group__0 )
-            {
-             before(grammarAccess.getDSL_CEP_BEFOREAccess().getGroup()); 
-            // InternalSensinact.g:394:3: ( rule__DSL_CEP_BEFORE__Group__0 )
-            // InternalSensinact.g:394:4: rule__DSL_CEP_BEFORE__Group__0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_BEFORE__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_BEFOREAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDSL_CEP_BEFORE"
-
-
-    // $ANTLR start "entryRuleDSL_CEP_COINCIDE"
-    // InternalSensinact.g:403:1: entryRuleDSL_CEP_COINCIDE : ruleDSL_CEP_COINCIDE EOF ;
-    public final void entryRuleDSL_CEP_COINCIDE() throws RecognitionException {
-        try {
-            // InternalSensinact.g:404:1: ( ruleDSL_CEP_COINCIDE EOF )
-            // InternalSensinact.g:405:1: ruleDSL_CEP_COINCIDE EOF
-            {
-             before(grammarAccess.getDSL_CEP_COINCIDERule()); 
-            pushFollow(FOLLOW_1);
-            ruleDSL_CEP_COINCIDE();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_COINCIDERule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDSL_CEP_COINCIDE"
-
-
-    // $ANTLR start "ruleDSL_CEP_COINCIDE"
-    // InternalSensinact.g:412:1: ruleDSL_CEP_COINCIDE : ( ( rule__DSL_CEP_COINCIDE__Group__0 ) ) ;
-    public final void ruleDSL_CEP_COINCIDE() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:416:2: ( ( ( rule__DSL_CEP_COINCIDE__Group__0 ) ) )
-            // InternalSensinact.g:417:2: ( ( rule__DSL_CEP_COINCIDE__Group__0 ) )
-            {
-            // InternalSensinact.g:417:2: ( ( rule__DSL_CEP_COINCIDE__Group__0 ) )
-            // InternalSensinact.g:418:3: ( rule__DSL_CEP_COINCIDE__Group__0 )
-            {
-             before(grammarAccess.getDSL_CEP_COINCIDEAccess().getGroup()); 
-            // InternalSensinact.g:419:3: ( rule__DSL_CEP_COINCIDE__Group__0 )
-            // InternalSensinact.g:419:4: rule__DSL_CEP_COINCIDE__Group__0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_COINCIDE__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_COINCIDEAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDSL_CEP_COINCIDE"
-
-
-    // $ANTLR start "entryRuleDSL_CEP_MIN"
-    // InternalSensinact.g:428:1: entryRuleDSL_CEP_MIN : ruleDSL_CEP_MIN EOF ;
-    public final void entryRuleDSL_CEP_MIN() throws RecognitionException {
-        try {
-            // InternalSensinact.g:429:1: ( ruleDSL_CEP_MIN EOF )
-            // InternalSensinact.g:430:1: ruleDSL_CEP_MIN EOF
-            {
-             before(grammarAccess.getDSL_CEP_MINRule()); 
-            pushFollow(FOLLOW_1);
-            ruleDSL_CEP_MIN();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_MINRule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDSL_CEP_MIN"
-
-
-    // $ANTLR start "ruleDSL_CEP_MIN"
-    // InternalSensinact.g:437:1: ruleDSL_CEP_MIN : ( ( rule__DSL_CEP_MIN__Group__0 ) ) ;
-    public final void ruleDSL_CEP_MIN() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:441:2: ( ( ( rule__DSL_CEP_MIN__Group__0 ) ) )
-            // InternalSensinact.g:442:2: ( ( rule__DSL_CEP_MIN__Group__0 ) )
-            {
-            // InternalSensinact.g:442:2: ( ( rule__DSL_CEP_MIN__Group__0 ) )
-            // InternalSensinact.g:443:3: ( rule__DSL_CEP_MIN__Group__0 )
-            {
-             before(grammarAccess.getDSL_CEP_MINAccess().getGroup()); 
-            // InternalSensinact.g:444:3: ( rule__DSL_CEP_MIN__Group__0 )
-            // InternalSensinact.g:444:4: rule__DSL_CEP_MIN__Group__0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_MIN__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_MINAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDSL_CEP_MIN"
-
-
-    // $ANTLR start "entryRuleDSL_CEP_MAX"
-    // InternalSensinact.g:453:1: entryRuleDSL_CEP_MAX : ruleDSL_CEP_MAX EOF ;
-    public final void entryRuleDSL_CEP_MAX() throws RecognitionException {
-        try {
-            // InternalSensinact.g:454:1: ( ruleDSL_CEP_MAX EOF )
-            // InternalSensinact.g:455:1: ruleDSL_CEP_MAX EOF
-            {
-             before(grammarAccess.getDSL_CEP_MAXRule()); 
-            pushFollow(FOLLOW_1);
-            ruleDSL_CEP_MAX();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_MAXRule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDSL_CEP_MAX"
-
-
-    // $ANTLR start "ruleDSL_CEP_MAX"
-    // InternalSensinact.g:462:1: ruleDSL_CEP_MAX : ( ( rule__DSL_CEP_MAX__Group__0 ) ) ;
-    public final void ruleDSL_CEP_MAX() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:466:2: ( ( ( rule__DSL_CEP_MAX__Group__0 ) ) )
-            // InternalSensinact.g:467:2: ( ( rule__DSL_CEP_MAX__Group__0 ) )
-            {
-            // InternalSensinact.g:467:2: ( ( rule__DSL_CEP_MAX__Group__0 ) )
-            // InternalSensinact.g:468:3: ( rule__DSL_CEP_MAX__Group__0 )
-            {
-             before(grammarAccess.getDSL_CEP_MAXAccess().getGroup()); 
-            // InternalSensinact.g:469:3: ( rule__DSL_CEP_MAX__Group__0 )
-            // InternalSensinact.g:469:4: rule__DSL_CEP_MAX__Group__0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_MAX__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_MAXAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDSL_CEP_MAX"
-
-
-    // $ANTLR start "entryRuleDSL_CEP_AVG"
-    // InternalSensinact.g:478:1: entryRuleDSL_CEP_AVG : ruleDSL_CEP_AVG EOF ;
-    public final void entryRuleDSL_CEP_AVG() throws RecognitionException {
-        try {
-            // InternalSensinact.g:479:1: ( ruleDSL_CEP_AVG EOF )
-            // InternalSensinact.g:480:1: ruleDSL_CEP_AVG EOF
-            {
-             before(grammarAccess.getDSL_CEP_AVGRule()); 
-            pushFollow(FOLLOW_1);
-            ruleDSL_CEP_AVG();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_AVGRule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDSL_CEP_AVG"
-
-
-    // $ANTLR start "ruleDSL_CEP_AVG"
-    // InternalSensinact.g:487:1: ruleDSL_CEP_AVG : ( ( rule__DSL_CEP_AVG__Group__0 ) ) ;
-    public final void ruleDSL_CEP_AVG() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:491:2: ( ( ( rule__DSL_CEP_AVG__Group__0 ) ) )
-            // InternalSensinact.g:492:2: ( ( rule__DSL_CEP_AVG__Group__0 ) )
-            {
-            // InternalSensinact.g:492:2: ( ( rule__DSL_CEP_AVG__Group__0 ) )
-            // InternalSensinact.g:493:3: ( rule__DSL_CEP_AVG__Group__0 )
-            {
-             before(grammarAccess.getDSL_CEP_AVGAccess().getGroup()); 
-            // InternalSensinact.g:494:3: ( rule__DSL_CEP_AVG__Group__0 )
-            // InternalSensinact.g:494:4: rule__DSL_CEP_AVG__Group__0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_AVG__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_AVGAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDSL_CEP_AVG"
-
-
-    // $ANTLR start "entryRuleDSL_CEP_SUM"
-    // InternalSensinact.g:503:1: entryRuleDSL_CEP_SUM : ruleDSL_CEP_SUM EOF ;
-    public final void entryRuleDSL_CEP_SUM() throws RecognitionException {
-        try {
-            // InternalSensinact.g:504:1: ( ruleDSL_CEP_SUM EOF )
-            // InternalSensinact.g:505:1: ruleDSL_CEP_SUM EOF
-            {
-             before(grammarAccess.getDSL_CEP_SUMRule()); 
-            pushFollow(FOLLOW_1);
-            ruleDSL_CEP_SUM();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_SUMRule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDSL_CEP_SUM"
-
-
-    // $ANTLR start "ruleDSL_CEP_SUM"
-    // InternalSensinact.g:512:1: ruleDSL_CEP_SUM : ( ( rule__DSL_CEP_SUM__Group__0 ) ) ;
-    public final void ruleDSL_CEP_SUM() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:516:2: ( ( ( rule__DSL_CEP_SUM__Group__0 ) ) )
-            // InternalSensinact.g:517:2: ( ( rule__DSL_CEP_SUM__Group__0 ) )
-            {
-            // InternalSensinact.g:517:2: ( ( rule__DSL_CEP_SUM__Group__0 ) )
-            // InternalSensinact.g:518:3: ( rule__DSL_CEP_SUM__Group__0 )
-            {
-             before(grammarAccess.getDSL_CEP_SUMAccess().getGroup()); 
-            // InternalSensinact.g:519:3: ( rule__DSL_CEP_SUM__Group__0 )
-            // InternalSensinact.g:519:4: rule__DSL_CEP_SUM__Group__0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_SUM__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_SUMAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDSL_CEP_SUM"
-
-
-    // $ANTLR start "entryRuleDSL_CEP_COUNT"
-    // InternalSensinact.g:528:1: entryRuleDSL_CEP_COUNT : ruleDSL_CEP_COUNT EOF ;
-    public final void entryRuleDSL_CEP_COUNT() throws RecognitionException {
-        try {
-            // InternalSensinact.g:529:1: ( ruleDSL_CEP_COUNT EOF )
-            // InternalSensinact.g:530:1: ruleDSL_CEP_COUNT EOF
-            {
-             before(grammarAccess.getDSL_CEP_COUNTRule()); 
-            pushFollow(FOLLOW_1);
-            ruleDSL_CEP_COUNT();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_COUNTRule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDSL_CEP_COUNT"
-
-
-    // $ANTLR start "ruleDSL_CEP_COUNT"
-    // InternalSensinact.g:537:1: ruleDSL_CEP_COUNT : ( ( rule__DSL_CEP_COUNT__Group__0 ) ) ;
-    public final void ruleDSL_CEP_COUNT() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:541:2: ( ( ( rule__DSL_CEP_COUNT__Group__0 ) ) )
-            // InternalSensinact.g:542:2: ( ( rule__DSL_CEP_COUNT__Group__0 ) )
-            {
-            // InternalSensinact.g:542:2: ( ( rule__DSL_CEP_COUNT__Group__0 ) )
-            // InternalSensinact.g:543:3: ( rule__DSL_CEP_COUNT__Group__0 )
-            {
-             before(grammarAccess.getDSL_CEP_COUNTAccess().getGroup()); 
-            // InternalSensinact.g:544:3: ( rule__DSL_CEP_COUNT__Group__0 )
-            // InternalSensinact.g:544:4: rule__DSL_CEP_COUNT__Group__0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_COUNT__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_COUNTAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDSL_CEP_COUNT"
-
-
-    // $ANTLR start "entryRuleDSL_CEP_DURATION"
-    // InternalSensinact.g:553:1: entryRuleDSL_CEP_DURATION : ruleDSL_CEP_DURATION EOF ;
-    public final void entryRuleDSL_CEP_DURATION() throws RecognitionException {
-        try {
-            // InternalSensinact.g:554:1: ( ruleDSL_CEP_DURATION EOF )
-            // InternalSensinact.g:555:1: ruleDSL_CEP_DURATION EOF
-            {
-             before(grammarAccess.getDSL_CEP_DURATIONRule()); 
-            pushFollow(FOLLOW_1);
-            ruleDSL_CEP_DURATION();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_DURATIONRule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDSL_CEP_DURATION"
-
-
-    // $ANTLR start "ruleDSL_CEP_DURATION"
-    // InternalSensinact.g:562:1: ruleDSL_CEP_DURATION : ( ( ( rule__DSL_CEP_DURATION__UnitsAssignment ) ) ( ( rule__DSL_CEP_DURATION__UnitsAssignment )* ) ) ;
-    public final void ruleDSL_CEP_DURATION() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:566:2: ( ( ( ( rule__DSL_CEP_DURATION__UnitsAssignment ) ) ( ( rule__DSL_CEP_DURATION__UnitsAssignment )* ) ) )
-            // InternalSensinact.g:567:2: ( ( ( rule__DSL_CEP_DURATION__UnitsAssignment ) ) ( ( rule__DSL_CEP_DURATION__UnitsAssignment )* ) )
-            {
-            // InternalSensinact.g:567:2: ( ( ( rule__DSL_CEP_DURATION__UnitsAssignment ) ) ( ( rule__DSL_CEP_DURATION__UnitsAssignment )* ) )
-            // InternalSensinact.g:568:3: ( ( rule__DSL_CEP_DURATION__UnitsAssignment ) ) ( ( rule__DSL_CEP_DURATION__UnitsAssignment )* )
-            {
-            // InternalSensinact.g:568:3: ( ( rule__DSL_CEP_DURATION__UnitsAssignment ) )
-            // InternalSensinact.g:569:4: ( rule__DSL_CEP_DURATION__UnitsAssignment )
-            {
-             before(grammarAccess.getDSL_CEP_DURATIONAccess().getUnitsAssignment()); 
-            // InternalSensinact.g:570:4: ( rule__DSL_CEP_DURATION__UnitsAssignment )
-            // InternalSensinact.g:570:5: rule__DSL_CEP_DURATION__UnitsAssignment
-            {
-            pushFollow(FOLLOW_3);
-            rule__DSL_CEP_DURATION__UnitsAssignment();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_DURATIONAccess().getUnitsAssignment()); 
-
-            }
-
-            // InternalSensinact.g:573:3: ( ( rule__DSL_CEP_DURATION__UnitsAssignment )* )
-            // InternalSensinact.g:574:4: ( rule__DSL_CEP_DURATION__UnitsAssignment )*
-            {
-             before(grammarAccess.getDSL_CEP_DURATIONAccess().getUnitsAssignment()); 
-            // InternalSensinact.g:575:4: ( rule__DSL_CEP_DURATION__UnitsAssignment )*
-            loop1:
-            do {
-                int alt1=2;
-                int LA1_0 = input.LA(1);
-
-                if ( (LA1_0==RULE_INT) ) {
-                    alt1=1;
-                }
-
-
-                switch (alt1) {
-            	case 1 :
-            	    // InternalSensinact.g:575:5: rule__DSL_CEP_DURATION__UnitsAssignment
-            	    {
-            	    pushFollow(FOLLOW_3);
-            	    rule__DSL_CEP_DURATION__UnitsAssignment();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop1;
-                }
-            } while (true);
-
-             after(grammarAccess.getDSL_CEP_DURATIONAccess().getUnitsAssignment()); 
-
-            }
-
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDSL_CEP_DURATION"
-
-
-    // $ANTLR start "entryRuleDSL_CEP_DURATION_MIN"
-    // InternalSensinact.g:585:1: entryRuleDSL_CEP_DURATION_MIN : ruleDSL_CEP_DURATION_MIN EOF ;
-    public final void entryRuleDSL_CEP_DURATION_MIN() throws RecognitionException {
-        try {
-            // InternalSensinact.g:586:1: ( ruleDSL_CEP_DURATION_MIN EOF )
-            // InternalSensinact.g:587:1: ruleDSL_CEP_DURATION_MIN EOF
-            {
-             before(grammarAccess.getDSL_CEP_DURATION_MINRule()); 
-            pushFollow(FOLLOW_1);
-            ruleDSL_CEP_DURATION_MIN();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_DURATION_MINRule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDSL_CEP_DURATION_MIN"
-
-
-    // $ANTLR start "ruleDSL_CEP_DURATION_MIN"
-    // InternalSensinact.g:594:1: ruleDSL_CEP_DURATION_MIN : ( ( rule__DSL_CEP_DURATION_MIN__Group__0 ) ) ;
-    public final void ruleDSL_CEP_DURATION_MIN() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:598:2: ( ( ( rule__DSL_CEP_DURATION_MIN__Group__0 ) ) )
-            // InternalSensinact.g:599:2: ( ( rule__DSL_CEP_DURATION_MIN__Group__0 ) )
-            {
-            // InternalSensinact.g:599:2: ( ( rule__DSL_CEP_DURATION_MIN__Group__0 ) )
-            // InternalSensinact.g:600:3: ( rule__DSL_CEP_DURATION_MIN__Group__0 )
-            {
-             before(grammarAccess.getDSL_CEP_DURATION_MINAccess().getGroup()); 
-            // InternalSensinact.g:601:3: ( rule__DSL_CEP_DURATION_MIN__Group__0 )
-            // InternalSensinact.g:601:4: rule__DSL_CEP_DURATION_MIN__Group__0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_DURATION_MIN__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_DURATION_MINAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDSL_CEP_DURATION_MIN"
-
-
-    // $ANTLR start "entryRuleDSL_CEP_DURATION_SEC"
-    // InternalSensinact.g:610:1: entryRuleDSL_CEP_DURATION_SEC : ruleDSL_CEP_DURATION_SEC EOF ;
-    public final void entryRuleDSL_CEP_DURATION_SEC() throws RecognitionException {
-        try {
-            // InternalSensinact.g:611:1: ( ruleDSL_CEP_DURATION_SEC EOF )
-            // InternalSensinact.g:612:1: ruleDSL_CEP_DURATION_SEC EOF
-            {
-             before(grammarAccess.getDSL_CEP_DURATION_SECRule()); 
-            pushFollow(FOLLOW_1);
-            ruleDSL_CEP_DURATION_SEC();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_DURATION_SECRule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDSL_CEP_DURATION_SEC"
-
-
-    // $ANTLR start "ruleDSL_CEP_DURATION_SEC"
-    // InternalSensinact.g:619:1: ruleDSL_CEP_DURATION_SEC : ( ( rule__DSL_CEP_DURATION_SEC__Group__0 ) ) ;
-    public final void ruleDSL_CEP_DURATION_SEC() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:623:2: ( ( ( rule__DSL_CEP_DURATION_SEC__Group__0 ) ) )
-            // InternalSensinact.g:624:2: ( ( rule__DSL_CEP_DURATION_SEC__Group__0 ) )
-            {
-            // InternalSensinact.g:624:2: ( ( rule__DSL_CEP_DURATION_SEC__Group__0 ) )
-            // InternalSensinact.g:625:3: ( rule__DSL_CEP_DURATION_SEC__Group__0 )
-            {
-             before(grammarAccess.getDSL_CEP_DURATION_SECAccess().getGroup()); 
-            // InternalSensinact.g:626:3: ( rule__DSL_CEP_DURATION_SEC__Group__0 )
-            // InternalSensinact.g:626:4: rule__DSL_CEP_DURATION_SEC__Group__0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_DURATION_SEC__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_DURATION_SECAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDSL_CEP_DURATION_SEC"
-
-
-    // $ANTLR start "entryRuleDSL_ListActions"
-    // InternalSensinact.g:635:1: entryRuleDSL_ListActions : ruleDSL_ListActions EOF ;
-    public final void entryRuleDSL_ListActions() throws RecognitionException {
-        try {
-            // InternalSensinact.g:636:1: ( ruleDSL_ListActions EOF )
-            // InternalSensinact.g:637:1: ruleDSL_ListActions EOF
-            {
-             before(grammarAccess.getDSL_ListActionsRule()); 
-            pushFollow(FOLLOW_1);
-            ruleDSL_ListActions();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_ListActionsRule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDSL_ListActions"
-
-
-    // $ANTLR start "ruleDSL_ListActions"
-    // InternalSensinact.g:644:1: ruleDSL_ListActions : ( ( rule__DSL_ListActions__Group__0 ) ) ;
-    public final void ruleDSL_ListActions() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:648:2: ( ( ( rule__DSL_ListActions__Group__0 ) ) )
-            // InternalSensinact.g:649:2: ( ( rule__DSL_ListActions__Group__0 ) )
-            {
-            // InternalSensinact.g:649:2: ( ( rule__DSL_ListActions__Group__0 ) )
-            // InternalSensinact.g:650:3: ( rule__DSL_ListActions__Group__0 )
-            {
-             before(grammarAccess.getDSL_ListActionsAccess().getGroup()); 
-            // InternalSensinact.g:651:3: ( rule__DSL_ListActions__Group__0 )
-            // InternalSensinact.g:651:4: rule__DSL_ListActions__Group__0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_ListActions__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_ListActionsAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDSL_ListActions"
-
-
-    // $ANTLR start "entryRuleDSL_ResourceAction"
-    // InternalSensinact.g:660:1: entryRuleDSL_ResourceAction : ruleDSL_ResourceAction EOF ;
-    public final void entryRuleDSL_ResourceAction() throws RecognitionException {
-        try {
-            // InternalSensinact.g:661:1: ( ruleDSL_ResourceAction EOF )
-            // InternalSensinact.g:662:1: ruleDSL_ResourceAction EOF
-            {
-             before(grammarAccess.getDSL_ResourceActionRule()); 
-            pushFollow(FOLLOW_1);
-            ruleDSL_ResourceAction();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_ResourceActionRule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDSL_ResourceAction"
-
-
-    // $ANTLR start "ruleDSL_ResourceAction"
-    // InternalSensinact.g:669:1: ruleDSL_ResourceAction : ( ( rule__DSL_ResourceAction__Group__0 ) ) ;
-    public final void ruleDSL_ResourceAction() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:673:2: ( ( ( rule__DSL_ResourceAction__Group__0 ) ) )
-            // InternalSensinact.g:674:2: ( ( rule__DSL_ResourceAction__Group__0 ) )
-            {
-            // InternalSensinact.g:674:2: ( ( rule__DSL_ResourceAction__Group__0 ) )
-            // InternalSensinact.g:675:3: ( rule__DSL_ResourceAction__Group__0 )
-            {
-             before(grammarAccess.getDSL_ResourceActionAccess().getGroup()); 
-            // InternalSensinact.g:676:3: ( rule__DSL_ResourceAction__Group__0 )
-            // InternalSensinact.g:676:4: rule__DSL_ResourceAction__Group__0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_ResourceAction__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_ResourceActionAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDSL_ResourceAction"
-
-
-    // $ANTLR start "entryRuleDSL_ListParam"
-    // InternalSensinact.g:685:1: entryRuleDSL_ListParam : ruleDSL_ListParam EOF ;
-    public final void entryRuleDSL_ListParam() throws RecognitionException {
-        try {
-            // InternalSensinact.g:686:1: ( ruleDSL_ListParam EOF )
-            // InternalSensinact.g:687:1: ruleDSL_ListParam EOF
-            {
-             before(grammarAccess.getDSL_ListParamRule()); 
-            pushFollow(FOLLOW_1);
-            ruleDSL_ListParam();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_ListParamRule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDSL_ListParam"
-
-
-    // $ANTLR start "ruleDSL_ListParam"
-    // InternalSensinact.g:694:1: ruleDSL_ListParam : ( ( rule__DSL_ListParam__Group__0 ) ) ;
-    public final void ruleDSL_ListParam() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:698:2: ( ( ( rule__DSL_ListParam__Group__0 ) ) )
-            // InternalSensinact.g:699:2: ( ( rule__DSL_ListParam__Group__0 ) )
-            {
-            // InternalSensinact.g:699:2: ( ( rule__DSL_ListParam__Group__0 ) )
-            // InternalSensinact.g:700:3: ( rule__DSL_ListParam__Group__0 )
-            {
-             before(grammarAccess.getDSL_ListParamAccess().getGroup()); 
-            // InternalSensinact.g:701:3: ( rule__DSL_ListParam__Group__0 )
-            // InternalSensinact.g:701:4: rule__DSL_ListParam__Group__0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_ListParam__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_ListParamAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDSL_ListParam"
-
-
-    // $ANTLR start "entryRuleDSL_Expression_Or"
-    // InternalSensinact.g:710:1: entryRuleDSL_Expression_Or : ruleDSL_Expression_Or EOF ;
-    public final void entryRuleDSL_Expression_Or() throws RecognitionException {
-        try {
-            // InternalSensinact.g:711:1: ( ruleDSL_Expression_Or EOF )
-            // InternalSensinact.g:712:1: ruleDSL_Expression_Or EOF
-            {
-             before(grammarAccess.getDSL_Expression_OrRule()); 
-            pushFollow(FOLLOW_1);
-            ruleDSL_Expression_Or();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_Expression_OrRule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDSL_Expression_Or"
-
-
-    // $ANTLR start "ruleDSL_Expression_Or"
-    // InternalSensinact.g:719:1: ruleDSL_Expression_Or : ( ( rule__DSL_Expression_Or__Group__0 ) ) ;
-    public final void ruleDSL_Expression_Or() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:723:2: ( ( ( rule__DSL_Expression_Or__Group__0 ) ) )
-            // InternalSensinact.g:724:2: ( ( rule__DSL_Expression_Or__Group__0 ) )
-            {
-            // InternalSensinact.g:724:2: ( ( rule__DSL_Expression_Or__Group__0 ) )
-            // InternalSensinact.g:725:3: ( rule__DSL_Expression_Or__Group__0 )
-            {
-             before(grammarAccess.getDSL_Expression_OrAccess().getGroup()); 
-            // InternalSensinact.g:726:3: ( rule__DSL_Expression_Or__Group__0 )
-            // InternalSensinact.g:726:4: rule__DSL_Expression_Or__Group__0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Or__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_Expression_OrAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDSL_Expression_Or"
-
-
-    // $ANTLR start "entryRuleDSL_Expression_And"
-    // InternalSensinact.g:735:1: entryRuleDSL_Expression_And : ruleDSL_Expression_And EOF ;
-    public final void entryRuleDSL_Expression_And() throws RecognitionException {
-        try {
-            // InternalSensinact.g:736:1: ( ruleDSL_Expression_And EOF )
-            // InternalSensinact.g:737:1: ruleDSL_Expression_And EOF
-            {
-             before(grammarAccess.getDSL_Expression_AndRule()); 
-            pushFollow(FOLLOW_1);
-            ruleDSL_Expression_And();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_Expression_AndRule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDSL_Expression_And"
-
-
-    // $ANTLR start "ruleDSL_Expression_And"
-    // InternalSensinact.g:744:1: ruleDSL_Expression_And : ( ( rule__DSL_Expression_And__Group__0 ) ) ;
-    public final void ruleDSL_Expression_And() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:748:2: ( ( ( rule__DSL_Expression_And__Group__0 ) ) )
-            // InternalSensinact.g:749:2: ( ( rule__DSL_Expression_And__Group__0 ) )
-            {
-            // InternalSensinact.g:749:2: ( ( rule__DSL_Expression_And__Group__0 ) )
-            // InternalSensinact.g:750:3: ( rule__DSL_Expression_And__Group__0 )
-            {
-             before(grammarAccess.getDSL_Expression_AndAccess().getGroup()); 
-            // InternalSensinact.g:751:3: ( rule__DSL_Expression_And__Group__0 )
-            // InternalSensinact.g:751:4: rule__DSL_Expression_And__Group__0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_And__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_Expression_AndAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDSL_Expression_And"
-
-
-    // $ANTLR start "entryRuleDSL_Expression_DiffEqual"
-    // InternalSensinact.g:760:1: entryRuleDSL_Expression_DiffEqual : ruleDSL_Expression_DiffEqual EOF ;
-    public final void entryRuleDSL_Expression_DiffEqual() throws RecognitionException {
-        try {
-            // InternalSensinact.g:761:1: ( ruleDSL_Expression_DiffEqual EOF )
-            // InternalSensinact.g:762:1: ruleDSL_Expression_DiffEqual EOF
-            {
-             before(grammarAccess.getDSL_Expression_DiffEqualRule()); 
-            pushFollow(FOLLOW_1);
-            ruleDSL_Expression_DiffEqual();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_Expression_DiffEqualRule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDSL_Expression_DiffEqual"
-
-
-    // $ANTLR start "ruleDSL_Expression_DiffEqual"
-    // InternalSensinact.g:769:1: ruleDSL_Expression_DiffEqual : ( ( rule__DSL_Expression_DiffEqual__Group__0 ) ) ;
-    public final void ruleDSL_Expression_DiffEqual() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:773:2: ( ( ( rule__DSL_Expression_DiffEqual__Group__0 ) ) )
-            // InternalSensinact.g:774:2: ( ( rule__DSL_Expression_DiffEqual__Group__0 ) )
-            {
-            // InternalSensinact.g:774:2: ( ( rule__DSL_Expression_DiffEqual__Group__0 ) )
-            // InternalSensinact.g:775:3: ( rule__DSL_Expression_DiffEqual__Group__0 )
-            {
-             before(grammarAccess.getDSL_Expression_DiffEqualAccess().getGroup()); 
-            // InternalSensinact.g:776:3: ( rule__DSL_Expression_DiffEqual__Group__0 )
-            // InternalSensinact.g:776:4: rule__DSL_Expression_DiffEqual__Group__0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_DiffEqual__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_Expression_DiffEqualAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDSL_Expression_DiffEqual"
-
-
-    // $ANTLR start "entryRuleDSL_Expression_Compare"
-    // InternalSensinact.g:785:1: entryRuleDSL_Expression_Compare : ruleDSL_Expression_Compare EOF ;
-    public final void entryRuleDSL_Expression_Compare() throws RecognitionException {
-        try {
-            // InternalSensinact.g:786:1: ( ruleDSL_Expression_Compare EOF )
-            // InternalSensinact.g:787:1: ruleDSL_Expression_Compare EOF
-            {
-             before(grammarAccess.getDSL_Expression_CompareRule()); 
-            pushFollow(FOLLOW_1);
-            ruleDSL_Expression_Compare();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_Expression_CompareRule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDSL_Expression_Compare"
-
-
-    // $ANTLR start "ruleDSL_Expression_Compare"
-    // InternalSensinact.g:794:1: ruleDSL_Expression_Compare : ( ( rule__DSL_Expression_Compare__Group__0 ) ) ;
-    public final void ruleDSL_Expression_Compare() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:798:2: ( ( ( rule__DSL_Expression_Compare__Group__0 ) ) )
-            // InternalSensinact.g:799:2: ( ( rule__DSL_Expression_Compare__Group__0 ) )
-            {
-            // InternalSensinact.g:799:2: ( ( rule__DSL_Expression_Compare__Group__0 ) )
-            // InternalSensinact.g:800:3: ( rule__DSL_Expression_Compare__Group__0 )
-            {
-             before(grammarAccess.getDSL_Expression_CompareAccess().getGroup()); 
-            // InternalSensinact.g:801:3: ( rule__DSL_Expression_Compare__Group__0 )
-            // InternalSensinact.g:801:4: rule__DSL_Expression_Compare__Group__0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Compare__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_Expression_CompareAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDSL_Expression_Compare"
-
-
-    // $ANTLR start "entryRuleDSL_Expression_PlusMinus"
-    // InternalSensinact.g:810:1: entryRuleDSL_Expression_PlusMinus : ruleDSL_Expression_PlusMinus EOF ;
-    public final void entryRuleDSL_Expression_PlusMinus() throws RecognitionException {
-        try {
-            // InternalSensinact.g:811:1: ( ruleDSL_Expression_PlusMinus EOF )
-            // InternalSensinact.g:812:1: ruleDSL_Expression_PlusMinus EOF
-            {
-             before(grammarAccess.getDSL_Expression_PlusMinusRule()); 
-            pushFollow(FOLLOW_1);
-            ruleDSL_Expression_PlusMinus();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_Expression_PlusMinusRule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDSL_Expression_PlusMinus"
-
-
-    // $ANTLR start "ruleDSL_Expression_PlusMinus"
-    // InternalSensinact.g:819:1: ruleDSL_Expression_PlusMinus : ( ( rule__DSL_Expression_PlusMinus__Group__0 ) ) ;
-    public final void ruleDSL_Expression_PlusMinus() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:823:2: ( ( ( rule__DSL_Expression_PlusMinus__Group__0 ) ) )
-            // InternalSensinact.g:824:2: ( ( rule__DSL_Expression_PlusMinus__Group__0 ) )
-            {
-            // InternalSensinact.g:824:2: ( ( rule__DSL_Expression_PlusMinus__Group__0 ) )
-            // InternalSensinact.g:825:3: ( rule__DSL_Expression_PlusMinus__Group__0 )
-            {
-             before(grammarAccess.getDSL_Expression_PlusMinusAccess().getGroup()); 
-            // InternalSensinact.g:826:3: ( rule__DSL_Expression_PlusMinus__Group__0 )
-            // InternalSensinact.g:826:4: rule__DSL_Expression_PlusMinus__Group__0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_PlusMinus__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_Expression_PlusMinusAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDSL_Expression_PlusMinus"
-
-
-    // $ANTLR start "entryRuleDSL_Expression_MultiplicationDivision"
-    // InternalSensinact.g:835:1: entryRuleDSL_Expression_MultiplicationDivision : ruleDSL_Expression_MultiplicationDivision EOF ;
-    public final void entryRuleDSL_Expression_MultiplicationDivision() throws RecognitionException {
-        try {
-            // InternalSensinact.g:836:1: ( ruleDSL_Expression_MultiplicationDivision EOF )
-            // InternalSensinact.g:837:1: ruleDSL_Expression_MultiplicationDivision EOF
-            {
-             before(grammarAccess.getDSL_Expression_MultiplicationDivisionRule()); 
-            pushFollow(FOLLOW_1);
-            ruleDSL_Expression_MultiplicationDivision();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_Expression_MultiplicationDivisionRule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDSL_Expression_MultiplicationDivision"
-
-
-    // $ANTLR start "ruleDSL_Expression_MultiplicationDivision"
-    // InternalSensinact.g:844:1: ruleDSL_Expression_MultiplicationDivision : ( ( rule__DSL_Expression_MultiplicationDivision__Group__0 ) ) ;
-    public final void ruleDSL_Expression_MultiplicationDivision() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:848:2: ( ( ( rule__DSL_Expression_MultiplicationDivision__Group__0 ) ) )
-            // InternalSensinact.g:849:2: ( ( rule__DSL_Expression_MultiplicationDivision__Group__0 ) )
-            {
-            // InternalSensinact.g:849:2: ( ( rule__DSL_Expression_MultiplicationDivision__Group__0 ) )
-            // InternalSensinact.g:850:3: ( rule__DSL_Expression_MultiplicationDivision__Group__0 )
-            {
-             before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getGroup()); 
-            // InternalSensinact.g:851:3: ( rule__DSL_Expression_MultiplicationDivision__Group__0 )
-            // InternalSensinact.g:851:4: rule__DSL_Expression_MultiplicationDivision__Group__0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_MultiplicationDivision__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDSL_Expression_MultiplicationDivision"
-
-
-    // $ANTLR start "entryRuleDSL_Expression_Unary"
-    // InternalSensinact.g:860:1: entryRuleDSL_Expression_Unary : ruleDSL_Expression_Unary EOF ;
-    public final void entryRuleDSL_Expression_Unary() throws RecognitionException {
-        try {
-            // InternalSensinact.g:861:1: ( ruleDSL_Expression_Unary EOF )
-            // InternalSensinact.g:862:1: ruleDSL_Expression_Unary EOF
-            {
-             before(grammarAccess.getDSL_Expression_UnaryRule()); 
-            pushFollow(FOLLOW_1);
-            ruleDSL_Expression_Unary();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_Expression_UnaryRule()); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDSL_Expression_Unary"
-
-
-    // $ANTLR start "ruleDSL_Expression_Unary"
-    // InternalSensinact.g:869:1: ruleDSL_Expression_Unary : ( ( rule__DSL_Expression_Unary__Alternatives ) ) ;
-    public final void ruleDSL_Expression_Unary() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:873:2: ( ( ( rule__DSL_Expression_Unary__Alternatives ) ) )
-            // InternalSensinact.g:874:2: ( ( rule__DSL_Expression_Unary__Alternatives ) )
-            {
-            // InternalSensinact.g:874:2: ( ( rule__DSL_Expression_Unary__Alternatives ) )
-            // InternalSensinact.g:875:3: ( rule__DSL_Expression_Unary__Alternatives )
-            {
-             before(grammarAccess.getDSL_Expression_UnaryAccess().getAlternatives()); 
-            // InternalSensinact.g:876:3: ( rule__DSL_Expression_Unary__Alternatives )
-            // InternalSensinact.g:876:4: rule__DSL_Expression_Unary__Alternatives
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Unary__Alternatives();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_Expression_UnaryAccess().getAlternatives()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDSL_Expression_Unary"
-
-
-    // $ANTLR start "rule__NUMBER__Alternatives"
-    // InternalSensinact.g:884:1: rule__NUMBER__Alternatives : ( ( RULE_INT ) | ( ( rule__NUMBER__Group_1__0 ) ) );
-    public final void rule__NUMBER__Alternatives() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:888:1: ( ( RULE_INT ) | ( ( rule__NUMBER__Group_1__0 ) ) )
-            int alt2=2;
-            int LA2_0 = input.LA(1);
-
-            if ( (LA2_0==RULE_INT) ) {
-                int LA2_1 = input.LA(2);
-
-                if ( (LA2_1==EOF||LA2_1==17||LA2_1==20||LA2_1==23||LA2_1==29||LA2_1==34||(LA2_1>=39 && LA2_1<=51)) ) {
-                    alt2=1;
-                }
-                else if ( (LA2_1==26) ) {
-                    alt2=2;
-                }
-                else {
-                    NoViableAltException nvae =
-                        new NoViableAltException("", 2, 1, input);
-
-                    throw nvae;
-                }
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 2, 0, input);
-
-                throw nvae;
-            }
-            switch (alt2) {
-                case 1 :
-                    // InternalSensinact.g:889:2: ( RULE_INT )
-                    {
-                    // InternalSensinact.g:889:2: ( RULE_INT )
-                    // InternalSensinact.g:890:3: RULE_INT
-                    {
-                     before(grammarAccess.getNUMBERAccess().getINTTerminalRuleCall_0()); 
-                    match(input,RULE_INT,FOLLOW_2); 
-                     after(grammarAccess.getNUMBERAccess().getINTTerminalRuleCall_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // InternalSensinact.g:895:2: ( ( rule__NUMBER__Group_1__0 ) )
-                    {
-                    // InternalSensinact.g:895:2: ( ( rule__NUMBER__Group_1__0 ) )
-                    // InternalSensinact.g:896:3: ( rule__NUMBER__Group_1__0 )
-                    {
-                     before(grammarAccess.getNUMBERAccess().getGroup_1()); 
-                    // InternalSensinact.g:897:3: ( rule__NUMBER__Group_1__0 )
-                    // InternalSensinact.g:897:4: rule__NUMBER__Group_1__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__NUMBER__Group_1__0();
-
-                    state._fsp--;
-
-
-                    }
-
-                     after(grammarAccess.getNUMBERAccess().getGroup_1()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NUMBER__Alternatives"
-
-
-    // $ANTLR start "rule__DSL_CEP_STATEMENT__OperationAlternatives_3_0"
-    // InternalSensinact.g:905:1: rule__DSL_CEP_STATEMENT__OperationAlternatives_3_0 : ( ( ruleDSL_CEP_AFTER ) | ( ruleDSL_CEP_BEFORE ) | ( ruleDSL_CEP_COINCIDE ) | ( ruleDSL_CEP_MIN ) | ( ruleDSL_CEP_MAX ) | ( ruleDSL_CEP_AVG ) | ( ruleDSL_CEP_SUM ) | ( ruleDSL_CEP_COUNT ) );
-    public final void rule__DSL_CEP_STATEMENT__OperationAlternatives_3_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:909:1: ( ( ruleDSL_CEP_AFTER ) | ( ruleDSL_CEP_BEFORE ) | ( ruleDSL_CEP_COINCIDE ) | ( ruleDSL_CEP_MIN ) | ( ruleDSL_CEP_MAX ) | ( ruleDSL_CEP_AVG ) | ( ruleDSL_CEP_SUM ) | ( ruleDSL_CEP_COUNT ) )
-            int alt3=8;
-            switch ( input.LA(1) ) {
-            case 31:
-                {
-                alt3=1;
-                }
-                break;
-            case 32:
-                {
-                alt3=2;
-                }
-                break;
-            case 33:
-                {
-                alt3=3;
-                }
-                break;
-            case 34:
-                {
-                alt3=4;
-                }
-                break;
-            case 35:
-                {
-                alt3=5;
-                }
-                break;
-            case 36:
-                {
-                alt3=6;
-                }
-                break;
-            case 37:
-                {
-                alt3=7;
-                }
-                break;
-            case 38:
-                {
-                alt3=8;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 3, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt3) {
-                case 1 :
-                    // InternalSensinact.g:910:2: ( ruleDSL_CEP_AFTER )
-                    {
-                    // InternalSensinact.g:910:2: ( ruleDSL_CEP_AFTER )
-                    // InternalSensinact.g:911:3: ruleDSL_CEP_AFTER
-                    {
-                     before(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_AFTERParserRuleCall_3_0_0()); 
-                    pushFollow(FOLLOW_2);
-                    ruleDSL_CEP_AFTER();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_AFTERParserRuleCall_3_0_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // InternalSensinact.g:916:2: ( ruleDSL_CEP_BEFORE )
-                    {
-                    // InternalSensinact.g:916:2: ( ruleDSL_CEP_BEFORE )
-                    // InternalSensinact.g:917:3: ruleDSL_CEP_BEFORE
-                    {
-                     before(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_BEFOREParserRuleCall_3_0_1()); 
-                    pushFollow(FOLLOW_2);
-                    ruleDSL_CEP_BEFORE();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_BEFOREParserRuleCall_3_0_1()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // InternalSensinact.g:922:2: ( ruleDSL_CEP_COINCIDE )
-                    {
-                    // InternalSensinact.g:922:2: ( ruleDSL_CEP_COINCIDE )
-                    // InternalSensinact.g:923:3: ruleDSL_CEP_COINCIDE
-                    {
-                     before(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_COINCIDEParserRuleCall_3_0_2()); 
-                    pushFollow(FOLLOW_2);
-                    ruleDSL_CEP_COINCIDE();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_COINCIDEParserRuleCall_3_0_2()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 4 :
-                    // InternalSensinact.g:928:2: ( ruleDSL_CEP_MIN )
-                    {
-                    // InternalSensinact.g:928:2: ( ruleDSL_CEP_MIN )
-                    // InternalSensinact.g:929:3: ruleDSL_CEP_MIN
-                    {
-                     before(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_MINParserRuleCall_3_0_3()); 
-                    pushFollow(FOLLOW_2);
-                    ruleDSL_CEP_MIN();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_MINParserRuleCall_3_0_3()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 5 :
-                    // InternalSensinact.g:934:2: ( ruleDSL_CEP_MAX )
-                    {
-                    // InternalSensinact.g:934:2: ( ruleDSL_CEP_MAX )
-                    // InternalSensinact.g:935:3: ruleDSL_CEP_MAX
-                    {
-                     before(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_MAXParserRuleCall_3_0_4()); 
-                    pushFollow(FOLLOW_2);
-                    ruleDSL_CEP_MAX();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_MAXParserRuleCall_3_0_4()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 6 :
-                    // InternalSensinact.g:940:2: ( ruleDSL_CEP_AVG )
-                    {
-                    // InternalSensinact.g:940:2: ( ruleDSL_CEP_AVG )
-                    // InternalSensinact.g:941:3: ruleDSL_CEP_AVG
-                    {
-                     before(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_AVGParserRuleCall_3_0_5()); 
-                    pushFollow(FOLLOW_2);
-                    ruleDSL_CEP_AVG();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_AVGParserRuleCall_3_0_5()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 7 :
-                    // InternalSensinact.g:946:2: ( ruleDSL_CEP_SUM )
-                    {
-                    // InternalSensinact.g:946:2: ( ruleDSL_CEP_SUM )
-                    // InternalSensinact.g:947:3: ruleDSL_CEP_SUM
-                    {
-                     before(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_SUMParserRuleCall_3_0_6()); 
-                    pushFollow(FOLLOW_2);
-                    ruleDSL_CEP_SUM();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_SUMParserRuleCall_3_0_6()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 8 :
-                    // InternalSensinact.g:952:2: ( ruleDSL_CEP_COUNT )
-                    {
-                    // InternalSensinact.g:952:2: ( ruleDSL_CEP_COUNT )
-                    // InternalSensinact.g:953:3: ruleDSL_CEP_COUNT
-                    {
-                     before(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_COUNTParserRuleCall_3_0_7()); 
-                    pushFollow(FOLLOW_2);
-                    ruleDSL_CEP_COUNT();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_COUNTParserRuleCall_3_0_7()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_STATEMENT__OperationAlternatives_3_0"
-
-
-    // $ANTLR start "rule__DSL_CEP_DURATION__UnitsAlternatives_0"
-    // InternalSensinact.g:962:1: rule__DSL_CEP_DURATION__UnitsAlternatives_0 : ( ( ruleDSL_CEP_DURATION_MIN ) | ( ruleDSL_CEP_DURATION_SEC ) );
-    public final void rule__DSL_CEP_DURATION__UnitsAlternatives_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:966:1: ( ( ruleDSL_CEP_DURATION_MIN ) | ( ruleDSL_CEP_DURATION_SEC ) )
-            int alt4=2;
-            int LA4_0 = input.LA(1);
-
-            if ( (LA4_0==RULE_INT) ) {
-                switch ( input.LA(2) ) {
-                case 26:
-                    {
-                    int LA4_2 = input.LA(3);
-
-                    if ( (LA4_2==RULE_INT) ) {
-                        int LA4_5 = input.LA(4);
-
-                        if ( (LA4_5==39) ) {
-                            alt4=2;
-                        }
-                        else if ( (LA4_5==34) ) {
-                            alt4=1;
-                        }
-                        else {
-                            NoViableAltException nvae =
-                                new NoViableAltException("", 4, 5, input);
-
-                            throw nvae;
-                        }
-                    }
-                    else {
-                        NoViableAltException nvae =
-                            new NoViableAltException("", 4, 2, input);
-
-                        throw nvae;
-                    }
-                    }
-                    break;
-                case 39:
-                    {
-                    alt4=2;
-                    }
-                    break;
-                case 34:
-                    {
-                    alt4=1;
-                    }
-                    break;
-                default:
-                    NoViableAltException nvae =
-                        new NoViableAltException("", 4, 1, input);
-
-                    throw nvae;
-                }
-
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 4, 0, input);
-
-                throw nvae;
-            }
-            switch (alt4) {
-                case 1 :
-                    // InternalSensinact.g:967:2: ( ruleDSL_CEP_DURATION_MIN )
-                    {
-                    // InternalSensinact.g:967:2: ( ruleDSL_CEP_DURATION_MIN )
-                    // InternalSensinact.g:968:3: ruleDSL_CEP_DURATION_MIN
-                    {
-                     before(grammarAccess.getDSL_CEP_DURATIONAccess().getUnitsDSL_CEP_DURATION_MINParserRuleCall_0_0()); 
-                    pushFollow(FOLLOW_2);
-                    ruleDSL_CEP_DURATION_MIN();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getDSL_CEP_DURATIONAccess().getUnitsDSL_CEP_DURATION_MINParserRuleCall_0_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // InternalSensinact.g:973:2: ( ruleDSL_CEP_DURATION_SEC )
-                    {
-                    // InternalSensinact.g:973:2: ( ruleDSL_CEP_DURATION_SEC )
-                    // InternalSensinact.g:974:3: ruleDSL_CEP_DURATION_SEC
-                    {
-                     before(grammarAccess.getDSL_CEP_DURATIONAccess().getUnitsDSL_CEP_DURATION_SECParserRuleCall_0_1()); 
-                    pushFollow(FOLLOW_2);
-                    ruleDSL_CEP_DURATION_SEC();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getDSL_CEP_DURATIONAccess().getUnitsDSL_CEP_DURATION_SECParserRuleCall_0_1()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_DURATION__UnitsAlternatives_0"
-
-
-    // $ANTLR start "rule__DSL_ResourceAction__ActiontypeAlternatives_3_0"
-    // InternalSensinact.g:983:1: rule__DSL_ResourceAction__ActiontypeAlternatives_3_0 : ( ( 'act' ) | ( 'set' ) );
-    public final void rule__DSL_ResourceAction__ActiontypeAlternatives_3_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:987:1: ( ( 'act' ) | ( 'set' ) )
-            int alt5=2;
-            int LA5_0 = input.LA(1);
-
-            if ( (LA5_0==12) ) {
-                alt5=1;
-            }
-            else if ( (LA5_0==13) ) {
-                alt5=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 5, 0, input);
-
-                throw nvae;
-            }
-            switch (alt5) {
-                case 1 :
-                    // InternalSensinact.g:988:2: ( 'act' )
-                    {
-                    // InternalSensinact.g:988:2: ( 'act' )
-                    // InternalSensinact.g:989:3: 'act'
-                    {
-                     before(grammarAccess.getDSL_ResourceActionAccess().getActiontypeActKeyword_3_0_0()); 
-                    match(input,12,FOLLOW_2); 
-                     after(grammarAccess.getDSL_ResourceActionAccess().getActiontypeActKeyword_3_0_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // InternalSensinact.g:994:2: ( 'set' )
-                    {
-                    // InternalSensinact.g:994:2: ( 'set' )
-                    // InternalSensinact.g:995:3: 'set'
-                    {
-                     before(grammarAccess.getDSL_ResourceActionAccess().getActiontypeSetKeyword_3_0_1()); 
-                    match(input,13,FOLLOW_2); 
-                     after(grammarAccess.getDSL_ResourceActionAccess().getActiontypeSetKeyword_3_0_1()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ResourceAction__ActiontypeAlternatives_3_0"
-
-
-    // $ANTLR start "rule__DSL_Expression_DiffEqual__Alternatives_1"
-    // InternalSensinact.g:1004:1: rule__DSL_Expression_DiffEqual__Alternatives_1 : ( ( ( rule__DSL_Expression_DiffEqual__Group_1_0__0 ) ) | ( ( rule__DSL_Expression_DiffEqual__Group_1_1__0 ) ) );
-    public final void rule__DSL_Expression_DiffEqual__Alternatives_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1008:1: ( ( ( rule__DSL_Expression_DiffEqual__Group_1_0__0 ) ) | ( ( rule__DSL_Expression_DiffEqual__Group_1_1__0 ) ) )
-            int alt6=2;
-            int LA6_0 = input.LA(1);
-
-            if ( (LA6_0==42) ) {
-                alt6=1;
-            }
-            else if ( (LA6_0==43) ) {
-                alt6=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 6, 0, input);
-
-                throw nvae;
-            }
-            switch (alt6) {
-                case 1 :
-                    // InternalSensinact.g:1009:2: ( ( rule__DSL_Expression_DiffEqual__Group_1_0__0 ) )
-                    {
-                    // InternalSensinact.g:1009:2: ( ( rule__DSL_Expression_DiffEqual__Group_1_0__0 ) )
-                    // InternalSensinact.g:1010:3: ( rule__DSL_Expression_DiffEqual__Group_1_0__0 )
-                    {
-                     before(grammarAccess.getDSL_Expression_DiffEqualAccess().getGroup_1_0()); 
-                    // InternalSensinact.g:1011:3: ( rule__DSL_Expression_DiffEqual__Group_1_0__0 )
-                    // InternalSensinact.g:1011:4: rule__DSL_Expression_DiffEqual__Group_1_0__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DSL_Expression_DiffEqual__Group_1_0__0();
-
-                    state._fsp--;
-
-
-                    }
-
-                     after(grammarAccess.getDSL_Expression_DiffEqualAccess().getGroup_1_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // InternalSensinact.g:1015:2: ( ( rule__DSL_Expression_DiffEqual__Group_1_1__0 ) )
-                    {
-                    // InternalSensinact.g:1015:2: ( ( rule__DSL_Expression_DiffEqual__Group_1_1__0 ) )
-                    // InternalSensinact.g:1016:3: ( rule__DSL_Expression_DiffEqual__Group_1_1__0 )
-                    {
-                     before(grammarAccess.getDSL_Expression_DiffEqualAccess().getGroup_1_1()); 
-                    // InternalSensinact.g:1017:3: ( rule__DSL_Expression_DiffEqual__Group_1_1__0 )
-                    // InternalSensinact.g:1017:4: rule__DSL_Expression_DiffEqual__Group_1_1__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DSL_Expression_DiffEqual__Group_1_1__0();
-
-                    state._fsp--;
-
-
-                    }
-
-                     after(grammarAccess.getDSL_Expression_DiffEqualAccess().getGroup_1_1()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_DiffEqual__Alternatives_1"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__Alternatives_1"
-    // InternalSensinact.g:1025:1: rule__DSL_Expression_Compare__Alternatives_1 : ( ( ( rule__DSL_Expression_Compare__Group_1_0__0 ) ) | ( ( rule__DSL_Expression_Compare__Group_1_1__0 ) ) | ( ( rule__DSL_Expression_Compare__Group_1_2__0 ) ) | ( ( rule__DSL_Expression_Compare__Group_1_3__0 ) ) );
-    public final void rule__DSL_Expression_Compare__Alternatives_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1029:1: ( ( ( rule__DSL_Expression_Compare__Group_1_0__0 ) ) | ( ( rule__DSL_Expression_Compare__Group_1_1__0 ) ) | ( ( rule__DSL_Expression_Compare__Group_1_2__0 ) ) | ( ( rule__DSL_Expression_Compare__Group_1_3__0 ) ) )
-            int alt7=4;
-            switch ( input.LA(1) ) {
-            case 44:
-                {
-                alt7=1;
-                }
-                break;
-            case 45:
-                {
-                alt7=2;
-                }
-                break;
-            case 46:
-                {
-                alt7=3;
-                }
-                break;
-            case 47:
-                {
-                alt7=4;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 7, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt7) {
-                case 1 :
-                    // InternalSensinact.g:1030:2: ( ( rule__DSL_Expression_Compare__Group_1_0__0 ) )
-                    {
-                    // InternalSensinact.g:1030:2: ( ( rule__DSL_Expression_Compare__Group_1_0__0 ) )
-                    // InternalSensinact.g:1031:3: ( rule__DSL_Expression_Compare__Group_1_0__0 )
-                    {
-                     before(grammarAccess.getDSL_Expression_CompareAccess().getGroup_1_0()); 
-                    // InternalSensinact.g:1032:3: ( rule__DSL_Expression_Compare__Group_1_0__0 )
-                    // InternalSensinact.g:1032:4: rule__DSL_Expression_Compare__Group_1_0__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DSL_Expression_Compare__Group_1_0__0();
-
-                    state._fsp--;
-
-
-                    }
-
-                     after(grammarAccess.getDSL_Expression_CompareAccess().getGroup_1_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // InternalSensinact.g:1036:2: ( ( rule__DSL_Expression_Compare__Group_1_1__0 ) )
-                    {
-                    // InternalSensinact.g:1036:2: ( ( rule__DSL_Expression_Compare__Group_1_1__0 ) )
-                    // InternalSensinact.g:1037:3: ( rule__DSL_Expression_Compare__Group_1_1__0 )
-                    {
-                     before(grammarAccess.getDSL_Expression_CompareAccess().getGroup_1_1()); 
-                    // InternalSensinact.g:1038:3: ( rule__DSL_Expression_Compare__Group_1_1__0 )
-                    // InternalSensinact.g:1038:4: rule__DSL_Expression_Compare__Group_1_1__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DSL_Expression_Compare__Group_1_1__0();
-
-                    state._fsp--;
-
-
-                    }
-
-                     after(grammarAccess.getDSL_Expression_CompareAccess().getGroup_1_1()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // InternalSensinact.g:1042:2: ( ( rule__DSL_Expression_Compare__Group_1_2__0 ) )
-                    {
-                    // InternalSensinact.g:1042:2: ( ( rule__DSL_Expression_Compare__Group_1_2__0 ) )
-                    // InternalSensinact.g:1043:3: ( rule__DSL_Expression_Compare__Group_1_2__0 )
-                    {
-                     before(grammarAccess.getDSL_Expression_CompareAccess().getGroup_1_2()); 
-                    // InternalSensinact.g:1044:3: ( rule__DSL_Expression_Compare__Group_1_2__0 )
-                    // InternalSensinact.g:1044:4: rule__DSL_Expression_Compare__Group_1_2__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DSL_Expression_Compare__Group_1_2__0();
-
-                    state._fsp--;
-
-
-                    }
-
-                     after(grammarAccess.getDSL_Expression_CompareAccess().getGroup_1_2()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 4 :
-                    // InternalSensinact.g:1048:2: ( ( rule__DSL_Expression_Compare__Group_1_3__0 ) )
-                    {
-                    // InternalSensinact.g:1048:2: ( ( rule__DSL_Expression_Compare__Group_1_3__0 ) )
-                    // InternalSensinact.g:1049:3: ( rule__DSL_Expression_Compare__Group_1_3__0 )
-                    {
-                     before(grammarAccess.getDSL_Expression_CompareAccess().getGroup_1_3()); 
-                    // InternalSensinact.g:1050:3: ( rule__DSL_Expression_Compare__Group_1_3__0 )
-                    // InternalSensinact.g:1050:4: rule__DSL_Expression_Compare__Group_1_3__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DSL_Expression_Compare__Group_1_3__0();
-
-                    state._fsp--;
-
-
-                    }
-
-                     after(grammarAccess.getDSL_Expression_CompareAccess().getGroup_1_3()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__Alternatives_1"
-
-
-    // $ANTLR start "rule__DSL_Expression_PlusMinus__Alternatives_1"
-    // InternalSensinact.g:1058:1: rule__DSL_Expression_PlusMinus__Alternatives_1 : ( ( ( rule__DSL_Expression_PlusMinus__Group_1_0__0 ) ) | ( ( rule__DSL_Expression_PlusMinus__Group_1_1__0 ) ) );
-    public final void rule__DSL_Expression_PlusMinus__Alternatives_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1062:1: ( ( ( rule__DSL_Expression_PlusMinus__Group_1_0__0 ) ) | ( ( rule__DSL_Expression_PlusMinus__Group_1_1__0 ) ) )
-            int alt8=2;
-            int LA8_0 = input.LA(1);
-
-            if ( (LA8_0==48) ) {
-                alt8=1;
-            }
-            else if ( (LA8_0==49) ) {
-                alt8=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 8, 0, input);
-
-                throw nvae;
-            }
-            switch (alt8) {
-                case 1 :
-                    // InternalSensinact.g:1063:2: ( ( rule__DSL_Expression_PlusMinus__Group_1_0__0 ) )
-                    {
-                    // InternalSensinact.g:1063:2: ( ( rule__DSL_Expression_PlusMinus__Group_1_0__0 ) )
-                    // InternalSensinact.g:1064:3: ( rule__DSL_Expression_PlusMinus__Group_1_0__0 )
-                    {
-                     before(grammarAccess.getDSL_Expression_PlusMinusAccess().getGroup_1_0()); 
-                    // InternalSensinact.g:1065:3: ( rule__DSL_Expression_PlusMinus__Group_1_0__0 )
-                    // InternalSensinact.g:1065:4: rule__DSL_Expression_PlusMinus__Group_1_0__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DSL_Expression_PlusMinus__Group_1_0__0();
-
-                    state._fsp--;
-
-
-                    }
-
-                     after(grammarAccess.getDSL_Expression_PlusMinusAccess().getGroup_1_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // InternalSensinact.g:1069:2: ( ( rule__DSL_Expression_PlusMinus__Group_1_1__0 ) )
-                    {
-                    // InternalSensinact.g:1069:2: ( ( rule__DSL_Expression_PlusMinus__Group_1_1__0 ) )
-                    // InternalSensinact.g:1070:3: ( rule__DSL_Expression_PlusMinus__Group_1_1__0 )
-                    {
-                     before(grammarAccess.getDSL_Expression_PlusMinusAccess().getGroup_1_1()); 
-                    // InternalSensinact.g:1071:3: ( rule__DSL_Expression_PlusMinus__Group_1_1__0 )
-                    // InternalSensinact.g:1071:4: rule__DSL_Expression_PlusMinus__Group_1_1__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DSL_Expression_PlusMinus__Group_1_1__0();
-
-                    state._fsp--;
-
-
-                    }
-
-                     after(grammarAccess.getDSL_Expression_PlusMinusAccess().getGroup_1_1()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_PlusMinus__Alternatives_1"
-
-
-    // $ANTLR start "rule__DSL_Expression_MultiplicationDivision__Alternatives_1"
-    // InternalSensinact.g:1079:1: rule__DSL_Expression_MultiplicationDivision__Alternatives_1 : ( ( ( rule__DSL_Expression_MultiplicationDivision__Group_1_0__0 ) ) | ( ( rule__DSL_Expression_MultiplicationDivision__Group_1_1__0 ) ) | ( ( rule__DSL_Expression_MultiplicationDivision__Group_1_2__0 ) ) );
-    public final void rule__DSL_Expression_MultiplicationDivision__Alternatives_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1083:1: ( ( ( rule__DSL_Expression_MultiplicationDivision__Group_1_0__0 ) ) | ( ( rule__DSL_Expression_MultiplicationDivision__Group_1_1__0 ) ) | ( ( rule__DSL_Expression_MultiplicationDivision__Group_1_2__0 ) ) )
-            int alt9=3;
-            switch ( input.LA(1) ) {
-            case 50:
-                {
-                alt9=1;
-                }
-                break;
-            case 17:
-                {
-                alt9=2;
-                }
-                break;
-            case 51:
-                {
-                alt9=3;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 9, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt9) {
-                case 1 :
-                    // InternalSensinact.g:1084:2: ( ( rule__DSL_Expression_MultiplicationDivision__Group_1_0__0 ) )
-                    {
-                    // InternalSensinact.g:1084:2: ( ( rule__DSL_Expression_MultiplicationDivision__Group_1_0__0 ) )
-                    // InternalSensinact.g:1085:3: ( rule__DSL_Expression_MultiplicationDivision__Group_1_0__0 )
-                    {
-                     before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getGroup_1_0()); 
-                    // InternalSensinact.g:1086:3: ( rule__DSL_Expression_MultiplicationDivision__Group_1_0__0 )
-                    // InternalSensinact.g:1086:4: rule__DSL_Expression_MultiplicationDivision__Group_1_0__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DSL_Expression_MultiplicationDivision__Group_1_0__0();
-
-                    state._fsp--;
-
-
-                    }
-
-                     after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getGroup_1_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // InternalSensinact.g:1090:2: ( ( rule__DSL_Expression_MultiplicationDivision__Group_1_1__0 ) )
-                    {
-                    // InternalSensinact.g:1090:2: ( ( rule__DSL_Expression_MultiplicationDivision__Group_1_1__0 ) )
-                    // InternalSensinact.g:1091:3: ( rule__DSL_Expression_MultiplicationDivision__Group_1_1__0 )
-                    {
-                     before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getGroup_1_1()); 
-                    // InternalSensinact.g:1092:3: ( rule__DSL_Expression_MultiplicationDivision__Group_1_1__0 )
-                    // InternalSensinact.g:1092:4: rule__DSL_Expression_MultiplicationDivision__Group_1_1__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DSL_Expression_MultiplicationDivision__Group_1_1__0();
-
-                    state._fsp--;
-
-
-                    }
-
-                     after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getGroup_1_1()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // InternalSensinact.g:1096:2: ( ( rule__DSL_Expression_MultiplicationDivision__Group_1_2__0 ) )
-                    {
-                    // InternalSensinact.g:1096:2: ( ( rule__DSL_Expression_MultiplicationDivision__Group_1_2__0 ) )
-                    // InternalSensinact.g:1097:3: ( rule__DSL_Expression_MultiplicationDivision__Group_1_2__0 )
-                    {
-                     before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getGroup_1_2()); 
-                    // InternalSensinact.g:1098:3: ( rule__DSL_Expression_MultiplicationDivision__Group_1_2__0 )
-                    // InternalSensinact.g:1098:4: rule__DSL_Expression_MultiplicationDivision__Group_1_2__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DSL_Expression_MultiplicationDivision__Group_1_2__0();
-
-                    state._fsp--;
-
-
-                    }
-
-                     after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getGroup_1_2()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_MultiplicationDivision__Alternatives_1"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__Alternatives"
-    // InternalSensinact.g:1106:1: rule__DSL_Expression_Unary__Alternatives : ( ( ( rule__DSL_Expression_Unary__Group_0__0 ) ) | ( ( rule__DSL_Expression_Unary__Group_1__0 ) ) | ( ( rule__DSL_Expression_Unary__Group_2__0 ) ) | ( ( rule__DSL_Expression_Unary__Group_3__0 ) ) | ( ( rule__DSL_Expression_Unary__Group_4__0 ) ) | ( ( rule__DSL_Expression_Unary__Group_5__0 ) ) );
-    public final void rule__DSL_Expression_Unary__Alternatives() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1110:1: ( ( ( rule__DSL_Expression_Unary__Group_0__0 ) ) | ( ( rule__DSL_Expression_Unary__Group_1__0 ) ) | ( ( rule__DSL_Expression_Unary__Group_2__0 ) ) | ( ( rule__DSL_Expression_Unary__Group_3__0 ) ) | ( ( rule__DSL_Expression_Unary__Group_4__0 ) ) | ( ( rule__DSL_Expression_Unary__Group_5__0 ) ) )
-            int alt10=6;
-            switch ( input.LA(1) ) {
-            case RULE_INT:
-                {
-                alt10=1;
-                }
-                break;
-            case RULE_STRING:
-                {
-                alt10=2;
-                }
-                break;
-            case RULE_BOOLEAN:
-                {
-                alt10=3;
-                }
-                break;
-            case RULE_ID:
-                {
-                alt10=4;
-                }
-                break;
-            case 28:
-                {
-                alt10=5;
-                }
-                break;
-            case 53:
-                {
-                alt10=6;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 10, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt10) {
-                case 1 :
-                    // InternalSensinact.g:1111:2: ( ( rule__DSL_Expression_Unary__Group_0__0 ) )
-                    {
-                    // InternalSensinact.g:1111:2: ( ( rule__DSL_Expression_Unary__Group_0__0 ) )
-                    // InternalSensinact.g:1112:3: ( rule__DSL_Expression_Unary__Group_0__0 )
-                    {
-                     before(grammarAccess.getDSL_Expression_UnaryAccess().getGroup_0()); 
-                    // InternalSensinact.g:1113:3: ( rule__DSL_Expression_Unary__Group_0__0 )
-                    // InternalSensinact.g:1113:4: rule__DSL_Expression_Unary__Group_0__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DSL_Expression_Unary__Group_0__0();
-
-                    state._fsp--;
-
-
-                    }
-
-                     after(grammarAccess.getDSL_Expression_UnaryAccess().getGroup_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // InternalSensinact.g:1117:2: ( ( rule__DSL_Expression_Unary__Group_1__0 ) )
-                    {
-                    // InternalSensinact.g:1117:2: ( ( rule__DSL_Expression_Unary__Group_1__0 ) )
-                    // InternalSensinact.g:1118:3: ( rule__DSL_Expression_Unary__Group_1__0 )
-                    {
-                     before(grammarAccess.getDSL_Expression_UnaryAccess().getGroup_1()); 
-                    // InternalSensinact.g:1119:3: ( rule__DSL_Expression_Unary__Group_1__0 )
-                    // InternalSensinact.g:1119:4: rule__DSL_Expression_Unary__Group_1__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DSL_Expression_Unary__Group_1__0();
-
-                    state._fsp--;
-
-
-                    }
-
-                     after(grammarAccess.getDSL_Expression_UnaryAccess().getGroup_1()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // InternalSensinact.g:1123:2: ( ( rule__DSL_Expression_Unary__Group_2__0 ) )
-                    {
-                    // InternalSensinact.g:1123:2: ( ( rule__DSL_Expression_Unary__Group_2__0 ) )
-                    // InternalSensinact.g:1124:3: ( rule__DSL_Expression_Unary__Group_2__0 )
-                    {
-                     before(grammarAccess.getDSL_Expression_UnaryAccess().getGroup_2()); 
-                    // InternalSensinact.g:1125:3: ( rule__DSL_Expression_Unary__Group_2__0 )
-                    // InternalSensinact.g:1125:4: rule__DSL_Expression_Unary__Group_2__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DSL_Expression_Unary__Group_2__0();
-
-                    state._fsp--;
-
-
-                    }
-
-                     after(grammarAccess.getDSL_Expression_UnaryAccess().getGroup_2()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 4 :
-                    // InternalSensinact.g:1129:2: ( ( rule__DSL_Expression_Unary__Group_3__0 ) )
-                    {
-                    // InternalSensinact.g:1129:2: ( ( rule__DSL_Expression_Unary__Group_3__0 ) )
-                    // InternalSensinact.g:1130:3: ( rule__DSL_Expression_Unary__Group_3__0 )
-                    {
-                     before(grammarAccess.getDSL_Expression_UnaryAccess().getGroup_3()); 
-                    // InternalSensinact.g:1131:3: ( rule__DSL_Expression_Unary__Group_3__0 )
-                    // InternalSensinact.g:1131:4: rule__DSL_Expression_Unary__Group_3__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DSL_Expression_Unary__Group_3__0();
-
-                    state._fsp--;
-
-
-                    }
-
-                     after(grammarAccess.getDSL_Expression_UnaryAccess().getGroup_3()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 5 :
-                    // InternalSensinact.g:1135:2: ( ( rule__DSL_Expression_Unary__Group_4__0 ) )
-                    {
-                    // InternalSensinact.g:1135:2: ( ( rule__DSL_Expression_Unary__Group_4__0 ) )
-                    // InternalSensinact.g:1136:3: ( rule__DSL_Expression_Unary__Group_4__0 )
-                    {
-                     before(grammarAccess.getDSL_Expression_UnaryAccess().getGroup_4()); 
-                    // InternalSensinact.g:1137:3: ( rule__DSL_Expression_Unary__Group_4__0 )
-                    // InternalSensinact.g:1137:4: rule__DSL_Expression_Unary__Group_4__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DSL_Expression_Unary__Group_4__0();
-
-                    state._fsp--;
-
-
-                    }
-
-                     after(grammarAccess.getDSL_Expression_UnaryAccess().getGroup_4()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 6 :
-                    // InternalSensinact.g:1141:2: ( ( rule__DSL_Expression_Unary__Group_5__0 ) )
-                    {
-                    // InternalSensinact.g:1141:2: ( ( rule__DSL_Expression_Unary__Group_5__0 ) )
-                    // InternalSensinact.g:1142:3: ( rule__DSL_Expression_Unary__Group_5__0 )
-                    {
-                     before(grammarAccess.getDSL_Expression_UnaryAccess().getGroup_5()); 
-                    // InternalSensinact.g:1143:3: ( rule__DSL_Expression_Unary__Group_5__0 )
-                    // InternalSensinact.g:1143:4: rule__DSL_Expression_Unary__Group_5__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DSL_Expression_Unary__Group_5__0();
-
-                    state._fsp--;
-
-
-                    }
-
-                     after(grammarAccess.getDSL_Expression_UnaryAccess().getGroup_5()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__Alternatives"
-
-
-    // $ANTLR start "rule__Sensinact__Group__0"
-    // InternalSensinact.g:1151:1: rule__Sensinact__Group__0 : rule__Sensinact__Group__0__Impl rule__Sensinact__Group__1 ;
-    public final void rule__Sensinact__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1155:1: ( rule__Sensinact__Group__0__Impl rule__Sensinact__Group__1 )
-            // InternalSensinact.g:1156:2: rule__Sensinact__Group__0__Impl rule__Sensinact__Group__1
-            {
-            pushFollow(FOLLOW_4);
-            rule__Sensinact__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__Sensinact__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Sensinact__Group__0"
-
-
-    // $ANTLR start "rule__Sensinact__Group__0__Impl"
-    // InternalSensinact.g:1163:1: rule__Sensinact__Group__0__Impl : ( () ) ;
-    public final void rule__Sensinact__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1167:1: ( ( () ) )
-            // InternalSensinact.g:1168:1: ( () )
-            {
-            // InternalSensinact.g:1168:1: ( () )
-            // InternalSensinact.g:1169:2: ()
-            {
-             before(grammarAccess.getSensinactAccess().getSensinactAction_0()); 
-            // InternalSensinact.g:1170:2: ()
-            // InternalSensinact.g:1170:3: 
-            {
-            }
-
-             after(grammarAccess.getSensinactAccess().getSensinactAction_0()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Sensinact__Group__0__Impl"
-
-
-    // $ANTLR start "rule__Sensinact__Group__1"
-    // InternalSensinact.g:1178:1: rule__Sensinact__Group__1 : rule__Sensinact__Group__1__Impl ;
-    public final void rule__Sensinact__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1182:1: ( rule__Sensinact__Group__1__Impl )
-            // InternalSensinact.g:1183:2: rule__Sensinact__Group__1__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__Sensinact__Group__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Sensinact__Group__1"
-
-
-    // $ANTLR start "rule__Sensinact__Group__1__Impl"
-    // InternalSensinact.g:1189:1: rule__Sensinact__Group__1__Impl : ( ( rule__Sensinact__EcaAssignment_1 ) ) ;
-    public final void rule__Sensinact__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1193:1: ( ( ( rule__Sensinact__EcaAssignment_1 ) ) )
-            // InternalSensinact.g:1194:1: ( ( rule__Sensinact__EcaAssignment_1 ) )
-            {
-            // InternalSensinact.g:1194:1: ( ( rule__Sensinact__EcaAssignment_1 ) )
-            // InternalSensinact.g:1195:2: ( rule__Sensinact__EcaAssignment_1 )
-            {
-             before(grammarAccess.getSensinactAccess().getEcaAssignment_1()); 
-            // InternalSensinact.g:1196:2: ( rule__Sensinact__EcaAssignment_1 )
-            // InternalSensinact.g:1196:3: rule__Sensinact__EcaAssignment_1
-            {
-            pushFollow(FOLLOW_2);
-            rule__Sensinact__EcaAssignment_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getSensinactAccess().getEcaAssignment_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Sensinact__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_SENSINACT__Group__0"
-    // InternalSensinact.g:1205:1: rule__DSL_SENSINACT__Group__0 : rule__DSL_SENSINACT__Group__0__Impl rule__DSL_SENSINACT__Group__1 ;
-    public final void rule__DSL_SENSINACT__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1209:1: ( rule__DSL_SENSINACT__Group__0__Impl rule__DSL_SENSINACT__Group__1 )
-            // InternalSensinact.g:1210:2: rule__DSL_SENSINACT__Group__0__Impl rule__DSL_SENSINACT__Group__1
-            {
-            pushFollow(FOLLOW_5);
-            rule__DSL_SENSINACT__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_SENSINACT__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_SENSINACT__Group__0"
-
-
-    // $ANTLR start "rule__DSL_SENSINACT__Group__0__Impl"
-    // InternalSensinact.g:1217:1: rule__DSL_SENSINACT__Group__0__Impl : ( ( ( rule__DSL_SENSINACT__ResourcesAssignment_0 ) ) ( ( rule__DSL_SENSINACT__ResourcesAssignment_0 )* ) ) ;
-    public final void rule__DSL_SENSINACT__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1221:1: ( ( ( ( rule__DSL_SENSINACT__ResourcesAssignment_0 ) ) ( ( rule__DSL_SENSINACT__ResourcesAssignment_0 )* ) ) )
-            // InternalSensinact.g:1222:1: ( ( ( rule__DSL_SENSINACT__ResourcesAssignment_0 ) ) ( ( rule__DSL_SENSINACT__ResourcesAssignment_0 )* ) )
-            {
-            // InternalSensinact.g:1222:1: ( ( ( rule__DSL_SENSINACT__ResourcesAssignment_0 ) ) ( ( rule__DSL_SENSINACT__ResourcesAssignment_0 )* ) )
-            // InternalSensinact.g:1223:2: ( ( rule__DSL_SENSINACT__ResourcesAssignment_0 ) ) ( ( rule__DSL_SENSINACT__ResourcesAssignment_0 )* )
-            {
-            // InternalSensinact.g:1223:2: ( ( rule__DSL_SENSINACT__ResourcesAssignment_0 ) )
-            // InternalSensinact.g:1224:3: ( rule__DSL_SENSINACT__ResourcesAssignment_0 )
-            {
-             before(grammarAccess.getDSL_SENSINACTAccess().getResourcesAssignment_0()); 
-            // InternalSensinact.g:1225:3: ( rule__DSL_SENSINACT__ResourcesAssignment_0 )
-            // InternalSensinact.g:1225:4: rule__DSL_SENSINACT__ResourcesAssignment_0
-            {
-            pushFollow(FOLLOW_6);
-            rule__DSL_SENSINACT__ResourcesAssignment_0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_SENSINACTAccess().getResourcesAssignment_0()); 
-
-            }
-
-            // InternalSensinact.g:1228:2: ( ( rule__DSL_SENSINACT__ResourcesAssignment_0 )* )
-            // InternalSensinact.g:1229:3: ( rule__DSL_SENSINACT__ResourcesAssignment_0 )*
-            {
-             before(grammarAccess.getDSL_SENSINACTAccess().getResourcesAssignment_0()); 
-            // InternalSensinact.g:1230:3: ( rule__DSL_SENSINACT__ResourcesAssignment_0 )*
-            loop11:
-            do {
-                int alt11=2;
-                int LA11_0 = input.LA(1);
-
-                if ( (LA11_0==14) ) {
-                    alt11=1;
-                }
-
-
-                switch (alt11) {
-            	case 1 :
-            	    // InternalSensinact.g:1230:4: rule__DSL_SENSINACT__ResourcesAssignment_0
-            	    {
-            	    pushFollow(FOLLOW_6);
-            	    rule__DSL_SENSINACT__ResourcesAssignment_0();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop11;
-                }
-            } while (true);
-
-             after(grammarAccess.getDSL_SENSINACTAccess().getResourcesAssignment_0()); 
-
-            }
-
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_SENSINACT__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_SENSINACT__Group__1"
-    // InternalSensinact.g:1239:1: rule__DSL_SENSINACT__Group__1 : rule__DSL_SENSINACT__Group__1__Impl rule__DSL_SENSINACT__Group__2 ;
-    public final void rule__DSL_SENSINACT__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1243:1: ( rule__DSL_SENSINACT__Group__1__Impl rule__DSL_SENSINACT__Group__2 )
-            // InternalSensinact.g:1244:2: rule__DSL_SENSINACT__Group__1__Impl rule__DSL_SENSINACT__Group__2
-            {
-            pushFollow(FOLLOW_5);
-            rule__DSL_SENSINACT__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_SENSINACT__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_SENSINACT__Group__1"
-
-
-    // $ANTLR start "rule__DSL_SENSINACT__Group__1__Impl"
-    // InternalSensinact.g:1251:1: rule__DSL_SENSINACT__Group__1__Impl : ( ( rule__DSL_SENSINACT__CepAssignment_1 )* ) ;
-    public final void rule__DSL_SENSINACT__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1255:1: ( ( ( rule__DSL_SENSINACT__CepAssignment_1 )* ) )
-            // InternalSensinact.g:1256:1: ( ( rule__DSL_SENSINACT__CepAssignment_1 )* )
-            {
-            // InternalSensinact.g:1256:1: ( ( rule__DSL_SENSINACT__CepAssignment_1 )* )
-            // InternalSensinact.g:1257:2: ( rule__DSL_SENSINACT__CepAssignment_1 )*
-            {
-             before(grammarAccess.getDSL_SENSINACTAccess().getCepAssignment_1()); 
-            // InternalSensinact.g:1258:2: ( rule__DSL_SENSINACT__CepAssignment_1 )*
-            loop12:
-            do {
-                int alt12=2;
-                int LA12_0 = input.LA(1);
-
-                if ( (LA12_0==30) ) {
-                    alt12=1;
-                }
-
-
-                switch (alt12) {
-            	case 1 :
-            	    // InternalSensinact.g:1258:3: rule__DSL_SENSINACT__CepAssignment_1
-            	    {
-            	    pushFollow(FOLLOW_7);
-            	    rule__DSL_SENSINACT__CepAssignment_1();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop12;
-                }
-            } while (true);
-
-             after(grammarAccess.getDSL_SENSINACTAccess().getCepAssignment_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_SENSINACT__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_SENSINACT__Group__2"
-    // InternalSensinact.g:1266:1: rule__DSL_SENSINACT__Group__2 : rule__DSL_SENSINACT__Group__2__Impl rule__DSL_SENSINACT__Group__3 ;
-    public final void rule__DSL_SENSINACT__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1270:1: ( rule__DSL_SENSINACT__Group__2__Impl rule__DSL_SENSINACT__Group__3 )
-            // InternalSensinact.g:1271:2: rule__DSL_SENSINACT__Group__2__Impl rule__DSL_SENSINACT__Group__3
-            {
-            pushFollow(FOLLOW_8);
-            rule__DSL_SENSINACT__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_SENSINACT__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_SENSINACT__Group__2"
-
-
-    // $ANTLR start "rule__DSL_SENSINACT__Group__2__Impl"
-    // InternalSensinact.g:1278:1: rule__DSL_SENSINACT__Group__2__Impl : ( ( rule__DSL_SENSINACT__OnAssignment_2 ) ) ;
-    public final void rule__DSL_SENSINACT__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1282:1: ( ( ( rule__DSL_SENSINACT__OnAssignment_2 ) ) )
-            // InternalSensinact.g:1283:1: ( ( rule__DSL_SENSINACT__OnAssignment_2 ) )
-            {
-            // InternalSensinact.g:1283:1: ( ( rule__DSL_SENSINACT__OnAssignment_2 ) )
-            // InternalSensinact.g:1284:2: ( rule__DSL_SENSINACT__OnAssignment_2 )
-            {
-             before(grammarAccess.getDSL_SENSINACTAccess().getOnAssignment_2()); 
-            // InternalSensinact.g:1285:2: ( rule__DSL_SENSINACT__OnAssignment_2 )
-            // InternalSensinact.g:1285:3: rule__DSL_SENSINACT__OnAssignment_2
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_SENSINACT__OnAssignment_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_SENSINACTAccess().getOnAssignment_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_SENSINACT__Group__2__Impl"
-
-
-    // $ANTLR start "rule__DSL_SENSINACT__Group__3"
-    // InternalSensinact.g:1293:1: rule__DSL_SENSINACT__Group__3 : rule__DSL_SENSINACT__Group__3__Impl ;
-    public final void rule__DSL_SENSINACT__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1297:1: ( rule__DSL_SENSINACT__Group__3__Impl )
-            // InternalSensinact.g:1298:2: rule__DSL_SENSINACT__Group__3__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_SENSINACT__Group__3__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_SENSINACT__Group__3"
-
-
-    // $ANTLR start "rule__DSL_SENSINACT__Group__3__Impl"
-    // InternalSensinact.g:1304:1: rule__DSL_SENSINACT__Group__3__Impl : ( ( rule__DSL_SENSINACT__EcaAssignment_3 ) ) ;
-    public final void rule__DSL_SENSINACT__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1308:1: ( ( ( rule__DSL_SENSINACT__EcaAssignment_3 ) ) )
-            // InternalSensinact.g:1309:1: ( ( rule__DSL_SENSINACT__EcaAssignment_3 ) )
-            {
-            // InternalSensinact.g:1309:1: ( ( rule__DSL_SENSINACT__EcaAssignment_3 ) )
-            // InternalSensinact.g:1310:2: ( rule__DSL_SENSINACT__EcaAssignment_3 )
-            {
-             before(grammarAccess.getDSL_SENSINACTAccess().getEcaAssignment_3()); 
-            // InternalSensinact.g:1311:2: ( rule__DSL_SENSINACT__EcaAssignment_3 )
-            // InternalSensinact.g:1311:3: rule__DSL_SENSINACT__EcaAssignment_3
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_SENSINACT__EcaAssignment_3();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_SENSINACTAccess().getEcaAssignment_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_SENSINACT__Group__3__Impl"
-
-
-    // $ANTLR start "rule__DSL_Resource__Group__0"
-    // InternalSensinact.g:1320:1: rule__DSL_Resource__Group__0 : rule__DSL_Resource__Group__0__Impl rule__DSL_Resource__Group__1 ;
-    public final void rule__DSL_Resource__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1324:1: ( rule__DSL_Resource__Group__0__Impl rule__DSL_Resource__Group__1 )
-            // InternalSensinact.g:1325:2: rule__DSL_Resource__Group__0__Impl rule__DSL_Resource__Group__1
-            {
-            pushFollow(FOLLOW_9);
-            rule__DSL_Resource__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Resource__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Resource__Group__0"
-
-
-    // $ANTLR start "rule__DSL_Resource__Group__0__Impl"
-    // InternalSensinact.g:1332:1: rule__DSL_Resource__Group__0__Impl : ( 'resource' ) ;
-    public final void rule__DSL_Resource__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1336:1: ( ( 'resource' ) )
-            // InternalSensinact.g:1337:1: ( 'resource' )
-            {
-            // InternalSensinact.g:1337:1: ( 'resource' )
-            // InternalSensinact.g:1338:2: 'resource'
-            {
-             before(grammarAccess.getDSL_ResourceAccess().getResourceKeyword_0()); 
-            match(input,14,FOLLOW_2); 
-             after(grammarAccess.getDSL_ResourceAccess().getResourceKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Resource__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_Resource__Group__1"
-    // InternalSensinact.g:1347:1: rule__DSL_Resource__Group__1 : rule__DSL_Resource__Group__1__Impl rule__DSL_Resource__Group__2 ;
-    public final void rule__DSL_Resource__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1351:1: ( rule__DSL_Resource__Group__1__Impl rule__DSL_Resource__Group__2 )
-            // InternalSensinact.g:1352:2: rule__DSL_Resource__Group__1__Impl rule__DSL_Resource__Group__2
-            {
-            pushFollow(FOLLOW_10);
-            rule__DSL_Resource__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Resource__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Resource__Group__1"
-
-
-    // $ANTLR start "rule__DSL_Resource__Group__1__Impl"
-    // InternalSensinact.g:1359:1: rule__DSL_Resource__Group__1__Impl : ( ( rule__DSL_Resource__NameAssignment_1 ) ) ;
-    public final void rule__DSL_Resource__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1363:1: ( ( ( rule__DSL_Resource__NameAssignment_1 ) ) )
-            // InternalSensinact.g:1364:1: ( ( rule__DSL_Resource__NameAssignment_1 ) )
-            {
-            // InternalSensinact.g:1364:1: ( ( rule__DSL_Resource__NameAssignment_1 ) )
-            // InternalSensinact.g:1365:2: ( rule__DSL_Resource__NameAssignment_1 )
-            {
-             before(grammarAccess.getDSL_ResourceAccess().getNameAssignment_1()); 
-            // InternalSensinact.g:1366:2: ( rule__DSL_Resource__NameAssignment_1 )
-            // InternalSensinact.g:1366:3: rule__DSL_Resource__NameAssignment_1
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Resource__NameAssignment_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_ResourceAccess().getNameAssignment_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Resource__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_Resource__Group__2"
-    // InternalSensinact.g:1374:1: rule__DSL_Resource__Group__2 : rule__DSL_Resource__Group__2__Impl rule__DSL_Resource__Group__3 ;
-    public final void rule__DSL_Resource__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1378:1: ( rule__DSL_Resource__Group__2__Impl rule__DSL_Resource__Group__3 )
-            // InternalSensinact.g:1379:2: rule__DSL_Resource__Group__2__Impl rule__DSL_Resource__Group__3
-            {
-            pushFollow(FOLLOW_11);
-            rule__DSL_Resource__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Resource__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Resource__Group__2"
-
-
-    // $ANTLR start "rule__DSL_Resource__Group__2__Impl"
-    // InternalSensinact.g:1386:1: rule__DSL_Resource__Group__2__Impl : ( '=' ) ;
-    public final void rule__DSL_Resource__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1390:1: ( ( '=' ) )
-            // InternalSensinact.g:1391:1: ( '=' )
-            {
-            // InternalSensinact.g:1391:1: ( '=' )
-            // InternalSensinact.g:1392:2: '='
-            {
-             before(grammarAccess.getDSL_ResourceAccess().getEqualsSignKeyword_2()); 
-            match(input,15,FOLLOW_2); 
-             after(grammarAccess.getDSL_ResourceAccess().getEqualsSignKeyword_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Resource__Group__2__Impl"
-
-
-    // $ANTLR start "rule__DSL_Resource__Group__3"
-    // InternalSensinact.g:1401:1: rule__DSL_Resource__Group__3 : rule__DSL_Resource__Group__3__Impl rule__DSL_Resource__Group__4 ;
-    public final void rule__DSL_Resource__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1405:1: ( rule__DSL_Resource__Group__3__Impl rule__DSL_Resource__Group__4 )
-            // InternalSensinact.g:1406:2: rule__DSL_Resource__Group__3__Impl rule__DSL_Resource__Group__4
-            {
-            pushFollow(FOLLOW_9);
-            rule__DSL_Resource__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Resource__Group__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Resource__Group__3"
-
-
-    // $ANTLR start "rule__DSL_Resource__Group__3__Impl"
-    // InternalSensinact.g:1413:1: rule__DSL_Resource__Group__3__Impl : ( '[' ) ;
-    public final void rule__DSL_Resource__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1417:1: ( ( '[' ) )
-            // InternalSensinact.g:1418:1: ( '[' )
-            {
-            // InternalSensinact.g:1418:1: ( '[' )
-            // InternalSensinact.g:1419:2: '['
-            {
-             before(grammarAccess.getDSL_ResourceAccess().getLeftSquareBracketKeyword_3()); 
-            match(input,16,FOLLOW_2); 
-             after(grammarAccess.getDSL_ResourceAccess().getLeftSquareBracketKeyword_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Resource__Group__3__Impl"
-
-
-    // $ANTLR start "rule__DSL_Resource__Group__4"
-    // InternalSensinact.g:1428:1: rule__DSL_Resource__Group__4 : rule__DSL_Resource__Group__4__Impl rule__DSL_Resource__Group__5 ;
-    public final void rule__DSL_Resource__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1432:1: ( rule__DSL_Resource__Group__4__Impl rule__DSL_Resource__Group__5 )
-            // InternalSensinact.g:1433:2: rule__DSL_Resource__Group__4__Impl rule__DSL_Resource__Group__5
-            {
-            pushFollow(FOLLOW_12);
-            rule__DSL_Resource__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Resource__Group__5();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Resource__Group__4"
-
-
-    // $ANTLR start "rule__DSL_Resource__Group__4__Impl"
-    // InternalSensinact.g:1440:1: rule__DSL_Resource__Group__4__Impl : ( ( rule__DSL_Resource__GatewayIDAssignment_4 ) ) ;
-    public final void rule__DSL_Resource__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1444:1: ( ( ( rule__DSL_Resource__GatewayIDAssignment_4 ) ) )
-            // InternalSensinact.g:1445:1: ( ( rule__DSL_Resource__GatewayIDAssignment_4 ) )
-            {
-            // InternalSensinact.g:1445:1: ( ( rule__DSL_Resource__GatewayIDAssignment_4 ) )
-            // InternalSensinact.g:1446:2: ( rule__DSL_Resource__GatewayIDAssignment_4 )
-            {
-             before(grammarAccess.getDSL_ResourceAccess().getGatewayIDAssignment_4()); 
-            // InternalSensinact.g:1447:2: ( rule__DSL_Resource__GatewayIDAssignment_4 )
-            // InternalSensinact.g:1447:3: rule__DSL_Resource__GatewayIDAssignment_4
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Resource__GatewayIDAssignment_4();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_ResourceAccess().getGatewayIDAssignment_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Resource__Group__4__Impl"
-
-
-    // $ANTLR start "rule__DSL_Resource__Group__5"
-    // InternalSensinact.g:1455:1: rule__DSL_Resource__Group__5 : rule__DSL_Resource__Group__5__Impl rule__DSL_Resource__Group__6 ;
-    public final void rule__DSL_Resource__Group__5() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1459:1: ( rule__DSL_Resource__Group__5__Impl rule__DSL_Resource__Group__6 )
-            // InternalSensinact.g:1460:2: rule__DSL_Resource__Group__5__Impl rule__DSL_Resource__Group__6
-            {
-            pushFollow(FOLLOW_9);
-            rule__DSL_Resource__Group__5__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Resource__Group__6();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Resource__Group__5"
-
-
-    // $ANTLR start "rule__DSL_Resource__Group__5__Impl"
-    // InternalSensinact.g:1467:1: rule__DSL_Resource__Group__5__Impl : ( '/' ) ;
-    public final void rule__DSL_Resource__Group__5__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1471:1: ( ( '/' ) )
-            // InternalSensinact.g:1472:1: ( '/' )
-            {
-            // InternalSensinact.g:1472:1: ( '/' )
-            // InternalSensinact.g:1473:2: '/'
-            {
-             before(grammarAccess.getDSL_ResourceAccess().getSolidusKeyword_5()); 
-            match(input,17,FOLLOW_2); 
-             after(grammarAccess.getDSL_ResourceAccess().getSolidusKeyword_5()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Resource__Group__5__Impl"
-
-
-    // $ANTLR start "rule__DSL_Resource__Group__6"
-    // InternalSensinact.g:1482:1: rule__DSL_Resource__Group__6 : rule__DSL_Resource__Group__6__Impl rule__DSL_Resource__Group__7 ;
-    public final void rule__DSL_Resource__Group__6() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1486:1: ( rule__DSL_Resource__Group__6__Impl rule__DSL_Resource__Group__7 )
-            // InternalSensinact.g:1487:2: rule__DSL_Resource__Group__6__Impl rule__DSL_Resource__Group__7
-            {
-            pushFollow(FOLLOW_12);
-            rule__DSL_Resource__Group__6__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Resource__Group__7();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Resource__Group__6"
-
-
-    // $ANTLR start "rule__DSL_Resource__Group__6__Impl"
-    // InternalSensinact.g:1494:1: rule__DSL_Resource__Group__6__Impl : ( ( rule__DSL_Resource__DeviceIDAssignment_6 ) ) ;
-    public final void rule__DSL_Resource__Group__6__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1498:1: ( ( ( rule__DSL_Resource__DeviceIDAssignment_6 ) ) )
-            // InternalSensinact.g:1499:1: ( ( rule__DSL_Resource__DeviceIDAssignment_6 ) )
-            {
-            // InternalSensinact.g:1499:1: ( ( rule__DSL_Resource__DeviceIDAssignment_6 ) )
-            // InternalSensinact.g:1500:2: ( rule__DSL_Resource__DeviceIDAssignment_6 )
-            {
-             before(grammarAccess.getDSL_ResourceAccess().getDeviceIDAssignment_6()); 
-            // InternalSensinact.g:1501:2: ( rule__DSL_Resource__DeviceIDAssignment_6 )
-            // InternalSensinact.g:1501:3: rule__DSL_Resource__DeviceIDAssignment_6
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Resource__DeviceIDAssignment_6();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_ResourceAccess().getDeviceIDAssignment_6()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Resource__Group__6__Impl"
-
-
-    // $ANTLR start "rule__DSL_Resource__Group__7"
-    // InternalSensinact.g:1509:1: rule__DSL_Resource__Group__7 : rule__DSL_Resource__Group__7__Impl rule__DSL_Resource__Group__8 ;
-    public final void rule__DSL_Resource__Group__7() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1513:1: ( rule__DSL_Resource__Group__7__Impl rule__DSL_Resource__Group__8 )
-            // InternalSensinact.g:1514:2: rule__DSL_Resource__Group__7__Impl rule__DSL_Resource__Group__8
-            {
-            pushFollow(FOLLOW_9);
-            rule__DSL_Resource__Group__7__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Resource__Group__8();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Resource__Group__7"
-
-
-    // $ANTLR start "rule__DSL_Resource__Group__7__Impl"
-    // InternalSensinact.g:1521:1: rule__DSL_Resource__Group__7__Impl : ( '/' ) ;
-    public final void rule__DSL_Resource__Group__7__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1525:1: ( ( '/' ) )
-            // InternalSensinact.g:1526:1: ( '/' )
-            {
-            // InternalSensinact.g:1526:1: ( '/' )
-            // InternalSensinact.g:1527:2: '/'
-            {
-             before(grammarAccess.getDSL_ResourceAccess().getSolidusKeyword_7()); 
-            match(input,17,FOLLOW_2); 
-             after(grammarAccess.getDSL_ResourceAccess().getSolidusKeyword_7()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Resource__Group__7__Impl"
-
-
-    // $ANTLR start "rule__DSL_Resource__Group__8"
-    // InternalSensinact.g:1536:1: rule__DSL_Resource__Group__8 : rule__DSL_Resource__Group__8__Impl rule__DSL_Resource__Group__9 ;
-    public final void rule__DSL_Resource__Group__8() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1540:1: ( rule__DSL_Resource__Group__8__Impl rule__DSL_Resource__Group__9 )
-            // InternalSensinact.g:1541:2: rule__DSL_Resource__Group__8__Impl rule__DSL_Resource__Group__9
-            {
-            pushFollow(FOLLOW_12);
-            rule__DSL_Resource__Group__8__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Resource__Group__9();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Resource__Group__8"
-
-
-    // $ANTLR start "rule__DSL_Resource__Group__8__Impl"
-    // InternalSensinact.g:1548:1: rule__DSL_Resource__Group__8__Impl : ( ( rule__DSL_Resource__ServiceIDAssignment_8 ) ) ;
-    public final void rule__DSL_Resource__Group__8__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1552:1: ( ( ( rule__DSL_Resource__ServiceIDAssignment_8 ) ) )
-            // InternalSensinact.g:1553:1: ( ( rule__DSL_Resource__ServiceIDAssignment_8 ) )
-            {
-            // InternalSensinact.g:1553:1: ( ( rule__DSL_Resource__ServiceIDAssignment_8 ) )
-            // InternalSensinact.g:1554:2: ( rule__DSL_Resource__ServiceIDAssignment_8 )
-            {
-             before(grammarAccess.getDSL_ResourceAccess().getServiceIDAssignment_8()); 
-            // InternalSensinact.g:1555:2: ( rule__DSL_Resource__ServiceIDAssignment_8 )
-            // InternalSensinact.g:1555:3: rule__DSL_Resource__ServiceIDAssignment_8
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Resource__ServiceIDAssignment_8();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_ResourceAccess().getServiceIDAssignment_8()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Resource__Group__8__Impl"
-
-
-    // $ANTLR start "rule__DSL_Resource__Group__9"
-    // InternalSensinact.g:1563:1: rule__DSL_Resource__Group__9 : rule__DSL_Resource__Group__9__Impl rule__DSL_Resource__Group__10 ;
-    public final void rule__DSL_Resource__Group__9() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1567:1: ( rule__DSL_Resource__Group__9__Impl rule__DSL_Resource__Group__10 )
-            // InternalSensinact.g:1568:2: rule__DSL_Resource__Group__9__Impl rule__DSL_Resource__Group__10
-            {
-            pushFollow(FOLLOW_9);
-            rule__DSL_Resource__Group__9__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Resource__Group__10();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Resource__Group__9"
-
-
-    // $ANTLR start "rule__DSL_Resource__Group__9__Impl"
-    // InternalSensinact.g:1575:1: rule__DSL_Resource__Group__9__Impl : ( '/' ) ;
-    public final void rule__DSL_Resource__Group__9__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1579:1: ( ( '/' ) )
-            // InternalSensinact.g:1580:1: ( '/' )
-            {
-            // InternalSensinact.g:1580:1: ( '/' )
-            // InternalSensinact.g:1581:2: '/'
-            {
-             before(grammarAccess.getDSL_ResourceAccess().getSolidusKeyword_9()); 
-            match(input,17,FOLLOW_2); 
-             after(grammarAccess.getDSL_ResourceAccess().getSolidusKeyword_9()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Resource__Group__9__Impl"
-
-
-    // $ANTLR start "rule__DSL_Resource__Group__10"
-    // InternalSensinact.g:1590:1: rule__DSL_Resource__Group__10 : rule__DSL_Resource__Group__10__Impl rule__DSL_Resource__Group__11 ;
-    public final void rule__DSL_Resource__Group__10() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1594:1: ( rule__DSL_Resource__Group__10__Impl rule__DSL_Resource__Group__11 )
-            // InternalSensinact.g:1595:2: rule__DSL_Resource__Group__10__Impl rule__DSL_Resource__Group__11
-            {
-            pushFollow(FOLLOW_13);
-            rule__DSL_Resource__Group__10__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Resource__Group__11();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Resource__Group__10"
-
-
-    // $ANTLR start "rule__DSL_Resource__Group__10__Impl"
-    // InternalSensinact.g:1602:1: rule__DSL_Resource__Group__10__Impl : ( ( rule__DSL_Resource__ResourceIDAssignment_10 ) ) ;
-    public final void rule__DSL_Resource__Group__10__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1606:1: ( ( ( rule__DSL_Resource__ResourceIDAssignment_10 ) ) )
-            // InternalSensinact.g:1607:1: ( ( rule__DSL_Resource__ResourceIDAssignment_10 ) )
-            {
-            // InternalSensinact.g:1607:1: ( ( rule__DSL_Resource__ResourceIDAssignment_10 ) )
-            // InternalSensinact.g:1608:2: ( rule__DSL_Resource__ResourceIDAssignment_10 )
-            {
-             before(grammarAccess.getDSL_ResourceAccess().getResourceIDAssignment_10()); 
-            // InternalSensinact.g:1609:2: ( rule__DSL_Resource__ResourceIDAssignment_10 )
-            // InternalSensinact.g:1609:3: rule__DSL_Resource__ResourceIDAssignment_10
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Resource__ResourceIDAssignment_10();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_ResourceAccess().getResourceIDAssignment_10()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Resource__Group__10__Impl"
-
-
-    // $ANTLR start "rule__DSL_Resource__Group__11"
-    // InternalSensinact.g:1617:1: rule__DSL_Resource__Group__11 : rule__DSL_Resource__Group__11__Impl ;
-    public final void rule__DSL_Resource__Group__11() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1621:1: ( rule__DSL_Resource__Group__11__Impl )
-            // InternalSensinact.g:1622:2: rule__DSL_Resource__Group__11__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Resource__Group__11__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Resource__Group__11"
-
-
-    // $ANTLR start "rule__DSL_Resource__Group__11__Impl"
-    // InternalSensinact.g:1628:1: rule__DSL_Resource__Group__11__Impl : ( ']' ) ;
-    public final void rule__DSL_Resource__Group__11__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1632:1: ( ( ']' ) )
-            // InternalSensinact.g:1633:1: ( ']' )
-            {
-            // InternalSensinact.g:1633:1: ( ']' )
-            // InternalSensinact.g:1634:2: ']'
-            {
-             before(grammarAccess.getDSL_ResourceAccess().getRightSquareBracketKeyword_11()); 
-            match(input,18,FOLLOW_2); 
-             after(grammarAccess.getDSL_ResourceAccess().getRightSquareBracketKeyword_11()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Resource__Group__11__Impl"
-
-
-    // $ANTLR start "rule__DSL_On__Group__0"
-    // InternalSensinact.g:1644:1: rule__DSL_On__Group__0 : rule__DSL_On__Group__0__Impl rule__DSL_On__Group__1 ;
-    public final void rule__DSL_On__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1648:1: ( rule__DSL_On__Group__0__Impl rule__DSL_On__Group__1 )
-            // InternalSensinact.g:1649:2: rule__DSL_On__Group__0__Impl rule__DSL_On__Group__1
-            {
-            pushFollow(FOLLOW_9);
-            rule__DSL_On__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_On__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_On__Group__0"
-
-
-    // $ANTLR start "rule__DSL_On__Group__0__Impl"
-    // InternalSensinact.g:1656:1: rule__DSL_On__Group__0__Impl : ( 'on' ) ;
-    public final void rule__DSL_On__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1660:1: ( ( 'on' ) )
-            // InternalSensinact.g:1661:1: ( 'on' )
-            {
-            // InternalSensinact.g:1661:1: ( 'on' )
-            // InternalSensinact.g:1662:2: 'on'
-            {
-             before(grammarAccess.getDSL_OnAccess().getOnKeyword_0()); 
-            match(input,19,FOLLOW_2); 
-             after(grammarAccess.getDSL_OnAccess().getOnKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_On__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_On__Group__1"
-    // InternalSensinact.g:1671:1: rule__DSL_On__Group__1 : rule__DSL_On__Group__1__Impl rule__DSL_On__Group__2 ;
-    public final void rule__DSL_On__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1675:1: ( rule__DSL_On__Group__1__Impl rule__DSL_On__Group__2 )
-            // InternalSensinact.g:1676:2: rule__DSL_On__Group__1__Impl rule__DSL_On__Group__2
-            {
-            pushFollow(FOLLOW_14);
-            rule__DSL_On__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_On__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_On__Group__1"
-
-
-    // $ANTLR start "rule__DSL_On__Group__1__Impl"
-    // InternalSensinact.g:1683:1: rule__DSL_On__Group__1__Impl : ( ( rule__DSL_On__TriggersAssignment_1 ) ) ;
-    public final void rule__DSL_On__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1687:1: ( ( ( rule__DSL_On__TriggersAssignment_1 ) ) )
-            // InternalSensinact.g:1688:1: ( ( rule__DSL_On__TriggersAssignment_1 ) )
-            {
-            // InternalSensinact.g:1688:1: ( ( rule__DSL_On__TriggersAssignment_1 ) )
-            // InternalSensinact.g:1689:2: ( rule__DSL_On__TriggersAssignment_1 )
-            {
-             before(grammarAccess.getDSL_OnAccess().getTriggersAssignment_1()); 
-            // InternalSensinact.g:1690:2: ( rule__DSL_On__TriggersAssignment_1 )
-            // InternalSensinact.g:1690:3: rule__DSL_On__TriggersAssignment_1
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_On__TriggersAssignment_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_OnAccess().getTriggersAssignment_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_On__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_On__Group__2"
-    // InternalSensinact.g:1698:1: rule__DSL_On__Group__2 : rule__DSL_On__Group__2__Impl ;
-    public final void rule__DSL_On__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1702:1: ( rule__DSL_On__Group__2__Impl )
-            // InternalSensinact.g:1703:2: rule__DSL_On__Group__2__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_On__Group__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_On__Group__2"
-
-
-    // $ANTLR start "rule__DSL_On__Group__2__Impl"
-    // InternalSensinact.g:1709:1: rule__DSL_On__Group__2__Impl : ( ( rule__DSL_On__Group_2__0 )* ) ;
-    public final void rule__DSL_On__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1713:1: ( ( ( rule__DSL_On__Group_2__0 )* ) )
-            // InternalSensinact.g:1714:1: ( ( rule__DSL_On__Group_2__0 )* )
-            {
-            // InternalSensinact.g:1714:1: ( ( rule__DSL_On__Group_2__0 )* )
-            // InternalSensinact.g:1715:2: ( rule__DSL_On__Group_2__0 )*
-            {
-             before(grammarAccess.getDSL_OnAccess().getGroup_2()); 
-            // InternalSensinact.g:1716:2: ( rule__DSL_On__Group_2__0 )*
-            loop13:
-            do {
-                int alt13=2;
-                int LA13_0 = input.LA(1);
-
-                if ( (LA13_0==20) ) {
-                    alt13=1;
-                }
-
-
-                switch (alt13) {
-            	case 1 :
-            	    // InternalSensinact.g:1716:3: rule__DSL_On__Group_2__0
-            	    {
-            	    pushFollow(FOLLOW_15);
-            	    rule__DSL_On__Group_2__0();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop13;
-                }
-            } while (true);
-
-             after(grammarAccess.getDSL_OnAccess().getGroup_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_On__Group__2__Impl"
-
-
-    // $ANTLR start "rule__DSL_On__Group_2__0"
-    // InternalSensinact.g:1725:1: rule__DSL_On__Group_2__0 : rule__DSL_On__Group_2__0__Impl rule__DSL_On__Group_2__1 ;
-    public final void rule__DSL_On__Group_2__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1729:1: ( rule__DSL_On__Group_2__0__Impl rule__DSL_On__Group_2__1 )
-            // InternalSensinact.g:1730:2: rule__DSL_On__Group_2__0__Impl rule__DSL_On__Group_2__1
-            {
-            pushFollow(FOLLOW_9);
-            rule__DSL_On__Group_2__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_On__Group_2__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_On__Group_2__0"
-
-
-    // $ANTLR start "rule__DSL_On__Group_2__0__Impl"
-    // InternalSensinact.g:1737:1: rule__DSL_On__Group_2__0__Impl : ( ',' ) ;
-    public final void rule__DSL_On__Group_2__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1741:1: ( ( ',' ) )
-            // InternalSensinact.g:1742:1: ( ',' )
-            {
-            // InternalSensinact.g:1742:1: ( ',' )
-            // InternalSensinact.g:1743:2: ','
-            {
-             before(grammarAccess.getDSL_OnAccess().getCommaKeyword_2_0()); 
-            match(input,20,FOLLOW_2); 
-             after(grammarAccess.getDSL_OnAccess().getCommaKeyword_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_On__Group_2__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_On__Group_2__1"
-    // InternalSensinact.g:1752:1: rule__DSL_On__Group_2__1 : rule__DSL_On__Group_2__1__Impl ;
-    public final void rule__DSL_On__Group_2__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1756:1: ( rule__DSL_On__Group_2__1__Impl )
-            // InternalSensinact.g:1757:2: rule__DSL_On__Group_2__1__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_On__Group_2__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_On__Group_2__1"
-
-
-    // $ANTLR start "rule__DSL_On__Group_2__1__Impl"
-    // InternalSensinact.g:1763:1: rule__DSL_On__Group_2__1__Impl : ( ( rule__DSL_On__TriggersAssignment_2_1 ) ) ;
-    public final void rule__DSL_On__Group_2__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1767:1: ( ( ( rule__DSL_On__TriggersAssignment_2_1 ) ) )
-            // InternalSensinact.g:1768:1: ( ( rule__DSL_On__TriggersAssignment_2_1 ) )
-            {
-            // InternalSensinact.g:1768:1: ( ( rule__DSL_On__TriggersAssignment_2_1 ) )
-            // InternalSensinact.g:1769:2: ( rule__DSL_On__TriggersAssignment_2_1 )
-            {
-             before(grammarAccess.getDSL_OnAccess().getTriggersAssignment_2_1()); 
-            // InternalSensinact.g:1770:2: ( rule__DSL_On__TriggersAssignment_2_1 )
-            // InternalSensinact.g:1770:3: rule__DSL_On__TriggersAssignment_2_1
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_On__TriggersAssignment_2_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_OnAccess().getTriggersAssignment_2_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_On__Group_2__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_ECA_STATEMENT__Group__0"
-    // InternalSensinact.g:1779:1: rule__DSL_ECA_STATEMENT__Group__0 : rule__DSL_ECA_STATEMENT__Group__0__Impl rule__DSL_ECA_STATEMENT__Group__1 ;
-    public final void rule__DSL_ECA_STATEMENT__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1783:1: ( rule__DSL_ECA_STATEMENT__Group__0__Impl rule__DSL_ECA_STATEMENT__Group__1 )
-            // InternalSensinact.g:1784:2: rule__DSL_ECA_STATEMENT__Group__0__Impl rule__DSL_ECA_STATEMENT__Group__1
-            {
-            pushFollow(FOLLOW_16);
-            rule__DSL_ECA_STATEMENT__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_ECA_STATEMENT__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ECA_STATEMENT__Group__0"
-
-
-    // $ANTLR start "rule__DSL_ECA_STATEMENT__Group__0__Impl"
-    // InternalSensinact.g:1791:1: rule__DSL_ECA_STATEMENT__Group__0__Impl : ( ( rule__DSL_ECA_STATEMENT__IfdoAssignment_0 ) ) ;
-    public final void rule__DSL_ECA_STATEMENT__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1795:1: ( ( ( rule__DSL_ECA_STATEMENT__IfdoAssignment_0 ) ) )
-            // InternalSensinact.g:1796:1: ( ( rule__DSL_ECA_STATEMENT__IfdoAssignment_0 ) )
-            {
-            // InternalSensinact.g:1796:1: ( ( rule__DSL_ECA_STATEMENT__IfdoAssignment_0 ) )
-            // InternalSensinact.g:1797:2: ( rule__DSL_ECA_STATEMENT__IfdoAssignment_0 )
-            {
-             before(grammarAccess.getDSL_ECA_STATEMENTAccess().getIfdoAssignment_0()); 
-            // InternalSensinact.g:1798:2: ( rule__DSL_ECA_STATEMENT__IfdoAssignment_0 )
-            // InternalSensinact.g:1798:3: rule__DSL_ECA_STATEMENT__IfdoAssignment_0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_ECA_STATEMENT__IfdoAssignment_0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_ECA_STATEMENTAccess().getIfdoAssignment_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ECA_STATEMENT__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_ECA_STATEMENT__Group__1"
-    // InternalSensinact.g:1806:1: rule__DSL_ECA_STATEMENT__Group__1 : rule__DSL_ECA_STATEMENT__Group__1__Impl rule__DSL_ECA_STATEMENT__Group__2 ;
-    public final void rule__DSL_ECA_STATEMENT__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1810:1: ( rule__DSL_ECA_STATEMENT__Group__1__Impl rule__DSL_ECA_STATEMENT__Group__2 )
-            // InternalSensinact.g:1811:2: rule__DSL_ECA_STATEMENT__Group__1__Impl rule__DSL_ECA_STATEMENT__Group__2
-            {
-            pushFollow(FOLLOW_16);
-            rule__DSL_ECA_STATEMENT__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_ECA_STATEMENT__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ECA_STATEMENT__Group__1"
-
-
-    // $ANTLR start "rule__DSL_ECA_STATEMENT__Group__1__Impl"
-    // InternalSensinact.g:1818:1: rule__DSL_ECA_STATEMENT__Group__1__Impl : ( ( rule__DSL_ECA_STATEMENT__ElseIfdoAssignment_1 )* ) ;
-    public final void rule__DSL_ECA_STATEMENT__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1822:1: ( ( ( rule__DSL_ECA_STATEMENT__ElseIfdoAssignment_1 )* ) )
-            // InternalSensinact.g:1823:1: ( ( rule__DSL_ECA_STATEMENT__ElseIfdoAssignment_1 )* )
-            {
-            // InternalSensinact.g:1823:1: ( ( rule__DSL_ECA_STATEMENT__ElseIfdoAssignment_1 )* )
-            // InternalSensinact.g:1824:2: ( rule__DSL_ECA_STATEMENT__ElseIfdoAssignment_1 )*
-            {
-             before(grammarAccess.getDSL_ECA_STATEMENTAccess().getElseIfdoAssignment_1()); 
-            // InternalSensinact.g:1825:2: ( rule__DSL_ECA_STATEMENT__ElseIfdoAssignment_1 )*
-            loop14:
-            do {
-                int alt14=2;
-                int LA14_0 = input.LA(1);
-
-                if ( (LA14_0==24) ) {
-                    alt14=1;
-                }
-
-
-                switch (alt14) {
-            	case 1 :
-            	    // InternalSensinact.g:1825:3: rule__DSL_ECA_STATEMENT__ElseIfdoAssignment_1
-            	    {
-            	    pushFollow(FOLLOW_17);
-            	    rule__DSL_ECA_STATEMENT__ElseIfdoAssignment_1();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop14;
-                }
-            } while (true);
-
-             after(grammarAccess.getDSL_ECA_STATEMENTAccess().getElseIfdoAssignment_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ECA_STATEMENT__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_ECA_STATEMENT__Group__2"
-    // InternalSensinact.g:1833:1: rule__DSL_ECA_STATEMENT__Group__2 : rule__DSL_ECA_STATEMENT__Group__2__Impl rule__DSL_ECA_STATEMENT__Group__3 ;
-    public final void rule__DSL_ECA_STATEMENT__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1837:1: ( rule__DSL_ECA_STATEMENT__Group__2__Impl rule__DSL_ECA_STATEMENT__Group__3 )
-            // InternalSensinact.g:1838:2: rule__DSL_ECA_STATEMENT__Group__2__Impl rule__DSL_ECA_STATEMENT__Group__3
-            {
-            pushFollow(FOLLOW_16);
-            rule__DSL_ECA_STATEMENT__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_ECA_STATEMENT__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ECA_STATEMENT__Group__2"
-
-
-    // $ANTLR start "rule__DSL_ECA_STATEMENT__Group__2__Impl"
-    // InternalSensinact.g:1845:1: rule__DSL_ECA_STATEMENT__Group__2__Impl : ( ( rule__DSL_ECA_STATEMENT__ElsedoAssignment_2 )? ) ;
-    public final void rule__DSL_ECA_STATEMENT__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1849:1: ( ( ( rule__DSL_ECA_STATEMENT__ElsedoAssignment_2 )? ) )
-            // InternalSensinact.g:1850:1: ( ( rule__DSL_ECA_STATEMENT__ElsedoAssignment_2 )? )
-            {
-            // InternalSensinact.g:1850:1: ( ( rule__DSL_ECA_STATEMENT__ElsedoAssignment_2 )? )
-            // InternalSensinact.g:1851:2: ( rule__DSL_ECA_STATEMENT__ElsedoAssignment_2 )?
-            {
-             before(grammarAccess.getDSL_ECA_STATEMENTAccess().getElsedoAssignment_2()); 
-            // InternalSensinact.g:1852:2: ( rule__DSL_ECA_STATEMENT__ElsedoAssignment_2 )?
-            int alt15=2;
-            int LA15_0 = input.LA(1);
-
-            if ( (LA15_0==25) ) {
-                alt15=1;
-            }
-            switch (alt15) {
-                case 1 :
-                    // InternalSensinact.g:1852:3: rule__DSL_ECA_STATEMENT__ElsedoAssignment_2
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DSL_ECA_STATEMENT__ElsedoAssignment_2();
-
-                    state._fsp--;
-
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getDSL_ECA_STATEMENTAccess().getElsedoAssignment_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ECA_STATEMENT__Group__2__Impl"
-
-
-    // $ANTLR start "rule__DSL_ECA_STATEMENT__Group__3"
-    // InternalSensinact.g:1860:1: rule__DSL_ECA_STATEMENT__Group__3 : rule__DSL_ECA_STATEMENT__Group__3__Impl ;
-    public final void rule__DSL_ECA_STATEMENT__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1864:1: ( rule__DSL_ECA_STATEMENT__Group__3__Impl )
-            // InternalSensinact.g:1865:2: rule__DSL_ECA_STATEMENT__Group__3__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_ECA_STATEMENT__Group__3__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ECA_STATEMENT__Group__3"
-
-
-    // $ANTLR start "rule__DSL_ECA_STATEMENT__Group__3__Impl"
-    // InternalSensinact.g:1871:1: rule__DSL_ECA_STATEMENT__Group__3__Impl : ( 'end if' ) ;
-    public final void rule__DSL_ECA_STATEMENT__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1875:1: ( ( 'end if' ) )
-            // InternalSensinact.g:1876:1: ( 'end if' )
-            {
-            // InternalSensinact.g:1876:1: ( 'end if' )
-            // InternalSensinact.g:1877:2: 'end if'
-            {
-             before(grammarAccess.getDSL_ECA_STATEMENTAccess().getEndIfKeyword_3()); 
-            match(input,21,FOLLOW_2); 
-             after(grammarAccess.getDSL_ECA_STATEMENTAccess().getEndIfKeyword_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ECA_STATEMENT__Group__3__Impl"
-
-
-    // $ANTLR start "rule__DSL_IfDo__Group__0"
-    // InternalSensinact.g:1887:1: rule__DSL_IfDo__Group__0 : rule__DSL_IfDo__Group__0__Impl rule__DSL_IfDo__Group__1 ;
-    public final void rule__DSL_IfDo__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1891:1: ( rule__DSL_IfDo__Group__0__Impl rule__DSL_IfDo__Group__1 )
-            // InternalSensinact.g:1892:2: rule__DSL_IfDo__Group__0__Impl rule__DSL_IfDo__Group__1
-            {
-            pushFollow(FOLLOW_18);
-            rule__DSL_IfDo__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_IfDo__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_IfDo__Group__0"
-
-
-    // $ANTLR start "rule__DSL_IfDo__Group__0__Impl"
-    // InternalSensinact.g:1899:1: rule__DSL_IfDo__Group__0__Impl : ( 'if' ) ;
-    public final void rule__DSL_IfDo__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1903:1: ( ( 'if' ) )
-            // InternalSensinact.g:1904:1: ( 'if' )
-            {
-            // InternalSensinact.g:1904:1: ( 'if' )
-            // InternalSensinact.g:1905:2: 'if'
-            {
-             before(grammarAccess.getDSL_IfDoAccess().getIfKeyword_0()); 
-            match(input,22,FOLLOW_2); 
-             after(grammarAccess.getDSL_IfDoAccess().getIfKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_IfDo__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_IfDo__Group__1"
-    // InternalSensinact.g:1914:1: rule__DSL_IfDo__Group__1 : rule__DSL_IfDo__Group__1__Impl rule__DSL_IfDo__Group__2 ;
-    public final void rule__DSL_IfDo__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1918:1: ( rule__DSL_IfDo__Group__1__Impl rule__DSL_IfDo__Group__2 )
-            // InternalSensinact.g:1919:2: rule__DSL_IfDo__Group__1__Impl rule__DSL_IfDo__Group__2
-            {
-            pushFollow(FOLLOW_19);
-            rule__DSL_IfDo__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_IfDo__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_IfDo__Group__1"
-
-
-    // $ANTLR start "rule__DSL_IfDo__Group__1__Impl"
-    // InternalSensinact.g:1926:1: rule__DSL_IfDo__Group__1__Impl : ( ( rule__DSL_IfDo__ConditionAssignment_1 ) ) ;
-    public final void rule__DSL_IfDo__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1930:1: ( ( ( rule__DSL_IfDo__ConditionAssignment_1 ) ) )
-            // InternalSensinact.g:1931:1: ( ( rule__DSL_IfDo__ConditionAssignment_1 ) )
-            {
-            // InternalSensinact.g:1931:1: ( ( rule__DSL_IfDo__ConditionAssignment_1 ) )
-            // InternalSensinact.g:1932:2: ( rule__DSL_IfDo__ConditionAssignment_1 )
-            {
-             before(grammarAccess.getDSL_IfDoAccess().getConditionAssignment_1()); 
-            // InternalSensinact.g:1933:2: ( rule__DSL_IfDo__ConditionAssignment_1 )
-            // InternalSensinact.g:1933:3: rule__DSL_IfDo__ConditionAssignment_1
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_IfDo__ConditionAssignment_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_IfDoAccess().getConditionAssignment_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_IfDo__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_IfDo__Group__2"
-    // InternalSensinact.g:1941:1: rule__DSL_IfDo__Group__2 : rule__DSL_IfDo__Group__2__Impl rule__DSL_IfDo__Group__3 ;
-    public final void rule__DSL_IfDo__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1945:1: ( rule__DSL_IfDo__Group__2__Impl rule__DSL_IfDo__Group__3 )
-            // InternalSensinact.g:1946:2: rule__DSL_IfDo__Group__2__Impl rule__DSL_IfDo__Group__3
-            {
-            pushFollow(FOLLOW_9);
-            rule__DSL_IfDo__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_IfDo__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_IfDo__Group__2"
-
-
-    // $ANTLR start "rule__DSL_IfDo__Group__2__Impl"
-    // InternalSensinact.g:1953:1: rule__DSL_IfDo__Group__2__Impl : ( 'do' ) ;
-    public final void rule__DSL_IfDo__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1957:1: ( ( 'do' ) )
-            // InternalSensinact.g:1958:1: ( 'do' )
-            {
-            // InternalSensinact.g:1958:1: ( 'do' )
-            // InternalSensinact.g:1959:2: 'do'
-            {
-             before(grammarAccess.getDSL_IfDoAccess().getDoKeyword_2()); 
-            match(input,23,FOLLOW_2); 
-             after(grammarAccess.getDSL_IfDoAccess().getDoKeyword_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_IfDo__Group__2__Impl"
-
-
-    // $ANTLR start "rule__DSL_IfDo__Group__3"
-    // InternalSensinact.g:1968:1: rule__DSL_IfDo__Group__3 : rule__DSL_IfDo__Group__3__Impl ;
-    public final void rule__DSL_IfDo__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1972:1: ( rule__DSL_IfDo__Group__3__Impl )
-            // InternalSensinact.g:1973:2: rule__DSL_IfDo__Group__3__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_IfDo__Group__3__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_IfDo__Group__3"
-
-
-    // $ANTLR start "rule__DSL_IfDo__Group__3__Impl"
-    // InternalSensinact.g:1979:1: rule__DSL_IfDo__Group__3__Impl : ( ( rule__DSL_IfDo__ActionsAssignment_3 ) ) ;
-    public final void rule__DSL_IfDo__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1983:1: ( ( ( rule__DSL_IfDo__ActionsAssignment_3 ) ) )
-            // InternalSensinact.g:1984:1: ( ( rule__DSL_IfDo__ActionsAssignment_3 ) )
-            {
-            // InternalSensinact.g:1984:1: ( ( rule__DSL_IfDo__ActionsAssignment_3 ) )
-            // InternalSensinact.g:1985:2: ( rule__DSL_IfDo__ActionsAssignment_3 )
-            {
-             before(grammarAccess.getDSL_IfDoAccess().getActionsAssignment_3()); 
-            // InternalSensinact.g:1986:2: ( rule__DSL_IfDo__ActionsAssignment_3 )
-            // InternalSensinact.g:1986:3: rule__DSL_IfDo__ActionsAssignment_3
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_IfDo__ActionsAssignment_3();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_IfDoAccess().getActionsAssignment_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_IfDo__Group__3__Impl"
-
-
-    // $ANTLR start "rule__DSL_ElseIfDo__Group__0"
-    // InternalSensinact.g:1995:1: rule__DSL_ElseIfDo__Group__0 : rule__DSL_ElseIfDo__Group__0__Impl rule__DSL_ElseIfDo__Group__1 ;
-    public final void rule__DSL_ElseIfDo__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:1999:1: ( rule__DSL_ElseIfDo__Group__0__Impl rule__DSL_ElseIfDo__Group__1 )
-            // InternalSensinact.g:2000:2: rule__DSL_ElseIfDo__Group__0__Impl rule__DSL_ElseIfDo__Group__1
-            {
-            pushFollow(FOLLOW_18);
-            rule__DSL_ElseIfDo__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_ElseIfDo__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ElseIfDo__Group__0"
-
-
-    // $ANTLR start "rule__DSL_ElseIfDo__Group__0__Impl"
-    // InternalSensinact.g:2007:1: rule__DSL_ElseIfDo__Group__0__Impl : ( 'else if' ) ;
-    public final void rule__DSL_ElseIfDo__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2011:1: ( ( 'else if' ) )
-            // InternalSensinact.g:2012:1: ( 'else if' )
-            {
-            // InternalSensinact.g:2012:1: ( 'else if' )
-            // InternalSensinact.g:2013:2: 'else if'
-            {
-             before(grammarAccess.getDSL_ElseIfDoAccess().getElseIfKeyword_0()); 
-            match(input,24,FOLLOW_2); 
-             after(grammarAccess.getDSL_ElseIfDoAccess().getElseIfKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ElseIfDo__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_ElseIfDo__Group__1"
-    // InternalSensinact.g:2022:1: rule__DSL_ElseIfDo__Group__1 : rule__DSL_ElseIfDo__Group__1__Impl rule__DSL_ElseIfDo__Group__2 ;
-    public final void rule__DSL_ElseIfDo__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2026:1: ( rule__DSL_ElseIfDo__Group__1__Impl rule__DSL_ElseIfDo__Group__2 )
-            // InternalSensinact.g:2027:2: rule__DSL_ElseIfDo__Group__1__Impl rule__DSL_ElseIfDo__Group__2
-            {
-            pushFollow(FOLLOW_19);
-            rule__DSL_ElseIfDo__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_ElseIfDo__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ElseIfDo__Group__1"
-
-
-    // $ANTLR start "rule__DSL_ElseIfDo__Group__1__Impl"
-    // InternalSensinact.g:2034:1: rule__DSL_ElseIfDo__Group__1__Impl : ( ( rule__DSL_ElseIfDo__ConditionAssignment_1 ) ) ;
-    public final void rule__DSL_ElseIfDo__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2038:1: ( ( ( rule__DSL_ElseIfDo__ConditionAssignment_1 ) ) )
-            // InternalSensinact.g:2039:1: ( ( rule__DSL_ElseIfDo__ConditionAssignment_1 ) )
-            {
-            // InternalSensinact.g:2039:1: ( ( rule__DSL_ElseIfDo__ConditionAssignment_1 ) )
-            // InternalSensinact.g:2040:2: ( rule__DSL_ElseIfDo__ConditionAssignment_1 )
-            {
-             before(grammarAccess.getDSL_ElseIfDoAccess().getConditionAssignment_1()); 
-            // InternalSensinact.g:2041:2: ( rule__DSL_ElseIfDo__ConditionAssignment_1 )
-            // InternalSensinact.g:2041:3: rule__DSL_ElseIfDo__ConditionAssignment_1
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_ElseIfDo__ConditionAssignment_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_ElseIfDoAccess().getConditionAssignment_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ElseIfDo__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_ElseIfDo__Group__2"
-    // InternalSensinact.g:2049:1: rule__DSL_ElseIfDo__Group__2 : rule__DSL_ElseIfDo__Group__2__Impl rule__DSL_ElseIfDo__Group__3 ;
-    public final void rule__DSL_ElseIfDo__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2053:1: ( rule__DSL_ElseIfDo__Group__2__Impl rule__DSL_ElseIfDo__Group__3 )
-            // InternalSensinact.g:2054:2: rule__DSL_ElseIfDo__Group__2__Impl rule__DSL_ElseIfDo__Group__3
-            {
-            pushFollow(FOLLOW_9);
-            rule__DSL_ElseIfDo__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_ElseIfDo__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ElseIfDo__Group__2"
-
-
-    // $ANTLR start "rule__DSL_ElseIfDo__Group__2__Impl"
-    // InternalSensinact.g:2061:1: rule__DSL_ElseIfDo__Group__2__Impl : ( 'do' ) ;
-    public final void rule__DSL_ElseIfDo__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2065:1: ( ( 'do' ) )
-            // InternalSensinact.g:2066:1: ( 'do' )
-            {
-            // InternalSensinact.g:2066:1: ( 'do' )
-            // InternalSensinact.g:2067:2: 'do'
-            {
-             before(grammarAccess.getDSL_ElseIfDoAccess().getDoKeyword_2()); 
-            match(input,23,FOLLOW_2); 
-             after(grammarAccess.getDSL_ElseIfDoAccess().getDoKeyword_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ElseIfDo__Group__2__Impl"
-
-
-    // $ANTLR start "rule__DSL_ElseIfDo__Group__3"
-    // InternalSensinact.g:2076:1: rule__DSL_ElseIfDo__Group__3 : rule__DSL_ElseIfDo__Group__3__Impl ;
-    public final void rule__DSL_ElseIfDo__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2080:1: ( rule__DSL_ElseIfDo__Group__3__Impl )
-            // InternalSensinact.g:2081:2: rule__DSL_ElseIfDo__Group__3__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_ElseIfDo__Group__3__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ElseIfDo__Group__3"
-
-
-    // $ANTLR start "rule__DSL_ElseIfDo__Group__3__Impl"
-    // InternalSensinact.g:2087:1: rule__DSL_ElseIfDo__Group__3__Impl : ( ( rule__DSL_ElseIfDo__ActionsAssignment_3 ) ) ;
-    public final void rule__DSL_ElseIfDo__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2091:1: ( ( ( rule__DSL_ElseIfDo__ActionsAssignment_3 ) ) )
-            // InternalSensinact.g:2092:1: ( ( rule__DSL_ElseIfDo__ActionsAssignment_3 ) )
-            {
-            // InternalSensinact.g:2092:1: ( ( rule__DSL_ElseIfDo__ActionsAssignment_3 ) )
-            // InternalSensinact.g:2093:2: ( rule__DSL_ElseIfDo__ActionsAssignment_3 )
-            {
-             before(grammarAccess.getDSL_ElseIfDoAccess().getActionsAssignment_3()); 
-            // InternalSensinact.g:2094:2: ( rule__DSL_ElseIfDo__ActionsAssignment_3 )
-            // InternalSensinact.g:2094:3: rule__DSL_ElseIfDo__ActionsAssignment_3
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_ElseIfDo__ActionsAssignment_3();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_ElseIfDoAccess().getActionsAssignment_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ElseIfDo__Group__3__Impl"
-
-
-    // $ANTLR start "rule__DSL_ElseDo__Group__0"
-    // InternalSensinact.g:2103:1: rule__DSL_ElseDo__Group__0 : rule__DSL_ElseDo__Group__0__Impl rule__DSL_ElseDo__Group__1 ;
-    public final void rule__DSL_ElseDo__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2107:1: ( rule__DSL_ElseDo__Group__0__Impl rule__DSL_ElseDo__Group__1 )
-            // InternalSensinact.g:2108:2: rule__DSL_ElseDo__Group__0__Impl rule__DSL_ElseDo__Group__1
-            {
-            pushFollow(FOLLOW_9);
-            rule__DSL_ElseDo__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_ElseDo__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ElseDo__Group__0"
-
-
-    // $ANTLR start "rule__DSL_ElseDo__Group__0__Impl"
-    // InternalSensinact.g:2115:1: rule__DSL_ElseDo__Group__0__Impl : ( 'else do' ) ;
-    public final void rule__DSL_ElseDo__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2119:1: ( ( 'else do' ) )
-            // InternalSensinact.g:2120:1: ( 'else do' )
-            {
-            // InternalSensinact.g:2120:1: ( 'else do' )
-            // InternalSensinact.g:2121:2: 'else do'
-            {
-             before(grammarAccess.getDSL_ElseDoAccess().getElseDoKeyword_0()); 
-            match(input,25,FOLLOW_2); 
-             after(grammarAccess.getDSL_ElseDoAccess().getElseDoKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ElseDo__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_ElseDo__Group__1"
-    // InternalSensinact.g:2130:1: rule__DSL_ElseDo__Group__1 : rule__DSL_ElseDo__Group__1__Impl ;
-    public final void rule__DSL_ElseDo__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2134:1: ( rule__DSL_ElseDo__Group__1__Impl )
-            // InternalSensinact.g:2135:2: rule__DSL_ElseDo__Group__1__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_ElseDo__Group__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ElseDo__Group__1"
-
-
-    // $ANTLR start "rule__DSL_ElseDo__Group__1__Impl"
-    // InternalSensinact.g:2141:1: rule__DSL_ElseDo__Group__1__Impl : ( ( rule__DSL_ElseDo__ActionsAssignment_1 ) ) ;
-    public final void rule__DSL_ElseDo__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2145:1: ( ( ( rule__DSL_ElseDo__ActionsAssignment_1 ) ) )
-            // InternalSensinact.g:2146:1: ( ( rule__DSL_ElseDo__ActionsAssignment_1 ) )
-            {
-            // InternalSensinact.g:2146:1: ( ( rule__DSL_ElseDo__ActionsAssignment_1 ) )
-            // InternalSensinact.g:2147:2: ( rule__DSL_ElseDo__ActionsAssignment_1 )
-            {
-             before(grammarAccess.getDSL_ElseDoAccess().getActionsAssignment_1()); 
-            // InternalSensinact.g:2148:2: ( rule__DSL_ElseDo__ActionsAssignment_1 )
-            // InternalSensinact.g:2148:3: rule__DSL_ElseDo__ActionsAssignment_1
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_ElseDo__ActionsAssignment_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_ElseDoAccess().getActionsAssignment_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ElseDo__Group__1__Impl"
-
-
-    // $ANTLR start "rule__NUMBER__Group_1__0"
-    // InternalSensinact.g:2157:1: rule__NUMBER__Group_1__0 : rule__NUMBER__Group_1__0__Impl rule__NUMBER__Group_1__1 ;
-    public final void rule__NUMBER__Group_1__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2161:1: ( rule__NUMBER__Group_1__0__Impl rule__NUMBER__Group_1__1 )
-            // InternalSensinact.g:2162:2: rule__NUMBER__Group_1__0__Impl rule__NUMBER__Group_1__1
-            {
-            pushFollow(FOLLOW_20);
-            rule__NUMBER__Group_1__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__NUMBER__Group_1__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NUMBER__Group_1__0"
-
-
-    // $ANTLR start "rule__NUMBER__Group_1__0__Impl"
-    // InternalSensinact.g:2169:1: rule__NUMBER__Group_1__0__Impl : ( RULE_INT ) ;
-    public final void rule__NUMBER__Group_1__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2173:1: ( ( RULE_INT ) )
-            // InternalSensinact.g:2174:1: ( RULE_INT )
-            {
-            // InternalSensinact.g:2174:1: ( RULE_INT )
-            // InternalSensinact.g:2175:2: RULE_INT
-            {
-             before(grammarAccess.getNUMBERAccess().getINTTerminalRuleCall_1_0()); 
-            match(input,RULE_INT,FOLLOW_2); 
-             after(grammarAccess.getNUMBERAccess().getINTTerminalRuleCall_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NUMBER__Group_1__0__Impl"
-
-
-    // $ANTLR start "rule__NUMBER__Group_1__1"
-    // InternalSensinact.g:2184:1: rule__NUMBER__Group_1__1 : rule__NUMBER__Group_1__1__Impl rule__NUMBER__Group_1__2 ;
-    public final void rule__NUMBER__Group_1__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2188:1: ( rule__NUMBER__Group_1__1__Impl rule__NUMBER__Group_1__2 )
-            // InternalSensinact.g:2189:2: rule__NUMBER__Group_1__1__Impl rule__NUMBER__Group_1__2
-            {
-            pushFollow(FOLLOW_21);
-            rule__NUMBER__Group_1__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__NUMBER__Group_1__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NUMBER__Group_1__1"
-
-
-    // $ANTLR start "rule__NUMBER__Group_1__1__Impl"
-    // InternalSensinact.g:2196:1: rule__NUMBER__Group_1__1__Impl : ( '.' ) ;
-    public final void rule__NUMBER__Group_1__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2200:1: ( ( '.' ) )
-            // InternalSensinact.g:2201:1: ( '.' )
-            {
-            // InternalSensinact.g:2201:1: ( '.' )
-            // InternalSensinact.g:2202:2: '.'
-            {
-             before(grammarAccess.getNUMBERAccess().getFullStopKeyword_1_1()); 
-            match(input,26,FOLLOW_2); 
-             after(grammarAccess.getNUMBERAccess().getFullStopKeyword_1_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NUMBER__Group_1__1__Impl"
-
-
-    // $ANTLR start "rule__NUMBER__Group_1__2"
-    // InternalSensinact.g:2211:1: rule__NUMBER__Group_1__2 : rule__NUMBER__Group_1__2__Impl ;
-    public final void rule__NUMBER__Group_1__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2215:1: ( rule__NUMBER__Group_1__2__Impl )
-            // InternalSensinact.g:2216:2: rule__NUMBER__Group_1__2__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__NUMBER__Group_1__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NUMBER__Group_1__2"
-
-
-    // $ANTLR start "rule__NUMBER__Group_1__2__Impl"
-    // InternalSensinact.g:2222:1: rule__NUMBER__Group_1__2__Impl : ( RULE_INT ) ;
-    public final void rule__NUMBER__Group_1__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2226:1: ( ( RULE_INT ) )
-            // InternalSensinact.g:2227:1: ( RULE_INT )
-            {
-            // InternalSensinact.g:2227:1: ( RULE_INT )
-            // InternalSensinact.g:2228:2: RULE_INT
-            {
-             before(grammarAccess.getNUMBERAccess().getINTTerminalRuleCall_1_2()); 
-            match(input,RULE_INT,FOLLOW_2); 
-             after(grammarAccess.getNUMBERAccess().getINTTerminalRuleCall_1_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__NUMBER__Group_1__2__Impl"
-
-
-    // $ANTLR start "rule__EXTENDED_ID__Group__0"
-    // InternalSensinact.g:2238:1: rule__EXTENDED_ID__Group__0 : rule__EXTENDED_ID__Group__0__Impl rule__EXTENDED_ID__Group__1 ;
-    public final void rule__EXTENDED_ID__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2242:1: ( rule__EXTENDED_ID__Group__0__Impl rule__EXTENDED_ID__Group__1 )
-            // InternalSensinact.g:2243:2: rule__EXTENDED_ID__Group__0__Impl rule__EXTENDED_ID__Group__1
-            {
-            pushFollow(FOLLOW_20);
-            rule__EXTENDED_ID__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__EXTENDED_ID__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__EXTENDED_ID__Group__0"
-
-
-    // $ANTLR start "rule__EXTENDED_ID__Group__0__Impl"
-    // InternalSensinact.g:2250:1: rule__EXTENDED_ID__Group__0__Impl : ( RULE_ID ) ;
-    public final void rule__EXTENDED_ID__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2254:1: ( ( RULE_ID ) )
-            // InternalSensinact.g:2255:1: ( RULE_ID )
-            {
-            // InternalSensinact.g:2255:1: ( RULE_ID )
-            // InternalSensinact.g:2256:2: RULE_ID
-            {
-             before(grammarAccess.getEXTENDED_IDAccess().getIDTerminalRuleCall_0()); 
-            match(input,RULE_ID,FOLLOW_2); 
-             after(grammarAccess.getEXTENDED_IDAccess().getIDTerminalRuleCall_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__EXTENDED_ID__Group__0__Impl"
-
-
-    // $ANTLR start "rule__EXTENDED_ID__Group__1"
-    // InternalSensinact.g:2265:1: rule__EXTENDED_ID__Group__1 : rule__EXTENDED_ID__Group__1__Impl ;
-    public final void rule__EXTENDED_ID__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2269:1: ( rule__EXTENDED_ID__Group__1__Impl )
-            // InternalSensinact.g:2270:2: rule__EXTENDED_ID__Group__1__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__EXTENDED_ID__Group__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__EXTENDED_ID__Group__1"
-
-
-    // $ANTLR start "rule__EXTENDED_ID__Group__1__Impl"
-    // InternalSensinact.g:2276:1: rule__EXTENDED_ID__Group__1__Impl : ( ( rule__EXTENDED_ID__Group_1__0 )* ) ;
-    public final void rule__EXTENDED_ID__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2280:1: ( ( ( rule__EXTENDED_ID__Group_1__0 )* ) )
-            // InternalSensinact.g:2281:1: ( ( rule__EXTENDED_ID__Group_1__0 )* )
-            {
-            // InternalSensinact.g:2281:1: ( ( rule__EXTENDED_ID__Group_1__0 )* )
-            // InternalSensinact.g:2282:2: ( rule__EXTENDED_ID__Group_1__0 )*
-            {
-             before(grammarAccess.getEXTENDED_IDAccess().getGroup_1()); 
-            // InternalSensinact.g:2283:2: ( rule__EXTENDED_ID__Group_1__0 )*
-            loop16:
-            do {
-                int alt16=2;
-                int LA16_0 = input.LA(1);
-
-                if ( (LA16_0==26) ) {
-                    alt16=1;
-                }
-
-
-                switch (alt16) {
-            	case 1 :
-            	    // InternalSensinact.g:2283:3: rule__EXTENDED_ID__Group_1__0
-            	    {
-            	    pushFollow(FOLLOW_22);
-            	    rule__EXTENDED_ID__Group_1__0();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop16;
-                }
-            } while (true);
-
-             after(grammarAccess.getEXTENDED_IDAccess().getGroup_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__EXTENDED_ID__Group__1__Impl"
-
-
-    // $ANTLR start "rule__EXTENDED_ID__Group_1__0"
-    // InternalSensinact.g:2292:1: rule__EXTENDED_ID__Group_1__0 : rule__EXTENDED_ID__Group_1__0__Impl rule__EXTENDED_ID__Group_1__1 ;
-    public final void rule__EXTENDED_ID__Group_1__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2296:1: ( rule__EXTENDED_ID__Group_1__0__Impl rule__EXTENDED_ID__Group_1__1 )
-            // InternalSensinact.g:2297:2: rule__EXTENDED_ID__Group_1__0__Impl rule__EXTENDED_ID__Group_1__1
-            {
-            pushFollow(FOLLOW_9);
-            rule__EXTENDED_ID__Group_1__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__EXTENDED_ID__Group_1__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__EXTENDED_ID__Group_1__0"
-
-
-    // $ANTLR start "rule__EXTENDED_ID__Group_1__0__Impl"
-    // InternalSensinact.g:2304:1: rule__EXTENDED_ID__Group_1__0__Impl : ( '.' ) ;
-    public final void rule__EXTENDED_ID__Group_1__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2308:1: ( ( '.' ) )
-            // InternalSensinact.g:2309:1: ( '.' )
-            {
-            // InternalSensinact.g:2309:1: ( '.' )
-            // InternalSensinact.g:2310:2: '.'
-            {
-             before(grammarAccess.getEXTENDED_IDAccess().getFullStopKeyword_1_0()); 
-            match(input,26,FOLLOW_2); 
-             after(grammarAccess.getEXTENDED_IDAccess().getFullStopKeyword_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__EXTENDED_ID__Group_1__0__Impl"
-
-
-    // $ANTLR start "rule__EXTENDED_ID__Group_1__1"
-    // InternalSensinact.g:2319:1: rule__EXTENDED_ID__Group_1__1 : rule__EXTENDED_ID__Group_1__1__Impl ;
-    public final void rule__EXTENDED_ID__Group_1__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2323:1: ( rule__EXTENDED_ID__Group_1__1__Impl )
-            // InternalSensinact.g:2324:2: rule__EXTENDED_ID__Group_1__1__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__EXTENDED_ID__Group_1__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__EXTENDED_ID__Group_1__1"
-
-
-    // $ANTLR start "rule__EXTENDED_ID__Group_1__1__Impl"
-    // InternalSensinact.g:2330:1: rule__EXTENDED_ID__Group_1__1__Impl : ( RULE_ID ) ;
-    public final void rule__EXTENDED_ID__Group_1__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2334:1: ( ( RULE_ID ) )
-            // InternalSensinact.g:2335:1: ( RULE_ID )
-            {
-            // InternalSensinact.g:2335:1: ( RULE_ID )
-            // InternalSensinact.g:2336:2: RULE_ID
-            {
-             before(grammarAccess.getEXTENDED_IDAccess().getIDTerminalRuleCall_1_1()); 
-            match(input,RULE_ID,FOLLOW_2); 
-             after(grammarAccess.getEXTENDED_IDAccess().getIDTerminalRuleCall_1_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__EXTENDED_ID__Group_1__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_REF_CONDITION__Group__0"
-    // InternalSensinact.g:2346:1: rule__DSL_REF_CONDITION__Group__0 : rule__DSL_REF_CONDITION__Group__0__Impl rule__DSL_REF_CONDITION__Group__1 ;
-    public final void rule__DSL_REF_CONDITION__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2350:1: ( rule__DSL_REF_CONDITION__Group__0__Impl rule__DSL_REF_CONDITION__Group__1 )
-            // InternalSensinact.g:2351:2: rule__DSL_REF_CONDITION__Group__0__Impl rule__DSL_REF_CONDITION__Group__1
-            {
-            pushFollow(FOLLOW_20);
-            rule__DSL_REF_CONDITION__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_REF_CONDITION__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_REF_CONDITION__Group__0"
-
-
-    // $ANTLR start "rule__DSL_REF_CONDITION__Group__0__Impl"
-    // InternalSensinact.g:2358:1: rule__DSL_REF_CONDITION__Group__0__Impl : ( ( rule__DSL_REF_CONDITION__RefAssignment_0 ) ) ;
-    public final void rule__DSL_REF_CONDITION__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2362:1: ( ( ( rule__DSL_REF_CONDITION__RefAssignment_0 ) ) )
-            // InternalSensinact.g:2363:1: ( ( rule__DSL_REF_CONDITION__RefAssignment_0 ) )
-            {
-            // InternalSensinact.g:2363:1: ( ( rule__DSL_REF_CONDITION__RefAssignment_0 ) )
-            // InternalSensinact.g:2364:2: ( rule__DSL_REF_CONDITION__RefAssignment_0 )
-            {
-             before(grammarAccess.getDSL_REF_CONDITIONAccess().getRefAssignment_0()); 
-            // InternalSensinact.g:2365:2: ( rule__DSL_REF_CONDITION__RefAssignment_0 )
-            // InternalSensinact.g:2365:3: rule__DSL_REF_CONDITION__RefAssignment_0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_REF_CONDITION__RefAssignment_0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_REF_CONDITIONAccess().getRefAssignment_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_REF_CONDITION__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_REF_CONDITION__Group__1"
-    // InternalSensinact.g:2373:1: rule__DSL_REF_CONDITION__Group__1 : rule__DSL_REF_CONDITION__Group__1__Impl rule__DSL_REF_CONDITION__Group__2 ;
-    public final void rule__DSL_REF_CONDITION__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2377:1: ( rule__DSL_REF_CONDITION__Group__1__Impl rule__DSL_REF_CONDITION__Group__2 )
-            // InternalSensinact.g:2378:2: rule__DSL_REF_CONDITION__Group__1__Impl rule__DSL_REF_CONDITION__Group__2
-            {
-            pushFollow(FOLLOW_23);
-            rule__DSL_REF_CONDITION__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_REF_CONDITION__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_REF_CONDITION__Group__1"
-
-
-    // $ANTLR start "rule__DSL_REF_CONDITION__Group__1__Impl"
-    // InternalSensinact.g:2385:1: rule__DSL_REF_CONDITION__Group__1__Impl : ( '.' ) ;
-    public final void rule__DSL_REF_CONDITION__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2389:1: ( ( '.' ) )
-            // InternalSensinact.g:2390:1: ( '.' )
-            {
-            // InternalSensinact.g:2390:1: ( '.' )
-            // InternalSensinact.g:2391:2: '.'
-            {
-             before(grammarAccess.getDSL_REF_CONDITIONAccess().getFullStopKeyword_1()); 
-            match(input,26,FOLLOW_2); 
-             after(grammarAccess.getDSL_REF_CONDITIONAccess().getFullStopKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_REF_CONDITION__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_REF_CONDITION__Group__2"
-    // InternalSensinact.g:2400:1: rule__DSL_REF_CONDITION__Group__2 : rule__DSL_REF_CONDITION__Group__2__Impl rule__DSL_REF_CONDITION__Group__3 ;
-    public final void rule__DSL_REF_CONDITION__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2404:1: ( rule__DSL_REF_CONDITION__Group__2__Impl rule__DSL_REF_CONDITION__Group__3 )
-            // InternalSensinact.g:2405:2: rule__DSL_REF_CONDITION__Group__2__Impl rule__DSL_REF_CONDITION__Group__3
-            {
-            pushFollow(FOLLOW_24);
-            rule__DSL_REF_CONDITION__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_REF_CONDITION__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_REF_CONDITION__Group__2"
-
-
-    // $ANTLR start "rule__DSL_REF_CONDITION__Group__2__Impl"
-    // InternalSensinact.g:2412:1: rule__DSL_REF_CONDITION__Group__2__Impl : ( 'subscribe' ) ;
-    public final void rule__DSL_REF_CONDITION__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2416:1: ( ( 'subscribe' ) )
-            // InternalSensinact.g:2417:1: ( 'subscribe' )
-            {
-            // InternalSensinact.g:2417:1: ( 'subscribe' )
-            // InternalSensinact.g:2418:2: 'subscribe'
-            {
-             before(grammarAccess.getDSL_REF_CONDITIONAccess().getSubscribeKeyword_2()); 
-            match(input,27,FOLLOW_2); 
-             after(grammarAccess.getDSL_REF_CONDITIONAccess().getSubscribeKeyword_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_REF_CONDITION__Group__2__Impl"
-
-
-    // $ANTLR start "rule__DSL_REF_CONDITION__Group__3"
-    // InternalSensinact.g:2427:1: rule__DSL_REF_CONDITION__Group__3 : rule__DSL_REF_CONDITION__Group__3__Impl rule__DSL_REF_CONDITION__Group__4 ;
-    public final void rule__DSL_REF_CONDITION__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2431:1: ( rule__DSL_REF_CONDITION__Group__3__Impl rule__DSL_REF_CONDITION__Group__4 )
-            // InternalSensinact.g:2432:2: rule__DSL_REF_CONDITION__Group__3__Impl rule__DSL_REF_CONDITION__Group__4
-            {
-            pushFollow(FOLLOW_25);
-            rule__DSL_REF_CONDITION__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_REF_CONDITION__Group__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_REF_CONDITION__Group__3"
-
-
-    // $ANTLR start "rule__DSL_REF_CONDITION__Group__3__Impl"
-    // InternalSensinact.g:2439:1: rule__DSL_REF_CONDITION__Group__3__Impl : ( '(' ) ;
-    public final void rule__DSL_REF_CONDITION__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2443:1: ( ( '(' ) )
-            // InternalSensinact.g:2444:1: ( '(' )
-            {
-            // InternalSensinact.g:2444:1: ( '(' )
-            // InternalSensinact.g:2445:2: '('
-            {
-             before(grammarAccess.getDSL_REF_CONDITIONAccess().getLeftParenthesisKeyword_3()); 
-            match(input,28,FOLLOW_2); 
-             after(grammarAccess.getDSL_REF_CONDITIONAccess().getLeftParenthesisKeyword_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_REF_CONDITION__Group__3__Impl"
-
-
-    // $ANTLR start "rule__DSL_REF_CONDITION__Group__4"
-    // InternalSensinact.g:2454:1: rule__DSL_REF_CONDITION__Group__4 : rule__DSL_REF_CONDITION__Group__4__Impl ;
-    public final void rule__DSL_REF_CONDITION__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2458:1: ( rule__DSL_REF_CONDITION__Group__4__Impl )
-            // InternalSensinact.g:2459:2: rule__DSL_REF_CONDITION__Group__4__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_REF_CONDITION__Group__4__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_REF_CONDITION__Group__4"
-
-
-    // $ANTLR start "rule__DSL_REF_CONDITION__Group__4__Impl"
-    // InternalSensinact.g:2465:1: rule__DSL_REF_CONDITION__Group__4__Impl : ( ')' ) ;
-    public final void rule__DSL_REF_CONDITION__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2469:1: ( ( ')' ) )
-            // InternalSensinact.g:2470:1: ( ')' )
-            {
-            // InternalSensinact.g:2470:1: ( ')' )
-            // InternalSensinact.g:2471:2: ')'
-            {
-             before(grammarAccess.getDSL_REF_CONDITIONAccess().getRightParenthesisKeyword_4()); 
-            match(input,29,FOLLOW_2); 
-             after(grammarAccess.getDSL_REF_CONDITIONAccess().getRightParenthesisKeyword_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_REF_CONDITION__Group__4__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_STATEMENT__Group__0"
-    // InternalSensinact.g:2481:1: rule__DSL_CEP_STATEMENT__Group__0 : rule__DSL_CEP_STATEMENT__Group__0__Impl rule__DSL_CEP_STATEMENT__Group__1 ;
-    public final void rule__DSL_CEP_STATEMENT__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2485:1: ( rule__DSL_CEP_STATEMENT__Group__0__Impl rule__DSL_CEP_STATEMENT__Group__1 )
-            // InternalSensinact.g:2486:2: rule__DSL_CEP_STATEMENT__Group__0__Impl rule__DSL_CEP_STATEMENT__Group__1
-            {
-            pushFollow(FOLLOW_9);
-            rule__DSL_CEP_STATEMENT__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_STATEMENT__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_STATEMENT__Group__0"
-
-
-    // $ANTLR start "rule__DSL_CEP_STATEMENT__Group__0__Impl"
-    // InternalSensinact.g:2493:1: rule__DSL_CEP_STATEMENT__Group__0__Impl : ( 'define' ) ;
-    public final void rule__DSL_CEP_STATEMENT__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2497:1: ( ( 'define' ) )
-            // InternalSensinact.g:2498:1: ( 'define' )
-            {
-            // InternalSensinact.g:2498:1: ( 'define' )
-            // InternalSensinact.g:2499:2: 'define'
-            {
-             before(grammarAccess.getDSL_CEP_STATEMENTAccess().getDefineKeyword_0()); 
-            match(input,30,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_STATEMENTAccess().getDefineKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_STATEMENT__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_STATEMENT__Group__1"
-    // InternalSensinact.g:2508:1: rule__DSL_CEP_STATEMENT__Group__1 : rule__DSL_CEP_STATEMENT__Group__1__Impl rule__DSL_CEP_STATEMENT__Group__2 ;
-    public final void rule__DSL_CEP_STATEMENT__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2512:1: ( rule__DSL_CEP_STATEMENT__Group__1__Impl rule__DSL_CEP_STATEMENT__Group__2 )
-            // InternalSensinact.g:2513:2: rule__DSL_CEP_STATEMENT__Group__1__Impl rule__DSL_CEP_STATEMENT__Group__2
-            {
-            pushFollow(FOLLOW_10);
-            rule__DSL_CEP_STATEMENT__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_STATEMENT__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_STATEMENT__Group__1"
-
-
-    // $ANTLR start "rule__DSL_CEP_STATEMENT__Group__1__Impl"
-    // InternalSensinact.g:2520:1: rule__DSL_CEP_STATEMENT__Group__1__Impl : ( ( rule__DSL_CEP_STATEMENT__NameAssignment_1 ) ) ;
-    public final void rule__DSL_CEP_STATEMENT__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2524:1: ( ( ( rule__DSL_CEP_STATEMENT__NameAssignment_1 ) ) )
-            // InternalSensinact.g:2525:1: ( ( rule__DSL_CEP_STATEMENT__NameAssignment_1 ) )
-            {
-            // InternalSensinact.g:2525:1: ( ( rule__DSL_CEP_STATEMENT__NameAssignment_1 ) )
-            // InternalSensinact.g:2526:2: ( rule__DSL_CEP_STATEMENT__NameAssignment_1 )
-            {
-             before(grammarAccess.getDSL_CEP_STATEMENTAccess().getNameAssignment_1()); 
-            // InternalSensinact.g:2527:2: ( rule__DSL_CEP_STATEMENT__NameAssignment_1 )
-            // InternalSensinact.g:2527:3: rule__DSL_CEP_STATEMENT__NameAssignment_1
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_STATEMENT__NameAssignment_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_STATEMENTAccess().getNameAssignment_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_STATEMENT__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_STATEMENT__Group__2"
-    // InternalSensinact.g:2535:1: rule__DSL_CEP_STATEMENT__Group__2 : rule__DSL_CEP_STATEMENT__Group__2__Impl rule__DSL_CEP_STATEMENT__Group__3 ;
-    public final void rule__DSL_CEP_STATEMENT__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2539:1: ( rule__DSL_CEP_STATEMENT__Group__2__Impl rule__DSL_CEP_STATEMENT__Group__3 )
-            // InternalSensinact.g:2540:2: rule__DSL_CEP_STATEMENT__Group__2__Impl rule__DSL_CEP_STATEMENT__Group__3
-            {
-            pushFollow(FOLLOW_26);
-            rule__DSL_CEP_STATEMENT__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_STATEMENT__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_STATEMENT__Group__2"
-
-
-    // $ANTLR start "rule__DSL_CEP_STATEMENT__Group__2__Impl"
-    // InternalSensinact.g:2547:1: rule__DSL_CEP_STATEMENT__Group__2__Impl : ( '=' ) ;
-    public final void rule__DSL_CEP_STATEMENT__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2551:1: ( ( '=' ) )
-            // InternalSensinact.g:2552:1: ( '=' )
-            {
-            // InternalSensinact.g:2552:1: ( '=' )
-            // InternalSensinact.g:2553:2: '='
-            {
-             before(grammarAccess.getDSL_CEP_STATEMENTAccess().getEqualsSignKeyword_2()); 
-            match(input,15,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_STATEMENTAccess().getEqualsSignKeyword_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_STATEMENT__Group__2__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_STATEMENT__Group__3"
-    // InternalSensinact.g:2562:1: rule__DSL_CEP_STATEMENT__Group__3 : rule__DSL_CEP_STATEMENT__Group__3__Impl ;
-    public final void rule__DSL_CEP_STATEMENT__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2566:1: ( rule__DSL_CEP_STATEMENT__Group__3__Impl )
-            // InternalSensinact.g:2567:2: rule__DSL_CEP_STATEMENT__Group__3__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_STATEMENT__Group__3__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_STATEMENT__Group__3"
-
-
-    // $ANTLR start "rule__DSL_CEP_STATEMENT__Group__3__Impl"
-    // InternalSensinact.g:2573:1: rule__DSL_CEP_STATEMENT__Group__3__Impl : ( ( rule__DSL_CEP_STATEMENT__OperationAssignment_3 ) ) ;
-    public final void rule__DSL_CEP_STATEMENT__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2577:1: ( ( ( rule__DSL_CEP_STATEMENT__OperationAssignment_3 ) ) )
-            // InternalSensinact.g:2578:1: ( ( rule__DSL_CEP_STATEMENT__OperationAssignment_3 ) )
-            {
-            // InternalSensinact.g:2578:1: ( ( rule__DSL_CEP_STATEMENT__OperationAssignment_3 ) )
-            // InternalSensinact.g:2579:2: ( rule__DSL_CEP_STATEMENT__OperationAssignment_3 )
-            {
-             before(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationAssignment_3()); 
-            // InternalSensinact.g:2580:2: ( rule__DSL_CEP_STATEMENT__OperationAssignment_3 )
-            // InternalSensinact.g:2580:3: rule__DSL_CEP_STATEMENT__OperationAssignment_3
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_STATEMENT__OperationAssignment_3();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationAssignment_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_STATEMENT__Group__3__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_AFTER__Group__0"
-    // InternalSensinact.g:2589:1: rule__DSL_CEP_AFTER__Group__0 : rule__DSL_CEP_AFTER__Group__0__Impl rule__DSL_CEP_AFTER__Group__1 ;
-    public final void rule__DSL_CEP_AFTER__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2593:1: ( rule__DSL_CEP_AFTER__Group__0__Impl rule__DSL_CEP_AFTER__Group__1 )
-            // InternalSensinact.g:2594:2: rule__DSL_CEP_AFTER__Group__0__Impl rule__DSL_CEP_AFTER__Group__1
-            {
-            pushFollow(FOLLOW_24);
-            rule__DSL_CEP_AFTER__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_AFTER__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AFTER__Group__0"
-
-
-    // $ANTLR start "rule__DSL_CEP_AFTER__Group__0__Impl"
-    // InternalSensinact.g:2601:1: rule__DSL_CEP_AFTER__Group__0__Impl : ( 'after' ) ;
-    public final void rule__DSL_CEP_AFTER__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2605:1: ( ( 'after' ) )
-            // InternalSensinact.g:2606:1: ( 'after' )
-            {
-            // InternalSensinact.g:2606:1: ( 'after' )
-            // InternalSensinact.g:2607:2: 'after'
-            {
-             before(grammarAccess.getDSL_CEP_AFTERAccess().getAfterKeyword_0()); 
-            match(input,31,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_AFTERAccess().getAfterKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AFTER__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_AFTER__Group__1"
-    // InternalSensinact.g:2616:1: rule__DSL_CEP_AFTER__Group__1 : rule__DSL_CEP_AFTER__Group__1__Impl rule__DSL_CEP_AFTER__Group__2 ;
-    public final void rule__DSL_CEP_AFTER__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2620:1: ( rule__DSL_CEP_AFTER__Group__1__Impl rule__DSL_CEP_AFTER__Group__2 )
-            // InternalSensinact.g:2621:2: rule__DSL_CEP_AFTER__Group__1__Impl rule__DSL_CEP_AFTER__Group__2
-            {
-            pushFollow(FOLLOW_9);
-            rule__DSL_CEP_AFTER__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_AFTER__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AFTER__Group__1"
-
-
-    // $ANTLR start "rule__DSL_CEP_AFTER__Group__1__Impl"
-    // InternalSensinact.g:2628:1: rule__DSL_CEP_AFTER__Group__1__Impl : ( '(' ) ;
-    public final void rule__DSL_CEP_AFTER__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2632:1: ( ( '(' ) )
-            // InternalSensinact.g:2633:1: ( '(' )
-            {
-            // InternalSensinact.g:2633:1: ( '(' )
-            // InternalSensinact.g:2634:2: '('
-            {
-             before(grammarAccess.getDSL_CEP_AFTERAccess().getLeftParenthesisKeyword_1()); 
-            match(input,28,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_AFTERAccess().getLeftParenthesisKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AFTER__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_AFTER__Group__2"
-    // InternalSensinact.g:2643:1: rule__DSL_CEP_AFTER__Group__2 : rule__DSL_CEP_AFTER__Group__2__Impl rule__DSL_CEP_AFTER__Group__3 ;
-    public final void rule__DSL_CEP_AFTER__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2647:1: ( rule__DSL_CEP_AFTER__Group__2__Impl rule__DSL_CEP_AFTER__Group__3 )
-            // InternalSensinact.g:2648:2: rule__DSL_CEP_AFTER__Group__2__Impl rule__DSL_CEP_AFTER__Group__3
-            {
-            pushFollow(FOLLOW_14);
-            rule__DSL_CEP_AFTER__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_AFTER__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AFTER__Group__2"
-
-
-    // $ANTLR start "rule__DSL_CEP_AFTER__Group__2__Impl"
-    // InternalSensinact.g:2655:1: rule__DSL_CEP_AFTER__Group__2__Impl : ( ( rule__DSL_CEP_AFTER__Ref1Assignment_2 ) ) ;
-    public final void rule__DSL_CEP_AFTER__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2659:1: ( ( ( rule__DSL_CEP_AFTER__Ref1Assignment_2 ) ) )
-            // InternalSensinact.g:2660:1: ( ( rule__DSL_CEP_AFTER__Ref1Assignment_2 ) )
-            {
-            // InternalSensinact.g:2660:1: ( ( rule__DSL_CEP_AFTER__Ref1Assignment_2 ) )
-            // InternalSensinact.g:2661:2: ( rule__DSL_CEP_AFTER__Ref1Assignment_2 )
-            {
-             before(grammarAccess.getDSL_CEP_AFTERAccess().getRef1Assignment_2()); 
-            // InternalSensinact.g:2662:2: ( rule__DSL_CEP_AFTER__Ref1Assignment_2 )
-            // InternalSensinact.g:2662:3: rule__DSL_CEP_AFTER__Ref1Assignment_2
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_AFTER__Ref1Assignment_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_AFTERAccess().getRef1Assignment_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AFTER__Group__2__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_AFTER__Group__3"
-    // InternalSensinact.g:2670:1: rule__DSL_CEP_AFTER__Group__3 : rule__DSL_CEP_AFTER__Group__3__Impl rule__DSL_CEP_AFTER__Group__4 ;
-    public final void rule__DSL_CEP_AFTER__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2674:1: ( rule__DSL_CEP_AFTER__Group__3__Impl rule__DSL_CEP_AFTER__Group__4 )
-            // InternalSensinact.g:2675:2: rule__DSL_CEP_AFTER__Group__3__Impl rule__DSL_CEP_AFTER__Group__4
-            {
-            pushFollow(FOLLOW_9);
-            rule__DSL_CEP_AFTER__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_AFTER__Group__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AFTER__Group__3"
-
-
-    // $ANTLR start "rule__DSL_CEP_AFTER__Group__3__Impl"
-    // InternalSensinact.g:2682:1: rule__DSL_CEP_AFTER__Group__3__Impl : ( ',' ) ;
-    public final void rule__DSL_CEP_AFTER__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2686:1: ( ( ',' ) )
-            // InternalSensinact.g:2687:1: ( ',' )
-            {
-            // InternalSensinact.g:2687:1: ( ',' )
-            // InternalSensinact.g:2688:2: ','
-            {
-             before(grammarAccess.getDSL_CEP_AFTERAccess().getCommaKeyword_3()); 
-            match(input,20,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_AFTERAccess().getCommaKeyword_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AFTER__Group__3__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_AFTER__Group__4"
-    // InternalSensinact.g:2697:1: rule__DSL_CEP_AFTER__Group__4 : rule__DSL_CEP_AFTER__Group__4__Impl rule__DSL_CEP_AFTER__Group__5 ;
-    public final void rule__DSL_CEP_AFTER__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2701:1: ( rule__DSL_CEP_AFTER__Group__4__Impl rule__DSL_CEP_AFTER__Group__5 )
-            // InternalSensinact.g:2702:2: rule__DSL_CEP_AFTER__Group__4__Impl rule__DSL_CEP_AFTER__Group__5
-            {
-            pushFollow(FOLLOW_14);
-            rule__DSL_CEP_AFTER__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_AFTER__Group__5();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AFTER__Group__4"
-
-
-    // $ANTLR start "rule__DSL_CEP_AFTER__Group__4__Impl"
-    // InternalSensinact.g:2709:1: rule__DSL_CEP_AFTER__Group__4__Impl : ( ( rule__DSL_CEP_AFTER__Ref2Assignment_4 ) ) ;
-    public final void rule__DSL_CEP_AFTER__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2713:1: ( ( ( rule__DSL_CEP_AFTER__Ref2Assignment_4 ) ) )
-            // InternalSensinact.g:2714:1: ( ( rule__DSL_CEP_AFTER__Ref2Assignment_4 ) )
-            {
-            // InternalSensinact.g:2714:1: ( ( rule__DSL_CEP_AFTER__Ref2Assignment_4 ) )
-            // InternalSensinact.g:2715:2: ( rule__DSL_CEP_AFTER__Ref2Assignment_4 )
-            {
-             before(grammarAccess.getDSL_CEP_AFTERAccess().getRef2Assignment_4()); 
-            // InternalSensinact.g:2716:2: ( rule__DSL_CEP_AFTER__Ref2Assignment_4 )
-            // InternalSensinact.g:2716:3: rule__DSL_CEP_AFTER__Ref2Assignment_4
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_AFTER__Ref2Assignment_4();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_AFTERAccess().getRef2Assignment_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AFTER__Group__4__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_AFTER__Group__5"
-    // InternalSensinact.g:2724:1: rule__DSL_CEP_AFTER__Group__5 : rule__DSL_CEP_AFTER__Group__5__Impl rule__DSL_CEP_AFTER__Group__6 ;
-    public final void rule__DSL_CEP_AFTER__Group__5() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2728:1: ( rule__DSL_CEP_AFTER__Group__5__Impl rule__DSL_CEP_AFTER__Group__6 )
-            // InternalSensinact.g:2729:2: rule__DSL_CEP_AFTER__Group__5__Impl rule__DSL_CEP_AFTER__Group__6
-            {
-            pushFollow(FOLLOW_21);
-            rule__DSL_CEP_AFTER__Group__5__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_AFTER__Group__6();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AFTER__Group__5"
-
-
-    // $ANTLR start "rule__DSL_CEP_AFTER__Group__5__Impl"
-    // InternalSensinact.g:2736:1: rule__DSL_CEP_AFTER__Group__5__Impl : ( ',' ) ;
-    public final void rule__DSL_CEP_AFTER__Group__5__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2740:1: ( ( ',' ) )
-            // InternalSensinact.g:2741:1: ( ',' )
-            {
-            // InternalSensinact.g:2741:1: ( ',' )
-            // InternalSensinact.g:2742:2: ','
-            {
-             before(grammarAccess.getDSL_CEP_AFTERAccess().getCommaKeyword_5()); 
-            match(input,20,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_AFTERAccess().getCommaKeyword_5()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AFTER__Group__5__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_AFTER__Group__6"
-    // InternalSensinact.g:2751:1: rule__DSL_CEP_AFTER__Group__6 : rule__DSL_CEP_AFTER__Group__6__Impl rule__DSL_CEP_AFTER__Group__7 ;
-    public final void rule__DSL_CEP_AFTER__Group__6() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2755:1: ( rule__DSL_CEP_AFTER__Group__6__Impl rule__DSL_CEP_AFTER__Group__7 )
-            // InternalSensinact.g:2756:2: rule__DSL_CEP_AFTER__Group__6__Impl rule__DSL_CEP_AFTER__Group__7
-            {
-            pushFollow(FOLLOW_21);
-            rule__DSL_CEP_AFTER__Group__6__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_AFTER__Group__7();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AFTER__Group__6"
-
-
-    // $ANTLR start "rule__DSL_CEP_AFTER__Group__6__Impl"
-    // InternalSensinact.g:2763:1: rule__DSL_CEP_AFTER__Group__6__Impl : ( ( rule__DSL_CEP_AFTER__Group_6__0 )? ) ;
-    public final void rule__DSL_CEP_AFTER__Group__6__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2767:1: ( ( ( rule__DSL_CEP_AFTER__Group_6__0 )? ) )
-            // InternalSensinact.g:2768:1: ( ( rule__DSL_CEP_AFTER__Group_6__0 )? )
-            {
-            // InternalSensinact.g:2768:1: ( ( rule__DSL_CEP_AFTER__Group_6__0 )? )
-            // InternalSensinact.g:2769:2: ( rule__DSL_CEP_AFTER__Group_6__0 )?
-            {
-             before(grammarAccess.getDSL_CEP_AFTERAccess().getGroup_6()); 
-            // InternalSensinact.g:2770:2: ( rule__DSL_CEP_AFTER__Group_6__0 )?
-            int alt17=2;
-            alt17 = dfa17.predict(input);
-            switch (alt17) {
-                case 1 :
-                    // InternalSensinact.g:2770:3: rule__DSL_CEP_AFTER__Group_6__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DSL_CEP_AFTER__Group_6__0();
-
-                    state._fsp--;
-
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getDSL_CEP_AFTERAccess().getGroup_6()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AFTER__Group__6__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_AFTER__Group__7"
-    // InternalSensinact.g:2778:1: rule__DSL_CEP_AFTER__Group__7 : rule__DSL_CEP_AFTER__Group__7__Impl rule__DSL_CEP_AFTER__Group__8 ;
-    public final void rule__DSL_CEP_AFTER__Group__7() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2782:1: ( rule__DSL_CEP_AFTER__Group__7__Impl rule__DSL_CEP_AFTER__Group__8 )
-            // InternalSensinact.g:2783:2: rule__DSL_CEP_AFTER__Group__7__Impl rule__DSL_CEP_AFTER__Group__8
-            {
-            pushFollow(FOLLOW_25);
-            rule__DSL_CEP_AFTER__Group__7__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_AFTER__Group__8();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AFTER__Group__7"
-
-
-    // $ANTLR start "rule__DSL_CEP_AFTER__Group__7__Impl"
-    // InternalSensinact.g:2790:1: rule__DSL_CEP_AFTER__Group__7__Impl : ( ( rule__DSL_CEP_AFTER__EndAssignment_7 ) ) ;
-    public final void rule__DSL_CEP_AFTER__Group__7__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2794:1: ( ( ( rule__DSL_CEP_AFTER__EndAssignment_7 ) ) )
-            // InternalSensinact.g:2795:1: ( ( rule__DSL_CEP_AFTER__EndAssignment_7 ) )
-            {
-            // InternalSensinact.g:2795:1: ( ( rule__DSL_CEP_AFTER__EndAssignment_7 ) )
-            // InternalSensinact.g:2796:2: ( rule__DSL_CEP_AFTER__EndAssignment_7 )
-            {
-             before(grammarAccess.getDSL_CEP_AFTERAccess().getEndAssignment_7()); 
-            // InternalSensinact.g:2797:2: ( rule__DSL_CEP_AFTER__EndAssignment_7 )
-            // InternalSensinact.g:2797:3: rule__DSL_CEP_AFTER__EndAssignment_7
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_AFTER__EndAssignment_7();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_AFTERAccess().getEndAssignment_7()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AFTER__Group__7__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_AFTER__Group__8"
-    // InternalSensinact.g:2805:1: rule__DSL_CEP_AFTER__Group__8 : rule__DSL_CEP_AFTER__Group__8__Impl ;
-    public final void rule__DSL_CEP_AFTER__Group__8() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2809:1: ( rule__DSL_CEP_AFTER__Group__8__Impl )
-            // InternalSensinact.g:2810:2: rule__DSL_CEP_AFTER__Group__8__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_AFTER__Group__8__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AFTER__Group__8"
-
-
-    // $ANTLR start "rule__DSL_CEP_AFTER__Group__8__Impl"
-    // InternalSensinact.g:2816:1: rule__DSL_CEP_AFTER__Group__8__Impl : ( ')' ) ;
-    public final void rule__DSL_CEP_AFTER__Group__8__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2820:1: ( ( ')' ) )
-            // InternalSensinact.g:2821:1: ( ')' )
-            {
-            // InternalSensinact.g:2821:1: ( ')' )
-            // InternalSensinact.g:2822:2: ')'
-            {
-             before(grammarAccess.getDSL_CEP_AFTERAccess().getRightParenthesisKeyword_8()); 
-            match(input,29,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_AFTERAccess().getRightParenthesisKeyword_8()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AFTER__Group__8__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_AFTER__Group_6__0"
-    // InternalSensinact.g:2832:1: rule__DSL_CEP_AFTER__Group_6__0 : rule__DSL_CEP_AFTER__Group_6__0__Impl rule__DSL_CEP_AFTER__Group_6__1 ;
-    public final void rule__DSL_CEP_AFTER__Group_6__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2836:1: ( rule__DSL_CEP_AFTER__Group_6__0__Impl rule__DSL_CEP_AFTER__Group_6__1 )
-            // InternalSensinact.g:2837:2: rule__DSL_CEP_AFTER__Group_6__0__Impl rule__DSL_CEP_AFTER__Group_6__1
-            {
-            pushFollow(FOLLOW_14);
-            rule__DSL_CEP_AFTER__Group_6__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_AFTER__Group_6__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AFTER__Group_6__0"
-
-
-    // $ANTLR start "rule__DSL_CEP_AFTER__Group_6__0__Impl"
-    // InternalSensinact.g:2844:1: rule__DSL_CEP_AFTER__Group_6__0__Impl : ( ( rule__DSL_CEP_AFTER__StartAssignment_6_0 ) ) ;
-    public final void rule__DSL_CEP_AFTER__Group_6__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2848:1: ( ( ( rule__DSL_CEP_AFTER__StartAssignment_6_0 ) ) )
-            // InternalSensinact.g:2849:1: ( ( rule__DSL_CEP_AFTER__StartAssignment_6_0 ) )
-            {
-            // InternalSensinact.g:2849:1: ( ( rule__DSL_CEP_AFTER__StartAssignment_6_0 ) )
-            // InternalSensinact.g:2850:2: ( rule__DSL_CEP_AFTER__StartAssignment_6_0 )
-            {
-             before(grammarAccess.getDSL_CEP_AFTERAccess().getStartAssignment_6_0()); 
-            // InternalSensinact.g:2851:2: ( rule__DSL_CEP_AFTER__StartAssignment_6_0 )
-            // InternalSensinact.g:2851:3: rule__DSL_CEP_AFTER__StartAssignment_6_0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_AFTER__StartAssignment_6_0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_AFTERAccess().getStartAssignment_6_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AFTER__Group_6__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_AFTER__Group_6__1"
-    // InternalSensinact.g:2859:1: rule__DSL_CEP_AFTER__Group_6__1 : rule__DSL_CEP_AFTER__Group_6__1__Impl ;
-    public final void rule__DSL_CEP_AFTER__Group_6__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2863:1: ( rule__DSL_CEP_AFTER__Group_6__1__Impl )
-            // InternalSensinact.g:2864:2: rule__DSL_CEP_AFTER__Group_6__1__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_AFTER__Group_6__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AFTER__Group_6__1"
-
-
-    // $ANTLR start "rule__DSL_CEP_AFTER__Group_6__1__Impl"
-    // InternalSensinact.g:2870:1: rule__DSL_CEP_AFTER__Group_6__1__Impl : ( ',' ) ;
-    public final void rule__DSL_CEP_AFTER__Group_6__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2874:1: ( ( ',' ) )
-            // InternalSensinact.g:2875:1: ( ',' )
-            {
-            // InternalSensinact.g:2875:1: ( ',' )
-            // InternalSensinact.g:2876:2: ','
-            {
-             before(grammarAccess.getDSL_CEP_AFTERAccess().getCommaKeyword_6_1()); 
-            match(input,20,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_AFTERAccess().getCommaKeyword_6_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AFTER__Group_6__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_BEFORE__Group__0"
-    // InternalSensinact.g:2886:1: rule__DSL_CEP_BEFORE__Group__0 : rule__DSL_CEP_BEFORE__Group__0__Impl rule__DSL_CEP_BEFORE__Group__1 ;
-    public final void rule__DSL_CEP_BEFORE__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2890:1: ( rule__DSL_CEP_BEFORE__Group__0__Impl rule__DSL_CEP_BEFORE__Group__1 )
-            // InternalSensinact.g:2891:2: rule__DSL_CEP_BEFORE__Group__0__Impl rule__DSL_CEP_BEFORE__Group__1
-            {
-            pushFollow(FOLLOW_24);
-            rule__DSL_CEP_BEFORE__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_BEFORE__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_BEFORE__Group__0"
-
-
-    // $ANTLR start "rule__DSL_CEP_BEFORE__Group__0__Impl"
-    // InternalSensinact.g:2898:1: rule__DSL_CEP_BEFORE__Group__0__Impl : ( 'before' ) ;
-    public final void rule__DSL_CEP_BEFORE__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2902:1: ( ( 'before' ) )
-            // InternalSensinact.g:2903:1: ( 'before' )
-            {
-            // InternalSensinact.g:2903:1: ( 'before' )
-            // InternalSensinact.g:2904:2: 'before'
-            {
-             before(grammarAccess.getDSL_CEP_BEFOREAccess().getBeforeKeyword_0()); 
-            match(input,32,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_BEFOREAccess().getBeforeKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_BEFORE__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_BEFORE__Group__1"
-    // InternalSensinact.g:2913:1: rule__DSL_CEP_BEFORE__Group__1 : rule__DSL_CEP_BEFORE__Group__1__Impl rule__DSL_CEP_BEFORE__Group__2 ;
-    public final void rule__DSL_CEP_BEFORE__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2917:1: ( rule__DSL_CEP_BEFORE__Group__1__Impl rule__DSL_CEP_BEFORE__Group__2 )
-            // InternalSensinact.g:2918:2: rule__DSL_CEP_BEFORE__Group__1__Impl rule__DSL_CEP_BEFORE__Group__2
-            {
-            pushFollow(FOLLOW_9);
-            rule__DSL_CEP_BEFORE__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_BEFORE__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_BEFORE__Group__1"
-
-
-    // $ANTLR start "rule__DSL_CEP_BEFORE__Group__1__Impl"
-    // InternalSensinact.g:2925:1: rule__DSL_CEP_BEFORE__Group__1__Impl : ( '(' ) ;
-    public final void rule__DSL_CEP_BEFORE__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2929:1: ( ( '(' ) )
-            // InternalSensinact.g:2930:1: ( '(' )
-            {
-            // InternalSensinact.g:2930:1: ( '(' )
-            // InternalSensinact.g:2931:2: '('
-            {
-             before(grammarAccess.getDSL_CEP_BEFOREAccess().getLeftParenthesisKeyword_1()); 
-            match(input,28,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_BEFOREAccess().getLeftParenthesisKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_BEFORE__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_BEFORE__Group__2"
-    // InternalSensinact.g:2940:1: rule__DSL_CEP_BEFORE__Group__2 : rule__DSL_CEP_BEFORE__Group__2__Impl rule__DSL_CEP_BEFORE__Group__3 ;
-    public final void rule__DSL_CEP_BEFORE__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2944:1: ( rule__DSL_CEP_BEFORE__Group__2__Impl rule__DSL_CEP_BEFORE__Group__3 )
-            // InternalSensinact.g:2945:2: rule__DSL_CEP_BEFORE__Group__2__Impl rule__DSL_CEP_BEFORE__Group__3
-            {
-            pushFollow(FOLLOW_14);
-            rule__DSL_CEP_BEFORE__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_BEFORE__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_BEFORE__Group__2"
-
-
-    // $ANTLR start "rule__DSL_CEP_BEFORE__Group__2__Impl"
-    // InternalSensinact.g:2952:1: rule__DSL_CEP_BEFORE__Group__2__Impl : ( ( rule__DSL_CEP_BEFORE__Ref1Assignment_2 ) ) ;
-    public final void rule__DSL_CEP_BEFORE__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2956:1: ( ( ( rule__DSL_CEP_BEFORE__Ref1Assignment_2 ) ) )
-            // InternalSensinact.g:2957:1: ( ( rule__DSL_CEP_BEFORE__Ref1Assignment_2 ) )
-            {
-            // InternalSensinact.g:2957:1: ( ( rule__DSL_CEP_BEFORE__Ref1Assignment_2 ) )
-            // InternalSensinact.g:2958:2: ( rule__DSL_CEP_BEFORE__Ref1Assignment_2 )
-            {
-             before(grammarAccess.getDSL_CEP_BEFOREAccess().getRef1Assignment_2()); 
-            // InternalSensinact.g:2959:2: ( rule__DSL_CEP_BEFORE__Ref1Assignment_2 )
-            // InternalSensinact.g:2959:3: rule__DSL_CEP_BEFORE__Ref1Assignment_2
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_BEFORE__Ref1Assignment_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_BEFOREAccess().getRef1Assignment_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_BEFORE__Group__2__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_BEFORE__Group__3"
-    // InternalSensinact.g:2967:1: rule__DSL_CEP_BEFORE__Group__3 : rule__DSL_CEP_BEFORE__Group__3__Impl rule__DSL_CEP_BEFORE__Group__4 ;
-    public final void rule__DSL_CEP_BEFORE__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2971:1: ( rule__DSL_CEP_BEFORE__Group__3__Impl rule__DSL_CEP_BEFORE__Group__4 )
-            // InternalSensinact.g:2972:2: rule__DSL_CEP_BEFORE__Group__3__Impl rule__DSL_CEP_BEFORE__Group__4
-            {
-            pushFollow(FOLLOW_9);
-            rule__DSL_CEP_BEFORE__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_BEFORE__Group__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_BEFORE__Group__3"
-
-
-    // $ANTLR start "rule__DSL_CEP_BEFORE__Group__3__Impl"
-    // InternalSensinact.g:2979:1: rule__DSL_CEP_BEFORE__Group__3__Impl : ( ',' ) ;
-    public final void rule__DSL_CEP_BEFORE__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2983:1: ( ( ',' ) )
-            // InternalSensinact.g:2984:1: ( ',' )
-            {
-            // InternalSensinact.g:2984:1: ( ',' )
-            // InternalSensinact.g:2985:2: ','
-            {
-             before(grammarAccess.getDSL_CEP_BEFOREAccess().getCommaKeyword_3()); 
-            match(input,20,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_BEFOREAccess().getCommaKeyword_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_BEFORE__Group__3__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_BEFORE__Group__4"
-    // InternalSensinact.g:2994:1: rule__DSL_CEP_BEFORE__Group__4 : rule__DSL_CEP_BEFORE__Group__4__Impl rule__DSL_CEP_BEFORE__Group__5 ;
-    public final void rule__DSL_CEP_BEFORE__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:2998:1: ( rule__DSL_CEP_BEFORE__Group__4__Impl rule__DSL_CEP_BEFORE__Group__5 )
-            // InternalSensinact.g:2999:2: rule__DSL_CEP_BEFORE__Group__4__Impl rule__DSL_CEP_BEFORE__Group__5
-            {
-            pushFollow(FOLLOW_14);
-            rule__DSL_CEP_BEFORE__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_BEFORE__Group__5();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_BEFORE__Group__4"
-
-
-    // $ANTLR start "rule__DSL_CEP_BEFORE__Group__4__Impl"
-    // InternalSensinact.g:3006:1: rule__DSL_CEP_BEFORE__Group__4__Impl : ( ( rule__DSL_CEP_BEFORE__Ref2Assignment_4 ) ) ;
-    public final void rule__DSL_CEP_BEFORE__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3010:1: ( ( ( rule__DSL_CEP_BEFORE__Ref2Assignment_4 ) ) )
-            // InternalSensinact.g:3011:1: ( ( rule__DSL_CEP_BEFORE__Ref2Assignment_4 ) )
-            {
-            // InternalSensinact.g:3011:1: ( ( rule__DSL_CEP_BEFORE__Ref2Assignment_4 ) )
-            // InternalSensinact.g:3012:2: ( rule__DSL_CEP_BEFORE__Ref2Assignment_4 )
-            {
-             before(grammarAccess.getDSL_CEP_BEFOREAccess().getRef2Assignment_4()); 
-            // InternalSensinact.g:3013:2: ( rule__DSL_CEP_BEFORE__Ref2Assignment_4 )
-            // InternalSensinact.g:3013:3: rule__DSL_CEP_BEFORE__Ref2Assignment_4
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_BEFORE__Ref2Assignment_4();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_BEFOREAccess().getRef2Assignment_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_BEFORE__Group__4__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_BEFORE__Group__5"
-    // InternalSensinact.g:3021:1: rule__DSL_CEP_BEFORE__Group__5 : rule__DSL_CEP_BEFORE__Group__5__Impl rule__DSL_CEP_BEFORE__Group__6 ;
-    public final void rule__DSL_CEP_BEFORE__Group__5() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3025:1: ( rule__DSL_CEP_BEFORE__Group__5__Impl rule__DSL_CEP_BEFORE__Group__6 )
-            // InternalSensinact.g:3026:2: rule__DSL_CEP_BEFORE__Group__5__Impl rule__DSL_CEP_BEFORE__Group__6
-            {
-            pushFollow(FOLLOW_21);
-            rule__DSL_CEP_BEFORE__Group__5__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_BEFORE__Group__6();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_BEFORE__Group__5"
-
-
-    // $ANTLR start "rule__DSL_CEP_BEFORE__Group__5__Impl"
-    // InternalSensinact.g:3033:1: rule__DSL_CEP_BEFORE__Group__5__Impl : ( ',' ) ;
-    public final void rule__DSL_CEP_BEFORE__Group__5__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3037:1: ( ( ',' ) )
-            // InternalSensinact.g:3038:1: ( ',' )
-            {
-            // InternalSensinact.g:3038:1: ( ',' )
-            // InternalSensinact.g:3039:2: ','
-            {
-             before(grammarAccess.getDSL_CEP_BEFOREAccess().getCommaKeyword_5()); 
-            match(input,20,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_BEFOREAccess().getCommaKeyword_5()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_BEFORE__Group__5__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_BEFORE__Group__6"
-    // InternalSensinact.g:3048:1: rule__DSL_CEP_BEFORE__Group__6 : rule__DSL_CEP_BEFORE__Group__6__Impl rule__DSL_CEP_BEFORE__Group__7 ;
-    public final void rule__DSL_CEP_BEFORE__Group__6() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3052:1: ( rule__DSL_CEP_BEFORE__Group__6__Impl rule__DSL_CEP_BEFORE__Group__7 )
-            // InternalSensinact.g:3053:2: rule__DSL_CEP_BEFORE__Group__6__Impl rule__DSL_CEP_BEFORE__Group__7
-            {
-            pushFollow(FOLLOW_21);
-            rule__DSL_CEP_BEFORE__Group__6__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_BEFORE__Group__7();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_BEFORE__Group__6"
-
-
-    // $ANTLR start "rule__DSL_CEP_BEFORE__Group__6__Impl"
-    // InternalSensinact.g:3060:1: rule__DSL_CEP_BEFORE__Group__6__Impl : ( ( rule__DSL_CEP_BEFORE__Group_6__0 )? ) ;
-    public final void rule__DSL_CEP_BEFORE__Group__6__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3064:1: ( ( ( rule__DSL_CEP_BEFORE__Group_6__0 )? ) )
-            // InternalSensinact.g:3065:1: ( ( rule__DSL_CEP_BEFORE__Group_6__0 )? )
-            {
-            // InternalSensinact.g:3065:1: ( ( rule__DSL_CEP_BEFORE__Group_6__0 )? )
-            // InternalSensinact.g:3066:2: ( rule__DSL_CEP_BEFORE__Group_6__0 )?
-            {
-             before(grammarAccess.getDSL_CEP_BEFOREAccess().getGroup_6()); 
-            // InternalSensinact.g:3067:2: ( rule__DSL_CEP_BEFORE__Group_6__0 )?
-            int alt18=2;
-            alt18 = dfa18.predict(input);
-            switch (alt18) {
-                case 1 :
-                    // InternalSensinact.g:3067:3: rule__DSL_CEP_BEFORE__Group_6__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DSL_CEP_BEFORE__Group_6__0();
-
-                    state._fsp--;
-
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getDSL_CEP_BEFOREAccess().getGroup_6()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_BEFORE__Group__6__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_BEFORE__Group__7"
-    // InternalSensinact.g:3075:1: rule__DSL_CEP_BEFORE__Group__7 : rule__DSL_CEP_BEFORE__Group__7__Impl rule__DSL_CEP_BEFORE__Group__8 ;
-    public final void rule__DSL_CEP_BEFORE__Group__7() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3079:1: ( rule__DSL_CEP_BEFORE__Group__7__Impl rule__DSL_CEP_BEFORE__Group__8 )
-            // InternalSensinact.g:3080:2: rule__DSL_CEP_BEFORE__Group__7__Impl rule__DSL_CEP_BEFORE__Group__8
-            {
-            pushFollow(FOLLOW_25);
-            rule__DSL_CEP_BEFORE__Group__7__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_BEFORE__Group__8();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_BEFORE__Group__7"
-
-
-    // $ANTLR start "rule__DSL_CEP_BEFORE__Group__7__Impl"
-    // InternalSensinact.g:3087:1: rule__DSL_CEP_BEFORE__Group__7__Impl : ( ( rule__DSL_CEP_BEFORE__EndAssignment_7 ) ) ;
-    public final void rule__DSL_CEP_BEFORE__Group__7__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3091:1: ( ( ( rule__DSL_CEP_BEFORE__EndAssignment_7 ) ) )
-            // InternalSensinact.g:3092:1: ( ( rule__DSL_CEP_BEFORE__EndAssignment_7 ) )
-            {
-            // InternalSensinact.g:3092:1: ( ( rule__DSL_CEP_BEFORE__EndAssignment_7 ) )
-            // InternalSensinact.g:3093:2: ( rule__DSL_CEP_BEFORE__EndAssignment_7 )
-            {
-             before(grammarAccess.getDSL_CEP_BEFOREAccess().getEndAssignment_7()); 
-            // InternalSensinact.g:3094:2: ( rule__DSL_CEP_BEFORE__EndAssignment_7 )
-            // InternalSensinact.g:3094:3: rule__DSL_CEP_BEFORE__EndAssignment_7
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_BEFORE__EndAssignment_7();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_BEFOREAccess().getEndAssignment_7()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_BEFORE__Group__7__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_BEFORE__Group__8"
-    // InternalSensinact.g:3102:1: rule__DSL_CEP_BEFORE__Group__8 : rule__DSL_CEP_BEFORE__Group__8__Impl ;
-    public final void rule__DSL_CEP_BEFORE__Group__8() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3106:1: ( rule__DSL_CEP_BEFORE__Group__8__Impl )
-            // InternalSensinact.g:3107:2: rule__DSL_CEP_BEFORE__Group__8__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_BEFORE__Group__8__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_BEFORE__Group__8"
-
-
-    // $ANTLR start "rule__DSL_CEP_BEFORE__Group__8__Impl"
-    // InternalSensinact.g:3113:1: rule__DSL_CEP_BEFORE__Group__8__Impl : ( ')' ) ;
-    public final void rule__DSL_CEP_BEFORE__Group__8__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3117:1: ( ( ')' ) )
-            // InternalSensinact.g:3118:1: ( ')' )
-            {
-            // InternalSensinact.g:3118:1: ( ')' )
-            // InternalSensinact.g:3119:2: ')'
-            {
-             before(grammarAccess.getDSL_CEP_BEFOREAccess().getRightParenthesisKeyword_8()); 
-            match(input,29,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_BEFOREAccess().getRightParenthesisKeyword_8()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_BEFORE__Group__8__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_BEFORE__Group_6__0"
-    // InternalSensinact.g:3129:1: rule__DSL_CEP_BEFORE__Group_6__0 : rule__DSL_CEP_BEFORE__Group_6__0__Impl rule__DSL_CEP_BEFORE__Group_6__1 ;
-    public final void rule__DSL_CEP_BEFORE__Group_6__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3133:1: ( rule__DSL_CEP_BEFORE__Group_6__0__Impl rule__DSL_CEP_BEFORE__Group_6__1 )
-            // InternalSensinact.g:3134:2: rule__DSL_CEP_BEFORE__Group_6__0__Impl rule__DSL_CEP_BEFORE__Group_6__1
-            {
-            pushFollow(FOLLOW_14);
-            rule__DSL_CEP_BEFORE__Group_6__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_BEFORE__Group_6__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_BEFORE__Group_6__0"
-
-
-    // $ANTLR start "rule__DSL_CEP_BEFORE__Group_6__0__Impl"
-    // InternalSensinact.g:3141:1: rule__DSL_CEP_BEFORE__Group_6__0__Impl : ( ( rule__DSL_CEP_BEFORE__StartAssignment_6_0 ) ) ;
-    public final void rule__DSL_CEP_BEFORE__Group_6__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3145:1: ( ( ( rule__DSL_CEP_BEFORE__StartAssignment_6_0 ) ) )
-            // InternalSensinact.g:3146:1: ( ( rule__DSL_CEP_BEFORE__StartAssignment_6_0 ) )
-            {
-            // InternalSensinact.g:3146:1: ( ( rule__DSL_CEP_BEFORE__StartAssignment_6_0 ) )
-            // InternalSensinact.g:3147:2: ( rule__DSL_CEP_BEFORE__StartAssignment_6_0 )
-            {
-             before(grammarAccess.getDSL_CEP_BEFOREAccess().getStartAssignment_6_0()); 
-            // InternalSensinact.g:3148:2: ( rule__DSL_CEP_BEFORE__StartAssignment_6_0 )
-            // InternalSensinact.g:3148:3: rule__DSL_CEP_BEFORE__StartAssignment_6_0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_BEFORE__StartAssignment_6_0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_BEFOREAccess().getStartAssignment_6_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_BEFORE__Group_6__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_BEFORE__Group_6__1"
-    // InternalSensinact.g:3156:1: rule__DSL_CEP_BEFORE__Group_6__1 : rule__DSL_CEP_BEFORE__Group_6__1__Impl ;
-    public final void rule__DSL_CEP_BEFORE__Group_6__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3160:1: ( rule__DSL_CEP_BEFORE__Group_6__1__Impl )
-            // InternalSensinact.g:3161:2: rule__DSL_CEP_BEFORE__Group_6__1__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_BEFORE__Group_6__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_BEFORE__Group_6__1"
-
-
-    // $ANTLR start "rule__DSL_CEP_BEFORE__Group_6__1__Impl"
-    // InternalSensinact.g:3167:1: rule__DSL_CEP_BEFORE__Group_6__1__Impl : ( ',' ) ;
-    public final void rule__DSL_CEP_BEFORE__Group_6__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3171:1: ( ( ',' ) )
-            // InternalSensinact.g:3172:1: ( ',' )
-            {
-            // InternalSensinact.g:3172:1: ( ',' )
-            // InternalSensinact.g:3173:2: ','
-            {
-             before(grammarAccess.getDSL_CEP_BEFOREAccess().getCommaKeyword_6_1()); 
-            match(input,20,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_BEFOREAccess().getCommaKeyword_6_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_BEFORE__Group_6__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_COINCIDE__Group__0"
-    // InternalSensinact.g:3183:1: rule__DSL_CEP_COINCIDE__Group__0 : rule__DSL_CEP_COINCIDE__Group__0__Impl rule__DSL_CEP_COINCIDE__Group__1 ;
-    public final void rule__DSL_CEP_COINCIDE__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3187:1: ( rule__DSL_CEP_COINCIDE__Group__0__Impl rule__DSL_CEP_COINCIDE__Group__1 )
-            // InternalSensinact.g:3188:2: rule__DSL_CEP_COINCIDE__Group__0__Impl rule__DSL_CEP_COINCIDE__Group__1
-            {
-            pushFollow(FOLLOW_24);
-            rule__DSL_CEP_COINCIDE__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_COINCIDE__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COINCIDE__Group__0"
-
-
-    // $ANTLR start "rule__DSL_CEP_COINCIDE__Group__0__Impl"
-    // InternalSensinact.g:3195:1: rule__DSL_CEP_COINCIDE__Group__0__Impl : ( 'coincide' ) ;
-    public final void rule__DSL_CEP_COINCIDE__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3199:1: ( ( 'coincide' ) )
-            // InternalSensinact.g:3200:1: ( 'coincide' )
-            {
-            // InternalSensinact.g:3200:1: ( 'coincide' )
-            // InternalSensinact.g:3201:2: 'coincide'
-            {
-             before(grammarAccess.getDSL_CEP_COINCIDEAccess().getCoincideKeyword_0()); 
-            match(input,33,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_COINCIDEAccess().getCoincideKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COINCIDE__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_COINCIDE__Group__1"
-    // InternalSensinact.g:3210:1: rule__DSL_CEP_COINCIDE__Group__1 : rule__DSL_CEP_COINCIDE__Group__1__Impl rule__DSL_CEP_COINCIDE__Group__2 ;
-    public final void rule__DSL_CEP_COINCIDE__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3214:1: ( rule__DSL_CEP_COINCIDE__Group__1__Impl rule__DSL_CEP_COINCIDE__Group__2 )
-            // InternalSensinact.g:3215:2: rule__DSL_CEP_COINCIDE__Group__1__Impl rule__DSL_CEP_COINCIDE__Group__2
-            {
-            pushFollow(FOLLOW_9);
-            rule__DSL_CEP_COINCIDE__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_COINCIDE__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COINCIDE__Group__1"
-
-
-    // $ANTLR start "rule__DSL_CEP_COINCIDE__Group__1__Impl"
-    // InternalSensinact.g:3222:1: rule__DSL_CEP_COINCIDE__Group__1__Impl : ( '(' ) ;
-    public final void rule__DSL_CEP_COINCIDE__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3226:1: ( ( '(' ) )
-            // InternalSensinact.g:3227:1: ( '(' )
-            {
-            // InternalSensinact.g:3227:1: ( '(' )
-            // InternalSensinact.g:3228:2: '('
-            {
-             before(grammarAccess.getDSL_CEP_COINCIDEAccess().getLeftParenthesisKeyword_1()); 
-            match(input,28,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_COINCIDEAccess().getLeftParenthesisKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COINCIDE__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_COINCIDE__Group__2"
-    // InternalSensinact.g:3237:1: rule__DSL_CEP_COINCIDE__Group__2 : rule__DSL_CEP_COINCIDE__Group__2__Impl rule__DSL_CEP_COINCIDE__Group__3 ;
-    public final void rule__DSL_CEP_COINCIDE__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3241:1: ( rule__DSL_CEP_COINCIDE__Group__2__Impl rule__DSL_CEP_COINCIDE__Group__3 )
-            // InternalSensinact.g:3242:2: rule__DSL_CEP_COINCIDE__Group__2__Impl rule__DSL_CEP_COINCIDE__Group__3
-            {
-            pushFollow(FOLLOW_14);
-            rule__DSL_CEP_COINCIDE__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_COINCIDE__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COINCIDE__Group__2"
-
-
-    // $ANTLR start "rule__DSL_CEP_COINCIDE__Group__2__Impl"
-    // InternalSensinact.g:3249:1: rule__DSL_CEP_COINCIDE__Group__2__Impl : ( ( rule__DSL_CEP_COINCIDE__Ref1Assignment_2 ) ) ;
-    public final void rule__DSL_CEP_COINCIDE__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3253:1: ( ( ( rule__DSL_CEP_COINCIDE__Ref1Assignment_2 ) ) )
-            // InternalSensinact.g:3254:1: ( ( rule__DSL_CEP_COINCIDE__Ref1Assignment_2 ) )
-            {
-            // InternalSensinact.g:3254:1: ( ( rule__DSL_CEP_COINCIDE__Ref1Assignment_2 ) )
-            // InternalSensinact.g:3255:2: ( rule__DSL_CEP_COINCIDE__Ref1Assignment_2 )
-            {
-             before(grammarAccess.getDSL_CEP_COINCIDEAccess().getRef1Assignment_2()); 
-            // InternalSensinact.g:3256:2: ( rule__DSL_CEP_COINCIDE__Ref1Assignment_2 )
-            // InternalSensinact.g:3256:3: rule__DSL_CEP_COINCIDE__Ref1Assignment_2
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_COINCIDE__Ref1Assignment_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_COINCIDEAccess().getRef1Assignment_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COINCIDE__Group__2__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_COINCIDE__Group__3"
-    // InternalSensinact.g:3264:1: rule__DSL_CEP_COINCIDE__Group__3 : rule__DSL_CEP_COINCIDE__Group__3__Impl rule__DSL_CEP_COINCIDE__Group__4 ;
-    public final void rule__DSL_CEP_COINCIDE__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3268:1: ( rule__DSL_CEP_COINCIDE__Group__3__Impl rule__DSL_CEP_COINCIDE__Group__4 )
-            // InternalSensinact.g:3269:2: rule__DSL_CEP_COINCIDE__Group__3__Impl rule__DSL_CEP_COINCIDE__Group__4
-            {
-            pushFollow(FOLLOW_9);
-            rule__DSL_CEP_COINCIDE__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_COINCIDE__Group__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COINCIDE__Group__3"
-
-
-    // $ANTLR start "rule__DSL_CEP_COINCIDE__Group__3__Impl"
-    // InternalSensinact.g:3276:1: rule__DSL_CEP_COINCIDE__Group__3__Impl : ( ',' ) ;
-    public final void rule__DSL_CEP_COINCIDE__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3280:1: ( ( ',' ) )
-            // InternalSensinact.g:3281:1: ( ',' )
-            {
-            // InternalSensinact.g:3281:1: ( ',' )
-            // InternalSensinact.g:3282:2: ','
-            {
-             before(grammarAccess.getDSL_CEP_COINCIDEAccess().getCommaKeyword_3()); 
-            match(input,20,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_COINCIDEAccess().getCommaKeyword_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COINCIDE__Group__3__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_COINCIDE__Group__4"
-    // InternalSensinact.g:3291:1: rule__DSL_CEP_COINCIDE__Group__4 : rule__DSL_CEP_COINCIDE__Group__4__Impl rule__DSL_CEP_COINCIDE__Group__5 ;
-    public final void rule__DSL_CEP_COINCIDE__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3295:1: ( rule__DSL_CEP_COINCIDE__Group__4__Impl rule__DSL_CEP_COINCIDE__Group__5 )
-            // InternalSensinact.g:3296:2: rule__DSL_CEP_COINCIDE__Group__4__Impl rule__DSL_CEP_COINCIDE__Group__5
-            {
-            pushFollow(FOLLOW_14);
-            rule__DSL_CEP_COINCIDE__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_COINCIDE__Group__5();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COINCIDE__Group__4"
-
-
-    // $ANTLR start "rule__DSL_CEP_COINCIDE__Group__4__Impl"
-    // InternalSensinact.g:3303:1: rule__DSL_CEP_COINCIDE__Group__4__Impl : ( ( rule__DSL_CEP_COINCIDE__Ref2Assignment_4 ) ) ;
-    public final void rule__DSL_CEP_COINCIDE__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3307:1: ( ( ( rule__DSL_CEP_COINCIDE__Ref2Assignment_4 ) ) )
-            // InternalSensinact.g:3308:1: ( ( rule__DSL_CEP_COINCIDE__Ref2Assignment_4 ) )
-            {
-            // InternalSensinact.g:3308:1: ( ( rule__DSL_CEP_COINCIDE__Ref2Assignment_4 ) )
-            // InternalSensinact.g:3309:2: ( rule__DSL_CEP_COINCIDE__Ref2Assignment_4 )
-            {
-             before(grammarAccess.getDSL_CEP_COINCIDEAccess().getRef2Assignment_4()); 
-            // InternalSensinact.g:3310:2: ( rule__DSL_CEP_COINCIDE__Ref2Assignment_4 )
-            // InternalSensinact.g:3310:3: rule__DSL_CEP_COINCIDE__Ref2Assignment_4
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_COINCIDE__Ref2Assignment_4();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_COINCIDEAccess().getRef2Assignment_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COINCIDE__Group__4__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_COINCIDE__Group__5"
-    // InternalSensinact.g:3318:1: rule__DSL_CEP_COINCIDE__Group__5 : rule__DSL_CEP_COINCIDE__Group__5__Impl rule__DSL_CEP_COINCIDE__Group__6 ;
-    public final void rule__DSL_CEP_COINCIDE__Group__5() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3322:1: ( rule__DSL_CEP_COINCIDE__Group__5__Impl rule__DSL_CEP_COINCIDE__Group__6 )
-            // InternalSensinact.g:3323:2: rule__DSL_CEP_COINCIDE__Group__5__Impl rule__DSL_CEP_COINCIDE__Group__6
-            {
-            pushFollow(FOLLOW_21);
-            rule__DSL_CEP_COINCIDE__Group__5__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_COINCIDE__Group__6();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COINCIDE__Group__5"
-
-
-    // $ANTLR start "rule__DSL_CEP_COINCIDE__Group__5__Impl"
-    // InternalSensinact.g:3330:1: rule__DSL_CEP_COINCIDE__Group__5__Impl : ( ',' ) ;
-    public final void rule__DSL_CEP_COINCIDE__Group__5__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3334:1: ( ( ',' ) )
-            // InternalSensinact.g:3335:1: ( ',' )
-            {
-            // InternalSensinact.g:3335:1: ( ',' )
-            // InternalSensinact.g:3336:2: ','
-            {
-             before(grammarAccess.getDSL_CEP_COINCIDEAccess().getCommaKeyword_5()); 
-            match(input,20,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_COINCIDEAccess().getCommaKeyword_5()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COINCIDE__Group__5__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_COINCIDE__Group__6"
-    // InternalSensinact.g:3345:1: rule__DSL_CEP_COINCIDE__Group__6 : rule__DSL_CEP_COINCIDE__Group__6__Impl rule__DSL_CEP_COINCIDE__Group__7 ;
-    public final void rule__DSL_CEP_COINCIDE__Group__6() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3349:1: ( rule__DSL_CEP_COINCIDE__Group__6__Impl rule__DSL_CEP_COINCIDE__Group__7 )
-            // InternalSensinact.g:3350:2: rule__DSL_CEP_COINCIDE__Group__6__Impl rule__DSL_CEP_COINCIDE__Group__7
-            {
-            pushFollow(FOLLOW_25);
-            rule__DSL_CEP_COINCIDE__Group__6__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_COINCIDE__Group__7();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COINCIDE__Group__6"
-
-
-    // $ANTLR start "rule__DSL_CEP_COINCIDE__Group__6__Impl"
-    // InternalSensinact.g:3357:1: rule__DSL_CEP_COINCIDE__Group__6__Impl : ( ( rule__DSL_CEP_COINCIDE__WindowAssignment_6 ) ) ;
-    public final void rule__DSL_CEP_COINCIDE__Group__6__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3361:1: ( ( ( rule__DSL_CEP_COINCIDE__WindowAssignment_6 ) ) )
-            // InternalSensinact.g:3362:1: ( ( rule__DSL_CEP_COINCIDE__WindowAssignment_6 ) )
-            {
-            // InternalSensinact.g:3362:1: ( ( rule__DSL_CEP_COINCIDE__WindowAssignment_6 ) )
-            // InternalSensinact.g:3363:2: ( rule__DSL_CEP_COINCIDE__WindowAssignment_6 )
-            {
-             before(grammarAccess.getDSL_CEP_COINCIDEAccess().getWindowAssignment_6()); 
-            // InternalSensinact.g:3364:2: ( rule__DSL_CEP_COINCIDE__WindowAssignment_6 )
-            // InternalSensinact.g:3364:3: rule__DSL_CEP_COINCIDE__WindowAssignment_6
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_COINCIDE__WindowAssignment_6();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_COINCIDEAccess().getWindowAssignment_6()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COINCIDE__Group__6__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_COINCIDE__Group__7"
-    // InternalSensinact.g:3372:1: rule__DSL_CEP_COINCIDE__Group__7 : rule__DSL_CEP_COINCIDE__Group__7__Impl ;
-    public final void rule__DSL_CEP_COINCIDE__Group__7() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3376:1: ( rule__DSL_CEP_COINCIDE__Group__7__Impl )
-            // InternalSensinact.g:3377:2: rule__DSL_CEP_COINCIDE__Group__7__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_COINCIDE__Group__7__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COINCIDE__Group__7"
-
-
-    // $ANTLR start "rule__DSL_CEP_COINCIDE__Group__7__Impl"
-    // InternalSensinact.g:3383:1: rule__DSL_CEP_COINCIDE__Group__7__Impl : ( ')' ) ;
-    public final void rule__DSL_CEP_COINCIDE__Group__7__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3387:1: ( ( ')' ) )
-            // InternalSensinact.g:3388:1: ( ')' )
-            {
-            // InternalSensinact.g:3388:1: ( ')' )
-            // InternalSensinact.g:3389:2: ')'
-            {
-             before(grammarAccess.getDSL_CEP_COINCIDEAccess().getRightParenthesisKeyword_7()); 
-            match(input,29,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_COINCIDEAccess().getRightParenthesisKeyword_7()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COINCIDE__Group__7__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_MIN__Group__0"
-    // InternalSensinact.g:3399:1: rule__DSL_CEP_MIN__Group__0 : rule__DSL_CEP_MIN__Group__0__Impl rule__DSL_CEP_MIN__Group__1 ;
-    public final void rule__DSL_CEP_MIN__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3403:1: ( rule__DSL_CEP_MIN__Group__0__Impl rule__DSL_CEP_MIN__Group__1 )
-            // InternalSensinact.g:3404:2: rule__DSL_CEP_MIN__Group__0__Impl rule__DSL_CEP_MIN__Group__1
-            {
-            pushFollow(FOLLOW_24);
-            rule__DSL_CEP_MIN__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_MIN__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_MIN__Group__0"
-
-
-    // $ANTLR start "rule__DSL_CEP_MIN__Group__0__Impl"
-    // InternalSensinact.g:3411:1: rule__DSL_CEP_MIN__Group__0__Impl : ( 'min' ) ;
-    public final void rule__DSL_CEP_MIN__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3415:1: ( ( 'min' ) )
-            // InternalSensinact.g:3416:1: ( 'min' )
-            {
-            // InternalSensinact.g:3416:1: ( 'min' )
-            // InternalSensinact.g:3417:2: 'min'
-            {
-             before(grammarAccess.getDSL_CEP_MINAccess().getMinKeyword_0()); 
-            match(input,34,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_MINAccess().getMinKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_MIN__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_MIN__Group__1"
-    // InternalSensinact.g:3426:1: rule__DSL_CEP_MIN__Group__1 : rule__DSL_CEP_MIN__Group__1__Impl rule__DSL_CEP_MIN__Group__2 ;
-    public final void rule__DSL_CEP_MIN__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3430:1: ( rule__DSL_CEP_MIN__Group__1__Impl rule__DSL_CEP_MIN__Group__2 )
-            // InternalSensinact.g:3431:2: rule__DSL_CEP_MIN__Group__1__Impl rule__DSL_CEP_MIN__Group__2
-            {
-            pushFollow(FOLLOW_9);
-            rule__DSL_CEP_MIN__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_MIN__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_MIN__Group__1"
-
-
-    // $ANTLR start "rule__DSL_CEP_MIN__Group__1__Impl"
-    // InternalSensinact.g:3438:1: rule__DSL_CEP_MIN__Group__1__Impl : ( '(' ) ;
-    public final void rule__DSL_CEP_MIN__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3442:1: ( ( '(' ) )
-            // InternalSensinact.g:3443:1: ( '(' )
-            {
-            // InternalSensinact.g:3443:1: ( '(' )
-            // InternalSensinact.g:3444:2: '('
-            {
-             before(grammarAccess.getDSL_CEP_MINAccess().getLeftParenthesisKeyword_1()); 
-            match(input,28,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_MINAccess().getLeftParenthesisKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_MIN__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_MIN__Group__2"
-    // InternalSensinact.g:3453:1: rule__DSL_CEP_MIN__Group__2 : rule__DSL_CEP_MIN__Group__2__Impl rule__DSL_CEP_MIN__Group__3 ;
-    public final void rule__DSL_CEP_MIN__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3457:1: ( rule__DSL_CEP_MIN__Group__2__Impl rule__DSL_CEP_MIN__Group__3 )
-            // InternalSensinact.g:3458:2: rule__DSL_CEP_MIN__Group__2__Impl rule__DSL_CEP_MIN__Group__3
-            {
-            pushFollow(FOLLOW_14);
-            rule__DSL_CEP_MIN__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_MIN__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_MIN__Group__2"
-
-
-    // $ANTLR start "rule__DSL_CEP_MIN__Group__2__Impl"
-    // InternalSensinact.g:3465:1: rule__DSL_CEP_MIN__Group__2__Impl : ( ( rule__DSL_CEP_MIN__RefAssignment_2 ) ) ;
-    public final void rule__DSL_CEP_MIN__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3469:1: ( ( ( rule__DSL_CEP_MIN__RefAssignment_2 ) ) )
-            // InternalSensinact.g:3470:1: ( ( rule__DSL_CEP_MIN__RefAssignment_2 ) )
-            {
-            // InternalSensinact.g:3470:1: ( ( rule__DSL_CEP_MIN__RefAssignment_2 ) )
-            // InternalSensinact.g:3471:2: ( rule__DSL_CEP_MIN__RefAssignment_2 )
-            {
-             before(grammarAccess.getDSL_CEP_MINAccess().getRefAssignment_2()); 
-            // InternalSensinact.g:3472:2: ( rule__DSL_CEP_MIN__RefAssignment_2 )
-            // InternalSensinact.g:3472:3: rule__DSL_CEP_MIN__RefAssignment_2
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_MIN__RefAssignment_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_MINAccess().getRefAssignment_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_MIN__Group__2__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_MIN__Group__3"
-    // InternalSensinact.g:3480:1: rule__DSL_CEP_MIN__Group__3 : rule__DSL_CEP_MIN__Group__3__Impl rule__DSL_CEP_MIN__Group__4 ;
-    public final void rule__DSL_CEP_MIN__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3484:1: ( rule__DSL_CEP_MIN__Group__3__Impl rule__DSL_CEP_MIN__Group__4 )
-            // InternalSensinact.g:3485:2: rule__DSL_CEP_MIN__Group__3__Impl rule__DSL_CEP_MIN__Group__4
-            {
-            pushFollow(FOLLOW_21);
-            rule__DSL_CEP_MIN__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_MIN__Group__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_MIN__Group__3"
-
-
-    // $ANTLR start "rule__DSL_CEP_MIN__Group__3__Impl"
-    // InternalSensinact.g:3492:1: rule__DSL_CEP_MIN__Group__3__Impl : ( ',' ) ;
-    public final void rule__DSL_CEP_MIN__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3496:1: ( ( ',' ) )
-            // InternalSensinact.g:3497:1: ( ',' )
-            {
-            // InternalSensinact.g:3497:1: ( ',' )
-            // InternalSensinact.g:3498:2: ','
-            {
-             before(grammarAccess.getDSL_CEP_MINAccess().getCommaKeyword_3()); 
-            match(input,20,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_MINAccess().getCommaKeyword_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_MIN__Group__3__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_MIN__Group__4"
-    // InternalSensinact.g:3507:1: rule__DSL_CEP_MIN__Group__4 : rule__DSL_CEP_MIN__Group__4__Impl rule__DSL_CEP_MIN__Group__5 ;
-    public final void rule__DSL_CEP_MIN__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3511:1: ( rule__DSL_CEP_MIN__Group__4__Impl rule__DSL_CEP_MIN__Group__5 )
-            // InternalSensinact.g:3512:2: rule__DSL_CEP_MIN__Group__4__Impl rule__DSL_CEP_MIN__Group__5
-            {
-            pushFollow(FOLLOW_25);
-            rule__DSL_CEP_MIN__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_MIN__Group__5();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_MIN__Group__4"
-
-
-    // $ANTLR start "rule__DSL_CEP_MIN__Group__4__Impl"
-    // InternalSensinact.g:3519:1: rule__DSL_CEP_MIN__Group__4__Impl : ( ( rule__DSL_CEP_MIN__WindowAssignment_4 ) ) ;
-    public final void rule__DSL_CEP_MIN__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3523:1: ( ( ( rule__DSL_CEP_MIN__WindowAssignment_4 ) ) )
-            // InternalSensinact.g:3524:1: ( ( rule__DSL_CEP_MIN__WindowAssignment_4 ) )
-            {
-            // InternalSensinact.g:3524:1: ( ( rule__DSL_CEP_MIN__WindowAssignment_4 ) )
-            // InternalSensinact.g:3525:2: ( rule__DSL_CEP_MIN__WindowAssignment_4 )
-            {
-             before(grammarAccess.getDSL_CEP_MINAccess().getWindowAssignment_4()); 
-            // InternalSensinact.g:3526:2: ( rule__DSL_CEP_MIN__WindowAssignment_4 )
-            // InternalSensinact.g:3526:3: rule__DSL_CEP_MIN__WindowAssignment_4
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_MIN__WindowAssignment_4();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_MINAccess().getWindowAssignment_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_MIN__Group__4__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_MIN__Group__5"
-    // InternalSensinact.g:3534:1: rule__DSL_CEP_MIN__Group__5 : rule__DSL_CEP_MIN__Group__5__Impl ;
-    public final void rule__DSL_CEP_MIN__Group__5() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3538:1: ( rule__DSL_CEP_MIN__Group__5__Impl )
-            // InternalSensinact.g:3539:2: rule__DSL_CEP_MIN__Group__5__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_MIN__Group__5__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_MIN__Group__5"
-
-
-    // $ANTLR start "rule__DSL_CEP_MIN__Group__5__Impl"
-    // InternalSensinact.g:3545:1: rule__DSL_CEP_MIN__Group__5__Impl : ( ')' ) ;
-    public final void rule__DSL_CEP_MIN__Group__5__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3549:1: ( ( ')' ) )
-            // InternalSensinact.g:3550:1: ( ')' )
-            {
-            // InternalSensinact.g:3550:1: ( ')' )
-            // InternalSensinact.g:3551:2: ')'
-            {
-             before(grammarAccess.getDSL_CEP_MINAccess().getRightParenthesisKeyword_5()); 
-            match(input,29,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_MINAccess().getRightParenthesisKeyword_5()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_MIN__Group__5__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_MAX__Group__0"
-    // InternalSensinact.g:3561:1: rule__DSL_CEP_MAX__Group__0 : rule__DSL_CEP_MAX__Group__0__Impl rule__DSL_CEP_MAX__Group__1 ;
-    public final void rule__DSL_CEP_MAX__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3565:1: ( rule__DSL_CEP_MAX__Group__0__Impl rule__DSL_CEP_MAX__Group__1 )
-            // InternalSensinact.g:3566:2: rule__DSL_CEP_MAX__Group__0__Impl rule__DSL_CEP_MAX__Group__1
-            {
-            pushFollow(FOLLOW_24);
-            rule__DSL_CEP_MAX__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_MAX__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_MAX__Group__0"
-
-
-    // $ANTLR start "rule__DSL_CEP_MAX__Group__0__Impl"
-    // InternalSensinact.g:3573:1: rule__DSL_CEP_MAX__Group__0__Impl : ( 'max' ) ;
-    public final void rule__DSL_CEP_MAX__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3577:1: ( ( 'max' ) )
-            // InternalSensinact.g:3578:1: ( 'max' )
-            {
-            // InternalSensinact.g:3578:1: ( 'max' )
-            // InternalSensinact.g:3579:2: 'max'
-            {
-             before(grammarAccess.getDSL_CEP_MAXAccess().getMaxKeyword_0()); 
-            match(input,35,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_MAXAccess().getMaxKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_MAX__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_MAX__Group__1"
-    // InternalSensinact.g:3588:1: rule__DSL_CEP_MAX__Group__1 : rule__DSL_CEP_MAX__Group__1__Impl rule__DSL_CEP_MAX__Group__2 ;
-    public final void rule__DSL_CEP_MAX__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3592:1: ( rule__DSL_CEP_MAX__Group__1__Impl rule__DSL_CEP_MAX__Group__2 )
-            // InternalSensinact.g:3593:2: rule__DSL_CEP_MAX__Group__1__Impl rule__DSL_CEP_MAX__Group__2
-            {
-            pushFollow(FOLLOW_9);
-            rule__DSL_CEP_MAX__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_MAX__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_MAX__Group__1"
-
-
-    // $ANTLR start "rule__DSL_CEP_MAX__Group__1__Impl"
-    // InternalSensinact.g:3600:1: rule__DSL_CEP_MAX__Group__1__Impl : ( '(' ) ;
-    public final void rule__DSL_CEP_MAX__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3604:1: ( ( '(' ) )
-            // InternalSensinact.g:3605:1: ( '(' )
-            {
-            // InternalSensinact.g:3605:1: ( '(' )
-            // InternalSensinact.g:3606:2: '('
-            {
-             before(grammarAccess.getDSL_CEP_MAXAccess().getLeftParenthesisKeyword_1()); 
-            match(input,28,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_MAXAccess().getLeftParenthesisKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_MAX__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_MAX__Group__2"
-    // InternalSensinact.g:3615:1: rule__DSL_CEP_MAX__Group__2 : rule__DSL_CEP_MAX__Group__2__Impl rule__DSL_CEP_MAX__Group__3 ;
-    public final void rule__DSL_CEP_MAX__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3619:1: ( rule__DSL_CEP_MAX__Group__2__Impl rule__DSL_CEP_MAX__Group__3 )
-            // InternalSensinact.g:3620:2: rule__DSL_CEP_MAX__Group__2__Impl rule__DSL_CEP_MAX__Group__3
-            {
-            pushFollow(FOLLOW_14);
-            rule__DSL_CEP_MAX__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_MAX__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_MAX__Group__2"
-
-
-    // $ANTLR start "rule__DSL_CEP_MAX__Group__2__Impl"
-    // InternalSensinact.g:3627:1: rule__DSL_CEP_MAX__Group__2__Impl : ( ( rule__DSL_CEP_MAX__RefAssignment_2 ) ) ;
-    public final void rule__DSL_CEP_MAX__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3631:1: ( ( ( rule__DSL_CEP_MAX__RefAssignment_2 ) ) )
-            // InternalSensinact.g:3632:1: ( ( rule__DSL_CEP_MAX__RefAssignment_2 ) )
-            {
-            // InternalSensinact.g:3632:1: ( ( rule__DSL_CEP_MAX__RefAssignment_2 ) )
-            // InternalSensinact.g:3633:2: ( rule__DSL_CEP_MAX__RefAssignment_2 )
-            {
-             before(grammarAccess.getDSL_CEP_MAXAccess().getRefAssignment_2()); 
-            // InternalSensinact.g:3634:2: ( rule__DSL_CEP_MAX__RefAssignment_2 )
-            // InternalSensinact.g:3634:3: rule__DSL_CEP_MAX__RefAssignment_2
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_MAX__RefAssignment_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_MAXAccess().getRefAssignment_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_MAX__Group__2__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_MAX__Group__3"
-    // InternalSensinact.g:3642:1: rule__DSL_CEP_MAX__Group__3 : rule__DSL_CEP_MAX__Group__3__Impl rule__DSL_CEP_MAX__Group__4 ;
-    public final void rule__DSL_CEP_MAX__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3646:1: ( rule__DSL_CEP_MAX__Group__3__Impl rule__DSL_CEP_MAX__Group__4 )
-            // InternalSensinact.g:3647:2: rule__DSL_CEP_MAX__Group__3__Impl rule__DSL_CEP_MAX__Group__4
-            {
-            pushFollow(FOLLOW_21);
-            rule__DSL_CEP_MAX__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_MAX__Group__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_MAX__Group__3"
-
-
-    // $ANTLR start "rule__DSL_CEP_MAX__Group__3__Impl"
-    // InternalSensinact.g:3654:1: rule__DSL_CEP_MAX__Group__3__Impl : ( ',' ) ;
-    public final void rule__DSL_CEP_MAX__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3658:1: ( ( ',' ) )
-            // InternalSensinact.g:3659:1: ( ',' )
-            {
-            // InternalSensinact.g:3659:1: ( ',' )
-            // InternalSensinact.g:3660:2: ','
-            {
-             before(grammarAccess.getDSL_CEP_MAXAccess().getCommaKeyword_3()); 
-            match(input,20,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_MAXAccess().getCommaKeyword_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_MAX__Group__3__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_MAX__Group__4"
-    // InternalSensinact.g:3669:1: rule__DSL_CEP_MAX__Group__4 : rule__DSL_CEP_MAX__Group__4__Impl rule__DSL_CEP_MAX__Group__5 ;
-    public final void rule__DSL_CEP_MAX__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3673:1: ( rule__DSL_CEP_MAX__Group__4__Impl rule__DSL_CEP_MAX__Group__5 )
-            // InternalSensinact.g:3674:2: rule__DSL_CEP_MAX__Group__4__Impl rule__DSL_CEP_MAX__Group__5
-            {
-            pushFollow(FOLLOW_25);
-            rule__DSL_CEP_MAX__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_MAX__Group__5();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_MAX__Group__4"
-
-
-    // $ANTLR start "rule__DSL_CEP_MAX__Group__4__Impl"
-    // InternalSensinact.g:3681:1: rule__DSL_CEP_MAX__Group__4__Impl : ( ( rule__DSL_CEP_MAX__WindowAssignment_4 ) ) ;
-    public final void rule__DSL_CEP_MAX__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3685:1: ( ( ( rule__DSL_CEP_MAX__WindowAssignment_4 ) ) )
-            // InternalSensinact.g:3686:1: ( ( rule__DSL_CEP_MAX__WindowAssignment_4 ) )
-            {
-            // InternalSensinact.g:3686:1: ( ( rule__DSL_CEP_MAX__WindowAssignment_4 ) )
-            // InternalSensinact.g:3687:2: ( rule__DSL_CEP_MAX__WindowAssignment_4 )
-            {
-             before(grammarAccess.getDSL_CEP_MAXAccess().getWindowAssignment_4()); 
-            // InternalSensinact.g:3688:2: ( rule__DSL_CEP_MAX__WindowAssignment_4 )
-            // InternalSensinact.g:3688:3: rule__DSL_CEP_MAX__WindowAssignment_4
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_MAX__WindowAssignment_4();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_MAXAccess().getWindowAssignment_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_MAX__Group__4__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_MAX__Group__5"
-    // InternalSensinact.g:3696:1: rule__DSL_CEP_MAX__Group__5 : rule__DSL_CEP_MAX__Group__5__Impl ;
-    public final void rule__DSL_CEP_MAX__Group__5() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3700:1: ( rule__DSL_CEP_MAX__Group__5__Impl )
-            // InternalSensinact.g:3701:2: rule__DSL_CEP_MAX__Group__5__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_MAX__Group__5__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_MAX__Group__5"
-
-
-    // $ANTLR start "rule__DSL_CEP_MAX__Group__5__Impl"
-    // InternalSensinact.g:3707:1: rule__DSL_CEP_MAX__Group__5__Impl : ( ')' ) ;
-    public final void rule__DSL_CEP_MAX__Group__5__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3711:1: ( ( ')' ) )
-            // InternalSensinact.g:3712:1: ( ')' )
-            {
-            // InternalSensinact.g:3712:1: ( ')' )
-            // InternalSensinact.g:3713:2: ')'
-            {
-             before(grammarAccess.getDSL_CEP_MAXAccess().getRightParenthesisKeyword_5()); 
-            match(input,29,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_MAXAccess().getRightParenthesisKeyword_5()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_MAX__Group__5__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_AVG__Group__0"
-    // InternalSensinact.g:3723:1: rule__DSL_CEP_AVG__Group__0 : rule__DSL_CEP_AVG__Group__0__Impl rule__DSL_CEP_AVG__Group__1 ;
-    public final void rule__DSL_CEP_AVG__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3727:1: ( rule__DSL_CEP_AVG__Group__0__Impl rule__DSL_CEP_AVG__Group__1 )
-            // InternalSensinact.g:3728:2: rule__DSL_CEP_AVG__Group__0__Impl rule__DSL_CEP_AVG__Group__1
-            {
-            pushFollow(FOLLOW_24);
-            rule__DSL_CEP_AVG__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_AVG__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AVG__Group__0"
-
-
-    // $ANTLR start "rule__DSL_CEP_AVG__Group__0__Impl"
-    // InternalSensinact.g:3735:1: rule__DSL_CEP_AVG__Group__0__Impl : ( 'avg' ) ;
-    public final void rule__DSL_CEP_AVG__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3739:1: ( ( 'avg' ) )
-            // InternalSensinact.g:3740:1: ( 'avg' )
-            {
-            // InternalSensinact.g:3740:1: ( 'avg' )
-            // InternalSensinact.g:3741:2: 'avg'
-            {
-             before(grammarAccess.getDSL_CEP_AVGAccess().getAvgKeyword_0()); 
-            match(input,36,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_AVGAccess().getAvgKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AVG__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_AVG__Group__1"
-    // InternalSensinact.g:3750:1: rule__DSL_CEP_AVG__Group__1 : rule__DSL_CEP_AVG__Group__1__Impl rule__DSL_CEP_AVG__Group__2 ;
-    public final void rule__DSL_CEP_AVG__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3754:1: ( rule__DSL_CEP_AVG__Group__1__Impl rule__DSL_CEP_AVG__Group__2 )
-            // InternalSensinact.g:3755:2: rule__DSL_CEP_AVG__Group__1__Impl rule__DSL_CEP_AVG__Group__2
-            {
-            pushFollow(FOLLOW_9);
-            rule__DSL_CEP_AVG__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_AVG__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AVG__Group__1"
-
-
-    // $ANTLR start "rule__DSL_CEP_AVG__Group__1__Impl"
-    // InternalSensinact.g:3762:1: rule__DSL_CEP_AVG__Group__1__Impl : ( '(' ) ;
-    public final void rule__DSL_CEP_AVG__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3766:1: ( ( '(' ) )
-            // InternalSensinact.g:3767:1: ( '(' )
-            {
-            // InternalSensinact.g:3767:1: ( '(' )
-            // InternalSensinact.g:3768:2: '('
-            {
-             before(grammarAccess.getDSL_CEP_AVGAccess().getLeftParenthesisKeyword_1()); 
-            match(input,28,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_AVGAccess().getLeftParenthesisKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AVG__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_AVG__Group__2"
-    // InternalSensinact.g:3777:1: rule__DSL_CEP_AVG__Group__2 : rule__DSL_CEP_AVG__Group__2__Impl rule__DSL_CEP_AVG__Group__3 ;
-    public final void rule__DSL_CEP_AVG__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3781:1: ( rule__DSL_CEP_AVG__Group__2__Impl rule__DSL_CEP_AVG__Group__3 )
-            // InternalSensinact.g:3782:2: rule__DSL_CEP_AVG__Group__2__Impl rule__DSL_CEP_AVG__Group__3
-            {
-            pushFollow(FOLLOW_14);
-            rule__DSL_CEP_AVG__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_AVG__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AVG__Group__2"
-
-
-    // $ANTLR start "rule__DSL_CEP_AVG__Group__2__Impl"
-    // InternalSensinact.g:3789:1: rule__DSL_CEP_AVG__Group__2__Impl : ( ( rule__DSL_CEP_AVG__RefAssignment_2 ) ) ;
-    public final void rule__DSL_CEP_AVG__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3793:1: ( ( ( rule__DSL_CEP_AVG__RefAssignment_2 ) ) )
-            // InternalSensinact.g:3794:1: ( ( rule__DSL_CEP_AVG__RefAssignment_2 ) )
-            {
-            // InternalSensinact.g:3794:1: ( ( rule__DSL_CEP_AVG__RefAssignment_2 ) )
-            // InternalSensinact.g:3795:2: ( rule__DSL_CEP_AVG__RefAssignment_2 )
-            {
-             before(grammarAccess.getDSL_CEP_AVGAccess().getRefAssignment_2()); 
-            // InternalSensinact.g:3796:2: ( rule__DSL_CEP_AVG__RefAssignment_2 )
-            // InternalSensinact.g:3796:3: rule__DSL_CEP_AVG__RefAssignment_2
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_AVG__RefAssignment_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_AVGAccess().getRefAssignment_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AVG__Group__2__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_AVG__Group__3"
-    // InternalSensinact.g:3804:1: rule__DSL_CEP_AVG__Group__3 : rule__DSL_CEP_AVG__Group__3__Impl rule__DSL_CEP_AVG__Group__4 ;
-    public final void rule__DSL_CEP_AVG__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3808:1: ( rule__DSL_CEP_AVG__Group__3__Impl rule__DSL_CEP_AVG__Group__4 )
-            // InternalSensinact.g:3809:2: rule__DSL_CEP_AVG__Group__3__Impl rule__DSL_CEP_AVG__Group__4
-            {
-            pushFollow(FOLLOW_21);
-            rule__DSL_CEP_AVG__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_AVG__Group__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AVG__Group__3"
-
-
-    // $ANTLR start "rule__DSL_CEP_AVG__Group__3__Impl"
-    // InternalSensinact.g:3816:1: rule__DSL_CEP_AVG__Group__3__Impl : ( ',' ) ;
-    public final void rule__DSL_CEP_AVG__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3820:1: ( ( ',' ) )
-            // InternalSensinact.g:3821:1: ( ',' )
-            {
-            // InternalSensinact.g:3821:1: ( ',' )
-            // InternalSensinact.g:3822:2: ','
-            {
-             before(grammarAccess.getDSL_CEP_AVGAccess().getCommaKeyword_3()); 
-            match(input,20,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_AVGAccess().getCommaKeyword_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AVG__Group__3__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_AVG__Group__4"
-    // InternalSensinact.g:3831:1: rule__DSL_CEP_AVG__Group__4 : rule__DSL_CEP_AVG__Group__4__Impl rule__DSL_CEP_AVG__Group__5 ;
-    public final void rule__DSL_CEP_AVG__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3835:1: ( rule__DSL_CEP_AVG__Group__4__Impl rule__DSL_CEP_AVG__Group__5 )
-            // InternalSensinact.g:3836:2: rule__DSL_CEP_AVG__Group__4__Impl rule__DSL_CEP_AVG__Group__5
-            {
-            pushFollow(FOLLOW_25);
-            rule__DSL_CEP_AVG__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_AVG__Group__5();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AVG__Group__4"
-
-
-    // $ANTLR start "rule__DSL_CEP_AVG__Group__4__Impl"
-    // InternalSensinact.g:3843:1: rule__DSL_CEP_AVG__Group__4__Impl : ( ( rule__DSL_CEP_AVG__WindowAssignment_4 ) ) ;
-    public final void rule__DSL_CEP_AVG__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3847:1: ( ( ( rule__DSL_CEP_AVG__WindowAssignment_4 ) ) )
-            // InternalSensinact.g:3848:1: ( ( rule__DSL_CEP_AVG__WindowAssignment_4 ) )
-            {
-            // InternalSensinact.g:3848:1: ( ( rule__DSL_CEP_AVG__WindowAssignment_4 ) )
-            // InternalSensinact.g:3849:2: ( rule__DSL_CEP_AVG__WindowAssignment_4 )
-            {
-             before(grammarAccess.getDSL_CEP_AVGAccess().getWindowAssignment_4()); 
-            // InternalSensinact.g:3850:2: ( rule__DSL_CEP_AVG__WindowAssignment_4 )
-            // InternalSensinact.g:3850:3: rule__DSL_CEP_AVG__WindowAssignment_4
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_AVG__WindowAssignment_4();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_AVGAccess().getWindowAssignment_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AVG__Group__4__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_AVG__Group__5"
-    // InternalSensinact.g:3858:1: rule__DSL_CEP_AVG__Group__5 : rule__DSL_CEP_AVG__Group__5__Impl ;
-    public final void rule__DSL_CEP_AVG__Group__5() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3862:1: ( rule__DSL_CEP_AVG__Group__5__Impl )
-            // InternalSensinact.g:3863:2: rule__DSL_CEP_AVG__Group__5__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_AVG__Group__5__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AVG__Group__5"
-
-
-    // $ANTLR start "rule__DSL_CEP_AVG__Group__5__Impl"
-    // InternalSensinact.g:3869:1: rule__DSL_CEP_AVG__Group__5__Impl : ( ')' ) ;
-    public final void rule__DSL_CEP_AVG__Group__5__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3873:1: ( ( ')' ) )
-            // InternalSensinact.g:3874:1: ( ')' )
-            {
-            // InternalSensinact.g:3874:1: ( ')' )
-            // InternalSensinact.g:3875:2: ')'
-            {
-             before(grammarAccess.getDSL_CEP_AVGAccess().getRightParenthesisKeyword_5()); 
-            match(input,29,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_AVGAccess().getRightParenthesisKeyword_5()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AVG__Group__5__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_SUM__Group__0"
-    // InternalSensinact.g:3885:1: rule__DSL_CEP_SUM__Group__0 : rule__DSL_CEP_SUM__Group__0__Impl rule__DSL_CEP_SUM__Group__1 ;
-    public final void rule__DSL_CEP_SUM__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3889:1: ( rule__DSL_CEP_SUM__Group__0__Impl rule__DSL_CEP_SUM__Group__1 )
-            // InternalSensinact.g:3890:2: rule__DSL_CEP_SUM__Group__0__Impl rule__DSL_CEP_SUM__Group__1
-            {
-            pushFollow(FOLLOW_24);
-            rule__DSL_CEP_SUM__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_SUM__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_SUM__Group__0"
-
-
-    // $ANTLR start "rule__DSL_CEP_SUM__Group__0__Impl"
-    // InternalSensinact.g:3897:1: rule__DSL_CEP_SUM__Group__0__Impl : ( 'sum' ) ;
-    public final void rule__DSL_CEP_SUM__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3901:1: ( ( 'sum' ) )
-            // InternalSensinact.g:3902:1: ( 'sum' )
-            {
-            // InternalSensinact.g:3902:1: ( 'sum' )
-            // InternalSensinact.g:3903:2: 'sum'
-            {
-             before(grammarAccess.getDSL_CEP_SUMAccess().getSumKeyword_0()); 
-            match(input,37,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_SUMAccess().getSumKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_SUM__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_SUM__Group__1"
-    // InternalSensinact.g:3912:1: rule__DSL_CEP_SUM__Group__1 : rule__DSL_CEP_SUM__Group__1__Impl rule__DSL_CEP_SUM__Group__2 ;
-    public final void rule__DSL_CEP_SUM__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3916:1: ( rule__DSL_CEP_SUM__Group__1__Impl rule__DSL_CEP_SUM__Group__2 )
-            // InternalSensinact.g:3917:2: rule__DSL_CEP_SUM__Group__1__Impl rule__DSL_CEP_SUM__Group__2
-            {
-            pushFollow(FOLLOW_9);
-            rule__DSL_CEP_SUM__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_SUM__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_SUM__Group__1"
-
-
-    // $ANTLR start "rule__DSL_CEP_SUM__Group__1__Impl"
-    // InternalSensinact.g:3924:1: rule__DSL_CEP_SUM__Group__1__Impl : ( '(' ) ;
-    public final void rule__DSL_CEP_SUM__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3928:1: ( ( '(' ) )
-            // InternalSensinact.g:3929:1: ( '(' )
-            {
-            // InternalSensinact.g:3929:1: ( '(' )
-            // InternalSensinact.g:3930:2: '('
-            {
-             before(grammarAccess.getDSL_CEP_SUMAccess().getLeftParenthesisKeyword_1()); 
-            match(input,28,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_SUMAccess().getLeftParenthesisKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_SUM__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_SUM__Group__2"
-    // InternalSensinact.g:3939:1: rule__DSL_CEP_SUM__Group__2 : rule__DSL_CEP_SUM__Group__2__Impl rule__DSL_CEP_SUM__Group__3 ;
-    public final void rule__DSL_CEP_SUM__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3943:1: ( rule__DSL_CEP_SUM__Group__2__Impl rule__DSL_CEP_SUM__Group__3 )
-            // InternalSensinact.g:3944:2: rule__DSL_CEP_SUM__Group__2__Impl rule__DSL_CEP_SUM__Group__3
-            {
-            pushFollow(FOLLOW_14);
-            rule__DSL_CEP_SUM__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_SUM__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_SUM__Group__2"
-
-
-    // $ANTLR start "rule__DSL_CEP_SUM__Group__2__Impl"
-    // InternalSensinact.g:3951:1: rule__DSL_CEP_SUM__Group__2__Impl : ( ( rule__DSL_CEP_SUM__RefAssignment_2 ) ) ;
-    public final void rule__DSL_CEP_SUM__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3955:1: ( ( ( rule__DSL_CEP_SUM__RefAssignment_2 ) ) )
-            // InternalSensinact.g:3956:1: ( ( rule__DSL_CEP_SUM__RefAssignment_2 ) )
-            {
-            // InternalSensinact.g:3956:1: ( ( rule__DSL_CEP_SUM__RefAssignment_2 ) )
-            // InternalSensinact.g:3957:2: ( rule__DSL_CEP_SUM__RefAssignment_2 )
-            {
-             before(grammarAccess.getDSL_CEP_SUMAccess().getRefAssignment_2()); 
-            // InternalSensinact.g:3958:2: ( rule__DSL_CEP_SUM__RefAssignment_2 )
-            // InternalSensinact.g:3958:3: rule__DSL_CEP_SUM__RefAssignment_2
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_SUM__RefAssignment_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_SUMAccess().getRefAssignment_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_SUM__Group__2__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_SUM__Group__3"
-    // InternalSensinact.g:3966:1: rule__DSL_CEP_SUM__Group__3 : rule__DSL_CEP_SUM__Group__3__Impl rule__DSL_CEP_SUM__Group__4 ;
-    public final void rule__DSL_CEP_SUM__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3970:1: ( rule__DSL_CEP_SUM__Group__3__Impl rule__DSL_CEP_SUM__Group__4 )
-            // InternalSensinact.g:3971:2: rule__DSL_CEP_SUM__Group__3__Impl rule__DSL_CEP_SUM__Group__4
-            {
-            pushFollow(FOLLOW_21);
-            rule__DSL_CEP_SUM__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_SUM__Group__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_SUM__Group__3"
-
-
-    // $ANTLR start "rule__DSL_CEP_SUM__Group__3__Impl"
-    // InternalSensinact.g:3978:1: rule__DSL_CEP_SUM__Group__3__Impl : ( ',' ) ;
-    public final void rule__DSL_CEP_SUM__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3982:1: ( ( ',' ) )
-            // InternalSensinact.g:3983:1: ( ',' )
-            {
-            // InternalSensinact.g:3983:1: ( ',' )
-            // InternalSensinact.g:3984:2: ','
-            {
-             before(grammarAccess.getDSL_CEP_SUMAccess().getCommaKeyword_3()); 
-            match(input,20,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_SUMAccess().getCommaKeyword_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_SUM__Group__3__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_SUM__Group__4"
-    // InternalSensinact.g:3993:1: rule__DSL_CEP_SUM__Group__4 : rule__DSL_CEP_SUM__Group__4__Impl rule__DSL_CEP_SUM__Group__5 ;
-    public final void rule__DSL_CEP_SUM__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:3997:1: ( rule__DSL_CEP_SUM__Group__4__Impl rule__DSL_CEP_SUM__Group__5 )
-            // InternalSensinact.g:3998:2: rule__DSL_CEP_SUM__Group__4__Impl rule__DSL_CEP_SUM__Group__5
-            {
-            pushFollow(FOLLOW_25);
-            rule__DSL_CEP_SUM__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_SUM__Group__5();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_SUM__Group__4"
-
-
-    // $ANTLR start "rule__DSL_CEP_SUM__Group__4__Impl"
-    // InternalSensinact.g:4005:1: rule__DSL_CEP_SUM__Group__4__Impl : ( ( rule__DSL_CEP_SUM__WindowAssignment_4 ) ) ;
-    public final void rule__DSL_CEP_SUM__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4009:1: ( ( ( rule__DSL_CEP_SUM__WindowAssignment_4 ) ) )
-            // InternalSensinact.g:4010:1: ( ( rule__DSL_CEP_SUM__WindowAssignment_4 ) )
-            {
-            // InternalSensinact.g:4010:1: ( ( rule__DSL_CEP_SUM__WindowAssignment_4 ) )
-            // InternalSensinact.g:4011:2: ( rule__DSL_CEP_SUM__WindowAssignment_4 )
-            {
-             before(grammarAccess.getDSL_CEP_SUMAccess().getWindowAssignment_4()); 
-            // InternalSensinact.g:4012:2: ( rule__DSL_CEP_SUM__WindowAssignment_4 )
-            // InternalSensinact.g:4012:3: rule__DSL_CEP_SUM__WindowAssignment_4
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_SUM__WindowAssignment_4();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_SUMAccess().getWindowAssignment_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_SUM__Group__4__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_SUM__Group__5"
-    // InternalSensinact.g:4020:1: rule__DSL_CEP_SUM__Group__5 : rule__DSL_CEP_SUM__Group__5__Impl ;
-    public final void rule__DSL_CEP_SUM__Group__5() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4024:1: ( rule__DSL_CEP_SUM__Group__5__Impl )
-            // InternalSensinact.g:4025:2: rule__DSL_CEP_SUM__Group__5__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_SUM__Group__5__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_SUM__Group__5"
-
-
-    // $ANTLR start "rule__DSL_CEP_SUM__Group__5__Impl"
-    // InternalSensinact.g:4031:1: rule__DSL_CEP_SUM__Group__5__Impl : ( ')' ) ;
-    public final void rule__DSL_CEP_SUM__Group__5__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4035:1: ( ( ')' ) )
-            // InternalSensinact.g:4036:1: ( ')' )
-            {
-            // InternalSensinact.g:4036:1: ( ')' )
-            // InternalSensinact.g:4037:2: ')'
-            {
-             before(grammarAccess.getDSL_CEP_SUMAccess().getRightParenthesisKeyword_5()); 
-            match(input,29,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_SUMAccess().getRightParenthesisKeyword_5()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_SUM__Group__5__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_COUNT__Group__0"
-    // InternalSensinact.g:4047:1: rule__DSL_CEP_COUNT__Group__0 : rule__DSL_CEP_COUNT__Group__0__Impl rule__DSL_CEP_COUNT__Group__1 ;
-    public final void rule__DSL_CEP_COUNT__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4051:1: ( rule__DSL_CEP_COUNT__Group__0__Impl rule__DSL_CEP_COUNT__Group__1 )
-            // InternalSensinact.g:4052:2: rule__DSL_CEP_COUNT__Group__0__Impl rule__DSL_CEP_COUNT__Group__1
-            {
-            pushFollow(FOLLOW_24);
-            rule__DSL_CEP_COUNT__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_COUNT__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COUNT__Group__0"
-
-
-    // $ANTLR start "rule__DSL_CEP_COUNT__Group__0__Impl"
-    // InternalSensinact.g:4059:1: rule__DSL_CEP_COUNT__Group__0__Impl : ( 'count' ) ;
-    public final void rule__DSL_CEP_COUNT__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4063:1: ( ( 'count' ) )
-            // InternalSensinact.g:4064:1: ( 'count' )
-            {
-            // InternalSensinact.g:4064:1: ( 'count' )
-            // InternalSensinact.g:4065:2: 'count'
-            {
-             before(grammarAccess.getDSL_CEP_COUNTAccess().getCountKeyword_0()); 
-            match(input,38,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_COUNTAccess().getCountKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COUNT__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_COUNT__Group__1"
-    // InternalSensinact.g:4074:1: rule__DSL_CEP_COUNT__Group__1 : rule__DSL_CEP_COUNT__Group__1__Impl rule__DSL_CEP_COUNT__Group__2 ;
-    public final void rule__DSL_CEP_COUNT__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4078:1: ( rule__DSL_CEP_COUNT__Group__1__Impl rule__DSL_CEP_COUNT__Group__2 )
-            // InternalSensinact.g:4079:2: rule__DSL_CEP_COUNT__Group__1__Impl rule__DSL_CEP_COUNT__Group__2
-            {
-            pushFollow(FOLLOW_9);
-            rule__DSL_CEP_COUNT__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_COUNT__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COUNT__Group__1"
-
-
-    // $ANTLR start "rule__DSL_CEP_COUNT__Group__1__Impl"
-    // InternalSensinact.g:4086:1: rule__DSL_CEP_COUNT__Group__1__Impl : ( '(' ) ;
-    public final void rule__DSL_CEP_COUNT__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4090:1: ( ( '(' ) )
-            // InternalSensinact.g:4091:1: ( '(' )
-            {
-            // InternalSensinact.g:4091:1: ( '(' )
-            // InternalSensinact.g:4092:2: '('
-            {
-             before(grammarAccess.getDSL_CEP_COUNTAccess().getLeftParenthesisKeyword_1()); 
-            match(input,28,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_COUNTAccess().getLeftParenthesisKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COUNT__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_COUNT__Group__2"
-    // InternalSensinact.g:4101:1: rule__DSL_CEP_COUNT__Group__2 : rule__DSL_CEP_COUNT__Group__2__Impl rule__DSL_CEP_COUNT__Group__3 ;
-    public final void rule__DSL_CEP_COUNT__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4105:1: ( rule__DSL_CEP_COUNT__Group__2__Impl rule__DSL_CEP_COUNT__Group__3 )
-            // InternalSensinact.g:4106:2: rule__DSL_CEP_COUNT__Group__2__Impl rule__DSL_CEP_COUNT__Group__3
-            {
-            pushFollow(FOLLOW_14);
-            rule__DSL_CEP_COUNT__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_COUNT__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COUNT__Group__2"
-
-
-    // $ANTLR start "rule__DSL_CEP_COUNT__Group__2__Impl"
-    // InternalSensinact.g:4113:1: rule__DSL_CEP_COUNT__Group__2__Impl : ( ( rule__DSL_CEP_COUNT__RefAssignment_2 ) ) ;
-    public final void rule__DSL_CEP_COUNT__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4117:1: ( ( ( rule__DSL_CEP_COUNT__RefAssignment_2 ) ) )
-            // InternalSensinact.g:4118:1: ( ( rule__DSL_CEP_COUNT__RefAssignment_2 ) )
-            {
-            // InternalSensinact.g:4118:1: ( ( rule__DSL_CEP_COUNT__RefAssignment_2 ) )
-            // InternalSensinact.g:4119:2: ( rule__DSL_CEP_COUNT__RefAssignment_2 )
-            {
-             before(grammarAccess.getDSL_CEP_COUNTAccess().getRefAssignment_2()); 
-            // InternalSensinact.g:4120:2: ( rule__DSL_CEP_COUNT__RefAssignment_2 )
-            // InternalSensinact.g:4120:3: rule__DSL_CEP_COUNT__RefAssignment_2
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_COUNT__RefAssignment_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_COUNTAccess().getRefAssignment_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COUNT__Group__2__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_COUNT__Group__3"
-    // InternalSensinact.g:4128:1: rule__DSL_CEP_COUNT__Group__3 : rule__DSL_CEP_COUNT__Group__3__Impl rule__DSL_CEP_COUNT__Group__4 ;
-    public final void rule__DSL_CEP_COUNT__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4132:1: ( rule__DSL_CEP_COUNT__Group__3__Impl rule__DSL_CEP_COUNT__Group__4 )
-            // InternalSensinact.g:4133:2: rule__DSL_CEP_COUNT__Group__3__Impl rule__DSL_CEP_COUNT__Group__4
-            {
-            pushFollow(FOLLOW_21);
-            rule__DSL_CEP_COUNT__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_COUNT__Group__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COUNT__Group__3"
-
-
-    // $ANTLR start "rule__DSL_CEP_COUNT__Group__3__Impl"
-    // InternalSensinact.g:4140:1: rule__DSL_CEP_COUNT__Group__3__Impl : ( ',' ) ;
-    public final void rule__DSL_CEP_COUNT__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4144:1: ( ( ',' ) )
-            // InternalSensinact.g:4145:1: ( ',' )
-            {
-            // InternalSensinact.g:4145:1: ( ',' )
-            // InternalSensinact.g:4146:2: ','
-            {
-             before(grammarAccess.getDSL_CEP_COUNTAccess().getCommaKeyword_3()); 
-            match(input,20,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_COUNTAccess().getCommaKeyword_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COUNT__Group__3__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_COUNT__Group__4"
-    // InternalSensinact.g:4155:1: rule__DSL_CEP_COUNT__Group__4 : rule__DSL_CEP_COUNT__Group__4__Impl rule__DSL_CEP_COUNT__Group__5 ;
-    public final void rule__DSL_CEP_COUNT__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4159:1: ( rule__DSL_CEP_COUNT__Group__4__Impl rule__DSL_CEP_COUNT__Group__5 )
-            // InternalSensinact.g:4160:2: rule__DSL_CEP_COUNT__Group__4__Impl rule__DSL_CEP_COUNT__Group__5
-            {
-            pushFollow(FOLLOW_25);
-            rule__DSL_CEP_COUNT__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_COUNT__Group__5();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COUNT__Group__4"
-
-
-    // $ANTLR start "rule__DSL_CEP_COUNT__Group__4__Impl"
-    // InternalSensinact.g:4167:1: rule__DSL_CEP_COUNT__Group__4__Impl : ( ( rule__DSL_CEP_COUNT__WindowAssignment_4 ) ) ;
-    public final void rule__DSL_CEP_COUNT__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4171:1: ( ( ( rule__DSL_CEP_COUNT__WindowAssignment_4 ) ) )
-            // InternalSensinact.g:4172:1: ( ( rule__DSL_CEP_COUNT__WindowAssignment_4 ) )
-            {
-            // InternalSensinact.g:4172:1: ( ( rule__DSL_CEP_COUNT__WindowAssignment_4 ) )
-            // InternalSensinact.g:4173:2: ( rule__DSL_CEP_COUNT__WindowAssignment_4 )
-            {
-             before(grammarAccess.getDSL_CEP_COUNTAccess().getWindowAssignment_4()); 
-            // InternalSensinact.g:4174:2: ( rule__DSL_CEP_COUNT__WindowAssignment_4 )
-            // InternalSensinact.g:4174:3: rule__DSL_CEP_COUNT__WindowAssignment_4
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_COUNT__WindowAssignment_4();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_COUNTAccess().getWindowAssignment_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COUNT__Group__4__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_COUNT__Group__5"
-    // InternalSensinact.g:4182:1: rule__DSL_CEP_COUNT__Group__5 : rule__DSL_CEP_COUNT__Group__5__Impl ;
-    public final void rule__DSL_CEP_COUNT__Group__5() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4186:1: ( rule__DSL_CEP_COUNT__Group__5__Impl )
-            // InternalSensinact.g:4187:2: rule__DSL_CEP_COUNT__Group__5__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_COUNT__Group__5__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COUNT__Group__5"
-
-
-    // $ANTLR start "rule__DSL_CEP_COUNT__Group__5__Impl"
-    // InternalSensinact.g:4193:1: rule__DSL_CEP_COUNT__Group__5__Impl : ( ')' ) ;
-    public final void rule__DSL_CEP_COUNT__Group__5__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4197:1: ( ( ')' ) )
-            // InternalSensinact.g:4198:1: ( ')' )
-            {
-            // InternalSensinact.g:4198:1: ( ')' )
-            // InternalSensinact.g:4199:2: ')'
-            {
-             before(grammarAccess.getDSL_CEP_COUNTAccess().getRightParenthesisKeyword_5()); 
-            match(input,29,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_COUNTAccess().getRightParenthesisKeyword_5()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COUNT__Group__5__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_DURATION_MIN__Group__0"
-    // InternalSensinact.g:4209:1: rule__DSL_CEP_DURATION_MIN__Group__0 : rule__DSL_CEP_DURATION_MIN__Group__0__Impl rule__DSL_CEP_DURATION_MIN__Group__1 ;
-    public final void rule__DSL_CEP_DURATION_MIN__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4213:1: ( rule__DSL_CEP_DURATION_MIN__Group__0__Impl rule__DSL_CEP_DURATION_MIN__Group__1 )
-            // InternalSensinact.g:4214:2: rule__DSL_CEP_DURATION_MIN__Group__0__Impl rule__DSL_CEP_DURATION_MIN__Group__1
-            {
-            pushFollow(FOLLOW_27);
-            rule__DSL_CEP_DURATION_MIN__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_DURATION_MIN__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_DURATION_MIN__Group__0"
-
-
-    // $ANTLR start "rule__DSL_CEP_DURATION_MIN__Group__0__Impl"
-    // InternalSensinact.g:4221:1: rule__DSL_CEP_DURATION_MIN__Group__0__Impl : ( ( rule__DSL_CEP_DURATION_MIN__MinAssignment_0 ) ) ;
-    public final void rule__DSL_CEP_DURATION_MIN__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4225:1: ( ( ( rule__DSL_CEP_DURATION_MIN__MinAssignment_0 ) ) )
-            // InternalSensinact.g:4226:1: ( ( rule__DSL_CEP_DURATION_MIN__MinAssignment_0 ) )
-            {
-            // InternalSensinact.g:4226:1: ( ( rule__DSL_CEP_DURATION_MIN__MinAssignment_0 ) )
-            // InternalSensinact.g:4227:2: ( rule__DSL_CEP_DURATION_MIN__MinAssignment_0 )
-            {
-             before(grammarAccess.getDSL_CEP_DURATION_MINAccess().getMinAssignment_0()); 
-            // InternalSensinact.g:4228:2: ( rule__DSL_CEP_DURATION_MIN__MinAssignment_0 )
-            // InternalSensinact.g:4228:3: rule__DSL_CEP_DURATION_MIN__MinAssignment_0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_DURATION_MIN__MinAssignment_0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_DURATION_MINAccess().getMinAssignment_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_DURATION_MIN__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_DURATION_MIN__Group__1"
-    // InternalSensinact.g:4236:1: rule__DSL_CEP_DURATION_MIN__Group__1 : rule__DSL_CEP_DURATION_MIN__Group__1__Impl ;
-    public final void rule__DSL_CEP_DURATION_MIN__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4240:1: ( rule__DSL_CEP_DURATION_MIN__Group__1__Impl )
-            // InternalSensinact.g:4241:2: rule__DSL_CEP_DURATION_MIN__Group__1__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_DURATION_MIN__Group__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_DURATION_MIN__Group__1"
-
-
-    // $ANTLR start "rule__DSL_CEP_DURATION_MIN__Group__1__Impl"
-    // InternalSensinact.g:4247:1: rule__DSL_CEP_DURATION_MIN__Group__1__Impl : ( 'min' ) ;
-    public final void rule__DSL_CEP_DURATION_MIN__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4251:1: ( ( 'min' ) )
-            // InternalSensinact.g:4252:1: ( 'min' )
-            {
-            // InternalSensinact.g:4252:1: ( 'min' )
-            // InternalSensinact.g:4253:2: 'min'
-            {
-             before(grammarAccess.getDSL_CEP_DURATION_MINAccess().getMinKeyword_1()); 
-            match(input,34,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_DURATION_MINAccess().getMinKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_DURATION_MIN__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_DURATION_SEC__Group__0"
-    // InternalSensinact.g:4263:1: rule__DSL_CEP_DURATION_SEC__Group__0 : rule__DSL_CEP_DURATION_SEC__Group__0__Impl rule__DSL_CEP_DURATION_SEC__Group__1 ;
-    public final void rule__DSL_CEP_DURATION_SEC__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4267:1: ( rule__DSL_CEP_DURATION_SEC__Group__0__Impl rule__DSL_CEP_DURATION_SEC__Group__1 )
-            // InternalSensinact.g:4268:2: rule__DSL_CEP_DURATION_SEC__Group__0__Impl rule__DSL_CEP_DURATION_SEC__Group__1
-            {
-            pushFollow(FOLLOW_28);
-            rule__DSL_CEP_DURATION_SEC__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_DURATION_SEC__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_DURATION_SEC__Group__0"
-
-
-    // $ANTLR start "rule__DSL_CEP_DURATION_SEC__Group__0__Impl"
-    // InternalSensinact.g:4275:1: rule__DSL_CEP_DURATION_SEC__Group__0__Impl : ( ( rule__DSL_CEP_DURATION_SEC__SecAssignment_0 ) ) ;
-    public final void rule__DSL_CEP_DURATION_SEC__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4279:1: ( ( ( rule__DSL_CEP_DURATION_SEC__SecAssignment_0 ) ) )
-            // InternalSensinact.g:4280:1: ( ( rule__DSL_CEP_DURATION_SEC__SecAssignment_0 ) )
-            {
-            // InternalSensinact.g:4280:1: ( ( rule__DSL_CEP_DURATION_SEC__SecAssignment_0 ) )
-            // InternalSensinact.g:4281:2: ( rule__DSL_CEP_DURATION_SEC__SecAssignment_0 )
-            {
-             before(grammarAccess.getDSL_CEP_DURATION_SECAccess().getSecAssignment_0()); 
-            // InternalSensinact.g:4282:2: ( rule__DSL_CEP_DURATION_SEC__SecAssignment_0 )
-            // InternalSensinact.g:4282:3: rule__DSL_CEP_DURATION_SEC__SecAssignment_0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_DURATION_SEC__SecAssignment_0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_DURATION_SECAccess().getSecAssignment_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_DURATION_SEC__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_CEP_DURATION_SEC__Group__1"
-    // InternalSensinact.g:4290:1: rule__DSL_CEP_DURATION_SEC__Group__1 : rule__DSL_CEP_DURATION_SEC__Group__1__Impl ;
-    public final void rule__DSL_CEP_DURATION_SEC__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4294:1: ( rule__DSL_CEP_DURATION_SEC__Group__1__Impl )
-            // InternalSensinact.g:4295:2: rule__DSL_CEP_DURATION_SEC__Group__1__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_DURATION_SEC__Group__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_DURATION_SEC__Group__1"
-
-
-    // $ANTLR start "rule__DSL_CEP_DURATION_SEC__Group__1__Impl"
-    // InternalSensinact.g:4301:1: rule__DSL_CEP_DURATION_SEC__Group__1__Impl : ( 'sec' ) ;
-    public final void rule__DSL_CEP_DURATION_SEC__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4305:1: ( ( 'sec' ) )
-            // InternalSensinact.g:4306:1: ( 'sec' )
-            {
-            // InternalSensinact.g:4306:1: ( 'sec' )
-            // InternalSensinact.g:4307:2: 'sec'
-            {
-             before(grammarAccess.getDSL_CEP_DURATION_SECAccess().getSecKeyword_1()); 
-            match(input,39,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_DURATION_SECAccess().getSecKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_DURATION_SEC__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_ListActions__Group__0"
-    // InternalSensinact.g:4317:1: rule__DSL_ListActions__Group__0 : rule__DSL_ListActions__Group__0__Impl rule__DSL_ListActions__Group__1 ;
-    public final void rule__DSL_ListActions__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4321:1: ( rule__DSL_ListActions__Group__0__Impl rule__DSL_ListActions__Group__1 )
-            // InternalSensinact.g:4322:2: rule__DSL_ListActions__Group__0__Impl rule__DSL_ListActions__Group__1
-            {
-            pushFollow(FOLLOW_14);
-            rule__DSL_ListActions__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_ListActions__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ListActions__Group__0"
-
-
-    // $ANTLR start "rule__DSL_ListActions__Group__0__Impl"
-    // InternalSensinact.g:4329:1: rule__DSL_ListActions__Group__0__Impl : ( ( rule__DSL_ListActions__ActionListAssignment_0 ) ) ;
-    public final void rule__DSL_ListActions__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4333:1: ( ( ( rule__DSL_ListActions__ActionListAssignment_0 ) ) )
-            // InternalSensinact.g:4334:1: ( ( rule__DSL_ListActions__ActionListAssignment_0 ) )
-            {
-            // InternalSensinact.g:4334:1: ( ( rule__DSL_ListActions__ActionListAssignment_0 ) )
-            // InternalSensinact.g:4335:2: ( rule__DSL_ListActions__ActionListAssignment_0 )
-            {
-             before(grammarAccess.getDSL_ListActionsAccess().getActionListAssignment_0()); 
-            // InternalSensinact.g:4336:2: ( rule__DSL_ListActions__ActionListAssignment_0 )
-            // InternalSensinact.g:4336:3: rule__DSL_ListActions__ActionListAssignment_0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_ListActions__ActionListAssignment_0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_ListActionsAccess().getActionListAssignment_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ListActions__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_ListActions__Group__1"
-    // InternalSensinact.g:4344:1: rule__DSL_ListActions__Group__1 : rule__DSL_ListActions__Group__1__Impl ;
-    public final void rule__DSL_ListActions__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4348:1: ( rule__DSL_ListActions__Group__1__Impl )
-            // InternalSensinact.g:4349:2: rule__DSL_ListActions__Group__1__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_ListActions__Group__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ListActions__Group__1"
-
-
-    // $ANTLR start "rule__DSL_ListActions__Group__1__Impl"
-    // InternalSensinact.g:4355:1: rule__DSL_ListActions__Group__1__Impl : ( ( rule__DSL_ListActions__Group_1__0 )* ) ;
-    public final void rule__DSL_ListActions__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4359:1: ( ( ( rule__DSL_ListActions__Group_1__0 )* ) )
-            // InternalSensinact.g:4360:1: ( ( rule__DSL_ListActions__Group_1__0 )* )
-            {
-            // InternalSensinact.g:4360:1: ( ( rule__DSL_ListActions__Group_1__0 )* )
-            // InternalSensinact.g:4361:2: ( rule__DSL_ListActions__Group_1__0 )*
-            {
-             before(grammarAccess.getDSL_ListActionsAccess().getGroup_1()); 
-            // InternalSensinact.g:4362:2: ( rule__DSL_ListActions__Group_1__0 )*
-            loop19:
-            do {
-                int alt19=2;
-                int LA19_0 = input.LA(1);
-
-                if ( (LA19_0==20) ) {
-                    alt19=1;
-                }
-
-
-                switch (alt19) {
-            	case 1 :
-            	    // InternalSensinact.g:4362:3: rule__DSL_ListActions__Group_1__0
-            	    {
-            	    pushFollow(FOLLOW_15);
-            	    rule__DSL_ListActions__Group_1__0();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop19;
-                }
-            } while (true);
-
-             after(grammarAccess.getDSL_ListActionsAccess().getGroup_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ListActions__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_ListActions__Group_1__0"
-    // InternalSensinact.g:4371:1: rule__DSL_ListActions__Group_1__0 : rule__DSL_ListActions__Group_1__0__Impl rule__DSL_ListActions__Group_1__1 ;
-    public final void rule__DSL_ListActions__Group_1__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4375:1: ( rule__DSL_ListActions__Group_1__0__Impl rule__DSL_ListActions__Group_1__1 )
-            // InternalSensinact.g:4376:2: rule__DSL_ListActions__Group_1__0__Impl rule__DSL_ListActions__Group_1__1
-            {
-            pushFollow(FOLLOW_9);
-            rule__DSL_ListActions__Group_1__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_ListActions__Group_1__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ListActions__Group_1__0"
-
-
-    // $ANTLR start "rule__DSL_ListActions__Group_1__0__Impl"
-    // InternalSensinact.g:4383:1: rule__DSL_ListActions__Group_1__0__Impl : ( ',' ) ;
-    public final void rule__DSL_ListActions__Group_1__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4387:1: ( ( ',' ) )
-            // InternalSensinact.g:4388:1: ( ',' )
-            {
-            // InternalSensinact.g:4388:1: ( ',' )
-            // InternalSensinact.g:4389:2: ','
-            {
-             before(grammarAccess.getDSL_ListActionsAccess().getCommaKeyword_1_0()); 
-            match(input,20,FOLLOW_2); 
-             after(grammarAccess.getDSL_ListActionsAccess().getCommaKeyword_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ListActions__Group_1__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_ListActions__Group_1__1"
-    // InternalSensinact.g:4398:1: rule__DSL_ListActions__Group_1__1 : rule__DSL_ListActions__Group_1__1__Impl ;
-    public final void rule__DSL_ListActions__Group_1__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4402:1: ( rule__DSL_ListActions__Group_1__1__Impl )
-            // InternalSensinact.g:4403:2: rule__DSL_ListActions__Group_1__1__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_ListActions__Group_1__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ListActions__Group_1__1"
-
-
-    // $ANTLR start "rule__DSL_ListActions__Group_1__1__Impl"
-    // InternalSensinact.g:4409:1: rule__DSL_ListActions__Group_1__1__Impl : ( ( rule__DSL_ListActions__ActionListAssignment_1_1 ) ) ;
-    public final void rule__DSL_ListActions__Group_1__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4413:1: ( ( ( rule__DSL_ListActions__ActionListAssignment_1_1 ) ) )
-            // InternalSensinact.g:4414:1: ( ( rule__DSL_ListActions__ActionListAssignment_1_1 ) )
-            {
-            // InternalSensinact.g:4414:1: ( ( rule__DSL_ListActions__ActionListAssignment_1_1 ) )
-            // InternalSensinact.g:4415:2: ( rule__DSL_ListActions__ActionListAssignment_1_1 )
-            {
-             before(grammarAccess.getDSL_ListActionsAccess().getActionListAssignment_1_1()); 
-            // InternalSensinact.g:4416:2: ( rule__DSL_ListActions__ActionListAssignment_1_1 )
-            // InternalSensinact.g:4416:3: rule__DSL_ListActions__ActionListAssignment_1_1
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_ListActions__ActionListAssignment_1_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_ListActionsAccess().getActionListAssignment_1_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ListActions__Group_1__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_ResourceAction__Group__0"
-    // InternalSensinact.g:4425:1: rule__DSL_ResourceAction__Group__0 : rule__DSL_ResourceAction__Group__0__Impl rule__DSL_ResourceAction__Group__1 ;
-    public final void rule__DSL_ResourceAction__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4429:1: ( rule__DSL_ResourceAction__Group__0__Impl rule__DSL_ResourceAction__Group__1 )
-            // InternalSensinact.g:4430:2: rule__DSL_ResourceAction__Group__0__Impl rule__DSL_ResourceAction__Group__1
-            {
-            pushFollow(FOLLOW_9);
-            rule__DSL_ResourceAction__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_ResourceAction__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ResourceAction__Group__0"
-
-
-    // $ANTLR start "rule__DSL_ResourceAction__Group__0__Impl"
-    // InternalSensinact.g:4437:1: rule__DSL_ResourceAction__Group__0__Impl : ( ( rule__DSL_ResourceAction__Group_0__0 )? ) ;
-    public final void rule__DSL_ResourceAction__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4441:1: ( ( ( rule__DSL_ResourceAction__Group_0__0 )? ) )
-            // InternalSensinact.g:4442:1: ( ( rule__DSL_ResourceAction__Group_0__0 )? )
-            {
-            // InternalSensinact.g:4442:1: ( ( rule__DSL_ResourceAction__Group_0__0 )? )
-            // InternalSensinact.g:4443:2: ( rule__DSL_ResourceAction__Group_0__0 )?
-            {
-             before(grammarAccess.getDSL_ResourceActionAccess().getGroup_0()); 
-            // InternalSensinact.g:4444:2: ( rule__DSL_ResourceAction__Group_0__0 )?
-            int alt20=2;
-            int LA20_0 = input.LA(1);
-
-            if ( (LA20_0==RULE_ID) ) {
-                int LA20_1 = input.LA(2);
-
-                if ( (LA20_1==15) ) {
-                    alt20=1;
-                }
-            }
-            switch (alt20) {
-                case 1 :
-                    // InternalSensinact.g:4444:3: rule__DSL_ResourceAction__Group_0__0
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DSL_ResourceAction__Group_0__0();
-
-                    state._fsp--;
-
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getDSL_ResourceActionAccess().getGroup_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ResourceAction__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_ResourceAction__Group__1"
-    // InternalSensinact.g:4452:1: rule__DSL_ResourceAction__Group__1 : rule__DSL_ResourceAction__Group__1__Impl rule__DSL_ResourceAction__Group__2 ;
-    public final void rule__DSL_ResourceAction__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4456:1: ( rule__DSL_ResourceAction__Group__1__Impl rule__DSL_ResourceAction__Group__2 )
-            // InternalSensinact.g:4457:2: rule__DSL_ResourceAction__Group__1__Impl rule__DSL_ResourceAction__Group__2
-            {
-            pushFollow(FOLLOW_20);
-            rule__DSL_ResourceAction__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_ResourceAction__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ResourceAction__Group__1"
-
-
-    // $ANTLR start "rule__DSL_ResourceAction__Group__1__Impl"
-    // InternalSensinact.g:4464:1: rule__DSL_ResourceAction__Group__1__Impl : ( ( rule__DSL_ResourceAction__RefAssignment_1 ) ) ;
-    public final void rule__DSL_ResourceAction__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4468:1: ( ( ( rule__DSL_ResourceAction__RefAssignment_1 ) ) )
-            // InternalSensinact.g:4469:1: ( ( rule__DSL_ResourceAction__RefAssignment_1 ) )
-            {
-            // InternalSensinact.g:4469:1: ( ( rule__DSL_ResourceAction__RefAssignment_1 ) )
-            // InternalSensinact.g:4470:2: ( rule__DSL_ResourceAction__RefAssignment_1 )
-            {
-             before(grammarAccess.getDSL_ResourceActionAccess().getRefAssignment_1()); 
-            // InternalSensinact.g:4471:2: ( rule__DSL_ResourceAction__RefAssignment_1 )
-            // InternalSensinact.g:4471:3: rule__DSL_ResourceAction__RefAssignment_1
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_ResourceAction__RefAssignment_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_ResourceActionAccess().getRefAssignment_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ResourceAction__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_ResourceAction__Group__2"
-    // InternalSensinact.g:4479:1: rule__DSL_ResourceAction__Group__2 : rule__DSL_ResourceAction__Group__2__Impl rule__DSL_ResourceAction__Group__3 ;
-    public final void rule__DSL_ResourceAction__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4483:1: ( rule__DSL_ResourceAction__Group__2__Impl rule__DSL_ResourceAction__Group__3 )
-            // InternalSensinact.g:4484:2: rule__DSL_ResourceAction__Group__2__Impl rule__DSL_ResourceAction__Group__3
-            {
-            pushFollow(FOLLOW_29);
-            rule__DSL_ResourceAction__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_ResourceAction__Group__3();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ResourceAction__Group__2"
-
-
-    // $ANTLR start "rule__DSL_ResourceAction__Group__2__Impl"
-    // InternalSensinact.g:4491:1: rule__DSL_ResourceAction__Group__2__Impl : ( '.' ) ;
-    public final void rule__DSL_ResourceAction__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4495:1: ( ( '.' ) )
-            // InternalSensinact.g:4496:1: ( '.' )
-            {
-            // InternalSensinact.g:4496:1: ( '.' )
-            // InternalSensinact.g:4497:2: '.'
-            {
-             before(grammarAccess.getDSL_ResourceActionAccess().getFullStopKeyword_2()); 
-            match(input,26,FOLLOW_2); 
-             after(grammarAccess.getDSL_ResourceActionAccess().getFullStopKeyword_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ResourceAction__Group__2__Impl"
-
-
-    // $ANTLR start "rule__DSL_ResourceAction__Group__3"
-    // InternalSensinact.g:4506:1: rule__DSL_ResourceAction__Group__3 : rule__DSL_ResourceAction__Group__3__Impl rule__DSL_ResourceAction__Group__4 ;
-    public final void rule__DSL_ResourceAction__Group__3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4510:1: ( rule__DSL_ResourceAction__Group__3__Impl rule__DSL_ResourceAction__Group__4 )
-            // InternalSensinact.g:4511:2: rule__DSL_ResourceAction__Group__3__Impl rule__DSL_ResourceAction__Group__4
-            {
-            pushFollow(FOLLOW_24);
-            rule__DSL_ResourceAction__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_ResourceAction__Group__4();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ResourceAction__Group__3"
-
-
-    // $ANTLR start "rule__DSL_ResourceAction__Group__3__Impl"
-    // InternalSensinact.g:4518:1: rule__DSL_ResourceAction__Group__3__Impl : ( ( rule__DSL_ResourceAction__ActiontypeAssignment_3 ) ) ;
-    public final void rule__DSL_ResourceAction__Group__3__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4522:1: ( ( ( rule__DSL_ResourceAction__ActiontypeAssignment_3 ) ) )
-            // InternalSensinact.g:4523:1: ( ( rule__DSL_ResourceAction__ActiontypeAssignment_3 ) )
-            {
-            // InternalSensinact.g:4523:1: ( ( rule__DSL_ResourceAction__ActiontypeAssignment_3 ) )
-            // InternalSensinact.g:4524:2: ( rule__DSL_ResourceAction__ActiontypeAssignment_3 )
-            {
-             before(grammarAccess.getDSL_ResourceActionAccess().getActiontypeAssignment_3()); 
-            // InternalSensinact.g:4525:2: ( rule__DSL_ResourceAction__ActiontypeAssignment_3 )
-            // InternalSensinact.g:4525:3: rule__DSL_ResourceAction__ActiontypeAssignment_3
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_ResourceAction__ActiontypeAssignment_3();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_ResourceActionAccess().getActiontypeAssignment_3()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ResourceAction__Group__3__Impl"
-
-
-    // $ANTLR start "rule__DSL_ResourceAction__Group__4"
-    // InternalSensinact.g:4533:1: rule__DSL_ResourceAction__Group__4 : rule__DSL_ResourceAction__Group__4__Impl rule__DSL_ResourceAction__Group__5 ;
-    public final void rule__DSL_ResourceAction__Group__4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4537:1: ( rule__DSL_ResourceAction__Group__4__Impl rule__DSL_ResourceAction__Group__5 )
-            // InternalSensinact.g:4538:2: rule__DSL_ResourceAction__Group__4__Impl rule__DSL_ResourceAction__Group__5
-            {
-            pushFollow(FOLLOW_30);
-            rule__DSL_ResourceAction__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_ResourceAction__Group__5();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ResourceAction__Group__4"
-
-
-    // $ANTLR start "rule__DSL_ResourceAction__Group__4__Impl"
-    // InternalSensinact.g:4545:1: rule__DSL_ResourceAction__Group__4__Impl : ( '(' ) ;
-    public final void rule__DSL_ResourceAction__Group__4__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4549:1: ( ( '(' ) )
-            // InternalSensinact.g:4550:1: ( '(' )
-            {
-            // InternalSensinact.g:4550:1: ( '(' )
-            // InternalSensinact.g:4551:2: '('
-            {
-             before(grammarAccess.getDSL_ResourceActionAccess().getLeftParenthesisKeyword_4()); 
-            match(input,28,FOLLOW_2); 
-             after(grammarAccess.getDSL_ResourceActionAccess().getLeftParenthesisKeyword_4()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ResourceAction__Group__4__Impl"
-
-
-    // $ANTLR start "rule__DSL_ResourceAction__Group__5"
-    // InternalSensinact.g:4560:1: rule__DSL_ResourceAction__Group__5 : rule__DSL_ResourceAction__Group__5__Impl rule__DSL_ResourceAction__Group__6 ;
-    public final void rule__DSL_ResourceAction__Group__5() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4564:1: ( rule__DSL_ResourceAction__Group__5__Impl rule__DSL_ResourceAction__Group__6 )
-            // InternalSensinact.g:4565:2: rule__DSL_ResourceAction__Group__5__Impl rule__DSL_ResourceAction__Group__6
-            {
-            pushFollow(FOLLOW_30);
-            rule__DSL_ResourceAction__Group__5__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_ResourceAction__Group__6();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ResourceAction__Group__5"
-
-
-    // $ANTLR start "rule__DSL_ResourceAction__Group__5__Impl"
-    // InternalSensinact.g:4572:1: rule__DSL_ResourceAction__Group__5__Impl : ( ( rule__DSL_ResourceAction__ListParamAssignment_5 )? ) ;
-    public final void rule__DSL_ResourceAction__Group__5__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4576:1: ( ( ( rule__DSL_ResourceAction__ListParamAssignment_5 )? ) )
-            // InternalSensinact.g:4577:1: ( ( rule__DSL_ResourceAction__ListParamAssignment_5 )? )
-            {
-            // InternalSensinact.g:4577:1: ( ( rule__DSL_ResourceAction__ListParamAssignment_5 )? )
-            // InternalSensinact.g:4578:2: ( rule__DSL_ResourceAction__ListParamAssignment_5 )?
-            {
-             before(grammarAccess.getDSL_ResourceActionAccess().getListParamAssignment_5()); 
-            // InternalSensinact.g:4579:2: ( rule__DSL_ResourceAction__ListParamAssignment_5 )?
-            int alt21=2;
-            int LA21_0 = input.LA(1);
-
-            if ( ((LA21_0>=RULE_INT && LA21_0<=RULE_BOOLEAN)||LA21_0==28||LA21_0==53) ) {
-                alt21=1;
-            }
-            switch (alt21) {
-                case 1 :
-                    // InternalSensinact.g:4579:3: rule__DSL_ResourceAction__ListParamAssignment_5
-                    {
-                    pushFollow(FOLLOW_2);
-                    rule__DSL_ResourceAction__ListParamAssignment_5();
-
-                    state._fsp--;
-
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getDSL_ResourceActionAccess().getListParamAssignment_5()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ResourceAction__Group__5__Impl"
-
-
-    // $ANTLR start "rule__DSL_ResourceAction__Group__6"
-    // InternalSensinact.g:4587:1: rule__DSL_ResourceAction__Group__6 : rule__DSL_ResourceAction__Group__6__Impl ;
-    public final void rule__DSL_ResourceAction__Group__6() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4591:1: ( rule__DSL_ResourceAction__Group__6__Impl )
-            // InternalSensinact.g:4592:2: rule__DSL_ResourceAction__Group__6__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_ResourceAction__Group__6__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ResourceAction__Group__6"
-
-
-    // $ANTLR start "rule__DSL_ResourceAction__Group__6__Impl"
-    // InternalSensinact.g:4598:1: rule__DSL_ResourceAction__Group__6__Impl : ( ')' ) ;
-    public final void rule__DSL_ResourceAction__Group__6__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4602:1: ( ( ')' ) )
-            // InternalSensinact.g:4603:1: ( ')' )
-            {
-            // InternalSensinact.g:4603:1: ( ')' )
-            // InternalSensinact.g:4604:2: ')'
-            {
-             before(grammarAccess.getDSL_ResourceActionAccess().getRightParenthesisKeyword_6()); 
-            match(input,29,FOLLOW_2); 
-             after(grammarAccess.getDSL_ResourceActionAccess().getRightParenthesisKeyword_6()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ResourceAction__Group__6__Impl"
-
-
-    // $ANTLR start "rule__DSL_ResourceAction__Group_0__0"
-    // InternalSensinact.g:4614:1: rule__DSL_ResourceAction__Group_0__0 : rule__DSL_ResourceAction__Group_0__0__Impl rule__DSL_ResourceAction__Group_0__1 ;
-    public final void rule__DSL_ResourceAction__Group_0__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4618:1: ( rule__DSL_ResourceAction__Group_0__0__Impl rule__DSL_ResourceAction__Group_0__1 )
-            // InternalSensinact.g:4619:2: rule__DSL_ResourceAction__Group_0__0__Impl rule__DSL_ResourceAction__Group_0__1
-            {
-            pushFollow(FOLLOW_10);
-            rule__DSL_ResourceAction__Group_0__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_ResourceAction__Group_0__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ResourceAction__Group_0__0"
-
-
-    // $ANTLR start "rule__DSL_ResourceAction__Group_0__0__Impl"
-    // InternalSensinact.g:4626:1: rule__DSL_ResourceAction__Group_0__0__Impl : ( ( rule__DSL_ResourceAction__VariableAssignment_0_0 ) ) ;
-    public final void rule__DSL_ResourceAction__Group_0__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4630:1: ( ( ( rule__DSL_ResourceAction__VariableAssignment_0_0 ) ) )
-            // InternalSensinact.g:4631:1: ( ( rule__DSL_ResourceAction__VariableAssignment_0_0 ) )
-            {
-            // InternalSensinact.g:4631:1: ( ( rule__DSL_ResourceAction__VariableAssignment_0_0 ) )
-            // InternalSensinact.g:4632:2: ( rule__DSL_ResourceAction__VariableAssignment_0_0 )
-            {
-             before(grammarAccess.getDSL_ResourceActionAccess().getVariableAssignment_0_0()); 
-            // InternalSensinact.g:4633:2: ( rule__DSL_ResourceAction__VariableAssignment_0_0 )
-            // InternalSensinact.g:4633:3: rule__DSL_ResourceAction__VariableAssignment_0_0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_ResourceAction__VariableAssignment_0_0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_ResourceActionAccess().getVariableAssignment_0_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ResourceAction__Group_0__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_ResourceAction__Group_0__1"
-    // InternalSensinact.g:4641:1: rule__DSL_ResourceAction__Group_0__1 : rule__DSL_ResourceAction__Group_0__1__Impl ;
-    public final void rule__DSL_ResourceAction__Group_0__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4645:1: ( rule__DSL_ResourceAction__Group_0__1__Impl )
-            // InternalSensinact.g:4646:2: rule__DSL_ResourceAction__Group_0__1__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_ResourceAction__Group_0__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ResourceAction__Group_0__1"
-
-
-    // $ANTLR start "rule__DSL_ResourceAction__Group_0__1__Impl"
-    // InternalSensinact.g:4652:1: rule__DSL_ResourceAction__Group_0__1__Impl : ( '=' ) ;
-    public final void rule__DSL_ResourceAction__Group_0__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4656:1: ( ( '=' ) )
-            // InternalSensinact.g:4657:1: ( '=' )
-            {
-            // InternalSensinact.g:4657:1: ( '=' )
-            // InternalSensinact.g:4658:2: '='
-            {
-             before(grammarAccess.getDSL_ResourceActionAccess().getEqualsSignKeyword_0_1()); 
-            match(input,15,FOLLOW_2); 
-             after(grammarAccess.getDSL_ResourceActionAccess().getEqualsSignKeyword_0_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ResourceAction__Group_0__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_ListParam__Group__0"
-    // InternalSensinact.g:4668:1: rule__DSL_ListParam__Group__0 : rule__DSL_ListParam__Group__0__Impl rule__DSL_ListParam__Group__1 ;
-    public final void rule__DSL_ListParam__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4672:1: ( rule__DSL_ListParam__Group__0__Impl rule__DSL_ListParam__Group__1 )
-            // InternalSensinact.g:4673:2: rule__DSL_ListParam__Group__0__Impl rule__DSL_ListParam__Group__1
-            {
-            pushFollow(FOLLOW_14);
-            rule__DSL_ListParam__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_ListParam__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ListParam__Group__0"
-
-
-    // $ANTLR start "rule__DSL_ListParam__Group__0__Impl"
-    // InternalSensinact.g:4680:1: rule__DSL_ListParam__Group__0__Impl : ( ( rule__DSL_ListParam__ParamAssignment_0 ) ) ;
-    public final void rule__DSL_ListParam__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4684:1: ( ( ( rule__DSL_ListParam__ParamAssignment_0 ) ) )
-            // InternalSensinact.g:4685:1: ( ( rule__DSL_ListParam__ParamAssignment_0 ) )
-            {
-            // InternalSensinact.g:4685:1: ( ( rule__DSL_ListParam__ParamAssignment_0 ) )
-            // InternalSensinact.g:4686:2: ( rule__DSL_ListParam__ParamAssignment_0 )
-            {
-             before(grammarAccess.getDSL_ListParamAccess().getParamAssignment_0()); 
-            // InternalSensinact.g:4687:2: ( rule__DSL_ListParam__ParamAssignment_0 )
-            // InternalSensinact.g:4687:3: rule__DSL_ListParam__ParamAssignment_0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_ListParam__ParamAssignment_0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_ListParamAccess().getParamAssignment_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ListParam__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_ListParam__Group__1"
-    // InternalSensinact.g:4695:1: rule__DSL_ListParam__Group__1 : rule__DSL_ListParam__Group__1__Impl ;
-    public final void rule__DSL_ListParam__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4699:1: ( rule__DSL_ListParam__Group__1__Impl )
-            // InternalSensinact.g:4700:2: rule__DSL_ListParam__Group__1__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_ListParam__Group__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ListParam__Group__1"
-
-
-    // $ANTLR start "rule__DSL_ListParam__Group__1__Impl"
-    // InternalSensinact.g:4706:1: rule__DSL_ListParam__Group__1__Impl : ( ( rule__DSL_ListParam__Group_1__0 )* ) ;
-    public final void rule__DSL_ListParam__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4710:1: ( ( ( rule__DSL_ListParam__Group_1__0 )* ) )
-            // InternalSensinact.g:4711:1: ( ( rule__DSL_ListParam__Group_1__0 )* )
-            {
-            // InternalSensinact.g:4711:1: ( ( rule__DSL_ListParam__Group_1__0 )* )
-            // InternalSensinact.g:4712:2: ( rule__DSL_ListParam__Group_1__0 )*
-            {
-             before(grammarAccess.getDSL_ListParamAccess().getGroup_1()); 
-            // InternalSensinact.g:4713:2: ( rule__DSL_ListParam__Group_1__0 )*
-            loop22:
-            do {
-                int alt22=2;
-                int LA22_0 = input.LA(1);
-
-                if ( (LA22_0==20) ) {
-                    alt22=1;
-                }
-
-
-                switch (alt22) {
-            	case 1 :
-            	    // InternalSensinact.g:4713:3: rule__DSL_ListParam__Group_1__0
-            	    {
-            	    pushFollow(FOLLOW_15);
-            	    rule__DSL_ListParam__Group_1__0();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop22;
-                }
-            } while (true);
-
-             after(grammarAccess.getDSL_ListParamAccess().getGroup_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ListParam__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_ListParam__Group_1__0"
-    // InternalSensinact.g:4722:1: rule__DSL_ListParam__Group_1__0 : rule__DSL_ListParam__Group_1__0__Impl rule__DSL_ListParam__Group_1__1 ;
-    public final void rule__DSL_ListParam__Group_1__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4726:1: ( rule__DSL_ListParam__Group_1__0__Impl rule__DSL_ListParam__Group_1__1 )
-            // InternalSensinact.g:4727:2: rule__DSL_ListParam__Group_1__0__Impl rule__DSL_ListParam__Group_1__1
-            {
-            pushFollow(FOLLOW_18);
-            rule__DSL_ListParam__Group_1__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_ListParam__Group_1__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ListParam__Group_1__0"
-
-
-    // $ANTLR start "rule__DSL_ListParam__Group_1__0__Impl"
-    // InternalSensinact.g:4734:1: rule__DSL_ListParam__Group_1__0__Impl : ( ',' ) ;
-    public final void rule__DSL_ListParam__Group_1__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4738:1: ( ( ',' ) )
-            // InternalSensinact.g:4739:1: ( ',' )
-            {
-            // InternalSensinact.g:4739:1: ( ',' )
-            // InternalSensinact.g:4740:2: ','
-            {
-             before(grammarAccess.getDSL_ListParamAccess().getCommaKeyword_1_0()); 
-            match(input,20,FOLLOW_2); 
-             after(grammarAccess.getDSL_ListParamAccess().getCommaKeyword_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ListParam__Group_1__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_ListParam__Group_1__1"
-    // InternalSensinact.g:4749:1: rule__DSL_ListParam__Group_1__1 : rule__DSL_ListParam__Group_1__1__Impl ;
-    public final void rule__DSL_ListParam__Group_1__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4753:1: ( rule__DSL_ListParam__Group_1__1__Impl )
-            // InternalSensinact.g:4754:2: rule__DSL_ListParam__Group_1__1__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_ListParam__Group_1__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ListParam__Group_1__1"
-
-
-    // $ANTLR start "rule__DSL_ListParam__Group_1__1__Impl"
-    // InternalSensinact.g:4760:1: rule__DSL_ListParam__Group_1__1__Impl : ( ( rule__DSL_ListParam__ParamAssignment_1_1 ) ) ;
-    public final void rule__DSL_ListParam__Group_1__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4764:1: ( ( ( rule__DSL_ListParam__ParamAssignment_1_1 ) ) )
-            // InternalSensinact.g:4765:1: ( ( rule__DSL_ListParam__ParamAssignment_1_1 ) )
-            {
-            // InternalSensinact.g:4765:1: ( ( rule__DSL_ListParam__ParamAssignment_1_1 ) )
-            // InternalSensinact.g:4766:2: ( rule__DSL_ListParam__ParamAssignment_1_1 )
-            {
-             before(grammarAccess.getDSL_ListParamAccess().getParamAssignment_1_1()); 
-            // InternalSensinact.g:4767:2: ( rule__DSL_ListParam__ParamAssignment_1_1 )
-            // InternalSensinact.g:4767:3: rule__DSL_ListParam__ParamAssignment_1_1
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_ListParam__ParamAssignment_1_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_ListParamAccess().getParamAssignment_1_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ListParam__Group_1__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Or__Group__0"
-    // InternalSensinact.g:4776:1: rule__DSL_Expression_Or__Group__0 : rule__DSL_Expression_Or__Group__0__Impl rule__DSL_Expression_Or__Group__1 ;
-    public final void rule__DSL_Expression_Or__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4780:1: ( rule__DSL_Expression_Or__Group__0__Impl rule__DSL_Expression_Or__Group__1 )
-            // InternalSensinact.g:4781:2: rule__DSL_Expression_Or__Group__0__Impl rule__DSL_Expression_Or__Group__1
-            {
-            pushFollow(FOLLOW_31);
-            rule__DSL_Expression_Or__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Or__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Or__Group__0"
-
-
-    // $ANTLR start "rule__DSL_Expression_Or__Group__0__Impl"
-    // InternalSensinact.g:4788:1: rule__DSL_Expression_Or__Group__0__Impl : ( ruleDSL_Expression_And ) ;
-    public final void rule__DSL_Expression_Or__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4792:1: ( ( ruleDSL_Expression_And ) )
-            // InternalSensinact.g:4793:1: ( ruleDSL_Expression_And )
-            {
-            // InternalSensinact.g:4793:1: ( ruleDSL_Expression_And )
-            // InternalSensinact.g:4794:2: ruleDSL_Expression_And
-            {
-             before(grammarAccess.getDSL_Expression_OrAccess().getDSL_Expression_AndParserRuleCall_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_Expression_And();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_Expression_OrAccess().getDSL_Expression_AndParserRuleCall_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Or__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Or__Group__1"
-    // InternalSensinact.g:4803:1: rule__DSL_Expression_Or__Group__1 : rule__DSL_Expression_Or__Group__1__Impl ;
-    public final void rule__DSL_Expression_Or__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4807:1: ( rule__DSL_Expression_Or__Group__1__Impl )
-            // InternalSensinact.g:4808:2: rule__DSL_Expression_Or__Group__1__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Or__Group__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Or__Group__1"
-
-
-    // $ANTLR start "rule__DSL_Expression_Or__Group__1__Impl"
-    // InternalSensinact.g:4814:1: rule__DSL_Expression_Or__Group__1__Impl : ( ( rule__DSL_Expression_Or__Group_1__0 )* ) ;
-    public final void rule__DSL_Expression_Or__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4818:1: ( ( ( rule__DSL_Expression_Or__Group_1__0 )* ) )
-            // InternalSensinact.g:4819:1: ( ( rule__DSL_Expression_Or__Group_1__0 )* )
-            {
-            // InternalSensinact.g:4819:1: ( ( rule__DSL_Expression_Or__Group_1__0 )* )
-            // InternalSensinact.g:4820:2: ( rule__DSL_Expression_Or__Group_1__0 )*
-            {
-             before(grammarAccess.getDSL_Expression_OrAccess().getGroup_1()); 
-            // InternalSensinact.g:4821:2: ( rule__DSL_Expression_Or__Group_1__0 )*
-            loop23:
-            do {
-                int alt23=2;
-                int LA23_0 = input.LA(1);
-
-                if ( (LA23_0==40) ) {
-                    alt23=1;
-                }
-
-
-                switch (alt23) {
-            	case 1 :
-            	    // InternalSensinact.g:4821:3: rule__DSL_Expression_Or__Group_1__0
-            	    {
-            	    pushFollow(FOLLOW_32);
-            	    rule__DSL_Expression_Or__Group_1__0();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop23;
-                }
-            } while (true);
-
-             after(grammarAccess.getDSL_Expression_OrAccess().getGroup_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Or__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Or__Group_1__0"
-    // InternalSensinact.g:4830:1: rule__DSL_Expression_Or__Group_1__0 : rule__DSL_Expression_Or__Group_1__0__Impl rule__DSL_Expression_Or__Group_1__1 ;
-    public final void rule__DSL_Expression_Or__Group_1__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4834:1: ( rule__DSL_Expression_Or__Group_1__0__Impl rule__DSL_Expression_Or__Group_1__1 )
-            // InternalSensinact.g:4835:2: rule__DSL_Expression_Or__Group_1__0__Impl rule__DSL_Expression_Or__Group_1__1
-            {
-            pushFollow(FOLLOW_18);
-            rule__DSL_Expression_Or__Group_1__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Or__Group_1__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Or__Group_1__0"
-
-
-    // $ANTLR start "rule__DSL_Expression_Or__Group_1__0__Impl"
-    // InternalSensinact.g:4842:1: rule__DSL_Expression_Or__Group_1__0__Impl : ( 'or' ) ;
-    public final void rule__DSL_Expression_Or__Group_1__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4846:1: ( ( 'or' ) )
-            // InternalSensinact.g:4847:1: ( 'or' )
-            {
-            // InternalSensinact.g:4847:1: ( 'or' )
-            // InternalSensinact.g:4848:2: 'or'
-            {
-             before(grammarAccess.getDSL_Expression_OrAccess().getOrKeyword_1_0()); 
-            match(input,40,FOLLOW_2); 
-             after(grammarAccess.getDSL_Expression_OrAccess().getOrKeyword_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Or__Group_1__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Or__Group_1__1"
-    // InternalSensinact.g:4857:1: rule__DSL_Expression_Or__Group_1__1 : rule__DSL_Expression_Or__Group_1__1__Impl rule__DSL_Expression_Or__Group_1__2 ;
-    public final void rule__DSL_Expression_Or__Group_1__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4861:1: ( rule__DSL_Expression_Or__Group_1__1__Impl rule__DSL_Expression_Or__Group_1__2 )
-            // InternalSensinact.g:4862:2: rule__DSL_Expression_Or__Group_1__1__Impl rule__DSL_Expression_Or__Group_1__2
-            {
-            pushFollow(FOLLOW_18);
-            rule__DSL_Expression_Or__Group_1__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Or__Group_1__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Or__Group_1__1"
-
-
-    // $ANTLR start "rule__DSL_Expression_Or__Group_1__1__Impl"
-    // InternalSensinact.g:4869:1: rule__DSL_Expression_Or__Group_1__1__Impl : ( () ) ;
-    public final void rule__DSL_Expression_Or__Group_1__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4873:1: ( ( () ) )
-            // InternalSensinact.g:4874:1: ( () )
-            {
-            // InternalSensinact.g:4874:1: ( () )
-            // InternalSensinact.g:4875:2: ()
-            {
-             before(grammarAccess.getDSL_Expression_OrAccess().getDSL_Expression_OrLeftAction_1_1()); 
-            // InternalSensinact.g:4876:2: ()
-            // InternalSensinact.g:4876:3: 
-            {
-            }
-
-             after(grammarAccess.getDSL_Expression_OrAccess().getDSL_Expression_OrLeftAction_1_1()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Or__Group_1__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Or__Group_1__2"
-    // InternalSensinact.g:4884:1: rule__DSL_Expression_Or__Group_1__2 : rule__DSL_Expression_Or__Group_1__2__Impl ;
-    public final void rule__DSL_Expression_Or__Group_1__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4888:1: ( rule__DSL_Expression_Or__Group_1__2__Impl )
-            // InternalSensinact.g:4889:2: rule__DSL_Expression_Or__Group_1__2__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Or__Group_1__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Or__Group_1__2"
-
-
-    // $ANTLR start "rule__DSL_Expression_Or__Group_1__2__Impl"
-    // InternalSensinact.g:4895:1: rule__DSL_Expression_Or__Group_1__2__Impl : ( ( rule__DSL_Expression_Or__RightAssignment_1_2 ) ) ;
-    public final void rule__DSL_Expression_Or__Group_1__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4899:1: ( ( ( rule__DSL_Expression_Or__RightAssignment_1_2 ) ) )
-            // InternalSensinact.g:4900:1: ( ( rule__DSL_Expression_Or__RightAssignment_1_2 ) )
-            {
-            // InternalSensinact.g:4900:1: ( ( rule__DSL_Expression_Or__RightAssignment_1_2 ) )
-            // InternalSensinact.g:4901:2: ( rule__DSL_Expression_Or__RightAssignment_1_2 )
-            {
-             before(grammarAccess.getDSL_Expression_OrAccess().getRightAssignment_1_2()); 
-            // InternalSensinact.g:4902:2: ( rule__DSL_Expression_Or__RightAssignment_1_2 )
-            // InternalSensinact.g:4902:3: rule__DSL_Expression_Or__RightAssignment_1_2
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Or__RightAssignment_1_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_Expression_OrAccess().getRightAssignment_1_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Or__Group_1__2__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_And__Group__0"
-    // InternalSensinact.g:4911:1: rule__DSL_Expression_And__Group__0 : rule__DSL_Expression_And__Group__0__Impl rule__DSL_Expression_And__Group__1 ;
-    public final void rule__DSL_Expression_And__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4915:1: ( rule__DSL_Expression_And__Group__0__Impl rule__DSL_Expression_And__Group__1 )
-            // InternalSensinact.g:4916:2: rule__DSL_Expression_And__Group__0__Impl rule__DSL_Expression_And__Group__1
-            {
-            pushFollow(FOLLOW_33);
-            rule__DSL_Expression_And__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_And__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_And__Group__0"
-
-
-    // $ANTLR start "rule__DSL_Expression_And__Group__0__Impl"
-    // InternalSensinact.g:4923:1: rule__DSL_Expression_And__Group__0__Impl : ( ruleDSL_Expression_DiffEqual ) ;
-    public final void rule__DSL_Expression_And__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4927:1: ( ( ruleDSL_Expression_DiffEqual ) )
-            // InternalSensinact.g:4928:1: ( ruleDSL_Expression_DiffEqual )
-            {
-            // InternalSensinact.g:4928:1: ( ruleDSL_Expression_DiffEqual )
-            // InternalSensinact.g:4929:2: ruleDSL_Expression_DiffEqual
-            {
-             before(grammarAccess.getDSL_Expression_AndAccess().getDSL_Expression_DiffEqualParserRuleCall_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_Expression_DiffEqual();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_Expression_AndAccess().getDSL_Expression_DiffEqualParserRuleCall_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_And__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_And__Group__1"
-    // InternalSensinact.g:4938:1: rule__DSL_Expression_And__Group__1 : rule__DSL_Expression_And__Group__1__Impl ;
-    public final void rule__DSL_Expression_And__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4942:1: ( rule__DSL_Expression_And__Group__1__Impl )
-            // InternalSensinact.g:4943:2: rule__DSL_Expression_And__Group__1__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_And__Group__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_And__Group__1"
-
-
-    // $ANTLR start "rule__DSL_Expression_And__Group__1__Impl"
-    // InternalSensinact.g:4949:1: rule__DSL_Expression_And__Group__1__Impl : ( ( rule__DSL_Expression_And__Group_1__0 )* ) ;
-    public final void rule__DSL_Expression_And__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4953:1: ( ( ( rule__DSL_Expression_And__Group_1__0 )* ) )
-            // InternalSensinact.g:4954:1: ( ( rule__DSL_Expression_And__Group_1__0 )* )
-            {
-            // InternalSensinact.g:4954:1: ( ( rule__DSL_Expression_And__Group_1__0 )* )
-            // InternalSensinact.g:4955:2: ( rule__DSL_Expression_And__Group_1__0 )*
-            {
-             before(grammarAccess.getDSL_Expression_AndAccess().getGroup_1()); 
-            // InternalSensinact.g:4956:2: ( rule__DSL_Expression_And__Group_1__0 )*
-            loop24:
-            do {
-                int alt24=2;
-                int LA24_0 = input.LA(1);
-
-                if ( (LA24_0==41) ) {
-                    alt24=1;
-                }
-
-
-                switch (alt24) {
-            	case 1 :
-            	    // InternalSensinact.g:4956:3: rule__DSL_Expression_And__Group_1__0
-            	    {
-            	    pushFollow(FOLLOW_34);
-            	    rule__DSL_Expression_And__Group_1__0();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop24;
-                }
-            } while (true);
-
-             after(grammarAccess.getDSL_Expression_AndAccess().getGroup_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_And__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_And__Group_1__0"
-    // InternalSensinact.g:4965:1: rule__DSL_Expression_And__Group_1__0 : rule__DSL_Expression_And__Group_1__0__Impl rule__DSL_Expression_And__Group_1__1 ;
-    public final void rule__DSL_Expression_And__Group_1__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4969:1: ( rule__DSL_Expression_And__Group_1__0__Impl rule__DSL_Expression_And__Group_1__1 )
-            // InternalSensinact.g:4970:2: rule__DSL_Expression_And__Group_1__0__Impl rule__DSL_Expression_And__Group_1__1
-            {
-            pushFollow(FOLLOW_18);
-            rule__DSL_Expression_And__Group_1__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_And__Group_1__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_And__Group_1__0"
-
-
-    // $ANTLR start "rule__DSL_Expression_And__Group_1__0__Impl"
-    // InternalSensinact.g:4977:1: rule__DSL_Expression_And__Group_1__0__Impl : ( 'and' ) ;
-    public final void rule__DSL_Expression_And__Group_1__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4981:1: ( ( 'and' ) )
-            // InternalSensinact.g:4982:1: ( 'and' )
-            {
-            // InternalSensinact.g:4982:1: ( 'and' )
-            // InternalSensinact.g:4983:2: 'and'
-            {
-             before(grammarAccess.getDSL_Expression_AndAccess().getAndKeyword_1_0()); 
-            match(input,41,FOLLOW_2); 
-             after(grammarAccess.getDSL_Expression_AndAccess().getAndKeyword_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_And__Group_1__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_And__Group_1__1"
-    // InternalSensinact.g:4992:1: rule__DSL_Expression_And__Group_1__1 : rule__DSL_Expression_And__Group_1__1__Impl rule__DSL_Expression_And__Group_1__2 ;
-    public final void rule__DSL_Expression_And__Group_1__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:4996:1: ( rule__DSL_Expression_And__Group_1__1__Impl rule__DSL_Expression_And__Group_1__2 )
-            // InternalSensinact.g:4997:2: rule__DSL_Expression_And__Group_1__1__Impl rule__DSL_Expression_And__Group_1__2
-            {
-            pushFollow(FOLLOW_18);
-            rule__DSL_Expression_And__Group_1__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_And__Group_1__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_And__Group_1__1"
-
-
-    // $ANTLR start "rule__DSL_Expression_And__Group_1__1__Impl"
-    // InternalSensinact.g:5004:1: rule__DSL_Expression_And__Group_1__1__Impl : ( () ) ;
-    public final void rule__DSL_Expression_And__Group_1__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5008:1: ( ( () ) )
-            // InternalSensinact.g:5009:1: ( () )
-            {
-            // InternalSensinact.g:5009:1: ( () )
-            // InternalSensinact.g:5010:2: ()
-            {
-             before(grammarAccess.getDSL_Expression_AndAccess().getDSL_Expression_AndLeftAction_1_1()); 
-            // InternalSensinact.g:5011:2: ()
-            // InternalSensinact.g:5011:3: 
-            {
-            }
-
-             after(grammarAccess.getDSL_Expression_AndAccess().getDSL_Expression_AndLeftAction_1_1()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_And__Group_1__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_And__Group_1__2"
-    // InternalSensinact.g:5019:1: rule__DSL_Expression_And__Group_1__2 : rule__DSL_Expression_And__Group_1__2__Impl ;
-    public final void rule__DSL_Expression_And__Group_1__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5023:1: ( rule__DSL_Expression_And__Group_1__2__Impl )
-            // InternalSensinact.g:5024:2: rule__DSL_Expression_And__Group_1__2__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_And__Group_1__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_And__Group_1__2"
-
-
-    // $ANTLR start "rule__DSL_Expression_And__Group_1__2__Impl"
-    // InternalSensinact.g:5030:1: rule__DSL_Expression_And__Group_1__2__Impl : ( ( rule__DSL_Expression_And__RightAssignment_1_2 ) ) ;
-    public final void rule__DSL_Expression_And__Group_1__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5034:1: ( ( ( rule__DSL_Expression_And__RightAssignment_1_2 ) ) )
-            // InternalSensinact.g:5035:1: ( ( rule__DSL_Expression_And__RightAssignment_1_2 ) )
-            {
-            // InternalSensinact.g:5035:1: ( ( rule__DSL_Expression_And__RightAssignment_1_2 ) )
-            // InternalSensinact.g:5036:2: ( rule__DSL_Expression_And__RightAssignment_1_2 )
-            {
-             before(grammarAccess.getDSL_Expression_AndAccess().getRightAssignment_1_2()); 
-            // InternalSensinact.g:5037:2: ( rule__DSL_Expression_And__RightAssignment_1_2 )
-            // InternalSensinact.g:5037:3: rule__DSL_Expression_And__RightAssignment_1_2
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_And__RightAssignment_1_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_Expression_AndAccess().getRightAssignment_1_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_And__Group_1__2__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_DiffEqual__Group__0"
-    // InternalSensinact.g:5046:1: rule__DSL_Expression_DiffEqual__Group__0 : rule__DSL_Expression_DiffEqual__Group__0__Impl rule__DSL_Expression_DiffEqual__Group__1 ;
-    public final void rule__DSL_Expression_DiffEqual__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5050:1: ( rule__DSL_Expression_DiffEqual__Group__0__Impl rule__DSL_Expression_DiffEqual__Group__1 )
-            // InternalSensinact.g:5051:2: rule__DSL_Expression_DiffEqual__Group__0__Impl rule__DSL_Expression_DiffEqual__Group__1
-            {
-            pushFollow(FOLLOW_35);
-            rule__DSL_Expression_DiffEqual__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_DiffEqual__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_DiffEqual__Group__0"
-
-
-    // $ANTLR start "rule__DSL_Expression_DiffEqual__Group__0__Impl"
-    // InternalSensinact.g:5058:1: rule__DSL_Expression_DiffEqual__Group__0__Impl : ( ruleDSL_Expression_Compare ) ;
-    public final void rule__DSL_Expression_DiffEqual__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5062:1: ( ( ruleDSL_Expression_Compare ) )
-            // InternalSensinact.g:5063:1: ( ruleDSL_Expression_Compare )
-            {
-            // InternalSensinact.g:5063:1: ( ruleDSL_Expression_Compare )
-            // InternalSensinact.g:5064:2: ruleDSL_Expression_Compare
-            {
-             before(grammarAccess.getDSL_Expression_DiffEqualAccess().getDSL_Expression_CompareParserRuleCall_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_Expression_Compare();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_Expression_DiffEqualAccess().getDSL_Expression_CompareParserRuleCall_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_DiffEqual__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_DiffEqual__Group__1"
-    // InternalSensinact.g:5073:1: rule__DSL_Expression_DiffEqual__Group__1 : rule__DSL_Expression_DiffEqual__Group__1__Impl ;
-    public final void rule__DSL_Expression_DiffEqual__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5077:1: ( rule__DSL_Expression_DiffEqual__Group__1__Impl )
-            // InternalSensinact.g:5078:2: rule__DSL_Expression_DiffEqual__Group__1__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_DiffEqual__Group__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_DiffEqual__Group__1"
-
-
-    // $ANTLR start "rule__DSL_Expression_DiffEqual__Group__1__Impl"
-    // InternalSensinact.g:5084:1: rule__DSL_Expression_DiffEqual__Group__1__Impl : ( ( rule__DSL_Expression_DiffEqual__Alternatives_1 )* ) ;
-    public final void rule__DSL_Expression_DiffEqual__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5088:1: ( ( ( rule__DSL_Expression_DiffEqual__Alternatives_1 )* ) )
-            // InternalSensinact.g:5089:1: ( ( rule__DSL_Expression_DiffEqual__Alternatives_1 )* )
-            {
-            // InternalSensinact.g:5089:1: ( ( rule__DSL_Expression_DiffEqual__Alternatives_1 )* )
-            // InternalSensinact.g:5090:2: ( rule__DSL_Expression_DiffEqual__Alternatives_1 )*
-            {
-             before(grammarAccess.getDSL_Expression_DiffEqualAccess().getAlternatives_1()); 
-            // InternalSensinact.g:5091:2: ( rule__DSL_Expression_DiffEqual__Alternatives_1 )*
-            loop25:
-            do {
-                int alt25=2;
-                int LA25_0 = input.LA(1);
-
-                if ( ((LA25_0>=42 && LA25_0<=43)) ) {
-                    alt25=1;
-                }
-
-
-                switch (alt25) {
-            	case 1 :
-            	    // InternalSensinact.g:5091:3: rule__DSL_Expression_DiffEqual__Alternatives_1
-            	    {
-            	    pushFollow(FOLLOW_36);
-            	    rule__DSL_Expression_DiffEqual__Alternatives_1();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop25;
-                }
-            } while (true);
-
-             after(grammarAccess.getDSL_Expression_DiffEqualAccess().getAlternatives_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_DiffEqual__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_DiffEqual__Group_1_0__0"
-    // InternalSensinact.g:5100:1: rule__DSL_Expression_DiffEqual__Group_1_0__0 : rule__DSL_Expression_DiffEqual__Group_1_0__0__Impl rule__DSL_Expression_DiffEqual__Group_1_0__1 ;
-    public final void rule__DSL_Expression_DiffEqual__Group_1_0__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5104:1: ( rule__DSL_Expression_DiffEqual__Group_1_0__0__Impl rule__DSL_Expression_DiffEqual__Group_1_0__1 )
-            // InternalSensinact.g:5105:2: rule__DSL_Expression_DiffEqual__Group_1_0__0__Impl rule__DSL_Expression_DiffEqual__Group_1_0__1
-            {
-            pushFollow(FOLLOW_18);
-            rule__DSL_Expression_DiffEqual__Group_1_0__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_DiffEqual__Group_1_0__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_DiffEqual__Group_1_0__0"
-
-
-    // $ANTLR start "rule__DSL_Expression_DiffEqual__Group_1_0__0__Impl"
-    // InternalSensinact.g:5112:1: rule__DSL_Expression_DiffEqual__Group_1_0__0__Impl : ( '!=' ) ;
-    public final void rule__DSL_Expression_DiffEqual__Group_1_0__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5116:1: ( ( '!=' ) )
-            // InternalSensinact.g:5117:1: ( '!=' )
-            {
-            // InternalSensinact.g:5117:1: ( '!=' )
-            // InternalSensinact.g:5118:2: '!='
-            {
-             before(grammarAccess.getDSL_Expression_DiffEqualAccess().getExclamationMarkEqualsSignKeyword_1_0_0()); 
-            match(input,42,FOLLOW_2); 
-             after(grammarAccess.getDSL_Expression_DiffEqualAccess().getExclamationMarkEqualsSignKeyword_1_0_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_DiffEqual__Group_1_0__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_DiffEqual__Group_1_0__1"
-    // InternalSensinact.g:5127:1: rule__DSL_Expression_DiffEqual__Group_1_0__1 : rule__DSL_Expression_DiffEqual__Group_1_0__1__Impl rule__DSL_Expression_DiffEqual__Group_1_0__2 ;
-    public final void rule__DSL_Expression_DiffEqual__Group_1_0__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5131:1: ( rule__DSL_Expression_DiffEqual__Group_1_0__1__Impl rule__DSL_Expression_DiffEqual__Group_1_0__2 )
-            // InternalSensinact.g:5132:2: rule__DSL_Expression_DiffEqual__Group_1_0__1__Impl rule__DSL_Expression_DiffEqual__Group_1_0__2
-            {
-            pushFollow(FOLLOW_18);
-            rule__DSL_Expression_DiffEqual__Group_1_0__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_DiffEqual__Group_1_0__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_DiffEqual__Group_1_0__1"
-
-
-    // $ANTLR start "rule__DSL_Expression_DiffEqual__Group_1_0__1__Impl"
-    // InternalSensinact.g:5139:1: rule__DSL_Expression_DiffEqual__Group_1_0__1__Impl : ( () ) ;
-    public final void rule__DSL_Expression_DiffEqual__Group_1_0__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5143:1: ( ( () ) )
-            // InternalSensinact.g:5144:1: ( () )
-            {
-            // InternalSensinact.g:5144:1: ( () )
-            // InternalSensinact.g:5145:2: ()
-            {
-             before(grammarAccess.getDSL_Expression_DiffEqualAccess().getDSL_Expression_DiffLeftAction_1_0_1()); 
-            // InternalSensinact.g:5146:2: ()
-            // InternalSensinact.g:5146:3: 
-            {
-            }
-
-             after(grammarAccess.getDSL_Expression_DiffEqualAccess().getDSL_Expression_DiffLeftAction_1_0_1()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_DiffEqual__Group_1_0__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_DiffEqual__Group_1_0__2"
-    // InternalSensinact.g:5154:1: rule__DSL_Expression_DiffEqual__Group_1_0__2 : rule__DSL_Expression_DiffEqual__Group_1_0__2__Impl ;
-    public final void rule__DSL_Expression_DiffEqual__Group_1_0__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5158:1: ( rule__DSL_Expression_DiffEqual__Group_1_0__2__Impl )
-            // InternalSensinact.g:5159:2: rule__DSL_Expression_DiffEqual__Group_1_0__2__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_DiffEqual__Group_1_0__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_DiffEqual__Group_1_0__2"
-
-
-    // $ANTLR start "rule__DSL_Expression_DiffEqual__Group_1_0__2__Impl"
-    // InternalSensinact.g:5165:1: rule__DSL_Expression_DiffEqual__Group_1_0__2__Impl : ( ( rule__DSL_Expression_DiffEqual__RightAssignment_1_0_2 ) ) ;
-    public final void rule__DSL_Expression_DiffEqual__Group_1_0__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5169:1: ( ( ( rule__DSL_Expression_DiffEqual__RightAssignment_1_0_2 ) ) )
-            // InternalSensinact.g:5170:1: ( ( rule__DSL_Expression_DiffEqual__RightAssignment_1_0_2 ) )
-            {
-            // InternalSensinact.g:5170:1: ( ( rule__DSL_Expression_DiffEqual__RightAssignment_1_0_2 ) )
-            // InternalSensinact.g:5171:2: ( rule__DSL_Expression_DiffEqual__RightAssignment_1_0_2 )
-            {
-             before(grammarAccess.getDSL_Expression_DiffEqualAccess().getRightAssignment_1_0_2()); 
-            // InternalSensinact.g:5172:2: ( rule__DSL_Expression_DiffEqual__RightAssignment_1_0_2 )
-            // InternalSensinact.g:5172:3: rule__DSL_Expression_DiffEqual__RightAssignment_1_0_2
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_DiffEqual__RightAssignment_1_0_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_Expression_DiffEqualAccess().getRightAssignment_1_0_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_DiffEqual__Group_1_0__2__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_DiffEqual__Group_1_1__0"
-    // InternalSensinact.g:5181:1: rule__DSL_Expression_DiffEqual__Group_1_1__0 : rule__DSL_Expression_DiffEqual__Group_1_1__0__Impl rule__DSL_Expression_DiffEqual__Group_1_1__1 ;
-    public final void rule__DSL_Expression_DiffEqual__Group_1_1__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5185:1: ( rule__DSL_Expression_DiffEqual__Group_1_1__0__Impl rule__DSL_Expression_DiffEqual__Group_1_1__1 )
-            // InternalSensinact.g:5186:2: rule__DSL_Expression_DiffEqual__Group_1_1__0__Impl rule__DSL_Expression_DiffEqual__Group_1_1__1
-            {
-            pushFollow(FOLLOW_18);
-            rule__DSL_Expression_DiffEqual__Group_1_1__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_DiffEqual__Group_1_1__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_DiffEqual__Group_1_1__0"
-
-
-    // $ANTLR start "rule__DSL_Expression_DiffEqual__Group_1_1__0__Impl"
-    // InternalSensinact.g:5193:1: rule__DSL_Expression_DiffEqual__Group_1_1__0__Impl : ( '==' ) ;
-    public final void rule__DSL_Expression_DiffEqual__Group_1_1__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5197:1: ( ( '==' ) )
-            // InternalSensinact.g:5198:1: ( '==' )
-            {
-            // InternalSensinact.g:5198:1: ( '==' )
-            // InternalSensinact.g:5199:2: '=='
-            {
-             before(grammarAccess.getDSL_Expression_DiffEqualAccess().getEqualsSignEqualsSignKeyword_1_1_0()); 
-            match(input,43,FOLLOW_2); 
-             after(grammarAccess.getDSL_Expression_DiffEqualAccess().getEqualsSignEqualsSignKeyword_1_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_DiffEqual__Group_1_1__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_DiffEqual__Group_1_1__1"
-    // InternalSensinact.g:5208:1: rule__DSL_Expression_DiffEqual__Group_1_1__1 : rule__DSL_Expression_DiffEqual__Group_1_1__1__Impl rule__DSL_Expression_DiffEqual__Group_1_1__2 ;
-    public final void rule__DSL_Expression_DiffEqual__Group_1_1__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5212:1: ( rule__DSL_Expression_DiffEqual__Group_1_1__1__Impl rule__DSL_Expression_DiffEqual__Group_1_1__2 )
-            // InternalSensinact.g:5213:2: rule__DSL_Expression_DiffEqual__Group_1_1__1__Impl rule__DSL_Expression_DiffEqual__Group_1_1__2
-            {
-            pushFollow(FOLLOW_18);
-            rule__DSL_Expression_DiffEqual__Group_1_1__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_DiffEqual__Group_1_1__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_DiffEqual__Group_1_1__1"
-
-
-    // $ANTLR start "rule__DSL_Expression_DiffEqual__Group_1_1__1__Impl"
-    // InternalSensinact.g:5220:1: rule__DSL_Expression_DiffEqual__Group_1_1__1__Impl : ( () ) ;
-    public final void rule__DSL_Expression_DiffEqual__Group_1_1__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5224:1: ( ( () ) )
-            // InternalSensinact.g:5225:1: ( () )
-            {
-            // InternalSensinact.g:5225:1: ( () )
-            // InternalSensinact.g:5226:2: ()
-            {
-             before(grammarAccess.getDSL_Expression_DiffEqualAccess().getDSL_Expression_EqualLeftAction_1_1_1()); 
-            // InternalSensinact.g:5227:2: ()
-            // InternalSensinact.g:5227:3: 
-            {
-            }
-
-             after(grammarAccess.getDSL_Expression_DiffEqualAccess().getDSL_Expression_EqualLeftAction_1_1_1()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_DiffEqual__Group_1_1__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_DiffEqual__Group_1_1__2"
-    // InternalSensinact.g:5235:1: rule__DSL_Expression_DiffEqual__Group_1_1__2 : rule__DSL_Expression_DiffEqual__Group_1_1__2__Impl ;
-    public final void rule__DSL_Expression_DiffEqual__Group_1_1__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5239:1: ( rule__DSL_Expression_DiffEqual__Group_1_1__2__Impl )
-            // InternalSensinact.g:5240:2: rule__DSL_Expression_DiffEqual__Group_1_1__2__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_DiffEqual__Group_1_1__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_DiffEqual__Group_1_1__2"
-
-
-    // $ANTLR start "rule__DSL_Expression_DiffEqual__Group_1_1__2__Impl"
-    // InternalSensinact.g:5246:1: rule__DSL_Expression_DiffEqual__Group_1_1__2__Impl : ( ( rule__DSL_Expression_DiffEqual__RightAssignment_1_1_2 ) ) ;
-    public final void rule__DSL_Expression_DiffEqual__Group_1_1__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5250:1: ( ( ( rule__DSL_Expression_DiffEqual__RightAssignment_1_1_2 ) ) )
-            // InternalSensinact.g:5251:1: ( ( rule__DSL_Expression_DiffEqual__RightAssignment_1_1_2 ) )
-            {
-            // InternalSensinact.g:5251:1: ( ( rule__DSL_Expression_DiffEqual__RightAssignment_1_1_2 ) )
-            // InternalSensinact.g:5252:2: ( rule__DSL_Expression_DiffEqual__RightAssignment_1_1_2 )
-            {
-             before(grammarAccess.getDSL_Expression_DiffEqualAccess().getRightAssignment_1_1_2()); 
-            // InternalSensinact.g:5253:2: ( rule__DSL_Expression_DiffEqual__RightAssignment_1_1_2 )
-            // InternalSensinact.g:5253:3: rule__DSL_Expression_DiffEqual__RightAssignment_1_1_2
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_DiffEqual__RightAssignment_1_1_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_Expression_DiffEqualAccess().getRightAssignment_1_1_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_DiffEqual__Group_1_1__2__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__Group__0"
-    // InternalSensinact.g:5262:1: rule__DSL_Expression_Compare__Group__0 : rule__DSL_Expression_Compare__Group__0__Impl rule__DSL_Expression_Compare__Group__1 ;
-    public final void rule__DSL_Expression_Compare__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5266:1: ( rule__DSL_Expression_Compare__Group__0__Impl rule__DSL_Expression_Compare__Group__1 )
-            // InternalSensinact.g:5267:2: rule__DSL_Expression_Compare__Group__0__Impl rule__DSL_Expression_Compare__Group__1
-            {
-            pushFollow(FOLLOW_37);
-            rule__DSL_Expression_Compare__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Compare__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__Group__0"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__Group__0__Impl"
-    // InternalSensinact.g:5274:1: rule__DSL_Expression_Compare__Group__0__Impl : ( ruleDSL_Expression_PlusMinus ) ;
-    public final void rule__DSL_Expression_Compare__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5278:1: ( ( ruleDSL_Expression_PlusMinus ) )
-            // InternalSensinact.g:5279:1: ( ruleDSL_Expression_PlusMinus )
-            {
-            // InternalSensinact.g:5279:1: ( ruleDSL_Expression_PlusMinus )
-            // InternalSensinact.g:5280:2: ruleDSL_Expression_PlusMinus
-            {
-             before(grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_PlusMinusParserRuleCall_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_Expression_PlusMinus();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_PlusMinusParserRuleCall_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__Group__1"
-    // InternalSensinact.g:5289:1: rule__DSL_Expression_Compare__Group__1 : rule__DSL_Expression_Compare__Group__1__Impl ;
-    public final void rule__DSL_Expression_Compare__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5293:1: ( rule__DSL_Expression_Compare__Group__1__Impl )
-            // InternalSensinact.g:5294:2: rule__DSL_Expression_Compare__Group__1__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Compare__Group__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__Group__1"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__Group__1__Impl"
-    // InternalSensinact.g:5300:1: rule__DSL_Expression_Compare__Group__1__Impl : ( ( rule__DSL_Expression_Compare__Alternatives_1 )* ) ;
-    public final void rule__DSL_Expression_Compare__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5304:1: ( ( ( rule__DSL_Expression_Compare__Alternatives_1 )* ) )
-            // InternalSensinact.g:5305:1: ( ( rule__DSL_Expression_Compare__Alternatives_1 )* )
-            {
-            // InternalSensinact.g:5305:1: ( ( rule__DSL_Expression_Compare__Alternatives_1 )* )
-            // InternalSensinact.g:5306:2: ( rule__DSL_Expression_Compare__Alternatives_1 )*
-            {
-             before(grammarAccess.getDSL_Expression_CompareAccess().getAlternatives_1()); 
-            // InternalSensinact.g:5307:2: ( rule__DSL_Expression_Compare__Alternatives_1 )*
-            loop26:
-            do {
-                int alt26=2;
-                int LA26_0 = input.LA(1);
-
-                if ( ((LA26_0>=44 && LA26_0<=47)) ) {
-                    alt26=1;
-                }
-
-
-                switch (alt26) {
-            	case 1 :
-            	    // InternalSensinact.g:5307:3: rule__DSL_Expression_Compare__Alternatives_1
-            	    {
-            	    pushFollow(FOLLOW_38);
-            	    rule__DSL_Expression_Compare__Alternatives_1();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop26;
-                }
-            } while (true);
-
-             after(grammarAccess.getDSL_Expression_CompareAccess().getAlternatives_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__Group_1_0__0"
-    // InternalSensinact.g:5316:1: rule__DSL_Expression_Compare__Group_1_0__0 : rule__DSL_Expression_Compare__Group_1_0__0__Impl rule__DSL_Expression_Compare__Group_1_0__1 ;
-    public final void rule__DSL_Expression_Compare__Group_1_0__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5320:1: ( rule__DSL_Expression_Compare__Group_1_0__0__Impl rule__DSL_Expression_Compare__Group_1_0__1 )
-            // InternalSensinact.g:5321:2: rule__DSL_Expression_Compare__Group_1_0__0__Impl rule__DSL_Expression_Compare__Group_1_0__1
-            {
-            pushFollow(FOLLOW_18);
-            rule__DSL_Expression_Compare__Group_1_0__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Compare__Group_1_0__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__Group_1_0__0"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__Group_1_0__0__Impl"
-    // InternalSensinact.g:5328:1: rule__DSL_Expression_Compare__Group_1_0__0__Impl : ( '>' ) ;
-    public final void rule__DSL_Expression_Compare__Group_1_0__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5332:1: ( ( '>' ) )
-            // InternalSensinact.g:5333:1: ( '>' )
-            {
-            // InternalSensinact.g:5333:1: ( '>' )
-            // InternalSensinact.g:5334:2: '>'
-            {
-             before(grammarAccess.getDSL_Expression_CompareAccess().getGreaterThanSignKeyword_1_0_0()); 
-            match(input,44,FOLLOW_2); 
-             after(grammarAccess.getDSL_Expression_CompareAccess().getGreaterThanSignKeyword_1_0_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__Group_1_0__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__Group_1_0__1"
-    // InternalSensinact.g:5343:1: rule__DSL_Expression_Compare__Group_1_0__1 : rule__DSL_Expression_Compare__Group_1_0__1__Impl rule__DSL_Expression_Compare__Group_1_0__2 ;
-    public final void rule__DSL_Expression_Compare__Group_1_0__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5347:1: ( rule__DSL_Expression_Compare__Group_1_0__1__Impl rule__DSL_Expression_Compare__Group_1_0__2 )
-            // InternalSensinact.g:5348:2: rule__DSL_Expression_Compare__Group_1_0__1__Impl rule__DSL_Expression_Compare__Group_1_0__2
-            {
-            pushFollow(FOLLOW_18);
-            rule__DSL_Expression_Compare__Group_1_0__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Compare__Group_1_0__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__Group_1_0__1"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__Group_1_0__1__Impl"
-    // InternalSensinact.g:5355:1: rule__DSL_Expression_Compare__Group_1_0__1__Impl : ( () ) ;
-    public final void rule__DSL_Expression_Compare__Group_1_0__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5359:1: ( ( () ) )
-            // InternalSensinact.g:5360:1: ( () )
-            {
-            // InternalSensinact.g:5360:1: ( () )
-            // InternalSensinact.g:5361:2: ()
-            {
-             before(grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_LargerLeftAction_1_0_1()); 
-            // InternalSensinact.g:5362:2: ()
-            // InternalSensinact.g:5362:3: 
-            {
-            }
-
-             after(grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_LargerLeftAction_1_0_1()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__Group_1_0__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__Group_1_0__2"
-    // InternalSensinact.g:5370:1: rule__DSL_Expression_Compare__Group_1_0__2 : rule__DSL_Expression_Compare__Group_1_0__2__Impl ;
-    public final void rule__DSL_Expression_Compare__Group_1_0__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5374:1: ( rule__DSL_Expression_Compare__Group_1_0__2__Impl )
-            // InternalSensinact.g:5375:2: rule__DSL_Expression_Compare__Group_1_0__2__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Compare__Group_1_0__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__Group_1_0__2"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__Group_1_0__2__Impl"
-    // InternalSensinact.g:5381:1: rule__DSL_Expression_Compare__Group_1_0__2__Impl : ( ( rule__DSL_Expression_Compare__RightAssignment_1_0_2 ) ) ;
-    public final void rule__DSL_Expression_Compare__Group_1_0__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5385:1: ( ( ( rule__DSL_Expression_Compare__RightAssignment_1_0_2 ) ) )
-            // InternalSensinact.g:5386:1: ( ( rule__DSL_Expression_Compare__RightAssignment_1_0_2 ) )
-            {
-            // InternalSensinact.g:5386:1: ( ( rule__DSL_Expression_Compare__RightAssignment_1_0_2 ) )
-            // InternalSensinact.g:5387:2: ( rule__DSL_Expression_Compare__RightAssignment_1_0_2 )
-            {
-             before(grammarAccess.getDSL_Expression_CompareAccess().getRightAssignment_1_0_2()); 
-            // InternalSensinact.g:5388:2: ( rule__DSL_Expression_Compare__RightAssignment_1_0_2 )
-            // InternalSensinact.g:5388:3: rule__DSL_Expression_Compare__RightAssignment_1_0_2
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Compare__RightAssignment_1_0_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_Expression_CompareAccess().getRightAssignment_1_0_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__Group_1_0__2__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__Group_1_1__0"
-    // InternalSensinact.g:5397:1: rule__DSL_Expression_Compare__Group_1_1__0 : rule__DSL_Expression_Compare__Group_1_1__0__Impl rule__DSL_Expression_Compare__Group_1_1__1 ;
-    public final void rule__DSL_Expression_Compare__Group_1_1__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5401:1: ( rule__DSL_Expression_Compare__Group_1_1__0__Impl rule__DSL_Expression_Compare__Group_1_1__1 )
-            // InternalSensinact.g:5402:2: rule__DSL_Expression_Compare__Group_1_1__0__Impl rule__DSL_Expression_Compare__Group_1_1__1
-            {
-            pushFollow(FOLLOW_18);
-            rule__DSL_Expression_Compare__Group_1_1__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Compare__Group_1_1__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__Group_1_1__0"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__Group_1_1__0__Impl"
-    // InternalSensinact.g:5409:1: rule__DSL_Expression_Compare__Group_1_1__0__Impl : ( '>=' ) ;
-    public final void rule__DSL_Expression_Compare__Group_1_1__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5413:1: ( ( '>=' ) )
-            // InternalSensinact.g:5414:1: ( '>=' )
-            {
-            // InternalSensinact.g:5414:1: ( '>=' )
-            // InternalSensinact.g:5415:2: '>='
-            {
-             before(grammarAccess.getDSL_Expression_CompareAccess().getGreaterThanSignEqualsSignKeyword_1_1_0()); 
-            match(input,45,FOLLOW_2); 
-             after(grammarAccess.getDSL_Expression_CompareAccess().getGreaterThanSignEqualsSignKeyword_1_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__Group_1_1__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__Group_1_1__1"
-    // InternalSensinact.g:5424:1: rule__DSL_Expression_Compare__Group_1_1__1 : rule__DSL_Expression_Compare__Group_1_1__1__Impl rule__DSL_Expression_Compare__Group_1_1__2 ;
-    public final void rule__DSL_Expression_Compare__Group_1_1__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5428:1: ( rule__DSL_Expression_Compare__Group_1_1__1__Impl rule__DSL_Expression_Compare__Group_1_1__2 )
-            // InternalSensinact.g:5429:2: rule__DSL_Expression_Compare__Group_1_1__1__Impl rule__DSL_Expression_Compare__Group_1_1__2
-            {
-            pushFollow(FOLLOW_18);
-            rule__DSL_Expression_Compare__Group_1_1__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Compare__Group_1_1__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__Group_1_1__1"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__Group_1_1__1__Impl"
-    // InternalSensinact.g:5436:1: rule__DSL_Expression_Compare__Group_1_1__1__Impl : ( () ) ;
-    public final void rule__DSL_Expression_Compare__Group_1_1__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5440:1: ( ( () ) )
-            // InternalSensinact.g:5441:1: ( () )
-            {
-            // InternalSensinact.g:5441:1: ( () )
-            // InternalSensinact.g:5442:2: ()
-            {
-             before(grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_Larger_EqualLeftAction_1_1_1()); 
-            // InternalSensinact.g:5443:2: ()
-            // InternalSensinact.g:5443:3: 
-            {
-            }
-
-             after(grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_Larger_EqualLeftAction_1_1_1()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__Group_1_1__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__Group_1_1__2"
-    // InternalSensinact.g:5451:1: rule__DSL_Expression_Compare__Group_1_1__2 : rule__DSL_Expression_Compare__Group_1_1__2__Impl ;
-    public final void rule__DSL_Expression_Compare__Group_1_1__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5455:1: ( rule__DSL_Expression_Compare__Group_1_1__2__Impl )
-            // InternalSensinact.g:5456:2: rule__DSL_Expression_Compare__Group_1_1__2__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Compare__Group_1_1__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__Group_1_1__2"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__Group_1_1__2__Impl"
-    // InternalSensinact.g:5462:1: rule__DSL_Expression_Compare__Group_1_1__2__Impl : ( ( rule__DSL_Expression_Compare__RightAssignment_1_1_2 ) ) ;
-    public final void rule__DSL_Expression_Compare__Group_1_1__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5466:1: ( ( ( rule__DSL_Expression_Compare__RightAssignment_1_1_2 ) ) )
-            // InternalSensinact.g:5467:1: ( ( rule__DSL_Expression_Compare__RightAssignment_1_1_2 ) )
-            {
-            // InternalSensinact.g:5467:1: ( ( rule__DSL_Expression_Compare__RightAssignment_1_1_2 ) )
-            // InternalSensinact.g:5468:2: ( rule__DSL_Expression_Compare__RightAssignment_1_1_2 )
-            {
-             before(grammarAccess.getDSL_Expression_CompareAccess().getRightAssignment_1_1_2()); 
-            // InternalSensinact.g:5469:2: ( rule__DSL_Expression_Compare__RightAssignment_1_1_2 )
-            // InternalSensinact.g:5469:3: rule__DSL_Expression_Compare__RightAssignment_1_1_2
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Compare__RightAssignment_1_1_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_Expression_CompareAccess().getRightAssignment_1_1_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__Group_1_1__2__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__Group_1_2__0"
-    // InternalSensinact.g:5478:1: rule__DSL_Expression_Compare__Group_1_2__0 : rule__DSL_Expression_Compare__Group_1_2__0__Impl rule__DSL_Expression_Compare__Group_1_2__1 ;
-    public final void rule__DSL_Expression_Compare__Group_1_2__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5482:1: ( rule__DSL_Expression_Compare__Group_1_2__0__Impl rule__DSL_Expression_Compare__Group_1_2__1 )
-            // InternalSensinact.g:5483:2: rule__DSL_Expression_Compare__Group_1_2__0__Impl rule__DSL_Expression_Compare__Group_1_2__1
-            {
-            pushFollow(FOLLOW_18);
-            rule__DSL_Expression_Compare__Group_1_2__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Compare__Group_1_2__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__Group_1_2__0"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__Group_1_2__0__Impl"
-    // InternalSensinact.g:5490:1: rule__DSL_Expression_Compare__Group_1_2__0__Impl : ( '<' ) ;
-    public final void rule__DSL_Expression_Compare__Group_1_2__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5494:1: ( ( '<' ) )
-            // InternalSensinact.g:5495:1: ( '<' )
-            {
-            // InternalSensinact.g:5495:1: ( '<' )
-            // InternalSensinact.g:5496:2: '<'
-            {
-             before(grammarAccess.getDSL_Expression_CompareAccess().getLessThanSignKeyword_1_2_0()); 
-            match(input,46,FOLLOW_2); 
-             after(grammarAccess.getDSL_Expression_CompareAccess().getLessThanSignKeyword_1_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__Group_1_2__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__Group_1_2__1"
-    // InternalSensinact.g:5505:1: rule__DSL_Expression_Compare__Group_1_2__1 : rule__DSL_Expression_Compare__Group_1_2__1__Impl rule__DSL_Expression_Compare__Group_1_2__2 ;
-    public final void rule__DSL_Expression_Compare__Group_1_2__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5509:1: ( rule__DSL_Expression_Compare__Group_1_2__1__Impl rule__DSL_Expression_Compare__Group_1_2__2 )
-            // InternalSensinact.g:5510:2: rule__DSL_Expression_Compare__Group_1_2__1__Impl rule__DSL_Expression_Compare__Group_1_2__2
-            {
-            pushFollow(FOLLOW_18);
-            rule__DSL_Expression_Compare__Group_1_2__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Compare__Group_1_2__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__Group_1_2__1"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__Group_1_2__1__Impl"
-    // InternalSensinact.g:5517:1: rule__DSL_Expression_Compare__Group_1_2__1__Impl : ( () ) ;
-    public final void rule__DSL_Expression_Compare__Group_1_2__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5521:1: ( ( () ) )
-            // InternalSensinact.g:5522:1: ( () )
-            {
-            // InternalSensinact.g:5522:1: ( () )
-            // InternalSensinact.g:5523:2: ()
-            {
-             before(grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_SmallerLeftAction_1_2_1()); 
-            // InternalSensinact.g:5524:2: ()
-            // InternalSensinact.g:5524:3: 
-            {
-            }
-
-             after(grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_SmallerLeftAction_1_2_1()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__Group_1_2__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__Group_1_2__2"
-    // InternalSensinact.g:5532:1: rule__DSL_Expression_Compare__Group_1_2__2 : rule__DSL_Expression_Compare__Group_1_2__2__Impl ;
-    public final void rule__DSL_Expression_Compare__Group_1_2__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5536:1: ( rule__DSL_Expression_Compare__Group_1_2__2__Impl )
-            // InternalSensinact.g:5537:2: rule__DSL_Expression_Compare__Group_1_2__2__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Compare__Group_1_2__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__Group_1_2__2"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__Group_1_2__2__Impl"
-    // InternalSensinact.g:5543:1: rule__DSL_Expression_Compare__Group_1_2__2__Impl : ( ( rule__DSL_Expression_Compare__RightAssignment_1_2_2 ) ) ;
-    public final void rule__DSL_Expression_Compare__Group_1_2__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5547:1: ( ( ( rule__DSL_Expression_Compare__RightAssignment_1_2_2 ) ) )
-            // InternalSensinact.g:5548:1: ( ( rule__DSL_Expression_Compare__RightAssignment_1_2_2 ) )
-            {
-            // InternalSensinact.g:5548:1: ( ( rule__DSL_Expression_Compare__RightAssignment_1_2_2 ) )
-            // InternalSensinact.g:5549:2: ( rule__DSL_Expression_Compare__RightAssignment_1_2_2 )
-            {
-             before(grammarAccess.getDSL_Expression_CompareAccess().getRightAssignment_1_2_2()); 
-            // InternalSensinact.g:5550:2: ( rule__DSL_Expression_Compare__RightAssignment_1_2_2 )
-            // InternalSensinact.g:5550:3: rule__DSL_Expression_Compare__RightAssignment_1_2_2
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Compare__RightAssignment_1_2_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_Expression_CompareAccess().getRightAssignment_1_2_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__Group_1_2__2__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__Group_1_3__0"
-    // InternalSensinact.g:5559:1: rule__DSL_Expression_Compare__Group_1_3__0 : rule__DSL_Expression_Compare__Group_1_3__0__Impl rule__DSL_Expression_Compare__Group_1_3__1 ;
-    public final void rule__DSL_Expression_Compare__Group_1_3__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5563:1: ( rule__DSL_Expression_Compare__Group_1_3__0__Impl rule__DSL_Expression_Compare__Group_1_3__1 )
-            // InternalSensinact.g:5564:2: rule__DSL_Expression_Compare__Group_1_3__0__Impl rule__DSL_Expression_Compare__Group_1_3__1
-            {
-            pushFollow(FOLLOW_18);
-            rule__DSL_Expression_Compare__Group_1_3__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Compare__Group_1_3__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__Group_1_3__0"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__Group_1_3__0__Impl"
-    // InternalSensinact.g:5571:1: rule__DSL_Expression_Compare__Group_1_3__0__Impl : ( '<=' ) ;
-    public final void rule__DSL_Expression_Compare__Group_1_3__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5575:1: ( ( '<=' ) )
-            // InternalSensinact.g:5576:1: ( '<=' )
-            {
-            // InternalSensinact.g:5576:1: ( '<=' )
-            // InternalSensinact.g:5577:2: '<='
-            {
-             before(grammarAccess.getDSL_Expression_CompareAccess().getLessThanSignEqualsSignKeyword_1_3_0()); 
-            match(input,47,FOLLOW_2); 
-             after(grammarAccess.getDSL_Expression_CompareAccess().getLessThanSignEqualsSignKeyword_1_3_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__Group_1_3__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__Group_1_3__1"
-    // InternalSensinact.g:5586:1: rule__DSL_Expression_Compare__Group_1_3__1 : rule__DSL_Expression_Compare__Group_1_3__1__Impl rule__DSL_Expression_Compare__Group_1_3__2 ;
-    public final void rule__DSL_Expression_Compare__Group_1_3__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5590:1: ( rule__DSL_Expression_Compare__Group_1_3__1__Impl rule__DSL_Expression_Compare__Group_1_3__2 )
-            // InternalSensinact.g:5591:2: rule__DSL_Expression_Compare__Group_1_3__1__Impl rule__DSL_Expression_Compare__Group_1_3__2
-            {
-            pushFollow(FOLLOW_18);
-            rule__DSL_Expression_Compare__Group_1_3__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Compare__Group_1_3__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__Group_1_3__1"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__Group_1_3__1__Impl"
-    // InternalSensinact.g:5598:1: rule__DSL_Expression_Compare__Group_1_3__1__Impl : ( () ) ;
-    public final void rule__DSL_Expression_Compare__Group_1_3__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5602:1: ( ( () ) )
-            // InternalSensinact.g:5603:1: ( () )
-            {
-            // InternalSensinact.g:5603:1: ( () )
-            // InternalSensinact.g:5604:2: ()
-            {
-             before(grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_Smaller_EqualLeftAction_1_3_1()); 
-            // InternalSensinact.g:5605:2: ()
-            // InternalSensinact.g:5605:3: 
-            {
-            }
-
-             after(grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_Smaller_EqualLeftAction_1_3_1()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__Group_1_3__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__Group_1_3__2"
-    // InternalSensinact.g:5613:1: rule__DSL_Expression_Compare__Group_1_3__2 : rule__DSL_Expression_Compare__Group_1_3__2__Impl ;
-    public final void rule__DSL_Expression_Compare__Group_1_3__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5617:1: ( rule__DSL_Expression_Compare__Group_1_3__2__Impl )
-            // InternalSensinact.g:5618:2: rule__DSL_Expression_Compare__Group_1_3__2__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Compare__Group_1_3__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__Group_1_3__2"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__Group_1_3__2__Impl"
-    // InternalSensinact.g:5624:1: rule__DSL_Expression_Compare__Group_1_3__2__Impl : ( ( rule__DSL_Expression_Compare__RightAssignment_1_3_2 ) ) ;
-    public final void rule__DSL_Expression_Compare__Group_1_3__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5628:1: ( ( ( rule__DSL_Expression_Compare__RightAssignment_1_3_2 ) ) )
-            // InternalSensinact.g:5629:1: ( ( rule__DSL_Expression_Compare__RightAssignment_1_3_2 ) )
-            {
-            // InternalSensinact.g:5629:1: ( ( rule__DSL_Expression_Compare__RightAssignment_1_3_2 ) )
-            // InternalSensinact.g:5630:2: ( rule__DSL_Expression_Compare__RightAssignment_1_3_2 )
-            {
-             before(grammarAccess.getDSL_Expression_CompareAccess().getRightAssignment_1_3_2()); 
-            // InternalSensinact.g:5631:2: ( rule__DSL_Expression_Compare__RightAssignment_1_3_2 )
-            // InternalSensinact.g:5631:3: rule__DSL_Expression_Compare__RightAssignment_1_3_2
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Compare__RightAssignment_1_3_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_Expression_CompareAccess().getRightAssignment_1_3_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__Group_1_3__2__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_PlusMinus__Group__0"
-    // InternalSensinact.g:5640:1: rule__DSL_Expression_PlusMinus__Group__0 : rule__DSL_Expression_PlusMinus__Group__0__Impl rule__DSL_Expression_PlusMinus__Group__1 ;
-    public final void rule__DSL_Expression_PlusMinus__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5644:1: ( rule__DSL_Expression_PlusMinus__Group__0__Impl rule__DSL_Expression_PlusMinus__Group__1 )
-            // InternalSensinact.g:5645:2: rule__DSL_Expression_PlusMinus__Group__0__Impl rule__DSL_Expression_PlusMinus__Group__1
-            {
-            pushFollow(FOLLOW_39);
-            rule__DSL_Expression_PlusMinus__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_PlusMinus__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_PlusMinus__Group__0"
-
-
-    // $ANTLR start "rule__DSL_Expression_PlusMinus__Group__0__Impl"
-    // InternalSensinact.g:5652:1: rule__DSL_Expression_PlusMinus__Group__0__Impl : ( ruleDSL_Expression_MultiplicationDivision ) ;
-    public final void rule__DSL_Expression_PlusMinus__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5656:1: ( ( ruleDSL_Expression_MultiplicationDivision ) )
-            // InternalSensinact.g:5657:1: ( ruleDSL_Expression_MultiplicationDivision )
-            {
-            // InternalSensinact.g:5657:1: ( ruleDSL_Expression_MultiplicationDivision )
-            // InternalSensinact.g:5658:2: ruleDSL_Expression_MultiplicationDivision
-            {
-             before(grammarAccess.getDSL_Expression_PlusMinusAccess().getDSL_Expression_MultiplicationDivisionParserRuleCall_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_Expression_MultiplicationDivision();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_Expression_PlusMinusAccess().getDSL_Expression_MultiplicationDivisionParserRuleCall_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_PlusMinus__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_PlusMinus__Group__1"
-    // InternalSensinact.g:5667:1: rule__DSL_Expression_PlusMinus__Group__1 : rule__DSL_Expression_PlusMinus__Group__1__Impl ;
-    public final void rule__DSL_Expression_PlusMinus__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5671:1: ( rule__DSL_Expression_PlusMinus__Group__1__Impl )
-            // InternalSensinact.g:5672:2: rule__DSL_Expression_PlusMinus__Group__1__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_PlusMinus__Group__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_PlusMinus__Group__1"
-
-
-    // $ANTLR start "rule__DSL_Expression_PlusMinus__Group__1__Impl"
-    // InternalSensinact.g:5678:1: rule__DSL_Expression_PlusMinus__Group__1__Impl : ( ( rule__DSL_Expression_PlusMinus__Alternatives_1 )* ) ;
-    public final void rule__DSL_Expression_PlusMinus__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5682:1: ( ( ( rule__DSL_Expression_PlusMinus__Alternatives_1 )* ) )
-            // InternalSensinact.g:5683:1: ( ( rule__DSL_Expression_PlusMinus__Alternatives_1 )* )
-            {
-            // InternalSensinact.g:5683:1: ( ( rule__DSL_Expression_PlusMinus__Alternatives_1 )* )
-            // InternalSensinact.g:5684:2: ( rule__DSL_Expression_PlusMinus__Alternatives_1 )*
-            {
-             before(grammarAccess.getDSL_Expression_PlusMinusAccess().getAlternatives_1()); 
-            // InternalSensinact.g:5685:2: ( rule__DSL_Expression_PlusMinus__Alternatives_1 )*
-            loop27:
-            do {
-                int alt27=2;
-                int LA27_0 = input.LA(1);
-
-                if ( ((LA27_0>=48 && LA27_0<=49)) ) {
-                    alt27=1;
-                }
-
-
-                switch (alt27) {
-            	case 1 :
-            	    // InternalSensinact.g:5685:3: rule__DSL_Expression_PlusMinus__Alternatives_1
-            	    {
-            	    pushFollow(FOLLOW_40);
-            	    rule__DSL_Expression_PlusMinus__Alternatives_1();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop27;
-                }
-            } while (true);
-
-             after(grammarAccess.getDSL_Expression_PlusMinusAccess().getAlternatives_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_PlusMinus__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_PlusMinus__Group_1_0__0"
-    // InternalSensinact.g:5694:1: rule__DSL_Expression_PlusMinus__Group_1_0__0 : rule__DSL_Expression_PlusMinus__Group_1_0__0__Impl rule__DSL_Expression_PlusMinus__Group_1_0__1 ;
-    public final void rule__DSL_Expression_PlusMinus__Group_1_0__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5698:1: ( rule__DSL_Expression_PlusMinus__Group_1_0__0__Impl rule__DSL_Expression_PlusMinus__Group_1_0__1 )
-            // InternalSensinact.g:5699:2: rule__DSL_Expression_PlusMinus__Group_1_0__0__Impl rule__DSL_Expression_PlusMinus__Group_1_0__1
-            {
-            pushFollow(FOLLOW_18);
-            rule__DSL_Expression_PlusMinus__Group_1_0__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_PlusMinus__Group_1_0__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_PlusMinus__Group_1_0__0"
-
-
-    // $ANTLR start "rule__DSL_Expression_PlusMinus__Group_1_0__0__Impl"
-    // InternalSensinact.g:5706:1: rule__DSL_Expression_PlusMinus__Group_1_0__0__Impl : ( '+' ) ;
-    public final void rule__DSL_Expression_PlusMinus__Group_1_0__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5710:1: ( ( '+' ) )
-            // InternalSensinact.g:5711:1: ( '+' )
-            {
-            // InternalSensinact.g:5711:1: ( '+' )
-            // InternalSensinact.g:5712:2: '+'
-            {
-             before(grammarAccess.getDSL_Expression_PlusMinusAccess().getPlusSignKeyword_1_0_0()); 
-            match(input,48,FOLLOW_2); 
-             after(grammarAccess.getDSL_Expression_PlusMinusAccess().getPlusSignKeyword_1_0_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_PlusMinus__Group_1_0__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_PlusMinus__Group_1_0__1"
-    // InternalSensinact.g:5721:1: rule__DSL_Expression_PlusMinus__Group_1_0__1 : rule__DSL_Expression_PlusMinus__Group_1_0__1__Impl rule__DSL_Expression_PlusMinus__Group_1_0__2 ;
-    public final void rule__DSL_Expression_PlusMinus__Group_1_0__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5725:1: ( rule__DSL_Expression_PlusMinus__Group_1_0__1__Impl rule__DSL_Expression_PlusMinus__Group_1_0__2 )
-            // InternalSensinact.g:5726:2: rule__DSL_Expression_PlusMinus__Group_1_0__1__Impl rule__DSL_Expression_PlusMinus__Group_1_0__2
-            {
-            pushFollow(FOLLOW_18);
-            rule__DSL_Expression_PlusMinus__Group_1_0__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_PlusMinus__Group_1_0__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_PlusMinus__Group_1_0__1"
-
-
-    // $ANTLR start "rule__DSL_Expression_PlusMinus__Group_1_0__1__Impl"
-    // InternalSensinact.g:5733:1: rule__DSL_Expression_PlusMinus__Group_1_0__1__Impl : ( () ) ;
-    public final void rule__DSL_Expression_PlusMinus__Group_1_0__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5737:1: ( ( () ) )
-            // InternalSensinact.g:5738:1: ( () )
-            {
-            // InternalSensinact.g:5738:1: ( () )
-            // InternalSensinact.g:5739:2: ()
-            {
-             before(grammarAccess.getDSL_Expression_PlusMinusAccess().getDSL_Expression_PlusLeftAction_1_0_1()); 
-            // InternalSensinact.g:5740:2: ()
-            // InternalSensinact.g:5740:3: 
-            {
-            }
-
-             after(grammarAccess.getDSL_Expression_PlusMinusAccess().getDSL_Expression_PlusLeftAction_1_0_1()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_PlusMinus__Group_1_0__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_PlusMinus__Group_1_0__2"
-    // InternalSensinact.g:5748:1: rule__DSL_Expression_PlusMinus__Group_1_0__2 : rule__DSL_Expression_PlusMinus__Group_1_0__2__Impl ;
-    public final void rule__DSL_Expression_PlusMinus__Group_1_0__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5752:1: ( rule__DSL_Expression_PlusMinus__Group_1_0__2__Impl )
-            // InternalSensinact.g:5753:2: rule__DSL_Expression_PlusMinus__Group_1_0__2__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_PlusMinus__Group_1_0__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_PlusMinus__Group_1_0__2"
-
-
-    // $ANTLR start "rule__DSL_Expression_PlusMinus__Group_1_0__2__Impl"
-    // InternalSensinact.g:5759:1: rule__DSL_Expression_PlusMinus__Group_1_0__2__Impl : ( ( rule__DSL_Expression_PlusMinus__RightAssignment_1_0_2 ) ) ;
-    public final void rule__DSL_Expression_PlusMinus__Group_1_0__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5763:1: ( ( ( rule__DSL_Expression_PlusMinus__RightAssignment_1_0_2 ) ) )
-            // InternalSensinact.g:5764:1: ( ( rule__DSL_Expression_PlusMinus__RightAssignment_1_0_2 ) )
-            {
-            // InternalSensinact.g:5764:1: ( ( rule__DSL_Expression_PlusMinus__RightAssignment_1_0_2 ) )
-            // InternalSensinact.g:5765:2: ( rule__DSL_Expression_PlusMinus__RightAssignment_1_0_2 )
-            {
-             before(grammarAccess.getDSL_Expression_PlusMinusAccess().getRightAssignment_1_0_2()); 
-            // InternalSensinact.g:5766:2: ( rule__DSL_Expression_PlusMinus__RightAssignment_1_0_2 )
-            // InternalSensinact.g:5766:3: rule__DSL_Expression_PlusMinus__RightAssignment_1_0_2
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_PlusMinus__RightAssignment_1_0_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_Expression_PlusMinusAccess().getRightAssignment_1_0_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_PlusMinus__Group_1_0__2__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_PlusMinus__Group_1_1__0"
-    // InternalSensinact.g:5775:1: rule__DSL_Expression_PlusMinus__Group_1_1__0 : rule__DSL_Expression_PlusMinus__Group_1_1__0__Impl rule__DSL_Expression_PlusMinus__Group_1_1__1 ;
-    public final void rule__DSL_Expression_PlusMinus__Group_1_1__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5779:1: ( rule__DSL_Expression_PlusMinus__Group_1_1__0__Impl rule__DSL_Expression_PlusMinus__Group_1_1__1 )
-            // InternalSensinact.g:5780:2: rule__DSL_Expression_PlusMinus__Group_1_1__0__Impl rule__DSL_Expression_PlusMinus__Group_1_1__1
-            {
-            pushFollow(FOLLOW_18);
-            rule__DSL_Expression_PlusMinus__Group_1_1__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_PlusMinus__Group_1_1__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_PlusMinus__Group_1_1__0"
-
-
-    // $ANTLR start "rule__DSL_Expression_PlusMinus__Group_1_1__0__Impl"
-    // InternalSensinact.g:5787:1: rule__DSL_Expression_PlusMinus__Group_1_1__0__Impl : ( '-' ) ;
-    public final void rule__DSL_Expression_PlusMinus__Group_1_1__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5791:1: ( ( '-' ) )
-            // InternalSensinact.g:5792:1: ( '-' )
-            {
-            // InternalSensinact.g:5792:1: ( '-' )
-            // InternalSensinact.g:5793:2: '-'
-            {
-             before(grammarAccess.getDSL_Expression_PlusMinusAccess().getHyphenMinusKeyword_1_1_0()); 
-            match(input,49,FOLLOW_2); 
-             after(grammarAccess.getDSL_Expression_PlusMinusAccess().getHyphenMinusKeyword_1_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_PlusMinus__Group_1_1__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_PlusMinus__Group_1_1__1"
-    // InternalSensinact.g:5802:1: rule__DSL_Expression_PlusMinus__Group_1_1__1 : rule__DSL_Expression_PlusMinus__Group_1_1__1__Impl rule__DSL_Expression_PlusMinus__Group_1_1__2 ;
-    public final void rule__DSL_Expression_PlusMinus__Group_1_1__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5806:1: ( rule__DSL_Expression_PlusMinus__Group_1_1__1__Impl rule__DSL_Expression_PlusMinus__Group_1_1__2 )
-            // InternalSensinact.g:5807:2: rule__DSL_Expression_PlusMinus__Group_1_1__1__Impl rule__DSL_Expression_PlusMinus__Group_1_1__2
-            {
-            pushFollow(FOLLOW_18);
-            rule__DSL_Expression_PlusMinus__Group_1_1__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_PlusMinus__Group_1_1__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_PlusMinus__Group_1_1__1"
-
-
-    // $ANTLR start "rule__DSL_Expression_PlusMinus__Group_1_1__1__Impl"
-    // InternalSensinact.g:5814:1: rule__DSL_Expression_PlusMinus__Group_1_1__1__Impl : ( () ) ;
-    public final void rule__DSL_Expression_PlusMinus__Group_1_1__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5818:1: ( ( () ) )
-            // InternalSensinact.g:5819:1: ( () )
-            {
-            // InternalSensinact.g:5819:1: ( () )
-            // InternalSensinact.g:5820:2: ()
-            {
-             before(grammarAccess.getDSL_Expression_PlusMinusAccess().getDSL_Expression_MinusLeftAction_1_1_1()); 
-            // InternalSensinact.g:5821:2: ()
-            // InternalSensinact.g:5821:3: 
-            {
-            }
-
-             after(grammarAccess.getDSL_Expression_PlusMinusAccess().getDSL_Expression_MinusLeftAction_1_1_1()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_PlusMinus__Group_1_1__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_PlusMinus__Group_1_1__2"
-    // InternalSensinact.g:5829:1: rule__DSL_Expression_PlusMinus__Group_1_1__2 : rule__DSL_Expression_PlusMinus__Group_1_1__2__Impl ;
-    public final void rule__DSL_Expression_PlusMinus__Group_1_1__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5833:1: ( rule__DSL_Expression_PlusMinus__Group_1_1__2__Impl )
-            // InternalSensinact.g:5834:2: rule__DSL_Expression_PlusMinus__Group_1_1__2__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_PlusMinus__Group_1_1__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_PlusMinus__Group_1_1__2"
-
-
-    // $ANTLR start "rule__DSL_Expression_PlusMinus__Group_1_1__2__Impl"
-    // InternalSensinact.g:5840:1: rule__DSL_Expression_PlusMinus__Group_1_1__2__Impl : ( ( rule__DSL_Expression_PlusMinus__RightAssignment_1_1_2 ) ) ;
-    public final void rule__DSL_Expression_PlusMinus__Group_1_1__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5844:1: ( ( ( rule__DSL_Expression_PlusMinus__RightAssignment_1_1_2 ) ) )
-            // InternalSensinact.g:5845:1: ( ( rule__DSL_Expression_PlusMinus__RightAssignment_1_1_2 ) )
-            {
-            // InternalSensinact.g:5845:1: ( ( rule__DSL_Expression_PlusMinus__RightAssignment_1_1_2 ) )
-            // InternalSensinact.g:5846:2: ( rule__DSL_Expression_PlusMinus__RightAssignment_1_1_2 )
-            {
-             before(grammarAccess.getDSL_Expression_PlusMinusAccess().getRightAssignment_1_1_2()); 
-            // InternalSensinact.g:5847:2: ( rule__DSL_Expression_PlusMinus__RightAssignment_1_1_2 )
-            // InternalSensinact.g:5847:3: rule__DSL_Expression_PlusMinus__RightAssignment_1_1_2
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_PlusMinus__RightAssignment_1_1_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_Expression_PlusMinusAccess().getRightAssignment_1_1_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_PlusMinus__Group_1_1__2__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_MultiplicationDivision__Group__0"
-    // InternalSensinact.g:5856:1: rule__DSL_Expression_MultiplicationDivision__Group__0 : rule__DSL_Expression_MultiplicationDivision__Group__0__Impl rule__DSL_Expression_MultiplicationDivision__Group__1 ;
-    public final void rule__DSL_Expression_MultiplicationDivision__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5860:1: ( rule__DSL_Expression_MultiplicationDivision__Group__0__Impl rule__DSL_Expression_MultiplicationDivision__Group__1 )
-            // InternalSensinact.g:5861:2: rule__DSL_Expression_MultiplicationDivision__Group__0__Impl rule__DSL_Expression_MultiplicationDivision__Group__1
-            {
-            pushFollow(FOLLOW_41);
-            rule__DSL_Expression_MultiplicationDivision__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_MultiplicationDivision__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_MultiplicationDivision__Group__0"
-
-
-    // $ANTLR start "rule__DSL_Expression_MultiplicationDivision__Group__0__Impl"
-    // InternalSensinact.g:5868:1: rule__DSL_Expression_MultiplicationDivision__Group__0__Impl : ( ruleDSL_Expression_Unary ) ;
-    public final void rule__DSL_Expression_MultiplicationDivision__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5872:1: ( ( ruleDSL_Expression_Unary ) )
-            // InternalSensinact.g:5873:1: ( ruleDSL_Expression_Unary )
-            {
-            // InternalSensinact.g:5873:1: ( ruleDSL_Expression_Unary )
-            // InternalSensinact.g:5874:2: ruleDSL_Expression_Unary
-            {
-             before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getDSL_Expression_UnaryParserRuleCall_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_Expression_Unary();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getDSL_Expression_UnaryParserRuleCall_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_MultiplicationDivision__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_MultiplicationDivision__Group__1"
-    // InternalSensinact.g:5883:1: rule__DSL_Expression_MultiplicationDivision__Group__1 : rule__DSL_Expression_MultiplicationDivision__Group__1__Impl ;
-    public final void rule__DSL_Expression_MultiplicationDivision__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5887:1: ( rule__DSL_Expression_MultiplicationDivision__Group__1__Impl )
-            // InternalSensinact.g:5888:2: rule__DSL_Expression_MultiplicationDivision__Group__1__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_MultiplicationDivision__Group__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_MultiplicationDivision__Group__1"
-
-
-    // $ANTLR start "rule__DSL_Expression_MultiplicationDivision__Group__1__Impl"
-    // InternalSensinact.g:5894:1: rule__DSL_Expression_MultiplicationDivision__Group__1__Impl : ( ( rule__DSL_Expression_MultiplicationDivision__Alternatives_1 )* ) ;
-    public final void rule__DSL_Expression_MultiplicationDivision__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5898:1: ( ( ( rule__DSL_Expression_MultiplicationDivision__Alternatives_1 )* ) )
-            // InternalSensinact.g:5899:1: ( ( rule__DSL_Expression_MultiplicationDivision__Alternatives_1 )* )
-            {
-            // InternalSensinact.g:5899:1: ( ( rule__DSL_Expression_MultiplicationDivision__Alternatives_1 )* )
-            // InternalSensinact.g:5900:2: ( rule__DSL_Expression_MultiplicationDivision__Alternatives_1 )*
-            {
-             before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getAlternatives_1()); 
-            // InternalSensinact.g:5901:2: ( rule__DSL_Expression_MultiplicationDivision__Alternatives_1 )*
-            loop28:
-            do {
-                int alt28=2;
-                int LA28_0 = input.LA(1);
-
-                if ( (LA28_0==17||(LA28_0>=50 && LA28_0<=51)) ) {
-                    alt28=1;
-                }
-
-
-                switch (alt28) {
-            	case 1 :
-            	    // InternalSensinact.g:5901:3: rule__DSL_Expression_MultiplicationDivision__Alternatives_1
-            	    {
-            	    pushFollow(FOLLOW_42);
-            	    rule__DSL_Expression_MultiplicationDivision__Alternatives_1();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop28;
-                }
-            } while (true);
-
-             after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getAlternatives_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_MultiplicationDivision__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_MultiplicationDivision__Group_1_0__0"
-    // InternalSensinact.g:5910:1: rule__DSL_Expression_MultiplicationDivision__Group_1_0__0 : rule__DSL_Expression_MultiplicationDivision__Group_1_0__0__Impl rule__DSL_Expression_MultiplicationDivision__Group_1_0__1 ;
-    public final void rule__DSL_Expression_MultiplicationDivision__Group_1_0__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5914:1: ( rule__DSL_Expression_MultiplicationDivision__Group_1_0__0__Impl rule__DSL_Expression_MultiplicationDivision__Group_1_0__1 )
-            // InternalSensinact.g:5915:2: rule__DSL_Expression_MultiplicationDivision__Group_1_0__0__Impl rule__DSL_Expression_MultiplicationDivision__Group_1_0__1
-            {
-            pushFollow(FOLLOW_18);
-            rule__DSL_Expression_MultiplicationDivision__Group_1_0__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_MultiplicationDivision__Group_1_0__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_MultiplicationDivision__Group_1_0__0"
-
-
-    // $ANTLR start "rule__DSL_Expression_MultiplicationDivision__Group_1_0__0__Impl"
-    // InternalSensinact.g:5922:1: rule__DSL_Expression_MultiplicationDivision__Group_1_0__0__Impl : ( '*' ) ;
-    public final void rule__DSL_Expression_MultiplicationDivision__Group_1_0__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5926:1: ( ( '*' ) )
-            // InternalSensinact.g:5927:1: ( '*' )
-            {
-            // InternalSensinact.g:5927:1: ( '*' )
-            // InternalSensinact.g:5928:2: '*'
-            {
-             before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getAsteriskKeyword_1_0_0()); 
-            match(input,50,FOLLOW_2); 
-             after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getAsteriskKeyword_1_0_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_MultiplicationDivision__Group_1_0__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_MultiplicationDivision__Group_1_0__1"
-    // InternalSensinact.g:5937:1: rule__DSL_Expression_MultiplicationDivision__Group_1_0__1 : rule__DSL_Expression_MultiplicationDivision__Group_1_0__1__Impl rule__DSL_Expression_MultiplicationDivision__Group_1_0__2 ;
-    public final void rule__DSL_Expression_MultiplicationDivision__Group_1_0__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5941:1: ( rule__DSL_Expression_MultiplicationDivision__Group_1_0__1__Impl rule__DSL_Expression_MultiplicationDivision__Group_1_0__2 )
-            // InternalSensinact.g:5942:2: rule__DSL_Expression_MultiplicationDivision__Group_1_0__1__Impl rule__DSL_Expression_MultiplicationDivision__Group_1_0__2
-            {
-            pushFollow(FOLLOW_18);
-            rule__DSL_Expression_MultiplicationDivision__Group_1_0__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_MultiplicationDivision__Group_1_0__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_MultiplicationDivision__Group_1_0__1"
-
-
-    // $ANTLR start "rule__DSL_Expression_MultiplicationDivision__Group_1_0__1__Impl"
-    // InternalSensinact.g:5949:1: rule__DSL_Expression_MultiplicationDivision__Group_1_0__1__Impl : ( () ) ;
-    public final void rule__DSL_Expression_MultiplicationDivision__Group_1_0__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5953:1: ( ( () ) )
-            // InternalSensinact.g:5954:1: ( () )
-            {
-            // InternalSensinact.g:5954:1: ( () )
-            // InternalSensinact.g:5955:2: ()
-            {
-             before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getDSL_Expression_MultiplicationLeftAction_1_0_1()); 
-            // InternalSensinact.g:5956:2: ()
-            // InternalSensinact.g:5956:3: 
-            {
-            }
-
-             after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getDSL_Expression_MultiplicationLeftAction_1_0_1()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_MultiplicationDivision__Group_1_0__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_MultiplicationDivision__Group_1_0__2"
-    // InternalSensinact.g:5964:1: rule__DSL_Expression_MultiplicationDivision__Group_1_0__2 : rule__DSL_Expression_MultiplicationDivision__Group_1_0__2__Impl ;
-    public final void rule__DSL_Expression_MultiplicationDivision__Group_1_0__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5968:1: ( rule__DSL_Expression_MultiplicationDivision__Group_1_0__2__Impl )
-            // InternalSensinact.g:5969:2: rule__DSL_Expression_MultiplicationDivision__Group_1_0__2__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_MultiplicationDivision__Group_1_0__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_MultiplicationDivision__Group_1_0__2"
-
-
-    // $ANTLR start "rule__DSL_Expression_MultiplicationDivision__Group_1_0__2__Impl"
-    // InternalSensinact.g:5975:1: rule__DSL_Expression_MultiplicationDivision__Group_1_0__2__Impl : ( ( rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_0_2 ) ) ;
-    public final void rule__DSL_Expression_MultiplicationDivision__Group_1_0__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5979:1: ( ( ( rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_0_2 ) ) )
-            // InternalSensinact.g:5980:1: ( ( rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_0_2 ) )
-            {
-            // InternalSensinact.g:5980:1: ( ( rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_0_2 ) )
-            // InternalSensinact.g:5981:2: ( rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_0_2 )
-            {
-             before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightAssignment_1_0_2()); 
-            // InternalSensinact.g:5982:2: ( rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_0_2 )
-            // InternalSensinact.g:5982:3: rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_0_2
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_0_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightAssignment_1_0_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_MultiplicationDivision__Group_1_0__2__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_MultiplicationDivision__Group_1_1__0"
-    // InternalSensinact.g:5991:1: rule__DSL_Expression_MultiplicationDivision__Group_1_1__0 : rule__DSL_Expression_MultiplicationDivision__Group_1_1__0__Impl rule__DSL_Expression_MultiplicationDivision__Group_1_1__1 ;
-    public final void rule__DSL_Expression_MultiplicationDivision__Group_1_1__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:5995:1: ( rule__DSL_Expression_MultiplicationDivision__Group_1_1__0__Impl rule__DSL_Expression_MultiplicationDivision__Group_1_1__1 )
-            // InternalSensinact.g:5996:2: rule__DSL_Expression_MultiplicationDivision__Group_1_1__0__Impl rule__DSL_Expression_MultiplicationDivision__Group_1_1__1
-            {
-            pushFollow(FOLLOW_18);
-            rule__DSL_Expression_MultiplicationDivision__Group_1_1__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_MultiplicationDivision__Group_1_1__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_MultiplicationDivision__Group_1_1__0"
-
-
-    // $ANTLR start "rule__DSL_Expression_MultiplicationDivision__Group_1_1__0__Impl"
-    // InternalSensinact.g:6003:1: rule__DSL_Expression_MultiplicationDivision__Group_1_1__0__Impl : ( '/' ) ;
-    public final void rule__DSL_Expression_MultiplicationDivision__Group_1_1__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6007:1: ( ( '/' ) )
-            // InternalSensinact.g:6008:1: ( '/' )
-            {
-            // InternalSensinact.g:6008:1: ( '/' )
-            // InternalSensinact.g:6009:2: '/'
-            {
-             before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getSolidusKeyword_1_1_0()); 
-            match(input,17,FOLLOW_2); 
-             after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getSolidusKeyword_1_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_MultiplicationDivision__Group_1_1__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_MultiplicationDivision__Group_1_1__1"
-    // InternalSensinact.g:6018:1: rule__DSL_Expression_MultiplicationDivision__Group_1_1__1 : rule__DSL_Expression_MultiplicationDivision__Group_1_1__1__Impl rule__DSL_Expression_MultiplicationDivision__Group_1_1__2 ;
-    public final void rule__DSL_Expression_MultiplicationDivision__Group_1_1__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6022:1: ( rule__DSL_Expression_MultiplicationDivision__Group_1_1__1__Impl rule__DSL_Expression_MultiplicationDivision__Group_1_1__2 )
-            // InternalSensinact.g:6023:2: rule__DSL_Expression_MultiplicationDivision__Group_1_1__1__Impl rule__DSL_Expression_MultiplicationDivision__Group_1_1__2
-            {
-            pushFollow(FOLLOW_18);
-            rule__DSL_Expression_MultiplicationDivision__Group_1_1__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_MultiplicationDivision__Group_1_1__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_MultiplicationDivision__Group_1_1__1"
-
-
-    // $ANTLR start "rule__DSL_Expression_MultiplicationDivision__Group_1_1__1__Impl"
-    // InternalSensinact.g:6030:1: rule__DSL_Expression_MultiplicationDivision__Group_1_1__1__Impl : ( () ) ;
-    public final void rule__DSL_Expression_MultiplicationDivision__Group_1_1__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6034:1: ( ( () ) )
-            // InternalSensinact.g:6035:1: ( () )
-            {
-            // InternalSensinact.g:6035:1: ( () )
-            // InternalSensinact.g:6036:2: ()
-            {
-             before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getDSL_Expression_DivisionLeftAction_1_1_1()); 
-            // InternalSensinact.g:6037:2: ()
-            // InternalSensinact.g:6037:3: 
-            {
-            }
-
-             after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getDSL_Expression_DivisionLeftAction_1_1_1()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_MultiplicationDivision__Group_1_1__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_MultiplicationDivision__Group_1_1__2"
-    // InternalSensinact.g:6045:1: rule__DSL_Expression_MultiplicationDivision__Group_1_1__2 : rule__DSL_Expression_MultiplicationDivision__Group_1_1__2__Impl ;
-    public final void rule__DSL_Expression_MultiplicationDivision__Group_1_1__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6049:1: ( rule__DSL_Expression_MultiplicationDivision__Group_1_1__2__Impl )
-            // InternalSensinact.g:6050:2: rule__DSL_Expression_MultiplicationDivision__Group_1_1__2__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_MultiplicationDivision__Group_1_1__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_MultiplicationDivision__Group_1_1__2"
-
-
-    // $ANTLR start "rule__DSL_Expression_MultiplicationDivision__Group_1_1__2__Impl"
-    // InternalSensinact.g:6056:1: rule__DSL_Expression_MultiplicationDivision__Group_1_1__2__Impl : ( ( rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_1_2 ) ) ;
-    public final void rule__DSL_Expression_MultiplicationDivision__Group_1_1__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6060:1: ( ( ( rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_1_2 ) ) )
-            // InternalSensinact.g:6061:1: ( ( rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_1_2 ) )
-            {
-            // InternalSensinact.g:6061:1: ( ( rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_1_2 ) )
-            // InternalSensinact.g:6062:2: ( rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_1_2 )
-            {
-             before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightAssignment_1_1_2()); 
-            // InternalSensinact.g:6063:2: ( rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_1_2 )
-            // InternalSensinact.g:6063:3: rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_1_2
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_1_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightAssignment_1_1_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_MultiplicationDivision__Group_1_1__2__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_MultiplicationDivision__Group_1_2__0"
-    // InternalSensinact.g:6072:1: rule__DSL_Expression_MultiplicationDivision__Group_1_2__0 : rule__DSL_Expression_MultiplicationDivision__Group_1_2__0__Impl rule__DSL_Expression_MultiplicationDivision__Group_1_2__1 ;
-    public final void rule__DSL_Expression_MultiplicationDivision__Group_1_2__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6076:1: ( rule__DSL_Expression_MultiplicationDivision__Group_1_2__0__Impl rule__DSL_Expression_MultiplicationDivision__Group_1_2__1 )
-            // InternalSensinact.g:6077:2: rule__DSL_Expression_MultiplicationDivision__Group_1_2__0__Impl rule__DSL_Expression_MultiplicationDivision__Group_1_2__1
-            {
-            pushFollow(FOLLOW_18);
-            rule__DSL_Expression_MultiplicationDivision__Group_1_2__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_MultiplicationDivision__Group_1_2__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_MultiplicationDivision__Group_1_2__0"
-
-
-    // $ANTLR start "rule__DSL_Expression_MultiplicationDivision__Group_1_2__0__Impl"
-    // InternalSensinact.g:6084:1: rule__DSL_Expression_MultiplicationDivision__Group_1_2__0__Impl : ( '%' ) ;
-    public final void rule__DSL_Expression_MultiplicationDivision__Group_1_2__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6088:1: ( ( '%' ) )
-            // InternalSensinact.g:6089:1: ( '%' )
-            {
-            // InternalSensinact.g:6089:1: ( '%' )
-            // InternalSensinact.g:6090:2: '%'
-            {
-             before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getPercentSignKeyword_1_2_0()); 
-            match(input,51,FOLLOW_2); 
-             after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getPercentSignKeyword_1_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_MultiplicationDivision__Group_1_2__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_MultiplicationDivision__Group_1_2__1"
-    // InternalSensinact.g:6099:1: rule__DSL_Expression_MultiplicationDivision__Group_1_2__1 : rule__DSL_Expression_MultiplicationDivision__Group_1_2__1__Impl rule__DSL_Expression_MultiplicationDivision__Group_1_2__2 ;
-    public final void rule__DSL_Expression_MultiplicationDivision__Group_1_2__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6103:1: ( rule__DSL_Expression_MultiplicationDivision__Group_1_2__1__Impl rule__DSL_Expression_MultiplicationDivision__Group_1_2__2 )
-            // InternalSensinact.g:6104:2: rule__DSL_Expression_MultiplicationDivision__Group_1_2__1__Impl rule__DSL_Expression_MultiplicationDivision__Group_1_2__2
-            {
-            pushFollow(FOLLOW_18);
-            rule__DSL_Expression_MultiplicationDivision__Group_1_2__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_MultiplicationDivision__Group_1_2__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_MultiplicationDivision__Group_1_2__1"
-
-
-    // $ANTLR start "rule__DSL_Expression_MultiplicationDivision__Group_1_2__1__Impl"
-    // InternalSensinact.g:6111:1: rule__DSL_Expression_MultiplicationDivision__Group_1_2__1__Impl : ( () ) ;
-    public final void rule__DSL_Expression_MultiplicationDivision__Group_1_2__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6115:1: ( ( () ) )
-            // InternalSensinact.g:6116:1: ( () )
-            {
-            // InternalSensinact.g:6116:1: ( () )
-            // InternalSensinact.g:6117:2: ()
-            {
-             before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getDSL_Expression_ModuloLeftAction_1_2_1()); 
-            // InternalSensinact.g:6118:2: ()
-            // InternalSensinact.g:6118:3: 
-            {
-            }
-
-             after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getDSL_Expression_ModuloLeftAction_1_2_1()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_MultiplicationDivision__Group_1_2__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_MultiplicationDivision__Group_1_2__2"
-    // InternalSensinact.g:6126:1: rule__DSL_Expression_MultiplicationDivision__Group_1_2__2 : rule__DSL_Expression_MultiplicationDivision__Group_1_2__2__Impl ;
-    public final void rule__DSL_Expression_MultiplicationDivision__Group_1_2__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6130:1: ( rule__DSL_Expression_MultiplicationDivision__Group_1_2__2__Impl )
-            // InternalSensinact.g:6131:2: rule__DSL_Expression_MultiplicationDivision__Group_1_2__2__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_MultiplicationDivision__Group_1_2__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_MultiplicationDivision__Group_1_2__2"
-
-
-    // $ANTLR start "rule__DSL_Expression_MultiplicationDivision__Group_1_2__2__Impl"
-    // InternalSensinact.g:6137:1: rule__DSL_Expression_MultiplicationDivision__Group_1_2__2__Impl : ( ( rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_2_2 ) ) ;
-    public final void rule__DSL_Expression_MultiplicationDivision__Group_1_2__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6141:1: ( ( ( rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_2_2 ) ) )
-            // InternalSensinact.g:6142:1: ( ( rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_2_2 ) )
-            {
-            // InternalSensinact.g:6142:1: ( ( rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_2_2 ) )
-            // InternalSensinact.g:6143:2: ( rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_2_2 )
-            {
-             before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightAssignment_1_2_2()); 
-            // InternalSensinact.g:6144:2: ( rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_2_2 )
-            // InternalSensinact.g:6144:3: rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_2_2
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_2_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightAssignment_1_2_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_MultiplicationDivision__Group_1_2__2__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__Group_0__0"
-    // InternalSensinact.g:6153:1: rule__DSL_Expression_Unary__Group_0__0 : rule__DSL_Expression_Unary__Group_0__0__Impl rule__DSL_Expression_Unary__Group_0__1 ;
-    public final void rule__DSL_Expression_Unary__Group_0__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6157:1: ( rule__DSL_Expression_Unary__Group_0__0__Impl rule__DSL_Expression_Unary__Group_0__1 )
-            // InternalSensinact.g:6158:2: rule__DSL_Expression_Unary__Group_0__0__Impl rule__DSL_Expression_Unary__Group_0__1
-            {
-            pushFollow(FOLLOW_21);
-            rule__DSL_Expression_Unary__Group_0__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Unary__Group_0__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__Group_0__0"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__Group_0__0__Impl"
-    // InternalSensinact.g:6165:1: rule__DSL_Expression_Unary__Group_0__0__Impl : ( () ) ;
-    public final void rule__DSL_Expression_Unary__Group_0__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6169:1: ( ( () ) )
-            // InternalSensinact.g:6170:1: ( () )
-            {
-            // InternalSensinact.g:6170:1: ( () )
-            // InternalSensinact.g:6171:2: ()
-            {
-             before(grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Object_NumberAction_0_0()); 
-            // InternalSensinact.g:6172:2: ()
-            // InternalSensinact.g:6172:3: 
-            {
-            }
-
-             after(grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Object_NumberAction_0_0()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__Group_0__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__Group_0__1"
-    // InternalSensinact.g:6180:1: rule__DSL_Expression_Unary__Group_0__1 : rule__DSL_Expression_Unary__Group_0__1__Impl ;
-    public final void rule__DSL_Expression_Unary__Group_0__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6184:1: ( rule__DSL_Expression_Unary__Group_0__1__Impl )
-            // InternalSensinact.g:6185:2: rule__DSL_Expression_Unary__Group_0__1__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Unary__Group_0__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__Group_0__1"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__Group_0__1__Impl"
-    // InternalSensinact.g:6191:1: rule__DSL_Expression_Unary__Group_0__1__Impl : ( ( rule__DSL_Expression_Unary__ValueAssignment_0_1 ) ) ;
-    public final void rule__DSL_Expression_Unary__Group_0__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6195:1: ( ( ( rule__DSL_Expression_Unary__ValueAssignment_0_1 ) ) )
-            // InternalSensinact.g:6196:1: ( ( rule__DSL_Expression_Unary__ValueAssignment_0_1 ) )
-            {
-            // InternalSensinact.g:6196:1: ( ( rule__DSL_Expression_Unary__ValueAssignment_0_1 ) )
-            // InternalSensinact.g:6197:2: ( rule__DSL_Expression_Unary__ValueAssignment_0_1 )
-            {
-             before(grammarAccess.getDSL_Expression_UnaryAccess().getValueAssignment_0_1()); 
-            // InternalSensinact.g:6198:2: ( rule__DSL_Expression_Unary__ValueAssignment_0_1 )
-            // InternalSensinact.g:6198:3: rule__DSL_Expression_Unary__ValueAssignment_0_1
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Unary__ValueAssignment_0_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_Expression_UnaryAccess().getValueAssignment_0_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__Group_0__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__Group_1__0"
-    // InternalSensinact.g:6207:1: rule__DSL_Expression_Unary__Group_1__0 : rule__DSL_Expression_Unary__Group_1__0__Impl rule__DSL_Expression_Unary__Group_1__1 ;
-    public final void rule__DSL_Expression_Unary__Group_1__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6211:1: ( rule__DSL_Expression_Unary__Group_1__0__Impl rule__DSL_Expression_Unary__Group_1__1 )
-            // InternalSensinact.g:6212:2: rule__DSL_Expression_Unary__Group_1__0__Impl rule__DSL_Expression_Unary__Group_1__1
-            {
-            pushFollow(FOLLOW_43);
-            rule__DSL_Expression_Unary__Group_1__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Unary__Group_1__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__Group_1__0"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__Group_1__0__Impl"
-    // InternalSensinact.g:6219:1: rule__DSL_Expression_Unary__Group_1__0__Impl : ( () ) ;
-    public final void rule__DSL_Expression_Unary__Group_1__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6223:1: ( ( () ) )
-            // InternalSensinact.g:6224:1: ( () )
-            {
-            // InternalSensinact.g:6224:1: ( () )
-            // InternalSensinact.g:6225:2: ()
-            {
-             before(grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Object_StringAction_1_0()); 
-            // InternalSensinact.g:6226:2: ()
-            // InternalSensinact.g:6226:3: 
-            {
-            }
-
-             after(grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Object_StringAction_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__Group_1__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__Group_1__1"
-    // InternalSensinact.g:6234:1: rule__DSL_Expression_Unary__Group_1__1 : rule__DSL_Expression_Unary__Group_1__1__Impl ;
-    public final void rule__DSL_Expression_Unary__Group_1__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6238:1: ( rule__DSL_Expression_Unary__Group_1__1__Impl )
-            // InternalSensinact.g:6239:2: rule__DSL_Expression_Unary__Group_1__1__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Unary__Group_1__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__Group_1__1"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__Group_1__1__Impl"
-    // InternalSensinact.g:6245:1: rule__DSL_Expression_Unary__Group_1__1__Impl : ( ( rule__DSL_Expression_Unary__ValueAssignment_1_1 ) ) ;
-    public final void rule__DSL_Expression_Unary__Group_1__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6249:1: ( ( ( rule__DSL_Expression_Unary__ValueAssignment_1_1 ) ) )
-            // InternalSensinact.g:6250:1: ( ( rule__DSL_Expression_Unary__ValueAssignment_1_1 ) )
-            {
-            // InternalSensinact.g:6250:1: ( ( rule__DSL_Expression_Unary__ValueAssignment_1_1 ) )
-            // InternalSensinact.g:6251:2: ( rule__DSL_Expression_Unary__ValueAssignment_1_1 )
-            {
-             before(grammarAccess.getDSL_Expression_UnaryAccess().getValueAssignment_1_1()); 
-            // InternalSensinact.g:6252:2: ( rule__DSL_Expression_Unary__ValueAssignment_1_1 )
-            // InternalSensinact.g:6252:3: rule__DSL_Expression_Unary__ValueAssignment_1_1
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Unary__ValueAssignment_1_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_Expression_UnaryAccess().getValueAssignment_1_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__Group_1__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__Group_2__0"
-    // InternalSensinact.g:6261:1: rule__DSL_Expression_Unary__Group_2__0 : rule__DSL_Expression_Unary__Group_2__0__Impl rule__DSL_Expression_Unary__Group_2__1 ;
-    public final void rule__DSL_Expression_Unary__Group_2__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6265:1: ( rule__DSL_Expression_Unary__Group_2__0__Impl rule__DSL_Expression_Unary__Group_2__1 )
-            // InternalSensinact.g:6266:2: rule__DSL_Expression_Unary__Group_2__0__Impl rule__DSL_Expression_Unary__Group_2__1
-            {
-            pushFollow(FOLLOW_44);
-            rule__DSL_Expression_Unary__Group_2__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Unary__Group_2__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__Group_2__0"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__Group_2__0__Impl"
-    // InternalSensinact.g:6273:1: rule__DSL_Expression_Unary__Group_2__0__Impl : ( () ) ;
-    public final void rule__DSL_Expression_Unary__Group_2__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6277:1: ( ( () ) )
-            // InternalSensinact.g:6278:1: ( () )
-            {
-            // InternalSensinact.g:6278:1: ( () )
-            // InternalSensinact.g:6279:2: ()
-            {
-             before(grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Object_BooleanAction_2_0()); 
-            // InternalSensinact.g:6280:2: ()
-            // InternalSensinact.g:6280:3: 
-            {
-            }
-
-             after(grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Object_BooleanAction_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__Group_2__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__Group_2__1"
-    // InternalSensinact.g:6288:1: rule__DSL_Expression_Unary__Group_2__1 : rule__DSL_Expression_Unary__Group_2__1__Impl ;
-    public final void rule__DSL_Expression_Unary__Group_2__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6292:1: ( rule__DSL_Expression_Unary__Group_2__1__Impl )
-            // InternalSensinact.g:6293:2: rule__DSL_Expression_Unary__Group_2__1__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Unary__Group_2__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__Group_2__1"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__Group_2__1__Impl"
-    // InternalSensinact.g:6299:1: rule__DSL_Expression_Unary__Group_2__1__Impl : ( ( rule__DSL_Expression_Unary__ValueAssignment_2_1 ) ) ;
-    public final void rule__DSL_Expression_Unary__Group_2__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6303:1: ( ( ( rule__DSL_Expression_Unary__ValueAssignment_2_1 ) ) )
-            // InternalSensinact.g:6304:1: ( ( rule__DSL_Expression_Unary__ValueAssignment_2_1 ) )
-            {
-            // InternalSensinact.g:6304:1: ( ( rule__DSL_Expression_Unary__ValueAssignment_2_1 ) )
-            // InternalSensinact.g:6305:2: ( rule__DSL_Expression_Unary__ValueAssignment_2_1 )
-            {
-             before(grammarAccess.getDSL_Expression_UnaryAccess().getValueAssignment_2_1()); 
-            // InternalSensinact.g:6306:2: ( rule__DSL_Expression_Unary__ValueAssignment_2_1 )
-            // InternalSensinact.g:6306:3: rule__DSL_Expression_Unary__ValueAssignment_2_1
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Unary__ValueAssignment_2_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_Expression_UnaryAccess().getValueAssignment_2_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__Group_2__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__Group_3__0"
-    // InternalSensinact.g:6315:1: rule__DSL_Expression_Unary__Group_3__0 : rule__DSL_Expression_Unary__Group_3__0__Impl rule__DSL_Expression_Unary__Group_3__1 ;
-    public final void rule__DSL_Expression_Unary__Group_3__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6319:1: ( rule__DSL_Expression_Unary__Group_3__0__Impl rule__DSL_Expression_Unary__Group_3__1 )
-            // InternalSensinact.g:6320:2: rule__DSL_Expression_Unary__Group_3__0__Impl rule__DSL_Expression_Unary__Group_3__1
-            {
-            pushFollow(FOLLOW_9);
-            rule__DSL_Expression_Unary__Group_3__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Unary__Group_3__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__Group_3__0"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__Group_3__0__Impl"
-    // InternalSensinact.g:6327:1: rule__DSL_Expression_Unary__Group_3__0__Impl : ( () ) ;
-    public final void rule__DSL_Expression_Unary__Group_3__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6331:1: ( ( () ) )
-            // InternalSensinact.g:6332:1: ( () )
-            {
-            // InternalSensinact.g:6332:1: ( () )
-            // InternalSensinact.g:6333:2: ()
-            {
-             before(grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Object_RefAction_3_0()); 
-            // InternalSensinact.g:6334:2: ()
-            // InternalSensinact.g:6334:3: 
-            {
-            }
-
-             after(grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Object_RefAction_3_0()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__Group_3__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__Group_3__1"
-    // InternalSensinact.g:6342:1: rule__DSL_Expression_Unary__Group_3__1 : rule__DSL_Expression_Unary__Group_3__1__Impl rule__DSL_Expression_Unary__Group_3__2 ;
-    public final void rule__DSL_Expression_Unary__Group_3__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6346:1: ( rule__DSL_Expression_Unary__Group_3__1__Impl rule__DSL_Expression_Unary__Group_3__2 )
-            // InternalSensinact.g:6347:2: rule__DSL_Expression_Unary__Group_3__1__Impl rule__DSL_Expression_Unary__Group_3__2
-            {
-            pushFollow(FOLLOW_45);
-            rule__DSL_Expression_Unary__Group_3__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Unary__Group_3__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__Group_3__1"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__Group_3__1__Impl"
-    // InternalSensinact.g:6354:1: rule__DSL_Expression_Unary__Group_3__1__Impl : ( ( rule__DSL_Expression_Unary__ValueAssignment_3_1 ) ) ;
-    public final void rule__DSL_Expression_Unary__Group_3__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6358:1: ( ( ( rule__DSL_Expression_Unary__ValueAssignment_3_1 ) ) )
-            // InternalSensinact.g:6359:1: ( ( rule__DSL_Expression_Unary__ValueAssignment_3_1 ) )
-            {
-            // InternalSensinact.g:6359:1: ( ( rule__DSL_Expression_Unary__ValueAssignment_3_1 ) )
-            // InternalSensinact.g:6360:2: ( rule__DSL_Expression_Unary__ValueAssignment_3_1 )
-            {
-             before(grammarAccess.getDSL_Expression_UnaryAccess().getValueAssignment_3_1()); 
-            // InternalSensinact.g:6361:2: ( rule__DSL_Expression_Unary__ValueAssignment_3_1 )
-            // InternalSensinact.g:6361:3: rule__DSL_Expression_Unary__ValueAssignment_3_1
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Unary__ValueAssignment_3_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_Expression_UnaryAccess().getValueAssignment_3_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__Group_3__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__Group_3__2"
-    // InternalSensinact.g:6369:1: rule__DSL_Expression_Unary__Group_3__2 : rule__DSL_Expression_Unary__Group_3__2__Impl ;
-    public final void rule__DSL_Expression_Unary__Group_3__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6373:1: ( rule__DSL_Expression_Unary__Group_3__2__Impl )
-            // InternalSensinact.g:6374:2: rule__DSL_Expression_Unary__Group_3__2__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Unary__Group_3__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__Group_3__2"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__Group_3__2__Impl"
-    // InternalSensinact.g:6380:1: rule__DSL_Expression_Unary__Group_3__2__Impl : ( '.get()' ) ;
-    public final void rule__DSL_Expression_Unary__Group_3__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6384:1: ( ( '.get()' ) )
-            // InternalSensinact.g:6385:1: ( '.get()' )
-            {
-            // InternalSensinact.g:6385:1: ( '.get()' )
-            // InternalSensinact.g:6386:2: '.get()'
-            {
-             before(grammarAccess.getDSL_Expression_UnaryAccess().getGetKeyword_3_2()); 
-            match(input,52,FOLLOW_2); 
-             after(grammarAccess.getDSL_Expression_UnaryAccess().getGetKeyword_3_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__Group_3__2__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__Group_4__0"
-    // InternalSensinact.g:6396:1: rule__DSL_Expression_Unary__Group_4__0 : rule__DSL_Expression_Unary__Group_4__0__Impl rule__DSL_Expression_Unary__Group_4__1 ;
-    public final void rule__DSL_Expression_Unary__Group_4__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6400:1: ( rule__DSL_Expression_Unary__Group_4__0__Impl rule__DSL_Expression_Unary__Group_4__1 )
-            // InternalSensinact.g:6401:2: rule__DSL_Expression_Unary__Group_4__0__Impl rule__DSL_Expression_Unary__Group_4__1
-            {
-            pushFollow(FOLLOW_18);
-            rule__DSL_Expression_Unary__Group_4__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Unary__Group_4__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__Group_4__0"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__Group_4__0__Impl"
-    // InternalSensinact.g:6408:1: rule__DSL_Expression_Unary__Group_4__0__Impl : ( '(' ) ;
-    public final void rule__DSL_Expression_Unary__Group_4__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6412:1: ( ( '(' ) )
-            // InternalSensinact.g:6413:1: ( '(' )
-            {
-            // InternalSensinact.g:6413:1: ( '(' )
-            // InternalSensinact.g:6414:2: '('
-            {
-             before(grammarAccess.getDSL_Expression_UnaryAccess().getLeftParenthesisKeyword_4_0()); 
-            match(input,28,FOLLOW_2); 
-             after(grammarAccess.getDSL_Expression_UnaryAccess().getLeftParenthesisKeyword_4_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__Group_4__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__Group_4__1"
-    // InternalSensinact.g:6423:1: rule__DSL_Expression_Unary__Group_4__1 : rule__DSL_Expression_Unary__Group_4__1__Impl rule__DSL_Expression_Unary__Group_4__2 ;
-    public final void rule__DSL_Expression_Unary__Group_4__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6427:1: ( rule__DSL_Expression_Unary__Group_4__1__Impl rule__DSL_Expression_Unary__Group_4__2 )
-            // InternalSensinact.g:6428:2: rule__DSL_Expression_Unary__Group_4__1__Impl rule__DSL_Expression_Unary__Group_4__2
-            {
-            pushFollow(FOLLOW_25);
-            rule__DSL_Expression_Unary__Group_4__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Unary__Group_4__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__Group_4__1"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__Group_4__1__Impl"
-    // InternalSensinact.g:6435:1: rule__DSL_Expression_Unary__Group_4__1__Impl : ( ruleDSL_Expression_Or ) ;
-    public final void rule__DSL_Expression_Unary__Group_4__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6439:1: ( ( ruleDSL_Expression_Or ) )
-            // InternalSensinact.g:6440:1: ( ruleDSL_Expression_Or )
-            {
-            // InternalSensinact.g:6440:1: ( ruleDSL_Expression_Or )
-            // InternalSensinact.g:6441:2: ruleDSL_Expression_Or
-            {
-             before(grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Expression_OrParserRuleCall_4_1()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_Expression_Or();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Expression_OrParserRuleCall_4_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__Group_4__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__Group_4__2"
-    // InternalSensinact.g:6450:1: rule__DSL_Expression_Unary__Group_4__2 : rule__DSL_Expression_Unary__Group_4__2__Impl ;
-    public final void rule__DSL_Expression_Unary__Group_4__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6454:1: ( rule__DSL_Expression_Unary__Group_4__2__Impl )
-            // InternalSensinact.g:6455:2: rule__DSL_Expression_Unary__Group_4__2__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Unary__Group_4__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__Group_4__2"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__Group_4__2__Impl"
-    // InternalSensinact.g:6461:1: rule__DSL_Expression_Unary__Group_4__2__Impl : ( ')' ) ;
-    public final void rule__DSL_Expression_Unary__Group_4__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6465:1: ( ( ')' ) )
-            // InternalSensinact.g:6466:1: ( ')' )
-            {
-            // InternalSensinact.g:6466:1: ( ')' )
-            // InternalSensinact.g:6467:2: ')'
-            {
-             before(grammarAccess.getDSL_Expression_UnaryAccess().getRightParenthesisKeyword_4_2()); 
-            match(input,29,FOLLOW_2); 
-             after(grammarAccess.getDSL_Expression_UnaryAccess().getRightParenthesisKeyword_4_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__Group_4__2__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__Group_5__0"
-    // InternalSensinact.g:6477:1: rule__DSL_Expression_Unary__Group_5__0 : rule__DSL_Expression_Unary__Group_5__0__Impl rule__DSL_Expression_Unary__Group_5__1 ;
-    public final void rule__DSL_Expression_Unary__Group_5__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6481:1: ( rule__DSL_Expression_Unary__Group_5__0__Impl rule__DSL_Expression_Unary__Group_5__1 )
-            // InternalSensinact.g:6482:2: rule__DSL_Expression_Unary__Group_5__0__Impl rule__DSL_Expression_Unary__Group_5__1
-            {
-            pushFollow(FOLLOW_18);
-            rule__DSL_Expression_Unary__Group_5__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Unary__Group_5__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__Group_5__0"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__Group_5__0__Impl"
-    // InternalSensinact.g:6489:1: rule__DSL_Expression_Unary__Group_5__0__Impl : ( 'not' ) ;
-    public final void rule__DSL_Expression_Unary__Group_5__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6493:1: ( ( 'not' ) )
-            // InternalSensinact.g:6494:1: ( 'not' )
-            {
-            // InternalSensinact.g:6494:1: ( 'not' )
-            // InternalSensinact.g:6495:2: 'not'
-            {
-             before(grammarAccess.getDSL_Expression_UnaryAccess().getNotKeyword_5_0()); 
-            match(input,53,FOLLOW_2); 
-             after(grammarAccess.getDSL_Expression_UnaryAccess().getNotKeyword_5_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__Group_5__0__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__Group_5__1"
-    // InternalSensinact.g:6504:1: rule__DSL_Expression_Unary__Group_5__1 : rule__DSL_Expression_Unary__Group_5__1__Impl rule__DSL_Expression_Unary__Group_5__2 ;
-    public final void rule__DSL_Expression_Unary__Group_5__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6508:1: ( rule__DSL_Expression_Unary__Group_5__1__Impl rule__DSL_Expression_Unary__Group_5__2 )
-            // InternalSensinact.g:6509:2: rule__DSL_Expression_Unary__Group_5__1__Impl rule__DSL_Expression_Unary__Group_5__2
-            {
-            pushFollow(FOLLOW_18);
-            rule__DSL_Expression_Unary__Group_5__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Unary__Group_5__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__Group_5__1"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__Group_5__1__Impl"
-    // InternalSensinact.g:6516:1: rule__DSL_Expression_Unary__Group_5__1__Impl : ( () ) ;
-    public final void rule__DSL_Expression_Unary__Group_5__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6520:1: ( ( () ) )
-            // InternalSensinact.g:6521:1: ( () )
-            {
-            // InternalSensinact.g:6521:1: ( () )
-            // InternalSensinact.g:6522:2: ()
-            {
-             before(grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Expression_NegateAction_5_1()); 
-            // InternalSensinact.g:6523:2: ()
-            // InternalSensinact.g:6523:3: 
-            {
-            }
-
-             after(grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Expression_NegateAction_5_1()); 
-
-            }
-
-
-            }
-
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__Group_5__1__Impl"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__Group_5__2"
-    // InternalSensinact.g:6531:1: rule__DSL_Expression_Unary__Group_5__2 : rule__DSL_Expression_Unary__Group_5__2__Impl ;
-    public final void rule__DSL_Expression_Unary__Group_5__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6535:1: ( rule__DSL_Expression_Unary__Group_5__2__Impl )
-            // InternalSensinact.g:6536:2: rule__DSL_Expression_Unary__Group_5__2__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Unary__Group_5__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__Group_5__2"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__Group_5__2__Impl"
-    // InternalSensinact.g:6542:1: rule__DSL_Expression_Unary__Group_5__2__Impl : ( ( rule__DSL_Expression_Unary__ExpAssignment_5_2 ) ) ;
-    public final void rule__DSL_Expression_Unary__Group_5__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6546:1: ( ( ( rule__DSL_Expression_Unary__ExpAssignment_5_2 ) ) )
-            // InternalSensinact.g:6547:1: ( ( rule__DSL_Expression_Unary__ExpAssignment_5_2 ) )
-            {
-            // InternalSensinact.g:6547:1: ( ( rule__DSL_Expression_Unary__ExpAssignment_5_2 ) )
-            // InternalSensinact.g:6548:2: ( rule__DSL_Expression_Unary__ExpAssignment_5_2 )
-            {
-             before(grammarAccess.getDSL_Expression_UnaryAccess().getExpAssignment_5_2()); 
-            // InternalSensinact.g:6549:2: ( rule__DSL_Expression_Unary__ExpAssignment_5_2 )
-            // InternalSensinact.g:6549:3: rule__DSL_Expression_Unary__ExpAssignment_5_2
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_Expression_Unary__ExpAssignment_5_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_Expression_UnaryAccess().getExpAssignment_5_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__Group_5__2__Impl"
-
-
-    // $ANTLR start "rule__Sensinact__EcaAssignment_1"
-    // InternalSensinact.g:6558:1: rule__Sensinact__EcaAssignment_1 : ( ruleDSL_SENSINACT ) ;
-    public final void rule__Sensinact__EcaAssignment_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6562:1: ( ( ruleDSL_SENSINACT ) )
-            // InternalSensinact.g:6563:2: ( ruleDSL_SENSINACT )
-            {
-            // InternalSensinact.g:6563:2: ( ruleDSL_SENSINACT )
-            // InternalSensinact.g:6564:3: ruleDSL_SENSINACT
-            {
-             before(grammarAccess.getSensinactAccess().getEcaDSL_SENSINACTParserRuleCall_1_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_SENSINACT();
-
-            state._fsp--;
-
-             after(grammarAccess.getSensinactAccess().getEcaDSL_SENSINACTParserRuleCall_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Sensinact__EcaAssignment_1"
-
-
-    // $ANTLR start "rule__DSL_SENSINACT__ResourcesAssignment_0"
-    // InternalSensinact.g:6573:1: rule__DSL_SENSINACT__ResourcesAssignment_0 : ( ruleDSL_Resource ) ;
-    public final void rule__DSL_SENSINACT__ResourcesAssignment_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6577:1: ( ( ruleDSL_Resource ) )
-            // InternalSensinact.g:6578:2: ( ruleDSL_Resource )
-            {
-            // InternalSensinact.g:6578:2: ( ruleDSL_Resource )
-            // InternalSensinact.g:6579:3: ruleDSL_Resource
-            {
-             before(grammarAccess.getDSL_SENSINACTAccess().getResourcesDSL_ResourceParserRuleCall_0_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_Resource();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_SENSINACTAccess().getResourcesDSL_ResourceParserRuleCall_0_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_SENSINACT__ResourcesAssignment_0"
-
-
-    // $ANTLR start "rule__DSL_SENSINACT__CepAssignment_1"
-    // InternalSensinact.g:6588:1: rule__DSL_SENSINACT__CepAssignment_1 : ( ruleDSL_CEP_STATEMENT ) ;
-    public final void rule__DSL_SENSINACT__CepAssignment_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6592:1: ( ( ruleDSL_CEP_STATEMENT ) )
-            // InternalSensinact.g:6593:2: ( ruleDSL_CEP_STATEMENT )
-            {
-            // InternalSensinact.g:6593:2: ( ruleDSL_CEP_STATEMENT )
-            // InternalSensinact.g:6594:3: ruleDSL_CEP_STATEMENT
-            {
-             before(grammarAccess.getDSL_SENSINACTAccess().getCepDSL_CEP_STATEMENTParserRuleCall_1_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_CEP_STATEMENT();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_SENSINACTAccess().getCepDSL_CEP_STATEMENTParserRuleCall_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_SENSINACT__CepAssignment_1"
-
-
-    // $ANTLR start "rule__DSL_SENSINACT__OnAssignment_2"
-    // InternalSensinact.g:6603:1: rule__DSL_SENSINACT__OnAssignment_2 : ( ruleDSL_On ) ;
-    public final void rule__DSL_SENSINACT__OnAssignment_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6607:1: ( ( ruleDSL_On ) )
-            // InternalSensinact.g:6608:2: ( ruleDSL_On )
-            {
-            // InternalSensinact.g:6608:2: ( ruleDSL_On )
-            // InternalSensinact.g:6609:3: ruleDSL_On
-            {
-             before(grammarAccess.getDSL_SENSINACTAccess().getOnDSL_OnParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_On();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_SENSINACTAccess().getOnDSL_OnParserRuleCall_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_SENSINACT__OnAssignment_2"
-
-
-    // $ANTLR start "rule__DSL_SENSINACT__EcaAssignment_3"
-    // InternalSensinact.g:6618:1: rule__DSL_SENSINACT__EcaAssignment_3 : ( ruleDSL_ECA_STATEMENT ) ;
-    public final void rule__DSL_SENSINACT__EcaAssignment_3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6622:1: ( ( ruleDSL_ECA_STATEMENT ) )
-            // InternalSensinact.g:6623:2: ( ruleDSL_ECA_STATEMENT )
-            {
-            // InternalSensinact.g:6623:2: ( ruleDSL_ECA_STATEMENT )
-            // InternalSensinact.g:6624:3: ruleDSL_ECA_STATEMENT
-            {
-             before(grammarAccess.getDSL_SENSINACTAccess().getEcaDSL_ECA_STATEMENTParserRuleCall_3_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_ECA_STATEMENT();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_SENSINACTAccess().getEcaDSL_ECA_STATEMENTParserRuleCall_3_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_SENSINACT__EcaAssignment_3"
-
-
-    // $ANTLR start "rule__DSL_Resource__NameAssignment_1"
-    // InternalSensinact.g:6633:1: rule__DSL_Resource__NameAssignment_1 : ( RULE_ID ) ;
-    public final void rule__DSL_Resource__NameAssignment_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6637:1: ( ( RULE_ID ) )
-            // InternalSensinact.g:6638:2: ( RULE_ID )
-            {
-            // InternalSensinact.g:6638:2: ( RULE_ID )
-            // InternalSensinact.g:6639:3: RULE_ID
-            {
-             before(grammarAccess.getDSL_ResourceAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_2); 
-             after(grammarAccess.getDSL_ResourceAccess().getNameIDTerminalRuleCall_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Resource__NameAssignment_1"
-
-
-    // $ANTLR start "rule__DSL_Resource__GatewayIDAssignment_4"
-    // InternalSensinact.g:6648:1: rule__DSL_Resource__GatewayIDAssignment_4 : ( ruleEXTENDED_ID ) ;
-    public final void rule__DSL_Resource__GatewayIDAssignment_4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6652:1: ( ( ruleEXTENDED_ID ) )
-            // InternalSensinact.g:6653:2: ( ruleEXTENDED_ID )
-            {
-            // InternalSensinact.g:6653:2: ( ruleEXTENDED_ID )
-            // InternalSensinact.g:6654:3: ruleEXTENDED_ID
-            {
-             before(grammarAccess.getDSL_ResourceAccess().getGatewayIDEXTENDED_IDParserRuleCall_4_0()); 
-            pushFollow(FOLLOW_2);
-            ruleEXTENDED_ID();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_ResourceAccess().getGatewayIDEXTENDED_IDParserRuleCall_4_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Resource__GatewayIDAssignment_4"
-
-
-    // $ANTLR start "rule__DSL_Resource__DeviceIDAssignment_6"
-    // InternalSensinact.g:6663:1: rule__DSL_Resource__DeviceIDAssignment_6 : ( ruleEXTENDED_ID ) ;
-    public final void rule__DSL_Resource__DeviceIDAssignment_6() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6667:1: ( ( ruleEXTENDED_ID ) )
-            // InternalSensinact.g:6668:2: ( ruleEXTENDED_ID )
-            {
-            // InternalSensinact.g:6668:2: ( ruleEXTENDED_ID )
-            // InternalSensinact.g:6669:3: ruleEXTENDED_ID
-            {
-             before(grammarAccess.getDSL_ResourceAccess().getDeviceIDEXTENDED_IDParserRuleCall_6_0()); 
-            pushFollow(FOLLOW_2);
-            ruleEXTENDED_ID();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_ResourceAccess().getDeviceIDEXTENDED_IDParserRuleCall_6_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Resource__DeviceIDAssignment_6"
-
-
-    // $ANTLR start "rule__DSL_Resource__ServiceIDAssignment_8"
-    // InternalSensinact.g:6678:1: rule__DSL_Resource__ServiceIDAssignment_8 : ( ruleEXTENDED_ID ) ;
-    public final void rule__DSL_Resource__ServiceIDAssignment_8() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6682:1: ( ( ruleEXTENDED_ID ) )
-            // InternalSensinact.g:6683:2: ( ruleEXTENDED_ID )
-            {
-            // InternalSensinact.g:6683:2: ( ruleEXTENDED_ID )
-            // InternalSensinact.g:6684:3: ruleEXTENDED_ID
-            {
-             before(grammarAccess.getDSL_ResourceAccess().getServiceIDEXTENDED_IDParserRuleCall_8_0()); 
-            pushFollow(FOLLOW_2);
-            ruleEXTENDED_ID();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_ResourceAccess().getServiceIDEXTENDED_IDParserRuleCall_8_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Resource__ServiceIDAssignment_8"
-
-
-    // $ANTLR start "rule__DSL_Resource__ResourceIDAssignment_10"
-    // InternalSensinact.g:6693:1: rule__DSL_Resource__ResourceIDAssignment_10 : ( ruleEXTENDED_ID ) ;
-    public final void rule__DSL_Resource__ResourceIDAssignment_10() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6697:1: ( ( ruleEXTENDED_ID ) )
-            // InternalSensinact.g:6698:2: ( ruleEXTENDED_ID )
-            {
-            // InternalSensinact.g:6698:2: ( ruleEXTENDED_ID )
-            // InternalSensinact.g:6699:3: ruleEXTENDED_ID
-            {
-             before(grammarAccess.getDSL_ResourceAccess().getResourceIDEXTENDED_IDParserRuleCall_10_0()); 
-            pushFollow(FOLLOW_2);
-            ruleEXTENDED_ID();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_ResourceAccess().getResourceIDEXTENDED_IDParserRuleCall_10_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Resource__ResourceIDAssignment_10"
-
-
-    // $ANTLR start "rule__DSL_On__TriggersAssignment_1"
-    // InternalSensinact.g:6708:1: rule__DSL_On__TriggersAssignment_1 : ( ruleDSL_REF_CONDITION ) ;
-    public final void rule__DSL_On__TriggersAssignment_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6712:1: ( ( ruleDSL_REF_CONDITION ) )
-            // InternalSensinact.g:6713:2: ( ruleDSL_REF_CONDITION )
-            {
-            // InternalSensinact.g:6713:2: ( ruleDSL_REF_CONDITION )
-            // InternalSensinact.g:6714:3: ruleDSL_REF_CONDITION
-            {
-             before(grammarAccess.getDSL_OnAccess().getTriggersDSL_REF_CONDITIONParserRuleCall_1_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_REF_CONDITION();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_OnAccess().getTriggersDSL_REF_CONDITIONParserRuleCall_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_On__TriggersAssignment_1"
-
-
-    // $ANTLR start "rule__DSL_On__TriggersAssignment_2_1"
-    // InternalSensinact.g:6723:1: rule__DSL_On__TriggersAssignment_2_1 : ( ruleDSL_REF_CONDITION ) ;
-    public final void rule__DSL_On__TriggersAssignment_2_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6727:1: ( ( ruleDSL_REF_CONDITION ) )
-            // InternalSensinact.g:6728:2: ( ruleDSL_REF_CONDITION )
-            {
-            // InternalSensinact.g:6728:2: ( ruleDSL_REF_CONDITION )
-            // InternalSensinact.g:6729:3: ruleDSL_REF_CONDITION
-            {
-             before(grammarAccess.getDSL_OnAccess().getTriggersDSL_REF_CONDITIONParserRuleCall_2_1_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_REF_CONDITION();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_OnAccess().getTriggersDSL_REF_CONDITIONParserRuleCall_2_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_On__TriggersAssignment_2_1"
-
-
-    // $ANTLR start "rule__DSL_ECA_STATEMENT__IfdoAssignment_0"
-    // InternalSensinact.g:6738:1: rule__DSL_ECA_STATEMENT__IfdoAssignment_0 : ( ruleDSL_IfDo ) ;
-    public final void rule__DSL_ECA_STATEMENT__IfdoAssignment_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6742:1: ( ( ruleDSL_IfDo ) )
-            // InternalSensinact.g:6743:2: ( ruleDSL_IfDo )
-            {
-            // InternalSensinact.g:6743:2: ( ruleDSL_IfDo )
-            // InternalSensinact.g:6744:3: ruleDSL_IfDo
-            {
-             before(grammarAccess.getDSL_ECA_STATEMENTAccess().getIfdoDSL_IfDoParserRuleCall_0_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_IfDo();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_ECA_STATEMENTAccess().getIfdoDSL_IfDoParserRuleCall_0_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ECA_STATEMENT__IfdoAssignment_0"
-
-
-    // $ANTLR start "rule__DSL_ECA_STATEMENT__ElseIfdoAssignment_1"
-    // InternalSensinact.g:6753:1: rule__DSL_ECA_STATEMENT__ElseIfdoAssignment_1 : ( ruleDSL_ElseIfDo ) ;
-    public final void rule__DSL_ECA_STATEMENT__ElseIfdoAssignment_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6757:1: ( ( ruleDSL_ElseIfDo ) )
-            // InternalSensinact.g:6758:2: ( ruleDSL_ElseIfDo )
-            {
-            // InternalSensinact.g:6758:2: ( ruleDSL_ElseIfDo )
-            // InternalSensinact.g:6759:3: ruleDSL_ElseIfDo
-            {
-             before(grammarAccess.getDSL_ECA_STATEMENTAccess().getElseIfdoDSL_ElseIfDoParserRuleCall_1_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_ElseIfDo();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_ECA_STATEMENTAccess().getElseIfdoDSL_ElseIfDoParserRuleCall_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ECA_STATEMENT__ElseIfdoAssignment_1"
-
-
-    // $ANTLR start "rule__DSL_ECA_STATEMENT__ElsedoAssignment_2"
-    // InternalSensinact.g:6768:1: rule__DSL_ECA_STATEMENT__ElsedoAssignment_2 : ( ruleDSL_ElseDo ) ;
-    public final void rule__DSL_ECA_STATEMENT__ElsedoAssignment_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6772:1: ( ( ruleDSL_ElseDo ) )
-            // InternalSensinact.g:6773:2: ( ruleDSL_ElseDo )
-            {
-            // InternalSensinact.g:6773:2: ( ruleDSL_ElseDo )
-            // InternalSensinact.g:6774:3: ruleDSL_ElseDo
-            {
-             before(grammarAccess.getDSL_ECA_STATEMENTAccess().getElsedoDSL_ElseDoParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_ElseDo();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_ECA_STATEMENTAccess().getElsedoDSL_ElseDoParserRuleCall_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ECA_STATEMENT__ElsedoAssignment_2"
-
-
-    // $ANTLR start "rule__DSL_IfDo__ConditionAssignment_1"
-    // InternalSensinact.g:6783:1: rule__DSL_IfDo__ConditionAssignment_1 : ( ruleDSL_Expression_Or ) ;
-    public final void rule__DSL_IfDo__ConditionAssignment_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6787:1: ( ( ruleDSL_Expression_Or ) )
-            // InternalSensinact.g:6788:2: ( ruleDSL_Expression_Or )
-            {
-            // InternalSensinact.g:6788:2: ( ruleDSL_Expression_Or )
-            // InternalSensinact.g:6789:3: ruleDSL_Expression_Or
-            {
-             before(grammarAccess.getDSL_IfDoAccess().getConditionDSL_Expression_OrParserRuleCall_1_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_Expression_Or();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_IfDoAccess().getConditionDSL_Expression_OrParserRuleCall_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_IfDo__ConditionAssignment_1"
-
-
-    // $ANTLR start "rule__DSL_IfDo__ActionsAssignment_3"
-    // InternalSensinact.g:6798:1: rule__DSL_IfDo__ActionsAssignment_3 : ( ruleDSL_ListActions ) ;
-    public final void rule__DSL_IfDo__ActionsAssignment_3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6802:1: ( ( ruleDSL_ListActions ) )
-            // InternalSensinact.g:6803:2: ( ruleDSL_ListActions )
-            {
-            // InternalSensinact.g:6803:2: ( ruleDSL_ListActions )
-            // InternalSensinact.g:6804:3: ruleDSL_ListActions
-            {
-             before(grammarAccess.getDSL_IfDoAccess().getActionsDSL_ListActionsParserRuleCall_3_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_ListActions();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_IfDoAccess().getActionsDSL_ListActionsParserRuleCall_3_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_IfDo__ActionsAssignment_3"
-
-
-    // $ANTLR start "rule__DSL_ElseIfDo__ConditionAssignment_1"
-    // InternalSensinact.g:6813:1: rule__DSL_ElseIfDo__ConditionAssignment_1 : ( ruleDSL_Expression_Or ) ;
-    public final void rule__DSL_ElseIfDo__ConditionAssignment_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6817:1: ( ( ruleDSL_Expression_Or ) )
-            // InternalSensinact.g:6818:2: ( ruleDSL_Expression_Or )
-            {
-            // InternalSensinact.g:6818:2: ( ruleDSL_Expression_Or )
-            // InternalSensinact.g:6819:3: ruleDSL_Expression_Or
-            {
-             before(grammarAccess.getDSL_ElseIfDoAccess().getConditionDSL_Expression_OrParserRuleCall_1_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_Expression_Or();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_ElseIfDoAccess().getConditionDSL_Expression_OrParserRuleCall_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ElseIfDo__ConditionAssignment_1"
-
-
-    // $ANTLR start "rule__DSL_ElseIfDo__ActionsAssignment_3"
-    // InternalSensinact.g:6828:1: rule__DSL_ElseIfDo__ActionsAssignment_3 : ( ruleDSL_ListActions ) ;
-    public final void rule__DSL_ElseIfDo__ActionsAssignment_3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6832:1: ( ( ruleDSL_ListActions ) )
-            // InternalSensinact.g:6833:2: ( ruleDSL_ListActions )
-            {
-            // InternalSensinact.g:6833:2: ( ruleDSL_ListActions )
-            // InternalSensinact.g:6834:3: ruleDSL_ListActions
-            {
-             before(grammarAccess.getDSL_ElseIfDoAccess().getActionsDSL_ListActionsParserRuleCall_3_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_ListActions();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_ElseIfDoAccess().getActionsDSL_ListActionsParserRuleCall_3_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ElseIfDo__ActionsAssignment_3"
-
-
-    // $ANTLR start "rule__DSL_ElseDo__ActionsAssignment_1"
-    // InternalSensinact.g:6843:1: rule__DSL_ElseDo__ActionsAssignment_1 : ( ruleDSL_ListActions ) ;
-    public final void rule__DSL_ElseDo__ActionsAssignment_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6847:1: ( ( ruleDSL_ListActions ) )
-            // InternalSensinact.g:6848:2: ( ruleDSL_ListActions )
-            {
-            // InternalSensinact.g:6848:2: ( ruleDSL_ListActions )
-            // InternalSensinact.g:6849:3: ruleDSL_ListActions
-            {
-             before(grammarAccess.getDSL_ElseDoAccess().getActionsDSL_ListActionsParserRuleCall_1_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_ListActions();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_ElseDoAccess().getActionsDSL_ListActionsParserRuleCall_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ElseDo__ActionsAssignment_1"
-
-
-    // $ANTLR start "rule__DSL_REF_CONDITION__RefAssignment_0"
-    // InternalSensinact.g:6858:1: rule__DSL_REF_CONDITION__RefAssignment_0 : ( ( RULE_ID ) ) ;
-    public final void rule__DSL_REF_CONDITION__RefAssignment_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6862:1: ( ( ( RULE_ID ) ) )
-            // InternalSensinact.g:6863:2: ( ( RULE_ID ) )
-            {
-            // InternalSensinact.g:6863:2: ( ( RULE_ID ) )
-            // InternalSensinact.g:6864:3: ( RULE_ID )
-            {
-             before(grammarAccess.getDSL_REF_CONDITIONAccess().getRefDSL_REFCrossReference_0_0()); 
-            // InternalSensinact.g:6865:3: ( RULE_ID )
-            // InternalSensinact.g:6866:4: RULE_ID
-            {
-             before(grammarAccess.getDSL_REF_CONDITIONAccess().getRefDSL_REFIDTerminalRuleCall_0_0_1()); 
-            match(input,RULE_ID,FOLLOW_2); 
-             after(grammarAccess.getDSL_REF_CONDITIONAccess().getRefDSL_REFIDTerminalRuleCall_0_0_1()); 
-
-            }
-
-             after(grammarAccess.getDSL_REF_CONDITIONAccess().getRefDSL_REFCrossReference_0_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_REF_CONDITION__RefAssignment_0"
-
-
-    // $ANTLR start "rule__DSL_CEP_STATEMENT__NameAssignment_1"
-    // InternalSensinact.g:6877:1: rule__DSL_CEP_STATEMENT__NameAssignment_1 : ( RULE_ID ) ;
-    public final void rule__DSL_CEP_STATEMENT__NameAssignment_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6881:1: ( ( RULE_ID ) )
-            // InternalSensinact.g:6882:2: ( RULE_ID )
-            {
-            // InternalSensinact.g:6882:2: ( RULE_ID )
-            // InternalSensinact.g:6883:3: RULE_ID
-            {
-             before(grammarAccess.getDSL_CEP_STATEMENTAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_2); 
-             after(grammarAccess.getDSL_CEP_STATEMENTAccess().getNameIDTerminalRuleCall_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_STATEMENT__NameAssignment_1"
-
-
-    // $ANTLR start "rule__DSL_CEP_STATEMENT__OperationAssignment_3"
-    // InternalSensinact.g:6892:1: rule__DSL_CEP_STATEMENT__OperationAssignment_3 : ( ( rule__DSL_CEP_STATEMENT__OperationAlternatives_3_0 ) ) ;
-    public final void rule__DSL_CEP_STATEMENT__OperationAssignment_3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6896:1: ( ( ( rule__DSL_CEP_STATEMENT__OperationAlternatives_3_0 ) ) )
-            // InternalSensinact.g:6897:2: ( ( rule__DSL_CEP_STATEMENT__OperationAlternatives_3_0 ) )
-            {
-            // InternalSensinact.g:6897:2: ( ( rule__DSL_CEP_STATEMENT__OperationAlternatives_3_0 ) )
-            // InternalSensinact.g:6898:3: ( rule__DSL_CEP_STATEMENT__OperationAlternatives_3_0 )
-            {
-             before(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationAlternatives_3_0()); 
-            // InternalSensinact.g:6899:3: ( rule__DSL_CEP_STATEMENT__OperationAlternatives_3_0 )
-            // InternalSensinact.g:6899:4: rule__DSL_CEP_STATEMENT__OperationAlternatives_3_0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_STATEMENT__OperationAlternatives_3_0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationAlternatives_3_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_STATEMENT__OperationAssignment_3"
-
-
-    // $ANTLR start "rule__DSL_CEP_AFTER__Ref1Assignment_2"
-    // InternalSensinact.g:6907:1: rule__DSL_CEP_AFTER__Ref1Assignment_2 : ( ruleDSL_REF_CONDITION ) ;
-    public final void rule__DSL_CEP_AFTER__Ref1Assignment_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6911:1: ( ( ruleDSL_REF_CONDITION ) )
-            // InternalSensinact.g:6912:2: ( ruleDSL_REF_CONDITION )
-            {
-            // InternalSensinact.g:6912:2: ( ruleDSL_REF_CONDITION )
-            // InternalSensinact.g:6913:3: ruleDSL_REF_CONDITION
-            {
-             before(grammarAccess.getDSL_CEP_AFTERAccess().getRef1DSL_REF_CONDITIONParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_REF_CONDITION();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_AFTERAccess().getRef1DSL_REF_CONDITIONParserRuleCall_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AFTER__Ref1Assignment_2"
-
-
-    // $ANTLR start "rule__DSL_CEP_AFTER__Ref2Assignment_4"
-    // InternalSensinact.g:6922:1: rule__DSL_CEP_AFTER__Ref2Assignment_4 : ( ruleDSL_REF_CONDITION ) ;
-    public final void rule__DSL_CEP_AFTER__Ref2Assignment_4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6926:1: ( ( ruleDSL_REF_CONDITION ) )
-            // InternalSensinact.g:6927:2: ( ruleDSL_REF_CONDITION )
-            {
-            // InternalSensinact.g:6927:2: ( ruleDSL_REF_CONDITION )
-            // InternalSensinact.g:6928:3: ruleDSL_REF_CONDITION
-            {
-             before(grammarAccess.getDSL_CEP_AFTERAccess().getRef2DSL_REF_CONDITIONParserRuleCall_4_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_REF_CONDITION();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_AFTERAccess().getRef2DSL_REF_CONDITIONParserRuleCall_4_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AFTER__Ref2Assignment_4"
-
-
-    // $ANTLR start "rule__DSL_CEP_AFTER__StartAssignment_6_0"
-    // InternalSensinact.g:6937:1: rule__DSL_CEP_AFTER__StartAssignment_6_0 : ( ruleDSL_CEP_DURATION ) ;
-    public final void rule__DSL_CEP_AFTER__StartAssignment_6_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6941:1: ( ( ruleDSL_CEP_DURATION ) )
-            // InternalSensinact.g:6942:2: ( ruleDSL_CEP_DURATION )
-            {
-            // InternalSensinact.g:6942:2: ( ruleDSL_CEP_DURATION )
-            // InternalSensinact.g:6943:3: ruleDSL_CEP_DURATION
-            {
-             before(grammarAccess.getDSL_CEP_AFTERAccess().getStartDSL_CEP_DURATIONParserRuleCall_6_0_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_CEP_DURATION();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_AFTERAccess().getStartDSL_CEP_DURATIONParserRuleCall_6_0_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AFTER__StartAssignment_6_0"
-
-
-    // $ANTLR start "rule__DSL_CEP_AFTER__EndAssignment_7"
-    // InternalSensinact.g:6952:1: rule__DSL_CEP_AFTER__EndAssignment_7 : ( ruleDSL_CEP_DURATION ) ;
-    public final void rule__DSL_CEP_AFTER__EndAssignment_7() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6956:1: ( ( ruleDSL_CEP_DURATION ) )
-            // InternalSensinact.g:6957:2: ( ruleDSL_CEP_DURATION )
-            {
-            // InternalSensinact.g:6957:2: ( ruleDSL_CEP_DURATION )
-            // InternalSensinact.g:6958:3: ruleDSL_CEP_DURATION
-            {
-             before(grammarAccess.getDSL_CEP_AFTERAccess().getEndDSL_CEP_DURATIONParserRuleCall_7_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_CEP_DURATION();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_AFTERAccess().getEndDSL_CEP_DURATIONParserRuleCall_7_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AFTER__EndAssignment_7"
-
-
-    // $ANTLR start "rule__DSL_CEP_BEFORE__Ref1Assignment_2"
-    // InternalSensinact.g:6967:1: rule__DSL_CEP_BEFORE__Ref1Assignment_2 : ( ruleDSL_REF_CONDITION ) ;
-    public final void rule__DSL_CEP_BEFORE__Ref1Assignment_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6971:1: ( ( ruleDSL_REF_CONDITION ) )
-            // InternalSensinact.g:6972:2: ( ruleDSL_REF_CONDITION )
-            {
-            // InternalSensinact.g:6972:2: ( ruleDSL_REF_CONDITION )
-            // InternalSensinact.g:6973:3: ruleDSL_REF_CONDITION
-            {
-             before(grammarAccess.getDSL_CEP_BEFOREAccess().getRef1DSL_REF_CONDITIONParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_REF_CONDITION();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_BEFOREAccess().getRef1DSL_REF_CONDITIONParserRuleCall_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_BEFORE__Ref1Assignment_2"
-
-
-    // $ANTLR start "rule__DSL_CEP_BEFORE__Ref2Assignment_4"
-    // InternalSensinact.g:6982:1: rule__DSL_CEP_BEFORE__Ref2Assignment_4 : ( ruleDSL_REF_CONDITION ) ;
-    public final void rule__DSL_CEP_BEFORE__Ref2Assignment_4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:6986:1: ( ( ruleDSL_REF_CONDITION ) )
-            // InternalSensinact.g:6987:2: ( ruleDSL_REF_CONDITION )
-            {
-            // InternalSensinact.g:6987:2: ( ruleDSL_REF_CONDITION )
-            // InternalSensinact.g:6988:3: ruleDSL_REF_CONDITION
-            {
-             before(grammarAccess.getDSL_CEP_BEFOREAccess().getRef2DSL_REF_CONDITIONParserRuleCall_4_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_REF_CONDITION();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_BEFOREAccess().getRef2DSL_REF_CONDITIONParserRuleCall_4_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_BEFORE__Ref2Assignment_4"
-
-
-    // $ANTLR start "rule__DSL_CEP_BEFORE__StartAssignment_6_0"
-    // InternalSensinact.g:6997:1: rule__DSL_CEP_BEFORE__StartAssignment_6_0 : ( ruleDSL_CEP_DURATION ) ;
-    public final void rule__DSL_CEP_BEFORE__StartAssignment_6_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7001:1: ( ( ruleDSL_CEP_DURATION ) )
-            // InternalSensinact.g:7002:2: ( ruleDSL_CEP_DURATION )
-            {
-            // InternalSensinact.g:7002:2: ( ruleDSL_CEP_DURATION )
-            // InternalSensinact.g:7003:3: ruleDSL_CEP_DURATION
-            {
-             before(grammarAccess.getDSL_CEP_BEFOREAccess().getStartDSL_CEP_DURATIONParserRuleCall_6_0_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_CEP_DURATION();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_BEFOREAccess().getStartDSL_CEP_DURATIONParserRuleCall_6_0_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_BEFORE__StartAssignment_6_0"
-
-
-    // $ANTLR start "rule__DSL_CEP_BEFORE__EndAssignment_7"
-    // InternalSensinact.g:7012:1: rule__DSL_CEP_BEFORE__EndAssignment_7 : ( ruleDSL_CEP_DURATION ) ;
-    public final void rule__DSL_CEP_BEFORE__EndAssignment_7() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7016:1: ( ( ruleDSL_CEP_DURATION ) )
-            // InternalSensinact.g:7017:2: ( ruleDSL_CEP_DURATION )
-            {
-            // InternalSensinact.g:7017:2: ( ruleDSL_CEP_DURATION )
-            // InternalSensinact.g:7018:3: ruleDSL_CEP_DURATION
-            {
-             before(grammarAccess.getDSL_CEP_BEFOREAccess().getEndDSL_CEP_DURATIONParserRuleCall_7_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_CEP_DURATION();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_BEFOREAccess().getEndDSL_CEP_DURATIONParserRuleCall_7_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_BEFORE__EndAssignment_7"
-
-
-    // $ANTLR start "rule__DSL_CEP_COINCIDE__Ref1Assignment_2"
-    // InternalSensinact.g:7027:1: rule__DSL_CEP_COINCIDE__Ref1Assignment_2 : ( ruleDSL_REF_CONDITION ) ;
-    public final void rule__DSL_CEP_COINCIDE__Ref1Assignment_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7031:1: ( ( ruleDSL_REF_CONDITION ) )
-            // InternalSensinact.g:7032:2: ( ruleDSL_REF_CONDITION )
-            {
-            // InternalSensinact.g:7032:2: ( ruleDSL_REF_CONDITION )
-            // InternalSensinact.g:7033:3: ruleDSL_REF_CONDITION
-            {
-             before(grammarAccess.getDSL_CEP_COINCIDEAccess().getRef1DSL_REF_CONDITIONParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_REF_CONDITION();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_COINCIDEAccess().getRef1DSL_REF_CONDITIONParserRuleCall_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COINCIDE__Ref1Assignment_2"
-
-
-    // $ANTLR start "rule__DSL_CEP_COINCIDE__Ref2Assignment_4"
-    // InternalSensinact.g:7042:1: rule__DSL_CEP_COINCIDE__Ref2Assignment_4 : ( ruleDSL_REF_CONDITION ) ;
-    public final void rule__DSL_CEP_COINCIDE__Ref2Assignment_4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7046:1: ( ( ruleDSL_REF_CONDITION ) )
-            // InternalSensinact.g:7047:2: ( ruleDSL_REF_CONDITION )
-            {
-            // InternalSensinact.g:7047:2: ( ruleDSL_REF_CONDITION )
-            // InternalSensinact.g:7048:3: ruleDSL_REF_CONDITION
-            {
-             before(grammarAccess.getDSL_CEP_COINCIDEAccess().getRef2DSL_REF_CONDITIONParserRuleCall_4_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_REF_CONDITION();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_COINCIDEAccess().getRef2DSL_REF_CONDITIONParserRuleCall_4_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COINCIDE__Ref2Assignment_4"
-
-
-    // $ANTLR start "rule__DSL_CEP_COINCIDE__WindowAssignment_6"
-    // InternalSensinact.g:7057:1: rule__DSL_CEP_COINCIDE__WindowAssignment_6 : ( ruleDSL_CEP_DURATION ) ;
-    public final void rule__DSL_CEP_COINCIDE__WindowAssignment_6() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7061:1: ( ( ruleDSL_CEP_DURATION ) )
-            // InternalSensinact.g:7062:2: ( ruleDSL_CEP_DURATION )
-            {
-            // InternalSensinact.g:7062:2: ( ruleDSL_CEP_DURATION )
-            // InternalSensinact.g:7063:3: ruleDSL_CEP_DURATION
-            {
-             before(grammarAccess.getDSL_CEP_COINCIDEAccess().getWindowDSL_CEP_DURATIONParserRuleCall_6_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_CEP_DURATION();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_COINCIDEAccess().getWindowDSL_CEP_DURATIONParserRuleCall_6_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COINCIDE__WindowAssignment_6"
-
-
-    // $ANTLR start "rule__DSL_CEP_MIN__RefAssignment_2"
-    // InternalSensinact.g:7072:1: rule__DSL_CEP_MIN__RefAssignment_2 : ( ruleDSL_REF_CONDITION ) ;
-    public final void rule__DSL_CEP_MIN__RefAssignment_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7076:1: ( ( ruleDSL_REF_CONDITION ) )
-            // InternalSensinact.g:7077:2: ( ruleDSL_REF_CONDITION )
-            {
-            // InternalSensinact.g:7077:2: ( ruleDSL_REF_CONDITION )
-            // InternalSensinact.g:7078:3: ruleDSL_REF_CONDITION
-            {
-             before(grammarAccess.getDSL_CEP_MINAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_REF_CONDITION();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_MINAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_MIN__RefAssignment_2"
-
-
-    // $ANTLR start "rule__DSL_CEP_MIN__WindowAssignment_4"
-    // InternalSensinact.g:7087:1: rule__DSL_CEP_MIN__WindowAssignment_4 : ( ruleDSL_CEP_DURATION ) ;
-    public final void rule__DSL_CEP_MIN__WindowAssignment_4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7091:1: ( ( ruleDSL_CEP_DURATION ) )
-            // InternalSensinact.g:7092:2: ( ruleDSL_CEP_DURATION )
-            {
-            // InternalSensinact.g:7092:2: ( ruleDSL_CEP_DURATION )
-            // InternalSensinact.g:7093:3: ruleDSL_CEP_DURATION
-            {
-             before(grammarAccess.getDSL_CEP_MINAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_CEP_DURATION();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_MINAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_MIN__WindowAssignment_4"
-
-
-    // $ANTLR start "rule__DSL_CEP_MAX__RefAssignment_2"
-    // InternalSensinact.g:7102:1: rule__DSL_CEP_MAX__RefAssignment_2 : ( ruleDSL_REF_CONDITION ) ;
-    public final void rule__DSL_CEP_MAX__RefAssignment_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7106:1: ( ( ruleDSL_REF_CONDITION ) )
-            // InternalSensinact.g:7107:2: ( ruleDSL_REF_CONDITION )
-            {
-            // InternalSensinact.g:7107:2: ( ruleDSL_REF_CONDITION )
-            // InternalSensinact.g:7108:3: ruleDSL_REF_CONDITION
-            {
-             before(grammarAccess.getDSL_CEP_MAXAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_REF_CONDITION();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_MAXAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_MAX__RefAssignment_2"
-
-
-    // $ANTLR start "rule__DSL_CEP_MAX__WindowAssignment_4"
-    // InternalSensinact.g:7117:1: rule__DSL_CEP_MAX__WindowAssignment_4 : ( ruleDSL_CEP_DURATION ) ;
-    public final void rule__DSL_CEP_MAX__WindowAssignment_4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7121:1: ( ( ruleDSL_CEP_DURATION ) )
-            // InternalSensinact.g:7122:2: ( ruleDSL_CEP_DURATION )
-            {
-            // InternalSensinact.g:7122:2: ( ruleDSL_CEP_DURATION )
-            // InternalSensinact.g:7123:3: ruleDSL_CEP_DURATION
-            {
-             before(grammarAccess.getDSL_CEP_MAXAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_CEP_DURATION();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_MAXAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_MAX__WindowAssignment_4"
-
-
-    // $ANTLR start "rule__DSL_CEP_AVG__RefAssignment_2"
-    // InternalSensinact.g:7132:1: rule__DSL_CEP_AVG__RefAssignment_2 : ( ruleDSL_REF_CONDITION ) ;
-    public final void rule__DSL_CEP_AVG__RefAssignment_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7136:1: ( ( ruleDSL_REF_CONDITION ) )
-            // InternalSensinact.g:7137:2: ( ruleDSL_REF_CONDITION )
-            {
-            // InternalSensinact.g:7137:2: ( ruleDSL_REF_CONDITION )
-            // InternalSensinact.g:7138:3: ruleDSL_REF_CONDITION
-            {
-             before(grammarAccess.getDSL_CEP_AVGAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_REF_CONDITION();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_AVGAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AVG__RefAssignment_2"
-
-
-    // $ANTLR start "rule__DSL_CEP_AVG__WindowAssignment_4"
-    // InternalSensinact.g:7147:1: rule__DSL_CEP_AVG__WindowAssignment_4 : ( ruleDSL_CEP_DURATION ) ;
-    public final void rule__DSL_CEP_AVG__WindowAssignment_4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7151:1: ( ( ruleDSL_CEP_DURATION ) )
-            // InternalSensinact.g:7152:2: ( ruleDSL_CEP_DURATION )
-            {
-            // InternalSensinact.g:7152:2: ( ruleDSL_CEP_DURATION )
-            // InternalSensinact.g:7153:3: ruleDSL_CEP_DURATION
-            {
-             before(grammarAccess.getDSL_CEP_AVGAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_CEP_DURATION();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_AVGAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_AVG__WindowAssignment_4"
-
-
-    // $ANTLR start "rule__DSL_CEP_SUM__RefAssignment_2"
-    // InternalSensinact.g:7162:1: rule__DSL_CEP_SUM__RefAssignment_2 : ( ruleDSL_REF_CONDITION ) ;
-    public final void rule__DSL_CEP_SUM__RefAssignment_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7166:1: ( ( ruleDSL_REF_CONDITION ) )
-            // InternalSensinact.g:7167:2: ( ruleDSL_REF_CONDITION )
-            {
-            // InternalSensinact.g:7167:2: ( ruleDSL_REF_CONDITION )
-            // InternalSensinact.g:7168:3: ruleDSL_REF_CONDITION
-            {
-             before(grammarAccess.getDSL_CEP_SUMAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_REF_CONDITION();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_SUMAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_SUM__RefAssignment_2"
-
-
-    // $ANTLR start "rule__DSL_CEP_SUM__WindowAssignment_4"
-    // InternalSensinact.g:7177:1: rule__DSL_CEP_SUM__WindowAssignment_4 : ( ruleDSL_CEP_DURATION ) ;
-    public final void rule__DSL_CEP_SUM__WindowAssignment_4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7181:1: ( ( ruleDSL_CEP_DURATION ) )
-            // InternalSensinact.g:7182:2: ( ruleDSL_CEP_DURATION )
-            {
-            // InternalSensinact.g:7182:2: ( ruleDSL_CEP_DURATION )
-            // InternalSensinact.g:7183:3: ruleDSL_CEP_DURATION
-            {
-             before(grammarAccess.getDSL_CEP_SUMAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_CEP_DURATION();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_SUMAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_SUM__WindowAssignment_4"
-
-
-    // $ANTLR start "rule__DSL_CEP_COUNT__RefAssignment_2"
-    // InternalSensinact.g:7192:1: rule__DSL_CEP_COUNT__RefAssignment_2 : ( ruleDSL_REF_CONDITION ) ;
-    public final void rule__DSL_CEP_COUNT__RefAssignment_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7196:1: ( ( ruleDSL_REF_CONDITION ) )
-            // InternalSensinact.g:7197:2: ( ruleDSL_REF_CONDITION )
-            {
-            // InternalSensinact.g:7197:2: ( ruleDSL_REF_CONDITION )
-            // InternalSensinact.g:7198:3: ruleDSL_REF_CONDITION
-            {
-             before(grammarAccess.getDSL_CEP_COUNTAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_REF_CONDITION();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_COUNTAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COUNT__RefAssignment_2"
-
-
-    // $ANTLR start "rule__DSL_CEP_COUNT__WindowAssignment_4"
-    // InternalSensinact.g:7207:1: rule__DSL_CEP_COUNT__WindowAssignment_4 : ( ruleDSL_CEP_DURATION ) ;
-    public final void rule__DSL_CEP_COUNT__WindowAssignment_4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7211:1: ( ( ruleDSL_CEP_DURATION ) )
-            // InternalSensinact.g:7212:2: ( ruleDSL_CEP_DURATION )
-            {
-            // InternalSensinact.g:7212:2: ( ruleDSL_CEP_DURATION )
-            // InternalSensinact.g:7213:3: ruleDSL_CEP_DURATION
-            {
-             before(grammarAccess.getDSL_CEP_COUNTAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_CEP_DURATION();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_COUNTAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_COUNT__WindowAssignment_4"
-
-
-    // $ANTLR start "rule__DSL_CEP_DURATION__UnitsAssignment"
-    // InternalSensinact.g:7222:1: rule__DSL_CEP_DURATION__UnitsAssignment : ( ( rule__DSL_CEP_DURATION__UnitsAlternatives_0 ) ) ;
-    public final void rule__DSL_CEP_DURATION__UnitsAssignment() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7226:1: ( ( ( rule__DSL_CEP_DURATION__UnitsAlternatives_0 ) ) )
-            // InternalSensinact.g:7227:2: ( ( rule__DSL_CEP_DURATION__UnitsAlternatives_0 ) )
-            {
-            // InternalSensinact.g:7227:2: ( ( rule__DSL_CEP_DURATION__UnitsAlternatives_0 ) )
-            // InternalSensinact.g:7228:3: ( rule__DSL_CEP_DURATION__UnitsAlternatives_0 )
-            {
-             before(grammarAccess.getDSL_CEP_DURATIONAccess().getUnitsAlternatives_0()); 
-            // InternalSensinact.g:7229:3: ( rule__DSL_CEP_DURATION__UnitsAlternatives_0 )
-            // InternalSensinact.g:7229:4: rule__DSL_CEP_DURATION__UnitsAlternatives_0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_CEP_DURATION__UnitsAlternatives_0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_CEP_DURATIONAccess().getUnitsAlternatives_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_DURATION__UnitsAssignment"
-
-
-    // $ANTLR start "rule__DSL_CEP_DURATION_MIN__MinAssignment_0"
-    // InternalSensinact.g:7237:1: rule__DSL_CEP_DURATION_MIN__MinAssignment_0 : ( ruleNUMBER ) ;
-    public final void rule__DSL_CEP_DURATION_MIN__MinAssignment_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7241:1: ( ( ruleNUMBER ) )
-            // InternalSensinact.g:7242:2: ( ruleNUMBER )
-            {
-            // InternalSensinact.g:7242:2: ( ruleNUMBER )
-            // InternalSensinact.g:7243:3: ruleNUMBER
-            {
-             before(grammarAccess.getDSL_CEP_DURATION_MINAccess().getMinNUMBERParserRuleCall_0_0()); 
-            pushFollow(FOLLOW_2);
-            ruleNUMBER();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_DURATION_MINAccess().getMinNUMBERParserRuleCall_0_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_DURATION_MIN__MinAssignment_0"
-
-
-    // $ANTLR start "rule__DSL_CEP_DURATION_SEC__SecAssignment_0"
-    // InternalSensinact.g:7252:1: rule__DSL_CEP_DURATION_SEC__SecAssignment_0 : ( ruleNUMBER ) ;
-    public final void rule__DSL_CEP_DURATION_SEC__SecAssignment_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7256:1: ( ( ruleNUMBER ) )
-            // InternalSensinact.g:7257:2: ( ruleNUMBER )
-            {
-            // InternalSensinact.g:7257:2: ( ruleNUMBER )
-            // InternalSensinact.g:7258:3: ruleNUMBER
-            {
-             before(grammarAccess.getDSL_CEP_DURATION_SECAccess().getSecNUMBERParserRuleCall_0_0()); 
-            pushFollow(FOLLOW_2);
-            ruleNUMBER();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_CEP_DURATION_SECAccess().getSecNUMBERParserRuleCall_0_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_CEP_DURATION_SEC__SecAssignment_0"
-
-
-    // $ANTLR start "rule__DSL_ListActions__ActionListAssignment_0"
-    // InternalSensinact.g:7267:1: rule__DSL_ListActions__ActionListAssignment_0 : ( ruleDSL_ResourceAction ) ;
-    public final void rule__DSL_ListActions__ActionListAssignment_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7271:1: ( ( ruleDSL_ResourceAction ) )
-            // InternalSensinact.g:7272:2: ( ruleDSL_ResourceAction )
-            {
-            // InternalSensinact.g:7272:2: ( ruleDSL_ResourceAction )
-            // InternalSensinact.g:7273:3: ruleDSL_ResourceAction
-            {
-             before(grammarAccess.getDSL_ListActionsAccess().getActionListDSL_ResourceActionParserRuleCall_0_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_ResourceAction();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_ListActionsAccess().getActionListDSL_ResourceActionParserRuleCall_0_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ListActions__ActionListAssignment_0"
-
-
-    // $ANTLR start "rule__DSL_ListActions__ActionListAssignment_1_1"
-    // InternalSensinact.g:7282:1: rule__DSL_ListActions__ActionListAssignment_1_1 : ( ruleDSL_ResourceAction ) ;
-    public final void rule__DSL_ListActions__ActionListAssignment_1_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7286:1: ( ( ruleDSL_ResourceAction ) )
-            // InternalSensinact.g:7287:2: ( ruleDSL_ResourceAction )
-            {
-            // InternalSensinact.g:7287:2: ( ruleDSL_ResourceAction )
-            // InternalSensinact.g:7288:3: ruleDSL_ResourceAction
-            {
-             before(grammarAccess.getDSL_ListActionsAccess().getActionListDSL_ResourceActionParserRuleCall_1_1_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_ResourceAction();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_ListActionsAccess().getActionListDSL_ResourceActionParserRuleCall_1_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ListActions__ActionListAssignment_1_1"
-
-
-    // $ANTLR start "rule__DSL_ResourceAction__VariableAssignment_0_0"
-    // InternalSensinact.g:7297:1: rule__DSL_ResourceAction__VariableAssignment_0_0 : ( RULE_ID ) ;
-    public final void rule__DSL_ResourceAction__VariableAssignment_0_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7301:1: ( ( RULE_ID ) )
-            // InternalSensinact.g:7302:2: ( RULE_ID )
-            {
-            // InternalSensinact.g:7302:2: ( RULE_ID )
-            // InternalSensinact.g:7303:3: RULE_ID
-            {
-             before(grammarAccess.getDSL_ResourceActionAccess().getVariableIDTerminalRuleCall_0_0_0()); 
-            match(input,RULE_ID,FOLLOW_2); 
-             after(grammarAccess.getDSL_ResourceActionAccess().getVariableIDTerminalRuleCall_0_0_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ResourceAction__VariableAssignment_0_0"
-
-
-    // $ANTLR start "rule__DSL_ResourceAction__RefAssignment_1"
-    // InternalSensinact.g:7312:1: rule__DSL_ResourceAction__RefAssignment_1 : ( ( RULE_ID ) ) ;
-    public final void rule__DSL_ResourceAction__RefAssignment_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7316:1: ( ( ( RULE_ID ) ) )
-            // InternalSensinact.g:7317:2: ( ( RULE_ID ) )
-            {
-            // InternalSensinact.g:7317:2: ( ( RULE_ID ) )
-            // InternalSensinact.g:7318:3: ( RULE_ID )
-            {
-             before(grammarAccess.getDSL_ResourceActionAccess().getRefDSL_REFCrossReference_1_0()); 
-            // InternalSensinact.g:7319:3: ( RULE_ID )
-            // InternalSensinact.g:7320:4: RULE_ID
-            {
-             before(grammarAccess.getDSL_ResourceActionAccess().getRefDSL_REFIDTerminalRuleCall_1_0_1()); 
-            match(input,RULE_ID,FOLLOW_2); 
-             after(grammarAccess.getDSL_ResourceActionAccess().getRefDSL_REFIDTerminalRuleCall_1_0_1()); 
-
-            }
-
-             after(grammarAccess.getDSL_ResourceActionAccess().getRefDSL_REFCrossReference_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ResourceAction__RefAssignment_1"
-
-
-    // $ANTLR start "rule__DSL_ResourceAction__ActiontypeAssignment_3"
-    // InternalSensinact.g:7331:1: rule__DSL_ResourceAction__ActiontypeAssignment_3 : ( ( rule__DSL_ResourceAction__ActiontypeAlternatives_3_0 ) ) ;
-    public final void rule__DSL_ResourceAction__ActiontypeAssignment_3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7335:1: ( ( ( rule__DSL_ResourceAction__ActiontypeAlternatives_3_0 ) ) )
-            // InternalSensinact.g:7336:2: ( ( rule__DSL_ResourceAction__ActiontypeAlternatives_3_0 ) )
-            {
-            // InternalSensinact.g:7336:2: ( ( rule__DSL_ResourceAction__ActiontypeAlternatives_3_0 ) )
-            // InternalSensinact.g:7337:3: ( rule__DSL_ResourceAction__ActiontypeAlternatives_3_0 )
-            {
-             before(grammarAccess.getDSL_ResourceActionAccess().getActiontypeAlternatives_3_0()); 
-            // InternalSensinact.g:7338:3: ( rule__DSL_ResourceAction__ActiontypeAlternatives_3_0 )
-            // InternalSensinact.g:7338:4: rule__DSL_ResourceAction__ActiontypeAlternatives_3_0
-            {
-            pushFollow(FOLLOW_2);
-            rule__DSL_ResourceAction__ActiontypeAlternatives_3_0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDSL_ResourceActionAccess().getActiontypeAlternatives_3_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ResourceAction__ActiontypeAssignment_3"
-
-
-    // $ANTLR start "rule__DSL_ResourceAction__ListParamAssignment_5"
-    // InternalSensinact.g:7346:1: rule__DSL_ResourceAction__ListParamAssignment_5 : ( ruleDSL_ListParam ) ;
-    public final void rule__DSL_ResourceAction__ListParamAssignment_5() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7350:1: ( ( ruleDSL_ListParam ) )
-            // InternalSensinact.g:7351:2: ( ruleDSL_ListParam )
-            {
-            // InternalSensinact.g:7351:2: ( ruleDSL_ListParam )
-            // InternalSensinact.g:7352:3: ruleDSL_ListParam
-            {
-             before(grammarAccess.getDSL_ResourceActionAccess().getListParamDSL_ListParamParserRuleCall_5_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_ListParam();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_ResourceActionAccess().getListParamDSL_ListParamParserRuleCall_5_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ResourceAction__ListParamAssignment_5"
-
-
-    // $ANTLR start "rule__DSL_ListParam__ParamAssignment_0"
-    // InternalSensinact.g:7361:1: rule__DSL_ListParam__ParamAssignment_0 : ( ruleDSL_Expression_Or ) ;
-    public final void rule__DSL_ListParam__ParamAssignment_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7365:1: ( ( ruleDSL_Expression_Or ) )
-            // InternalSensinact.g:7366:2: ( ruleDSL_Expression_Or )
-            {
-            // InternalSensinact.g:7366:2: ( ruleDSL_Expression_Or )
-            // InternalSensinact.g:7367:3: ruleDSL_Expression_Or
-            {
-             before(grammarAccess.getDSL_ListParamAccess().getParamDSL_Expression_OrParserRuleCall_0_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_Expression_Or();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_ListParamAccess().getParamDSL_Expression_OrParserRuleCall_0_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ListParam__ParamAssignment_0"
-
-
-    // $ANTLR start "rule__DSL_ListParam__ParamAssignment_1_1"
-    // InternalSensinact.g:7376:1: rule__DSL_ListParam__ParamAssignment_1_1 : ( ruleDSL_Expression_Or ) ;
-    public final void rule__DSL_ListParam__ParamAssignment_1_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7380:1: ( ( ruleDSL_Expression_Or ) )
-            // InternalSensinact.g:7381:2: ( ruleDSL_Expression_Or )
-            {
-            // InternalSensinact.g:7381:2: ( ruleDSL_Expression_Or )
-            // InternalSensinact.g:7382:3: ruleDSL_Expression_Or
-            {
-             before(grammarAccess.getDSL_ListParamAccess().getParamDSL_Expression_OrParserRuleCall_1_1_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_Expression_Or();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_ListParamAccess().getParamDSL_Expression_OrParserRuleCall_1_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_ListParam__ParamAssignment_1_1"
-
-
-    // $ANTLR start "rule__DSL_Expression_Or__RightAssignment_1_2"
-    // InternalSensinact.g:7391:1: rule__DSL_Expression_Or__RightAssignment_1_2 : ( ruleDSL_Expression_And ) ;
-    public final void rule__DSL_Expression_Or__RightAssignment_1_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7395:1: ( ( ruleDSL_Expression_And ) )
-            // InternalSensinact.g:7396:2: ( ruleDSL_Expression_And )
-            {
-            // InternalSensinact.g:7396:2: ( ruleDSL_Expression_And )
-            // InternalSensinact.g:7397:3: ruleDSL_Expression_And
-            {
-             before(grammarAccess.getDSL_Expression_OrAccess().getRightDSL_Expression_AndParserRuleCall_1_2_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_Expression_And();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_Expression_OrAccess().getRightDSL_Expression_AndParserRuleCall_1_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Or__RightAssignment_1_2"
-
-
-    // $ANTLR start "rule__DSL_Expression_And__RightAssignment_1_2"
-    // InternalSensinact.g:7406:1: rule__DSL_Expression_And__RightAssignment_1_2 : ( ruleDSL_Expression_DiffEqual ) ;
-    public final void rule__DSL_Expression_And__RightAssignment_1_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7410:1: ( ( ruleDSL_Expression_DiffEqual ) )
-            // InternalSensinact.g:7411:2: ( ruleDSL_Expression_DiffEqual )
-            {
-            // InternalSensinact.g:7411:2: ( ruleDSL_Expression_DiffEqual )
-            // InternalSensinact.g:7412:3: ruleDSL_Expression_DiffEqual
-            {
-             before(grammarAccess.getDSL_Expression_AndAccess().getRightDSL_Expression_DiffEqualParserRuleCall_1_2_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_Expression_DiffEqual();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_Expression_AndAccess().getRightDSL_Expression_DiffEqualParserRuleCall_1_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_And__RightAssignment_1_2"
-
-
-    // $ANTLR start "rule__DSL_Expression_DiffEqual__RightAssignment_1_0_2"
-    // InternalSensinact.g:7421:1: rule__DSL_Expression_DiffEqual__RightAssignment_1_0_2 : ( ruleDSL_Expression_Compare ) ;
-    public final void rule__DSL_Expression_DiffEqual__RightAssignment_1_0_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7425:1: ( ( ruleDSL_Expression_Compare ) )
-            // InternalSensinact.g:7426:2: ( ruleDSL_Expression_Compare )
-            {
-            // InternalSensinact.g:7426:2: ( ruleDSL_Expression_Compare )
-            // InternalSensinact.g:7427:3: ruleDSL_Expression_Compare
-            {
-             before(grammarAccess.getDSL_Expression_DiffEqualAccess().getRightDSL_Expression_CompareParserRuleCall_1_0_2_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_Expression_Compare();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_Expression_DiffEqualAccess().getRightDSL_Expression_CompareParserRuleCall_1_0_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_DiffEqual__RightAssignment_1_0_2"
-
-
-    // $ANTLR start "rule__DSL_Expression_DiffEqual__RightAssignment_1_1_2"
-    // InternalSensinact.g:7436:1: rule__DSL_Expression_DiffEqual__RightAssignment_1_1_2 : ( ruleDSL_Expression_Compare ) ;
-    public final void rule__DSL_Expression_DiffEqual__RightAssignment_1_1_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7440:1: ( ( ruleDSL_Expression_Compare ) )
-            // InternalSensinact.g:7441:2: ( ruleDSL_Expression_Compare )
-            {
-            // InternalSensinact.g:7441:2: ( ruleDSL_Expression_Compare )
-            // InternalSensinact.g:7442:3: ruleDSL_Expression_Compare
-            {
-             before(grammarAccess.getDSL_Expression_DiffEqualAccess().getRightDSL_Expression_CompareParserRuleCall_1_1_2_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_Expression_Compare();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_Expression_DiffEqualAccess().getRightDSL_Expression_CompareParserRuleCall_1_1_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_DiffEqual__RightAssignment_1_1_2"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__RightAssignment_1_0_2"
-    // InternalSensinact.g:7451:1: rule__DSL_Expression_Compare__RightAssignment_1_0_2 : ( ruleDSL_Expression_PlusMinus ) ;
-    public final void rule__DSL_Expression_Compare__RightAssignment_1_0_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7455:1: ( ( ruleDSL_Expression_PlusMinus ) )
-            // InternalSensinact.g:7456:2: ( ruleDSL_Expression_PlusMinus )
-            {
-            // InternalSensinact.g:7456:2: ( ruleDSL_Expression_PlusMinus )
-            // InternalSensinact.g:7457:3: ruleDSL_Expression_PlusMinus
-            {
-             before(grammarAccess.getDSL_Expression_CompareAccess().getRightDSL_Expression_PlusMinusParserRuleCall_1_0_2_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_Expression_PlusMinus();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_Expression_CompareAccess().getRightDSL_Expression_PlusMinusParserRuleCall_1_0_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__RightAssignment_1_0_2"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__RightAssignment_1_1_2"
-    // InternalSensinact.g:7466:1: rule__DSL_Expression_Compare__RightAssignment_1_1_2 : ( ruleDSL_Expression_PlusMinus ) ;
-    public final void rule__DSL_Expression_Compare__RightAssignment_1_1_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7470:1: ( ( ruleDSL_Expression_PlusMinus ) )
-            // InternalSensinact.g:7471:2: ( ruleDSL_Expression_PlusMinus )
-            {
-            // InternalSensinact.g:7471:2: ( ruleDSL_Expression_PlusMinus )
-            // InternalSensinact.g:7472:3: ruleDSL_Expression_PlusMinus
-            {
-             before(grammarAccess.getDSL_Expression_CompareAccess().getRightDSL_Expression_PlusMinusParserRuleCall_1_1_2_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_Expression_PlusMinus();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_Expression_CompareAccess().getRightDSL_Expression_PlusMinusParserRuleCall_1_1_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__RightAssignment_1_1_2"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__RightAssignment_1_2_2"
-    // InternalSensinact.g:7481:1: rule__DSL_Expression_Compare__RightAssignment_1_2_2 : ( ruleDSL_Expression_PlusMinus ) ;
-    public final void rule__DSL_Expression_Compare__RightAssignment_1_2_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7485:1: ( ( ruleDSL_Expression_PlusMinus ) )
-            // InternalSensinact.g:7486:2: ( ruleDSL_Expression_PlusMinus )
-            {
-            // InternalSensinact.g:7486:2: ( ruleDSL_Expression_PlusMinus )
-            // InternalSensinact.g:7487:3: ruleDSL_Expression_PlusMinus
-            {
-             before(grammarAccess.getDSL_Expression_CompareAccess().getRightDSL_Expression_PlusMinusParserRuleCall_1_2_2_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_Expression_PlusMinus();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_Expression_CompareAccess().getRightDSL_Expression_PlusMinusParserRuleCall_1_2_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__RightAssignment_1_2_2"
-
-
-    // $ANTLR start "rule__DSL_Expression_Compare__RightAssignment_1_3_2"
-    // InternalSensinact.g:7496:1: rule__DSL_Expression_Compare__RightAssignment_1_3_2 : ( ruleDSL_Expression_PlusMinus ) ;
-    public final void rule__DSL_Expression_Compare__RightAssignment_1_3_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7500:1: ( ( ruleDSL_Expression_PlusMinus ) )
-            // InternalSensinact.g:7501:2: ( ruleDSL_Expression_PlusMinus )
-            {
-            // InternalSensinact.g:7501:2: ( ruleDSL_Expression_PlusMinus )
-            // InternalSensinact.g:7502:3: ruleDSL_Expression_PlusMinus
-            {
-             before(grammarAccess.getDSL_Expression_CompareAccess().getRightDSL_Expression_PlusMinusParserRuleCall_1_3_2_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_Expression_PlusMinus();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_Expression_CompareAccess().getRightDSL_Expression_PlusMinusParserRuleCall_1_3_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Compare__RightAssignment_1_3_2"
-
-
-    // $ANTLR start "rule__DSL_Expression_PlusMinus__RightAssignment_1_0_2"
-    // InternalSensinact.g:7511:1: rule__DSL_Expression_PlusMinus__RightAssignment_1_0_2 : ( ruleDSL_Expression_MultiplicationDivision ) ;
-    public final void rule__DSL_Expression_PlusMinus__RightAssignment_1_0_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7515:1: ( ( ruleDSL_Expression_MultiplicationDivision ) )
-            // InternalSensinact.g:7516:2: ( ruleDSL_Expression_MultiplicationDivision )
-            {
-            // InternalSensinact.g:7516:2: ( ruleDSL_Expression_MultiplicationDivision )
-            // InternalSensinact.g:7517:3: ruleDSL_Expression_MultiplicationDivision
-            {
-             before(grammarAccess.getDSL_Expression_PlusMinusAccess().getRightDSL_Expression_MultiplicationDivisionParserRuleCall_1_0_2_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_Expression_MultiplicationDivision();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_Expression_PlusMinusAccess().getRightDSL_Expression_MultiplicationDivisionParserRuleCall_1_0_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_PlusMinus__RightAssignment_1_0_2"
-
-
-    // $ANTLR start "rule__DSL_Expression_PlusMinus__RightAssignment_1_1_2"
-    // InternalSensinact.g:7526:1: rule__DSL_Expression_PlusMinus__RightAssignment_1_1_2 : ( ruleDSL_Expression_MultiplicationDivision ) ;
-    public final void rule__DSL_Expression_PlusMinus__RightAssignment_1_1_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7530:1: ( ( ruleDSL_Expression_MultiplicationDivision ) )
-            // InternalSensinact.g:7531:2: ( ruleDSL_Expression_MultiplicationDivision )
-            {
-            // InternalSensinact.g:7531:2: ( ruleDSL_Expression_MultiplicationDivision )
-            // InternalSensinact.g:7532:3: ruleDSL_Expression_MultiplicationDivision
-            {
-             before(grammarAccess.getDSL_Expression_PlusMinusAccess().getRightDSL_Expression_MultiplicationDivisionParserRuleCall_1_1_2_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_Expression_MultiplicationDivision();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_Expression_PlusMinusAccess().getRightDSL_Expression_MultiplicationDivisionParserRuleCall_1_1_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_PlusMinus__RightAssignment_1_1_2"
-
-
-    // $ANTLR start "rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_0_2"
-    // InternalSensinact.g:7541:1: rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_0_2 : ( ruleDSL_Expression_Unary ) ;
-    public final void rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_0_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7545:1: ( ( ruleDSL_Expression_Unary ) )
-            // InternalSensinact.g:7546:2: ( ruleDSL_Expression_Unary )
-            {
-            // InternalSensinact.g:7546:2: ( ruleDSL_Expression_Unary )
-            // InternalSensinact.g:7547:3: ruleDSL_Expression_Unary
-            {
-             before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightDSL_Expression_UnaryParserRuleCall_1_0_2_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_Expression_Unary();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightDSL_Expression_UnaryParserRuleCall_1_0_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_0_2"
-
-
-    // $ANTLR start "rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_1_2"
-    // InternalSensinact.g:7556:1: rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_1_2 : ( ruleDSL_Expression_Unary ) ;
-    public final void rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_1_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7560:1: ( ( ruleDSL_Expression_Unary ) )
-            // InternalSensinact.g:7561:2: ( ruleDSL_Expression_Unary )
-            {
-            // InternalSensinact.g:7561:2: ( ruleDSL_Expression_Unary )
-            // InternalSensinact.g:7562:3: ruleDSL_Expression_Unary
-            {
-             before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightDSL_Expression_UnaryParserRuleCall_1_1_2_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_Expression_Unary();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightDSL_Expression_UnaryParserRuleCall_1_1_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_1_2"
-
-
-    // $ANTLR start "rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_2_2"
-    // InternalSensinact.g:7571:1: rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_2_2 : ( ruleDSL_Expression_Unary ) ;
-    public final void rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_2_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7575:1: ( ( ruleDSL_Expression_Unary ) )
-            // InternalSensinact.g:7576:2: ( ruleDSL_Expression_Unary )
-            {
-            // InternalSensinact.g:7576:2: ( ruleDSL_Expression_Unary )
-            // InternalSensinact.g:7577:3: ruleDSL_Expression_Unary
-            {
-             before(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightDSL_Expression_UnaryParserRuleCall_1_2_2_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_Expression_Unary();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightDSL_Expression_UnaryParserRuleCall_1_2_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_MultiplicationDivision__RightAssignment_1_2_2"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__ValueAssignment_0_1"
-    // InternalSensinact.g:7586:1: rule__DSL_Expression_Unary__ValueAssignment_0_1 : ( ruleNUMBER ) ;
-    public final void rule__DSL_Expression_Unary__ValueAssignment_0_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7590:1: ( ( ruleNUMBER ) )
-            // InternalSensinact.g:7591:2: ( ruleNUMBER )
-            {
-            // InternalSensinact.g:7591:2: ( ruleNUMBER )
-            // InternalSensinact.g:7592:3: ruleNUMBER
-            {
-             before(grammarAccess.getDSL_Expression_UnaryAccess().getValueNUMBERParserRuleCall_0_1_0()); 
-            pushFollow(FOLLOW_2);
-            ruleNUMBER();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_Expression_UnaryAccess().getValueNUMBERParserRuleCall_0_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__ValueAssignment_0_1"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__ValueAssignment_1_1"
-    // InternalSensinact.g:7601:1: rule__DSL_Expression_Unary__ValueAssignment_1_1 : ( RULE_STRING ) ;
-    public final void rule__DSL_Expression_Unary__ValueAssignment_1_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7605:1: ( ( RULE_STRING ) )
-            // InternalSensinact.g:7606:2: ( RULE_STRING )
-            {
-            // InternalSensinact.g:7606:2: ( RULE_STRING )
-            // InternalSensinact.g:7607:3: RULE_STRING
-            {
-             before(grammarAccess.getDSL_Expression_UnaryAccess().getValueSTRINGTerminalRuleCall_1_1_0()); 
-            match(input,RULE_STRING,FOLLOW_2); 
-             after(grammarAccess.getDSL_Expression_UnaryAccess().getValueSTRINGTerminalRuleCall_1_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__ValueAssignment_1_1"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__ValueAssignment_2_1"
-    // InternalSensinact.g:7616:1: rule__DSL_Expression_Unary__ValueAssignment_2_1 : ( RULE_BOOLEAN ) ;
-    public final void rule__DSL_Expression_Unary__ValueAssignment_2_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7620:1: ( ( RULE_BOOLEAN ) )
-            // InternalSensinact.g:7621:2: ( RULE_BOOLEAN )
-            {
-            // InternalSensinact.g:7621:2: ( RULE_BOOLEAN )
-            // InternalSensinact.g:7622:3: RULE_BOOLEAN
-            {
-             before(grammarAccess.getDSL_Expression_UnaryAccess().getValueBOOLEANTerminalRuleCall_2_1_0()); 
-            match(input,RULE_BOOLEAN,FOLLOW_2); 
-             after(grammarAccess.getDSL_Expression_UnaryAccess().getValueBOOLEANTerminalRuleCall_2_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__ValueAssignment_2_1"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__ValueAssignment_3_1"
-    // InternalSensinact.g:7631:1: rule__DSL_Expression_Unary__ValueAssignment_3_1 : ( ( RULE_ID ) ) ;
-    public final void rule__DSL_Expression_Unary__ValueAssignment_3_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7635:1: ( ( ( RULE_ID ) ) )
-            // InternalSensinact.g:7636:2: ( ( RULE_ID ) )
-            {
-            // InternalSensinact.g:7636:2: ( ( RULE_ID ) )
-            // InternalSensinact.g:7637:3: ( RULE_ID )
-            {
-             before(grammarAccess.getDSL_Expression_UnaryAccess().getValueDSL_REFCrossReference_3_1_0()); 
-            // InternalSensinact.g:7638:3: ( RULE_ID )
-            // InternalSensinact.g:7639:4: RULE_ID
-            {
-             before(grammarAccess.getDSL_Expression_UnaryAccess().getValueDSL_REFIDTerminalRuleCall_3_1_0_1()); 
-            match(input,RULE_ID,FOLLOW_2); 
-             after(grammarAccess.getDSL_Expression_UnaryAccess().getValueDSL_REFIDTerminalRuleCall_3_1_0_1()); 
-
-            }
-
-             after(grammarAccess.getDSL_Expression_UnaryAccess().getValueDSL_REFCrossReference_3_1_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__ValueAssignment_3_1"
-
-
-    // $ANTLR start "rule__DSL_Expression_Unary__ExpAssignment_5_2"
-    // InternalSensinact.g:7650:1: rule__DSL_Expression_Unary__ExpAssignment_5_2 : ( ruleDSL_Expression_Unary ) ;
-    public final void rule__DSL_Expression_Unary__ExpAssignment_5_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSensinact.g:7654:1: ( ( ruleDSL_Expression_Unary ) )
-            // InternalSensinact.g:7655:2: ( ruleDSL_Expression_Unary )
-            {
-            // InternalSensinact.g:7655:2: ( ruleDSL_Expression_Unary )
-            // InternalSensinact.g:7656:3: ruleDSL_Expression_Unary
-            {
-             before(grammarAccess.getDSL_Expression_UnaryAccess().getExpDSL_Expression_UnaryParserRuleCall_5_2_0()); 
-            pushFollow(FOLLOW_2);
-            ruleDSL_Expression_Unary();
-
-            state._fsp--;
-
-             after(grammarAccess.getDSL_Expression_UnaryAccess().getExpDSL_Expression_UnaryParserRuleCall_5_2_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DSL_Expression_Unary__ExpAssignment_5_2"
-
-    // Delegated rules
-
-
-    protected DFA17 dfa17 = new DFA17(this);
-    protected DFA18 dfa18 = new DFA18(this);
-    static final String dfa_1s = "\15\uffff";
-    static final String dfa_2s = "\1\4\1\32\3\4\1\32\2\uffff\1\42\3\4\1\42";
-    static final String dfa_3s = "\1\4\1\47\1\35\1\4\1\35\1\47\2\uffff\1\47\1\4\2\35\1\47";
-    static final String dfa_4s = "\6\uffff\1\1\1\2\5\uffff";
-    static final String dfa_5s = "\15\uffff}>";
-    static final String[] dfa_6s = {
-            "\1\1",
-            "\1\3\7\uffff\1\4\4\uffff\1\2",
-            "\1\5\17\uffff\1\6\10\uffff\1\7",
-            "\1\10",
-            "\1\5\17\uffff\1\6\10\uffff\1\7",
-            "\1\11\7\uffff\1\12\4\uffff\1\13",
-            "",
-            "",
-            "\1\4\4\uffff\1\2",
-            "\1\14",
-            "\1\5\17\uffff\1\6\10\uffff\1\7",
-            "\1\5\17\uffff\1\6\10\uffff\1\7",
-            "\1\12\4\uffff\1\13"
-    };
-
-    static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s);
-    static final char[] dfa_2 = DFA.unpackEncodedStringToUnsignedChars(dfa_2s);
-    static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s);
-    static final short[] dfa_4 = DFA.unpackEncodedString(dfa_4s);
-    static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s);
-    static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s);
-
-    class DFA17 extends DFA {
-
-        public DFA17(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 17;
-            this.eot = dfa_1;
-            this.eof = dfa_1;
-            this.min = dfa_2;
-            this.max = dfa_3;
-            this.accept = dfa_4;
-            this.special = dfa_5;
-            this.transition = dfa_6;
-        }
-        public String getDescription() {
-            return "2770:2: ( rule__DSL_CEP_AFTER__Group_6__0 )?";
-        }
-    }
-    static final String dfa_7s = "\1\4\1\32\3\4\1\42\1\32\2\uffff\3\4\1\42";
-    static final String dfa_8s = "\1\4\1\47\1\4\2\35\2\47\2\uffff\1\35\1\4\1\35\1\47";
-    static final String dfa_9s = "\7\uffff\1\1\1\2\4\uffff";
-    static final String[] dfa_10s = {
-            "\1\1",
-            "\1\2\7\uffff\1\3\4\uffff\1\4",
-            "\1\5",
-            "\1\6\17\uffff\1\7\10\uffff\1\10",
-            "\1\6\17\uffff\1\7\10\uffff\1\10",
-            "\1\3\4\uffff\1\4",
-            "\1\12\7\uffff\1\11\4\uffff\1\13",
-            "",
-            "",
-            "\1\6\17\uffff\1\7\10\uffff\1\10",
-            "\1\14",
-            "\1\6\17\uffff\1\7\10\uffff\1\10",
-            "\1\11\4\uffff\1\13"
-    };
-    static final char[] dfa_7 = DFA.unpackEncodedStringToUnsignedChars(dfa_7s);
-    static final char[] dfa_8 = DFA.unpackEncodedStringToUnsignedChars(dfa_8s);
-    static final short[] dfa_9 = DFA.unpackEncodedString(dfa_9s);
-    static final short[][] dfa_10 = unpackEncodedStringArray(dfa_10s);
-
-    class DFA18 extends DFA {
-
-        public DFA18(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 18;
-            this.eot = dfa_1;
-            this.eof = dfa_1;
-            this.min = dfa_7;
-            this.max = dfa_8;
-            this.accept = dfa_9;
-            this.special = dfa_5;
-            this.transition = dfa_10;
-        }
-        public String getDescription() {
-            return "3067:2: ( rule__DSL_CEP_BEFORE__Group_6__0 )?";
-        }
-    }
- 
-
-    public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000000000012L});
-    public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000040080000L});
-    public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000004002L});
-    public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000040000002L});
-    public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000400000L});
-    public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000008000L});
-    public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000020000L});
-    public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000040000L});
-    public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000100000L});
-    public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000100002L});
-    public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000003200000L});
-    public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000001000002L});
-    public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x00200000100000F0L});
-    public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000000800000L});
-    public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000004000000L});
-    public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000004000002L});
-    public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000010000000L});
-    public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000020000000L});
-    public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000007F80000000L});
-    public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000400000000L});
-    public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000008000000000L});
-    public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000000003000L});
-    public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x00200000300000F0L});
-    public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000010000000002L});
-    public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000020000000000L});
-    public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000020000000002L});
-    public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x00000C0000000000L});
-    public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x00000C0000000002L});
-    public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000F00000000000L});
-    public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000F00000000002L});
-    public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0003000000000000L});
-    public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0003000000000002L});
-    public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x000C000000020000L});
-    public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x000C000000020002L});
-    public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0010000000000000L});
-
-}
\ No newline at end of file
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.tests/src-gen/org/eclipse/sensinact/studio/language/tests/SensinactInjectorProvider.java b/xtext/org.eclipse.sensinact.studio.language.sensinact.tests/src-gen/org/eclipse/sensinact/studio/language/tests/SensinactInjectorProvider.java
deleted file mode 100644
index 20fb225..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.tests/src-gen/org/eclipse/sensinact/studio/language/tests/SensinactInjectorProvider.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/*
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.tests;
-
-import com.google.inject.Injector;
-import org.eclipse.sensinact.studio.language.SensinactStandaloneSetup;
-import org.eclipse.xtext.junit4.GlobalRegistries;
-import org.eclipse.xtext.junit4.GlobalRegistries.GlobalStateMemento;
-import org.eclipse.xtext.junit4.IInjectorProvider;
-import org.eclipse.xtext.junit4.IRegistryConfigurator;
-
-public class SensinactInjectorProvider implements IInjectorProvider, IRegistryConfigurator {
-
-	protected GlobalStateMemento stateBeforeInjectorCreation;
-	protected GlobalStateMemento stateAfterInjectorCreation;
-	protected Injector injector;
-
-	static {
-		GlobalRegistries.initializeDefaults();
-	}
-
-	@Override
-	public Injector getInjector() {
-		if (injector == null) {
-			stateBeforeInjectorCreation = GlobalRegistries.makeCopyOfGlobalState();
-			this.injector = internalCreateInjector();
-			stateAfterInjectorCreation = GlobalRegistries.makeCopyOfGlobalState();
-		}
-		return injector;
-	}
-
-	protected Injector internalCreateInjector() {
-		return new SensinactStandaloneSetup().createInjectorAndDoEMFRegistration();
-	}
-
-	@Override
-	public void restoreRegistry() {
-		stateBeforeInjectorCreation.restoreGlobalState();
-	}
-
-	@Override
-	public void setupRegistry() {
-		getInjector();
-		stateAfterInjectorCreation.restoreGlobalState();
-	}
-}
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.tests/xtend-gen/org/eclipse/sensinact/studio/language/tests/.SensinactParsingTest.java._trace b/xtext/org.eclipse.sensinact.studio.language.sensinact.tests/xtend-gen/org/eclipse/sensinact/studio/language/tests/.SensinactParsingTest.java._trace
deleted file mode 100644
index c85b669..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.tests/xtend-gen/org/eclipse/sensinact/studio/language/tests/.SensinactParsingTest.java._trace
+++ /dev/null
Binary files differ
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.tests/xtend-gen/org/eclipse/sensinact/studio/language/tests/.SensinactParsingTest.xtendbin b/xtext/org.eclipse.sensinact.studio.language.sensinact.tests/xtend-gen/org/eclipse/sensinact/studio/language/tests/.SensinactParsingTest.xtendbin
deleted file mode 100644
index 322b50b..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.tests/xtend-gen/org/eclipse/sensinact/studio/language/tests/.SensinactParsingTest.xtendbin
+++ /dev/null
Binary files differ
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.tests/xtend-gen/org/eclipse/sensinact/studio/language/tests/SensinactParsingTest.java b/xtext/org.eclipse.sensinact.studio.language.sensinact.tests/xtend-gen/org/eclipse/sensinact/studio/language/tests/SensinactParsingTest.java
deleted file mode 100644
index d9b02dc..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.tests/xtend-gen/org/eclipse/sensinact/studio/language/tests/SensinactParsingTest.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-package org.eclipse.sensinact.studio.language.tests;
-
-import com.google.inject.Inject;
-import org.eclipse.sensinact.studio.language.sensinact.Sensinact;
-import org.eclipse.sensinact.studio.language.tests.SensinactInjectorProvider;
-import org.eclipse.xtend2.lib.StringConcatenation;
-import org.eclipse.xtext.junit4.InjectWith;
-import org.eclipse.xtext.junit4.XtextRunner;
-import org.eclipse.xtext.junit4.util.ParseHelper;
-import org.eclipse.xtext.xbase.lib.Exceptions;
-import org.junit.Assert;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@RunWith(XtextRunner.class)
-@InjectWith(SensinactInjectorProvider.class)
-@SuppressWarnings("all")
-public class SensinactParsingTest {
-  @Inject
-  private ParseHelper<Sensinact> parseHelper;
-  
-  @Test
-  public void loadModel() {
-    try {
-      StringConcatenation _builder = new StringConcatenation();
-      _builder.append("Hello Xtext!");
-      _builder.newLine();
-      final Sensinact result = this.parseHelper.parse(_builder);
-      Assert.assertNotNull(result);
-    } catch (Throwable _e) {
-      throw Exceptions.sneakyThrow(_e);
-    }
-  }
-}
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui.tests/src-gen/org/eclipse/sensinact/studio/language/ui/tests/SensinactUiInjectorProvider.java b/xtext/org.eclipse.sensinact.studio.language.sensinact.ui.tests/src-gen/org/eclipse/sensinact/studio/language/ui/tests/SensinactUiInjectorProvider.java
deleted file mode 100644
index 3c81d70..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui.tests/src-gen/org/eclipse/sensinact/studio/language/ui/tests/SensinactUiInjectorProvider.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/*
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.ui.tests;
-
-import com.google.inject.Injector;
-import org.eclipse.sensinact.studio.language.sensinact.ui.internal.SensinactActivator;
-import org.eclipse.xtext.junit4.IInjectorProvider;
-
-public class SensinactUiInjectorProvider implements IInjectorProvider {
-
-	@Override
-	public Injector getInjector() {
-		return SensinactActivator.getInstance().getInjector("org.eclipse.sensinact.studio.language.Sensinact");
-	}
-
-}
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/src-gen/org/eclipse/sensinact/studio/language/sensinact/ui/internal/SensinactActivator.java b/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/src-gen/org/eclipse/sensinact/studio/language/sensinact/ui/internal/SensinactActivator.java
deleted file mode 100644
index e3e7b59..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/src-gen/org/eclipse/sensinact/studio/language/sensinact/ui/internal/SensinactActivator.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/*
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.ui.internal;
-
-import com.google.common.collect.Maps;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-import com.google.inject.Module;
-import java.util.Collections;
-import java.util.Map;
-import org.apache.log4j.Logger;
-import org.eclipse.sensinact.studio.language.SensinactRuntimeModule;
-import org.eclipse.sensinact.studio.language.ui.SensinactUiModule;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.xtext.ui.shared.SharedStateModule;
-import org.eclipse.xtext.util.Modules2;
-import org.osgi.framework.BundleContext;
-
-/**
- * This class was generated. Customizations should only happen in a newly
- * introduced subclass. 
- */
-public class SensinactActivator extends AbstractUIPlugin {
-
-	public static final String ORG_ECLIPSE_SENSINACT_STUDIO_LANGUAGE_SENSINACT = "org.eclipse.sensinact.studio.language.Sensinact";
-	
-	private static final Logger logger = Logger.getLogger(SensinactActivator.class);
-	
-	private static SensinactActivator INSTANCE;
-	
-	private Map<String, Injector> injectors = Collections.synchronizedMap(Maps.<String, Injector> newHashMapWithExpectedSize(1));
-	
-	@Override
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		INSTANCE = this;
-	}
-	
-	@Override
-	public void stop(BundleContext context) throws Exception {
-		injectors.clear();
-		INSTANCE = null;
-		super.stop(context);
-	}
-	
-	public static SensinactActivator getInstance() {
-		return INSTANCE;
-	}
-	
-	public Injector getInjector(String language) {
-		synchronized (injectors) {
-			Injector injector = injectors.get(language);
-			if (injector == null) {
-				injectors.put(language, injector = createInjector(language));
-			}
-			return injector;
-		}
-	}
-	
-	protected Injector createInjector(String language) {
-		try {
-			Module runtimeModule = getRuntimeModule(language);
-			Module sharedStateModule = getSharedStateModule();
-			Module uiModule = getUiModule(language);
-			Module mergedModule = Modules2.mixin(runtimeModule, sharedStateModule, uiModule);
-			return Guice.createInjector(mergedModule);
-		} catch (Exception e) {
-			logger.error("Failed to create injector for " + language);
-			logger.error(e.getMessage(), e);
-			throw new RuntimeException("Failed to create injector for " + language, e);
-		}
-	}
-	
-	protected Module getRuntimeModule(String grammar) {
-		if (ORG_ECLIPSE_SENSINACT_STUDIO_LANGUAGE_SENSINACT.equals(grammar)) {
-			return new SensinactRuntimeModule();
-		}
-		throw new IllegalArgumentException(grammar);
-	}
-	
-	protected Module getUiModule(String grammar) {
-		if (ORG_ECLIPSE_SENSINACT_STUDIO_LANGUAGE_SENSINACT.equals(grammar)) {
-			return new SensinactUiModule(this);
-		}
-		throw new IllegalArgumentException(grammar);
-	}
-	
-	protected Module getSharedStateModule() {
-		return new SharedStateModule();
-	}
-	
-}
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/src-gen/org/eclipse/sensinact/studio/language/ui/AbstractSensinactUiModule.java b/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/src-gen/org/eclipse/sensinact/studio/language/ui/AbstractSensinactUiModule.java
deleted file mode 100644
index 861f9b3..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/src-gen/org/eclipse/sensinact/studio/language/ui/AbstractSensinactUiModule.java
+++ /dev/null
@@ -1,290 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/*
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.ui;
-
-import com.google.inject.Binder;
-import com.google.inject.Provider;
-import com.google.inject.name.Names;
-import org.eclipse.compare.IViewerCreator;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.sensinact.studio.language.ide.contentassist.antlr.PartialSensinactContentAssistParser;
-import org.eclipse.sensinact.studio.language.ide.contentassist.antlr.SensinactParser;
-import org.eclipse.sensinact.studio.language.ide.contentassist.antlr.internal.InternalSensinactLexer;
-import org.eclipse.sensinact.studio.language.ui.contentassist.SensinactProposalProvider;
-import org.eclipse.sensinact.studio.language.ui.labeling.SensinactDescriptionLabelProvider;
-import org.eclipse.sensinact.studio.language.ui.labeling.SensinactLabelProvider;
-import org.eclipse.sensinact.studio.language.ui.outline.SensinactOutlineTreeProvider;
-import org.eclipse.sensinact.studio.language.ui.quickfix.SensinactQuickfixProvider;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.xtext.builder.BuilderParticipant;
-import org.eclipse.xtext.builder.EclipseOutputConfigurationProvider;
-import org.eclipse.xtext.builder.IXtextBuilderParticipant;
-import org.eclipse.xtext.builder.builderState.IBuilderState;
-import org.eclipse.xtext.builder.clustering.CurrentDescriptions;
-import org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource;
-import org.eclipse.xtext.builder.nature.NatureAddingEditorCallback;
-import org.eclipse.xtext.builder.preferences.BuilderPreferenceAccess;
-import org.eclipse.xtext.generator.IContextualOutputConfigurationProvider;
-import org.eclipse.xtext.ide.LexerIdeBindings;
-import org.eclipse.xtext.ide.editor.contentassist.antlr.IContentAssistParser;
-import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer;
-import org.eclipse.xtext.ide.editor.partialEditing.IPartialEditingContentAssistParser;
-import org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider;
-import org.eclipse.xtext.parser.antlr.ITokenDefProvider;
-import org.eclipse.xtext.parser.antlr.LexerProvider;
-import org.eclipse.xtext.resource.IResourceDescriptions;
-import org.eclipse.xtext.resource.containers.IAllContainersState;
-import org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider;
-import org.eclipse.xtext.service.SingletonBinding;
-import org.eclipse.xtext.ui.DefaultUiModule;
-import org.eclipse.xtext.ui.codetemplates.ui.AccessibleCodetemplatesActivator;
-import org.eclipse.xtext.ui.codetemplates.ui.partialEditing.IPartialEditingContentAssistContextFactory;
-import org.eclipse.xtext.ui.codetemplates.ui.partialEditing.PartialEditingContentAssistContextFactory;
-import org.eclipse.xtext.ui.codetemplates.ui.preferences.AdvancedTemplatesPreferencePage;
-import org.eclipse.xtext.ui.codetemplates.ui.preferences.TemplatesLanguageConfiguration;
-import org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistrar;
-import org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistry;
-import org.eclipse.xtext.ui.compare.DefaultViewerCreator;
-import org.eclipse.xtext.ui.editor.DocumentBasedDirtyResource;
-import org.eclipse.xtext.ui.editor.IXtextEditorCallback;
-import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
-import org.eclipse.xtext.ui.editor.contentassist.FQNPrefixMatcher;
-import org.eclipse.xtext.ui.editor.contentassist.IContentProposalProvider;
-import org.eclipse.xtext.ui.editor.contentassist.IProposalConflictHelper;
-import org.eclipse.xtext.ui.editor.contentassist.PrefixMatcher;
-import org.eclipse.xtext.ui.editor.contentassist.antlr.AntlrProposalConflictHelper;
-import org.eclipse.xtext.ui.editor.contentassist.antlr.DelegatingContentAssistContextFactory;
-import org.eclipse.xtext.ui.editor.outline.IOutlineTreeProvider;
-import org.eclipse.xtext.ui.editor.outline.impl.IOutlineTreeStructureProvider;
-import org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreInitializer;
-import org.eclipse.xtext.ui.editor.quickfix.IssueResolutionProvider;
-import org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage;
-import org.eclipse.xtext.ui.refactoring.IDependentElementsCalculator;
-import org.eclipse.xtext.ui.refactoring.IReferenceUpdater;
-import org.eclipse.xtext.ui.refactoring.IRenameRefactoringProvider;
-import org.eclipse.xtext.ui.refactoring.IRenameStrategy;
-import org.eclipse.xtext.ui.refactoring.impl.DefaultDependentElementsCalculator;
-import org.eclipse.xtext.ui.refactoring.impl.DefaultReferenceUpdater;
-import org.eclipse.xtext.ui.refactoring.impl.DefaultRenameRefactoringProvider;
-import org.eclipse.xtext.ui.refactoring.impl.DefaultRenameStrategy;
-import org.eclipse.xtext.ui.refactoring.ui.DefaultRenameSupport;
-import org.eclipse.xtext.ui.refactoring.ui.IRenameSupport;
-import org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferences;
-import org.eclipse.xtext.ui.resource.ResourceServiceDescriptionLabelProvider;
-import org.eclipse.xtext.ui.shared.Access;
-
-/**
- * Manual modifications go to {@link SensinactUiModule}.
- */
-@SuppressWarnings("all")
-public abstract class AbstractSensinactUiModule extends DefaultUiModule {
-
-	public AbstractSensinactUiModule(AbstractUIPlugin plugin) {
-		super(plugin);
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.ImplicitFragment
-	public Provider<IAllContainersState> provideIAllContainersState() {
-		return Access.getJavaProjectsState();
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
-	public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
-		return AntlrProposalConflictHelper.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
-	public void configureContentAssistLexer(Binder binder) {
-		binder.bind(Lexer.class)
-			.annotatedWith(Names.named(LexerIdeBindings.CONTENT_ASSIST))
-			.to(InternalSensinactLexer.class);
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
-	public void configureHighlightingLexer(Binder binder) {
-		binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class)
-			.annotatedWith(Names.named(LexerIdeBindings.HIGHLIGHTING))
-			.to(org.eclipse.sensinact.studio.language.parser.antlr.internal.InternalSensinactLexer.class);
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
-	public void configureHighlightingTokenDefProvider(Binder binder) {
-		binder.bind(ITokenDefProvider.class)
-			.annotatedWith(Names.named(LexerIdeBindings.HIGHLIGHTING))
-			.to(AntlrTokenDefProvider.class);
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
-	public Class<? extends ContentAssistContext.Factory> bindContentAssistContext$Factory() {
-		return DelegatingContentAssistContextFactory.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
-	public Class<? extends IContentAssistParser> bindIContentAssistParser() {
-		return SensinactParser.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
-	public void configureContentAssistLexerProvider(Binder binder) {
-		binder.bind(InternalSensinactLexer.class).toProvider(LexerProvider.create(InternalSensinactLexer.class));
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2
-	public Class<? extends PrefixMatcher> bindPrefixMatcher() {
-		return FQNPrefixMatcher.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2
-	public Class<? extends IDependentElementsCalculator> bindIDependentElementsCalculator() {
-		return DefaultDependentElementsCalculator.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
-	public void configureIResourceDescriptionsBuilderScope(Binder binder) {
-		binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE)).to(CurrentDescriptions.ResourceSetAware.class);
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
-	public Class<? extends IXtextEditorCallback> bindIXtextEditorCallback() {
-		return NatureAddingEditorCallback.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
-	public Class<? extends IContextualOutputConfigurationProvider> bindIContextualOutputConfigurationProvider() {
-		return EclipseOutputConfigurationProvider.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
-	public void configureIResourceDescriptionsPersisted(Binder binder) {
-		binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(IBuilderState.class);
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
-	public Class<? extends DocumentBasedDirtyResource> bindDocumentBasedDirtyResource() {
-		return PersistentDataAwareDirtyResource.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2
-	public Class<? extends IXtextBuilderParticipant> bindIXtextBuilderParticipant() {
-		return BuilderParticipant.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2
-	public IWorkspaceRoot bindIWorkspaceRootToInstance() {
-		return ResourcesPlugin.getWorkspace().getRoot();
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2
-	public void configureBuilderPreferenceStoreInitializer(Binder binder) {
-		binder.bind(IPreferenceStoreInitializer.class)
-			.annotatedWith(Names.named("builderPreferenceInitializer"))
-			.to(BuilderPreferenceAccess.Initializer.class);
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.ui.labeling.LabelProviderFragment2
-	public Class<? extends ILabelProvider> bindILabelProvider() {
-		return SensinactLabelProvider.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.ui.labeling.LabelProviderFragment2
-	public void configureResourceUIServiceLabelProvider(Binder binder) {
-		binder.bind(ILabelProvider.class).annotatedWith(ResourceServiceDescriptionLabelProvider.class).to(SensinactDescriptionLabelProvider.class);
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.ui.outline.OutlineTreeProviderFragment2
-	public Class<? extends IOutlineTreeProvider> bindIOutlineTreeProvider() {
-		return SensinactOutlineTreeProvider.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.ui.outline.OutlineTreeProviderFragment2
-	public Class<? extends IOutlineTreeStructureProvider> bindIOutlineTreeStructureProvider() {
-		return SensinactOutlineTreeProvider.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.ui.quickfix.QuickfixProviderFragment2
-	public Class<? extends IssueResolutionProvider> bindIssueResolutionProvider() {
-		return SensinactQuickfixProvider.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.ui.contentAssist.ContentAssistFragment2
-	public Class<? extends IContentProposalProvider> bindIContentProposalProvider() {
-		return SensinactProposalProvider.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
-	public Class<? extends IRenameStrategy> bindIRenameStrategy() {
-		return DefaultRenameStrategy.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
-	public Class<? extends IReferenceUpdater> bindIReferenceUpdater() {
-		return DefaultReferenceUpdater.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
-	public void configureIPreferenceStoreInitializer(Binder binder) {
-		binder.bind(IPreferenceStoreInitializer.class)
-			.annotatedWith(Names.named("RefactoringPreferences"))
-			.to(RefactoringPreferences.Initializer.class);
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
-	public Class<? extends IRenameRefactoringProvider> bindIRenameRefactoringProvider() {
-		return DefaultRenameRefactoringProvider.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
-	public Class<? extends IRenameSupport.Factory> bindIRenameSupport$Factory() {
-		return DefaultRenameSupport.Factory.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2
-	public Provider<TemplatesLanguageConfiguration> provideTemplatesLanguageConfiguration() {
-		return AccessibleCodetemplatesActivator.getTemplatesLanguageConfigurationProvider();
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2
-	public Provider<LanguageRegistry> provideLanguageRegistry() {
-		return AccessibleCodetemplatesActivator.getLanguageRegistry();
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2
-	@SingletonBinding(eager=true)
-	public Class<? extends LanguageRegistrar> bindLanguageRegistrar() {
-		return LanguageRegistrar.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2
-	public Class<? extends XtextTemplatePreferencePage> bindXtextTemplatePreferencePage() {
-		return AdvancedTemplatesPreferencePage.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2
-	public Class<? extends IPartialEditingContentAssistParser> bindIPartialEditingContentAssistParser() {
-		return PartialSensinactContentAssistParser.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2
-	public Class<? extends IPartialEditingContentAssistContextFactory> bindIPartialEditingContentAssistContextFactory() {
-		return PartialEditingContentAssistContextFactory.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.ui.compare.CompareFragment2
-	public Class<? extends IViewerCreator> bindIViewerCreator() {
-		return DefaultViewerCreator.class;
-	}
-	
-}
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/src-gen/org/eclipse/sensinact/studio/language/ui/SensinactExecutableExtensionFactory.java b/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/src-gen/org/eclipse/sensinact/studio/language/ui/SensinactExecutableExtensionFactory.java
deleted file mode 100644
index a7652db..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/src-gen/org/eclipse/sensinact/studio/language/ui/SensinactExecutableExtensionFactory.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/*
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.ui;
-
-import com.google.inject.Injector;
-import org.eclipse.sensinact.studio.language.sensinact.ui.internal.SensinactActivator;
-import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory;
-import org.osgi.framework.Bundle;
-
-/**
- * This class was generated. Customizations should only happen in a newly
- * introduced subclass. 
- */
-public class SensinactExecutableExtensionFactory extends AbstractGuiceAwareExecutableExtensionFactory {
-
-	@Override
-	protected Bundle getBundle() {
-		return SensinactActivator.getInstance().getBundle();
-	}
-	
-	@Override
-	protected Injector getInjector() {
-		return SensinactActivator.getInstance().getInjector(SensinactActivator.ORG_ECLIPSE_SENSINACT_STUDIO_LANGUAGE_SENSINACT);
-	}
-	
-}
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/src-gen/org/eclipse/sensinact/studio/language/ui/contentassist/AbstractSensinactProposalProvider.java b/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/src-gen/org/eclipse/sensinact/studio/language/ui/contentassist/AbstractSensinactProposalProvider.java
deleted file mode 100644
index c5bec64..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/src-gen/org/eclipse/sensinact/studio/language/ui/contentassist/AbstractSensinactProposalProvider.java
+++ /dev/null
@@ -1,338 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/*
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.ui.contentassist;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.xtext.Alternatives;
-import org.eclipse.xtext.Assignment;
-import org.eclipse.xtext.CrossReference;
-import org.eclipse.xtext.RuleCall;
-import org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider;
-import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
-import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor;
-
-/**
- * Represents a generated, default implementation of superclass {@link TerminalsProposalProvider}.
- * Methods are dynamically dispatched on the first parameter, i.e., you can override them 
- * with a more concrete subtype. 
- */
-public abstract class AbstractSensinactProposalProvider extends TerminalsProposalProvider {
-
-	public void completeSensinact_Eca(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_SENSINACT_Resources(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_SENSINACT_Cep(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_SENSINACT_On(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_SENSINACT_Eca(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_Resource_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_Resource_GatewayID(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_Resource_DeviceID(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_Resource_ServiceID(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_Resource_ResourceID(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_On_Triggers(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_ECA_STATEMENT_Ifdo(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_ECA_STATEMENT_ElseIfdo(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_ECA_STATEMENT_Elsedo(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_IfDo_Condition(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_IfDo_Actions(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_ElseIfDo_Condition(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_ElseIfDo_Actions(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_ElseDo_Actions(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_REF_CONDITION_Ref(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_CEP_STATEMENT_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_CEP_STATEMENT_Operation(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(0)), context, acceptor);
-		completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(1)), context, acceptor);
-		completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(2)), context, acceptor);
-		completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(3)), context, acceptor);
-		completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(4)), context, acceptor);
-		completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(5)), context, acceptor);
-		completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(6)), context, acceptor);
-		completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(7)), context, acceptor);
-	}
-	public void completeDSL_CEP_AFTER_Ref1(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_CEP_AFTER_Ref2(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_CEP_AFTER_Start(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_CEP_AFTER_End(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_CEP_BEFORE_Ref1(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_CEP_BEFORE_Ref2(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_CEP_BEFORE_Start(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_CEP_BEFORE_End(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_CEP_COINCIDE_Ref1(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_CEP_COINCIDE_Ref2(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_CEP_COINCIDE_Window(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_CEP_MIN_Ref(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_CEP_MIN_Window(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_CEP_MAX_Ref(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_CEP_MAX_Window(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_CEP_AVG_Ref(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_CEP_AVG_Window(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_CEP_SUM_Ref(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_CEP_SUM_Window(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_CEP_COUNT_Ref(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_CEP_COUNT_Window(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_CEP_DURATION_Units(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(0)), context, acceptor);
-		completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(1)), context, acceptor);
-	}
-	public void completeDSL_CEP_DURATION_MIN_Min(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_CEP_DURATION_SEC_Sec(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_ListActions_ActionList(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_ResourceAction_Variable(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_ResourceAction_Ref(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_ResourceAction_Actiontype(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-		// subclasses may override
-	}
-	public void completeDSL_ResourceAction_ListParam(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_ListParam_Param(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_Expression_Or_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_Expression_And_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_Expression_DiffEqual_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_Expression_Compare_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_Expression_PlusMinus_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_Expression_MultiplicationDivision_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-	public void completeDSL_Expression_Unary_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		if (assignment.getTerminal() instanceof RuleCall) {
-			completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-		}
-		if (assignment.getTerminal() instanceof CrossReference) {
-			lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
-		}
-	}
-	public void completeDSL_Expression_Unary_Exp(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
-	}
-
-	public void complete_Sensinact(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DSL_SENSINACT(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DSL_Resource(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DSL_On(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DSL_ECA_STATEMENT(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DSL_IfDo(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DSL_ElseIfDo(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DSL_ElseDo(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_BOOLEAN(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_INT(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_NUMBER(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_ID(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_EXTENDED_ID(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DSL_REF(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DSL_REF_CONDITION(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DSL_CEP_STATEMENT(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DSL_CEP_AFTER(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DSL_CEP_BEFORE(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DSL_CEP_COINCIDE(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DSL_CEP_MIN(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DSL_CEP_MAX(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DSL_CEP_AVG(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DSL_CEP_SUM(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DSL_CEP_COUNT(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DSL_CEP_DURATION(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DSL_CEP_DURATION_MIN(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DSL_CEP_DURATION_SEC(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DSL_ListActions(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DSL_ResourceAction(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DSL_ListParam(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DSL_Expression_Or(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DSL_Expression_And(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DSL_Expression_DiffEqual(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DSL_Expression_Compare(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DSL_Expression_PlusMinus(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DSL_Expression_MultiplicationDivision(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DSL_Expression_Unary(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-}
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/.SensinactUiModule.java._trace b/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/.SensinactUiModule.java._trace
deleted file mode 100644
index 0662373..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/.SensinactUiModule.java._trace
+++ /dev/null
Binary files differ
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/.SensinactUiModule.xtendbin b/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/.SensinactUiModule.xtendbin
deleted file mode 100644
index 94c304d..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/.SensinactUiModule.xtendbin
+++ /dev/null
Binary files differ
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/SensinactUiModule.java b/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/SensinactUiModule.java
deleted file mode 100644
index 6a4e884..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/SensinactUiModule.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-package org.eclipse.sensinact.studio.language.ui;
-
-import org.eclipse.sensinact.studio.language.ui.AbstractSensinactUiModule;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor;
-
-/**
- * Use this class to register components to be used within the Eclipse IDE.
- */
-@FinalFieldsConstructor
-@SuppressWarnings("all")
-public class SensinactUiModule extends AbstractSensinactUiModule {
-  public SensinactUiModule(final AbstractUIPlugin plugin) {
-    super(plugin);
-  }
-}
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/contentassist/.NullGlobalScopeProvider.java._trace b/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/contentassist/.NullGlobalScopeProvider.java._trace
deleted file mode 100644
index dccd8a0..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/contentassist/.NullGlobalScopeProvider.java._trace
+++ /dev/null
Binary files differ
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/contentassist/.NullGlobalScopeProvider.xtendbin b/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/contentassist/.NullGlobalScopeProvider.xtendbin
deleted file mode 100644
index 4b6c082..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/contentassist/.NullGlobalScopeProvider.xtendbin
+++ /dev/null
Binary files differ
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/contentassist/.SensinactProposalProvider.java._trace b/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/contentassist/.SensinactProposalProvider.java._trace
deleted file mode 100644
index a78188f..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/contentassist/.SensinactProposalProvider.java._trace
+++ /dev/null
Binary files differ
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/contentassist/.SensinactProposalProvider.xtendbin b/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/contentassist/.SensinactProposalProvider.xtendbin
deleted file mode 100644
index 08deba1..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/contentassist/.SensinactProposalProvider.xtendbin
+++ /dev/null
Binary files differ
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/contentassist/NullGlobalScopeProvider.java b/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/contentassist/NullGlobalScopeProvider.java
deleted file mode 100644
index cb10641..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/contentassist/NullGlobalScopeProvider.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-package org.eclipse.sensinact.studio.language.ui.contentassist;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.xtext.scoping.IScope;
-import org.eclipse.xtext.scoping.IScopeProvider;
-
-/**
- * This scope erase ALL available cross references.
- */
-@SuppressWarnings("all")
-public class NullGlobalScopeProvider implements IScopeProvider {
-  @Override
-  public IScope getScope(final EObject context, final EReference reference) {
-    return IScope.NULLSCOPE;
-  }
-}
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/contentassist/SensinactProposalProvider.java b/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/contentassist/SensinactProposalProvider.java
deleted file mode 100644
index dde6b71..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/contentassist/SensinactProposalProvider.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-package org.eclipse.sensinact.studio.language.ui.contentassist;
-
-import java.util.List;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Resource;
-import org.eclipse.sensinact.studio.language.ui.contentassist.AbstractSensinactProposalProvider;
-import org.eclipse.sensinact.studio.model.manager.modelupdater.ModelEditor;
-import org.eclipse.sensinact.studio.model.manager.modelupdater.ModelUpdater;
-import org.eclipse.xtext.Assignment;
-import org.eclipse.xtext.RuleCall;
-import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
-import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor;
-import org.eclipse.xtext.xbase.lib.Exceptions;
-
-/**
- * @author Etienne Gandrille
- */
-@SuppressWarnings("all")
-public class SensinactProposalProvider extends AbstractSensinactProposalProvider {
-  @Override
-  public void complete_EXTENDED_ID(final EObject model, final RuleCall ruleCall, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
-    try {
-      DSL_Resource rsrc = ((DSL_Resource) model);
-      String gatewayID = rsrc.getGatewayID();
-      String deviceID = rsrc.getDeviceID();
-      String serviceID = rsrc.getServiceID();
-      EObject _eContainer = ruleCall.eContainer();
-      Assignment container = ((Assignment) _eContainer);
-      String feature = container.getFeature();
-      boolean _equals = "gatewayID".equals(feature);
-      if (_equals) {
-        ModelEditor _instance = ModelEditor.getInstance();
-        List<String> candidates = _instance.getGatewaysId();
-        for (final String candidate : candidates) {
-          ICompletionProposal _createCompletionProposal = this.createCompletionProposal((candidate + "/"), context);
-          acceptor.accept(_createCompletionProposal);
-        }
-      }
-      boolean _equals_1 = "deviceID".equals(feature);
-      if (_equals_1) {
-        ModelEditor _instance_1 = ModelEditor.getInstance();
-        List<String> candidates_1 = _instance_1.getDevicesId(gatewayID);
-        for (final String candidate_1 : candidates_1) {
-          ICompletionProposal _createCompletionProposal_1 = this.createCompletionProposal((candidate_1 + "/"), context);
-          acceptor.accept(_createCompletionProposal_1);
-        }
-      } else {
-        boolean _equals_2 = "serviceID".equals(feature);
-        if (_equals_2) {
-          ModelUpdater _instance_2 = ModelUpdater.getInstance();
-          _instance_2.updateServices(gatewayID, deviceID);
-          ModelEditor _instance_3 = ModelEditor.getInstance();
-          List<String> candidates_2 = _instance_3.getServicesId(gatewayID, deviceID);
-          for (final String candidate_2 : candidates_2) {
-            ICompletionProposal _createCompletionProposal_2 = this.createCompletionProposal((candidate_2 + "/"), context);
-            acceptor.accept(_createCompletionProposal_2);
-          }
-        } else {
-          boolean _equals_3 = "resourceID".equals(feature);
-          if (_equals_3) {
-            ModelUpdater _instance_4 = ModelUpdater.getInstance();
-            _instance_4.updateResources(gatewayID, deviceID, serviceID);
-            ModelEditor _instance_5 = ModelEditor.getInstance();
-            List<String> candidates_3 = _instance_5.getResourcesId(gatewayID, deviceID, serviceID);
-            for (final String candidate_3 : candidates_3) {
-              ICompletionProposal _createCompletionProposal_3 = this.createCompletionProposal(candidate_3, context);
-              acceptor.accept(_createCompletionProposal_3);
-            }
-          }
-        }
-      }
-    } catch (Throwable _e) {
-      throw Exceptions.sneakyThrow(_e);
-    }
-  }
-}
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/labeling/.SensinactDescriptionLabelProvider.java._trace b/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/labeling/.SensinactDescriptionLabelProvider.java._trace
deleted file mode 100644
index 7508512..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/labeling/.SensinactDescriptionLabelProvider.java._trace
+++ /dev/null
Binary files differ
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/labeling/.SensinactDescriptionLabelProvider.xtendbin b/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/labeling/.SensinactDescriptionLabelProvider.xtendbin
deleted file mode 100644
index b9b2fc3..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/labeling/.SensinactDescriptionLabelProvider.xtendbin
+++ /dev/null
Binary files differ
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/labeling/.SensinactLabelProvider.java._trace b/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/labeling/.SensinactLabelProvider.java._trace
deleted file mode 100644
index e6d7da0..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/labeling/.SensinactLabelProvider.java._trace
+++ /dev/null
Binary files differ
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/labeling/.SensinactLabelProvider.xtendbin b/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/labeling/.SensinactLabelProvider.xtendbin
deleted file mode 100644
index 2e6e314..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/labeling/.SensinactLabelProvider.xtendbin
+++ /dev/null
Binary files differ
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/labeling/SensinactDescriptionLabelProvider.java b/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/labeling/SensinactDescriptionLabelProvider.java
deleted file mode 100644
index 6c4d41e..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/labeling/SensinactDescriptionLabelProvider.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-package org.eclipse.sensinact.studio.language.ui.labeling;
-
-import org.eclipse.xtext.ui.label.DefaultDescriptionLabelProvider;
-
-/**
- * Provides labels for IEObjectDescriptions and IResourceDescriptions.
- * 
- * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#label-provider
- */
-@SuppressWarnings("all")
-public class SensinactDescriptionLabelProvider extends DefaultDescriptionLabelProvider {
-}
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/labeling/SensinactLabelProvider.java b/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/labeling/SensinactLabelProvider.java
deleted file mode 100644
index 9b2ad58..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/labeling/SensinactLabelProvider.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-package org.eclipse.sensinact.studio.language.ui.labeling;
-
-import com.google.inject.Inject;
-import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
-import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider;
-
-/**
- * Provides labels for EObjects.
- * 
- * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#label-provider
- */
-@SuppressWarnings("all")
-public class SensinactLabelProvider extends DefaultEObjectLabelProvider {
-  @Inject
-  public SensinactLabelProvider(final AdapterFactoryLabelProvider delegate) {
-    super(delegate);
-  }
-}
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/outline/.SensinactOutlineTreeProvider.java._trace b/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/outline/.SensinactOutlineTreeProvider.java._trace
deleted file mode 100644
index a7a6b70..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/outline/.SensinactOutlineTreeProvider.java._trace
+++ /dev/null
Binary files differ
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/outline/.SensinactOutlineTreeProvider.xtendbin b/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/outline/.SensinactOutlineTreeProvider.xtendbin
deleted file mode 100644
index 30d59d1..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/outline/.SensinactOutlineTreeProvider.xtendbin
+++ /dev/null
Binary files differ
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/outline/SensinactOutlineTreeProvider.java b/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/outline/SensinactOutlineTreeProvider.java
deleted file mode 100644
index 9f6f23e..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/outline/SensinactOutlineTreeProvider.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-package org.eclipse.sensinact.studio.language.ui.outline;
-
-import org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider;
-
-/**
- * Customization of the default outline structure.
- * 
- * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#outline
- */
-@SuppressWarnings("all")
-public class SensinactOutlineTreeProvider extends DefaultOutlineTreeProvider {
-}
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/quickfix/.SensinactQuickfixProvider.java._trace b/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/quickfix/.SensinactQuickfixProvider.java._trace
deleted file mode 100644
index cbdb024..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/quickfix/.SensinactQuickfixProvider.java._trace
+++ /dev/null
Binary files differ
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/quickfix/.SensinactQuickfixProvider.xtendbin b/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/quickfix/.SensinactQuickfixProvider.xtendbin
deleted file mode 100644
index 24e781e..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/quickfix/.SensinactQuickfixProvider.xtendbin
+++ /dev/null
Binary files differ
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/quickfix/SensinactQuickfixProvider.java b/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/quickfix/SensinactQuickfixProvider.java
deleted file mode 100644
index a0a17f9..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact.ui/xtend-gen/org/eclipse/sensinact/studio/language/ui/quickfix/SensinactQuickfixProvider.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-package org.eclipse.sensinact.studio.language.ui.quickfix;
-
-import org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider;
-
-/**
- * Custom quickfixes.
- * 
- * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#quick-fixes
- */
-@SuppressWarnings("all")
-public class SensinactQuickfixProvider extends DefaultQuickfixProvider {
-}
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/AbstractSensinactRuntimeModule.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/AbstractSensinactRuntimeModule.java
deleted file mode 100644
index 0636cb6..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/AbstractSensinactRuntimeModule.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/*
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language;
-
-import com.google.inject.Binder;
-import com.google.inject.Provider;
-import com.google.inject.name.Names;
-import java.util.Properties;
-import org.eclipse.sensinact.studio.language.generator.SensinactGenerator;
-import org.eclipse.sensinact.studio.language.parser.antlr.SensinactAntlrTokenFileProvider;
-import org.eclipse.sensinact.studio.language.parser.antlr.SensinactParser;
-import org.eclipse.sensinact.studio.language.parser.antlr.internal.InternalSensinactLexer;
-import org.eclipse.sensinact.studio.language.scoping.SensinactScopeProvider;
-import org.eclipse.sensinact.studio.language.serializer.SensinactSemanticSequencer;
-import org.eclipse.sensinact.studio.language.serializer.SensinactSyntacticSequencer;
-import org.eclipse.sensinact.studio.language.services.SensinactGrammarAccess;
-import org.eclipse.sensinact.studio.language.validation.SensinactValidator;
-import org.eclipse.xtext.Constants;
-import org.eclipse.xtext.IGrammarAccess;
-import org.eclipse.xtext.generator.IGenerator2;
-import org.eclipse.xtext.naming.DefaultDeclarativeQualifiedNameProvider;
-import org.eclipse.xtext.naming.IQualifiedNameProvider;
-import org.eclipse.xtext.parser.IParser;
-import org.eclipse.xtext.parser.ITokenToStringConverter;
-import org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider;
-import org.eclipse.xtext.parser.antlr.AntlrTokenToStringConverter;
-import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
-import org.eclipse.xtext.parser.antlr.ITokenDefProvider;
-import org.eclipse.xtext.parser.antlr.Lexer;
-import org.eclipse.xtext.parser.antlr.LexerBindings;
-import org.eclipse.xtext.parser.antlr.LexerProvider;
-import org.eclipse.xtext.resource.IContainer;
-import org.eclipse.xtext.resource.IResourceDescriptions;
-import org.eclipse.xtext.resource.containers.IAllContainersState;
-import org.eclipse.xtext.resource.containers.ResourceSetBasedAllContainersStateProvider;
-import org.eclipse.xtext.resource.containers.StateBasedContainerManager;
-import org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider;
-import org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions;
-import org.eclipse.xtext.scoping.IGlobalScopeProvider;
-import org.eclipse.xtext.scoping.IScopeProvider;
-import org.eclipse.xtext.scoping.IgnoreCaseLinking;
-import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider;
-import org.eclipse.xtext.scoping.impl.DefaultGlobalScopeProvider;
-import org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider;
-import org.eclipse.xtext.serializer.ISerializer;
-import org.eclipse.xtext.serializer.impl.Serializer;
-import org.eclipse.xtext.serializer.sequencer.ISemanticSequencer;
-import org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer;
-import org.eclipse.xtext.service.DefaultRuntimeModule;
-import org.eclipse.xtext.service.SingletonBinding;
-
-/**
- * Manual modifications go to {@link SensinactRuntimeModule}.
- */
-@SuppressWarnings("all")
-public abstract class AbstractSensinactRuntimeModule extends DefaultRuntimeModule {
-
-	protected Properties properties = null;
-
-	@Override
-	public void configure(Binder binder) {
-		properties = tryBindProperties(binder, "org/eclipse/sensinact/studio/language/Sensinact.properties");
-		super.configure(binder);
-	}
-	
-	public void configureLanguageName(Binder binder) {
-		binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("org.eclipse.sensinact.studio.language.Sensinact");
-	}
-	
-	public void configureFileExtensions(Binder binder) {
-		if (properties == null || properties.getProperty(Constants.FILE_EXTENSIONS) == null)
-			binder.bind(String.class).annotatedWith(Names.named(Constants.FILE_EXTENSIONS)).toInstance("sna");
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.grammarAccess.GrammarAccessFragment2
-	public ClassLoader bindClassLoaderToInstance() {
-		return getClass().getClassLoader();
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.grammarAccess.GrammarAccessFragment2
-	public Class<? extends IGrammarAccess> bindIGrammarAccess() {
-		return SensinactGrammarAccess.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2
-	public Class<? extends ISemanticSequencer> bindISemanticSequencer() {
-		return SensinactSemanticSequencer.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2
-	public Class<? extends ISyntacticSequencer> bindISyntacticSequencer() {
-		return SensinactSyntacticSequencer.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2
-	public Class<? extends ISerializer> bindISerializer() {
-		return Serializer.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
-	public Class<? extends IParser> bindIParser() {
-		return SensinactParser.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
-	public Class<? extends ITokenToStringConverter> bindITokenToStringConverter() {
-		return AntlrTokenToStringConverter.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
-	public Class<? extends IAntlrTokenFileProvider> bindIAntlrTokenFileProvider() {
-		return SensinactAntlrTokenFileProvider.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
-	public Class<? extends Lexer> bindLexer() {
-		return InternalSensinactLexer.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
-	public Class<? extends ITokenDefProvider> bindITokenDefProvider() {
-		return AntlrTokenDefProvider.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
-	public Provider<InternalSensinactLexer> provideInternalSensinactLexer() {
-		return LexerProvider.create(InternalSensinactLexer.class);
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
-	public void configureRuntimeLexer(Binder binder) {
-		binder.bind(Lexer.class)
-			.annotatedWith(Names.named(LexerBindings.RUNTIME))
-			.to(InternalSensinactLexer.class);
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2
-	@SingletonBinding(eager=true)
-	public Class<? extends SensinactValidator> bindSensinactValidator() {
-		return SensinactValidator.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
-	public Class<? extends IScopeProvider> bindIScopeProvider() {
-		return SensinactScopeProvider.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
-	public void configureIScopeProviderDelegate(Binder binder) {
-		binder.bind(IScopeProvider.class).annotatedWith(Names.named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(ImportedNamespaceAwareLocalScopeProvider.class);
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
-	public Class<? extends IGlobalScopeProvider> bindIGlobalScopeProvider() {
-		return DefaultGlobalScopeProvider.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
-	public void configureIgnoreCaseLinking(Binder binder) {
-		binder.bindConstant().annotatedWith(IgnoreCaseLinking.class).to(false);
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2
-	public Class<? extends IQualifiedNameProvider> bindIQualifiedNameProvider() {
-		return DefaultDeclarativeQualifiedNameProvider.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
-	public Class<? extends IContainer.Manager> bindIContainer$Manager() {
-		return StateBasedContainerManager.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
-	public Class<? extends IAllContainersState.Provider> bindIAllContainersState$Provider() {
-		return ResourceSetBasedAllContainersStateProvider.class;
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
-	public void configureIResourceDescriptions(Binder binder) {
-		binder.bind(IResourceDescriptions.class).to(ResourceSetBasedResourceDescriptions.class);
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
-	public void configureIResourceDescriptionsPersisted(Binder binder) {
-		binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(ResourceSetBasedResourceDescriptions.class);
-	}
-	
-	// contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2
-	public Class<? extends IGenerator2> bindIGenerator2() {
-		return SensinactGenerator.class;
-	}
-	
-}
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/Sensinact.xtextbin b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/Sensinact.xtextbin
deleted file mode 100644
index 819cbd6..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/Sensinact.xtextbin
+++ /dev/null
Binary files differ
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/SensinactStandaloneSetupGenerated.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/SensinactStandaloneSetupGenerated.java
deleted file mode 100644
index c17ed7e..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/SensinactStandaloneSetupGenerated.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/*
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language;
-
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-import org.eclipse.xtext.ISetup;
-import org.eclipse.xtext.common.TerminalsStandaloneSetup;
-import org.eclipse.xtext.resource.IResourceFactory;
-import org.eclipse.xtext.resource.IResourceServiceProvider;
-
-@SuppressWarnings("all")
-public class SensinactStandaloneSetupGenerated implements ISetup {
-
-	@Override
-	public Injector createInjectorAndDoEMFRegistration() {
-		TerminalsStandaloneSetup.doSetup();
-
-		Injector injector = createInjector();
-		register(injector);
-		return injector;
-	}
-	
-	public Injector createInjector() {
-		return Guice.createInjector(new SensinactRuntimeModule());
-	}
-	
-	public void register(Injector injector) {
-		if (!EPackage.Registry.INSTANCE.containsKey("http://www.eclipse.org/sensinact/studio/language/Sensinact")) {
-			EPackage.Registry.INSTANCE.put("http://www.eclipse.org/sensinact/studio/language/Sensinact", SensinactPackage.eINSTANCE);
-		}
-		IResourceFactory resourceFactory = injector.getInstance(IResourceFactory.class);
-		IResourceServiceProvider serviceProvider = injector.getInstance(IResourceServiceProvider.class);
-		
-		Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("sna", resourceFactory);
-		IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("sna", serviceProvider);
-	}
-}
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/parser/antlr/SensinactAntlrTokenFileProvider.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/parser/antlr/SensinactAntlrTokenFileProvider.java
deleted file mode 100644
index 9104f48..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/parser/antlr/SensinactAntlrTokenFileProvider.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/*
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.parser.antlr;
-
-import java.io.InputStream;
-import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
-
-public class SensinactAntlrTokenFileProvider implements IAntlrTokenFileProvider {
-
-	@Override
-	public InputStream getAntlrTokenFile() {
-		ClassLoader classLoader = getClass().getClassLoader();
-		return classLoader.getResourceAsStream("org/eclipse/sensinact/studio/language/parser/antlr/internal/InternalSensinact.tokens");
-	}
-}
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/parser/antlr/SensinactParser.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/parser/antlr/SensinactParser.java
deleted file mode 100644
index df5558b..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/parser/antlr/SensinactParser.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/*
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.parser.antlr;
-
-import com.google.inject.Inject;
-import org.eclipse.sensinact.studio.language.parser.antlr.internal.InternalSensinactParser;
-import org.eclipse.sensinact.studio.language.services.SensinactGrammarAccess;
-import org.eclipse.xtext.parser.antlr.AbstractAntlrParser;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream;
-
-public class SensinactParser extends AbstractAntlrParser {
-
-	@Inject
-	private SensinactGrammarAccess grammarAccess;
-
-	@Override
-	protected void setInitialHiddenTokens(XtextTokenStream tokenStream) {
-		tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT");
-	}
-	
-
-	@Override
-	protected InternalSensinactParser createParser(XtextTokenStream stream) {
-		return new InternalSensinactParser(stream, getGrammarAccess());
-	}
-
-	@Override 
-	protected String getDefaultRuleName() {
-		return "Sensinact";
-	}
-
-	public SensinactGrammarAccess getGrammarAccess() {
-		return this.grammarAccess;
-	}
-
-	public void setGrammarAccess(SensinactGrammarAccess grammarAccess) {
-		this.grammarAccess = grammarAccess;
-	}
-}
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/parser/antlr/internal/InternalSensinact.g b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/parser/antlr/internal/InternalSensinact.g
deleted file mode 100644
index 2b0be7c..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/parser/antlr/internal/InternalSensinact.g
+++ /dev/null
@@ -1,2847 +0,0 @@
-/*
- * generated by Xtext 2.9.1
- */
-grammar InternalSensinact;
-
-options {
-	superClass=AbstractInternalAntlrParser;
-}
-
-@lexer::header {
-package org.eclipse.sensinact.studio.language.parser.antlr.internal;
-
-// Hack: Use our own Lexer superclass by means of import. 
-// Currently there is no other way to specify the superclass for the lexer.
-import org.eclipse.xtext.parser.antlr.Lexer;
-}
-
-@parser::header {
-package org.eclipse.sensinact.studio.language.parser.antlr.internal;
-
-import org.eclipse.xtext.*;
-import org.eclipse.xtext.parser.*;
-import org.eclipse.xtext.parser.impl.*;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
-import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
-import org.eclipse.sensinact.studio.language.services.SensinactGrammarAccess;
-
-}
-
-@parser::members {
-
- 	private SensinactGrammarAccess grammarAccess;
-
-    public InternalSensinactParser(TokenStream input, SensinactGrammarAccess grammarAccess) {
-        this(input);
-        this.grammarAccess = grammarAccess;
-        registerRules(grammarAccess.getGrammar());
-    }
-
-    @Override
-    protected String getFirstRuleName() {
-    	return "Sensinact";
-   	}
-
-   	@Override
-   	protected SensinactGrammarAccess getGrammarAccess() {
-   		return grammarAccess;
-   	}
-
-}
-
-@rulecatch {
-    catch (RecognitionException re) {
-        recover(input,re);
-        appendSkippedTokens();
-    }
-}
-
-// Entry rule entryRuleSensinact
-entryRuleSensinact returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getSensinactRule()); }
-	iv_ruleSensinact=ruleSensinact
-	{ $current=$iv_ruleSensinact.current; }
-	EOF;
-
-// Rule Sensinact
-ruleSensinact returns [EObject current=null]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		(
-			{
-				$current = forceCreateModelElement(
-					grammarAccess.getSensinactAccess().getSensinactAction_0(),
-					$current);
-			}
-		)
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getSensinactAccess().getEcaDSL_SENSINACTParserRuleCall_1_0());
-				}
-				lv_eca_1_0=ruleDSL_SENSINACT
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getSensinactRule());
-					}
-					set(
-						$current,
-						"eca",
-						lv_eca_1_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_SENSINACT");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-	)
-;
-
-// Entry rule entryRuleDSL_SENSINACT
-entryRuleDSL_SENSINACT returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getDSL_SENSINACTRule()); }
-	iv_ruleDSL_SENSINACT=ruleDSL_SENSINACT
-	{ $current=$iv_ruleDSL_SENSINACT.current; }
-	EOF;
-
-// Rule DSL_SENSINACT
-ruleDSL_SENSINACT returns [EObject current=null]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_SENSINACTAccess().getResourcesDSL_ResourceParserRuleCall_0_0());
-				}
-				lv_resources_0_0=ruleDSL_Resource
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_SENSINACTRule());
-					}
-					add(
-						$current,
-						"resources",
-						lv_resources_0_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_Resource");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)+
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_SENSINACTAccess().getCepDSL_CEP_STATEMENTParserRuleCall_1_0());
-				}
-				lv_cep_1_0=ruleDSL_CEP_STATEMENT
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_SENSINACTRule());
-					}
-					add(
-						$current,
-						"cep",
-						lv_cep_1_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_STATEMENT");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)*
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_SENSINACTAccess().getOnDSL_OnParserRuleCall_2_0());
-				}
-				lv_on_2_0=ruleDSL_On
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_SENSINACTRule());
-					}
-					set(
-						$current,
-						"on",
-						lv_on_2_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_On");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_SENSINACTAccess().getEcaDSL_ECA_STATEMENTParserRuleCall_3_0());
-				}
-				lv_eca_3_0=ruleDSL_ECA_STATEMENT
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_SENSINACTRule());
-					}
-					set(
-						$current,
-						"eca",
-						lv_eca_3_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_ECA_STATEMENT");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-	)
-;
-
-// Entry rule entryRuleDSL_Resource
-entryRuleDSL_Resource returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getDSL_ResourceRule()); }
-	iv_ruleDSL_Resource=ruleDSL_Resource
-	{ $current=$iv_ruleDSL_Resource.current; }
-	EOF;
-
-// Rule DSL_Resource
-ruleDSL_Resource returns [EObject current=null]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		otherlv_0='resource'
-		{
-			newLeafNode(otherlv_0, grammarAccess.getDSL_ResourceAccess().getResourceKeyword_0());
-		}
-		(
-			(
-				lv_name_1_0=RULE_ID
-				{
-					newLeafNode(lv_name_1_0, grammarAccess.getDSL_ResourceAccess().getNameIDTerminalRuleCall_1_0());
-				}
-				{
-					if ($current==null) {
-						$current = createModelElement(grammarAccess.getDSL_ResourceRule());
-					}
-					setWithLastConsumed(
-						$current,
-						"name",
-						lv_name_1_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.ID");
-				}
-			)
-		)
-		otherlv_2='='
-		{
-			newLeafNode(otherlv_2, grammarAccess.getDSL_ResourceAccess().getEqualsSignKeyword_2());
-		}
-		otherlv_3='['
-		{
-			newLeafNode(otherlv_3, grammarAccess.getDSL_ResourceAccess().getLeftSquareBracketKeyword_3());
-		}
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_ResourceAccess().getGatewayIDEXTENDED_IDParserRuleCall_4_0());
-				}
-				lv_gatewayID_4_0=ruleEXTENDED_ID
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_ResourceRule());
-					}
-					set(
-						$current,
-						"gatewayID",
-						lv_gatewayID_4_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.EXTENDED_ID");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-		otherlv_5='/'
-		{
-			newLeafNode(otherlv_5, grammarAccess.getDSL_ResourceAccess().getSolidusKeyword_5());
-		}
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_ResourceAccess().getDeviceIDEXTENDED_IDParserRuleCall_6_0());
-				}
-				lv_deviceID_6_0=ruleEXTENDED_ID
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_ResourceRule());
-					}
-					set(
-						$current,
-						"deviceID",
-						lv_deviceID_6_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.EXTENDED_ID");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-		otherlv_7='/'
-		{
-			newLeafNode(otherlv_7, grammarAccess.getDSL_ResourceAccess().getSolidusKeyword_7());
-		}
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_ResourceAccess().getServiceIDEXTENDED_IDParserRuleCall_8_0());
-				}
-				lv_serviceID_8_0=ruleEXTENDED_ID
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_ResourceRule());
-					}
-					set(
-						$current,
-						"serviceID",
-						lv_serviceID_8_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.EXTENDED_ID");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-		otherlv_9='/'
-		{
-			newLeafNode(otherlv_9, grammarAccess.getDSL_ResourceAccess().getSolidusKeyword_9());
-		}
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_ResourceAccess().getResourceIDEXTENDED_IDParserRuleCall_10_0());
-				}
-				lv_resourceID_10_0=ruleEXTENDED_ID
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_ResourceRule());
-					}
-					set(
-						$current,
-						"resourceID",
-						lv_resourceID_10_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.EXTENDED_ID");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-		otherlv_11=']'
-		{
-			newLeafNode(otherlv_11, grammarAccess.getDSL_ResourceAccess().getRightSquareBracketKeyword_11());
-		}
-	)
-;
-
-// Entry rule entryRuleDSL_On
-entryRuleDSL_On returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getDSL_OnRule()); }
-	iv_ruleDSL_On=ruleDSL_On
-	{ $current=$iv_ruleDSL_On.current; }
-	EOF;
-
-// Rule DSL_On
-ruleDSL_On returns [EObject current=null]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		otherlv_0='on'
-		{
-			newLeafNode(otherlv_0, grammarAccess.getDSL_OnAccess().getOnKeyword_0());
-		}
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_OnAccess().getTriggersDSL_REF_CONDITIONParserRuleCall_1_0());
-				}
-				lv_triggers_1_0=ruleDSL_REF_CONDITION
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_OnRule());
-					}
-					add(
-						$current,
-						"triggers",
-						lv_triggers_1_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-		(
-			otherlv_2=','
-			{
-				newLeafNode(otherlv_2, grammarAccess.getDSL_OnAccess().getCommaKeyword_2_0());
-			}
-			(
-				(
-					{
-						newCompositeNode(grammarAccess.getDSL_OnAccess().getTriggersDSL_REF_CONDITIONParserRuleCall_2_1_0());
-					}
-					lv_triggers_3_0=ruleDSL_REF_CONDITION
-					{
-						if ($current==null) {
-							$current = createModelElementForParent(grammarAccess.getDSL_OnRule());
-						}
-						add(
-							$current,
-							"triggers",
-							lv_triggers_3_0,
-							"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
-						afterParserOrEnumRuleCall();
-					}
-				)
-			)
-		)*
-	)
-;
-
-// Entry rule entryRuleDSL_ECA_STATEMENT
-entryRuleDSL_ECA_STATEMENT returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getDSL_ECA_STATEMENTRule()); }
-	iv_ruleDSL_ECA_STATEMENT=ruleDSL_ECA_STATEMENT
-	{ $current=$iv_ruleDSL_ECA_STATEMENT.current; }
-	EOF;
-
-// Rule DSL_ECA_STATEMENT
-ruleDSL_ECA_STATEMENT returns [EObject current=null]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_ECA_STATEMENTAccess().getIfdoDSL_IfDoParserRuleCall_0_0());
-				}
-				lv_ifdo_0_0=ruleDSL_IfDo
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_ECA_STATEMENTRule());
-					}
-					set(
-						$current,
-						"ifdo",
-						lv_ifdo_0_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_IfDo");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_ECA_STATEMENTAccess().getElseIfdoDSL_ElseIfDoParserRuleCall_1_0());
-				}
-				lv_elseIfdo_1_0=ruleDSL_ElseIfDo
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_ECA_STATEMENTRule());
-					}
-					add(
-						$current,
-						"elseIfdo",
-						lv_elseIfdo_1_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_ElseIfDo");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)*
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_ECA_STATEMENTAccess().getElsedoDSL_ElseDoParserRuleCall_2_0());
-				}
-				lv_elsedo_2_0=ruleDSL_ElseDo
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_ECA_STATEMENTRule());
-					}
-					set(
-						$current,
-						"elsedo",
-						lv_elsedo_2_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_ElseDo");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)?
-		otherlv_3='end if'
-		{
-			newLeafNode(otherlv_3, grammarAccess.getDSL_ECA_STATEMENTAccess().getEndIfKeyword_3());
-		}
-	)
-;
-
-// Entry rule entryRuleDSL_IfDo
-entryRuleDSL_IfDo returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getDSL_IfDoRule()); }
-	iv_ruleDSL_IfDo=ruleDSL_IfDo
-	{ $current=$iv_ruleDSL_IfDo.current; }
-	EOF;
-
-// Rule DSL_IfDo
-ruleDSL_IfDo returns [EObject current=null]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		otherlv_0='if'
-		{
-			newLeafNode(otherlv_0, grammarAccess.getDSL_IfDoAccess().getIfKeyword_0());
-		}
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_IfDoAccess().getConditionDSL_Expression_OrParserRuleCall_1_0());
-				}
-				lv_condition_1_0=ruleDSL_Expression_Or
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_IfDoRule());
-					}
-					set(
-						$current,
-						"condition",
-						lv_condition_1_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Or");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-		otherlv_2='do'
-		{
-			newLeafNode(otherlv_2, grammarAccess.getDSL_IfDoAccess().getDoKeyword_2());
-		}
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_IfDoAccess().getActionsDSL_ListActionsParserRuleCall_3_0());
-				}
-				lv_actions_3_0=ruleDSL_ListActions
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_IfDoRule());
-					}
-					set(
-						$current,
-						"actions",
-						lv_actions_3_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_ListActions");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-	)
-;
-
-// Entry rule entryRuleDSL_ElseIfDo
-entryRuleDSL_ElseIfDo returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getDSL_ElseIfDoRule()); }
-	iv_ruleDSL_ElseIfDo=ruleDSL_ElseIfDo
-	{ $current=$iv_ruleDSL_ElseIfDo.current; }
-	EOF;
-
-// Rule DSL_ElseIfDo
-ruleDSL_ElseIfDo returns [EObject current=null]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		otherlv_0='else if'
-		{
-			newLeafNode(otherlv_0, grammarAccess.getDSL_ElseIfDoAccess().getElseIfKeyword_0());
-		}
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_ElseIfDoAccess().getConditionDSL_Expression_OrParserRuleCall_1_0());
-				}
-				lv_condition_1_0=ruleDSL_Expression_Or
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_ElseIfDoRule());
-					}
-					set(
-						$current,
-						"condition",
-						lv_condition_1_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Or");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-		otherlv_2='do'
-		{
-			newLeafNode(otherlv_2, grammarAccess.getDSL_ElseIfDoAccess().getDoKeyword_2());
-		}
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_ElseIfDoAccess().getActionsDSL_ListActionsParserRuleCall_3_0());
-				}
-				lv_actions_3_0=ruleDSL_ListActions
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_ElseIfDoRule());
-					}
-					set(
-						$current,
-						"actions",
-						lv_actions_3_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_ListActions");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-	)
-;
-
-// Entry rule entryRuleDSL_ElseDo
-entryRuleDSL_ElseDo returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getDSL_ElseDoRule()); }
-	iv_ruleDSL_ElseDo=ruleDSL_ElseDo
-	{ $current=$iv_ruleDSL_ElseDo.current; }
-	EOF;
-
-// Rule DSL_ElseDo
-ruleDSL_ElseDo returns [EObject current=null]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		otherlv_0='else do'
-		{
-			newLeafNode(otherlv_0, grammarAccess.getDSL_ElseDoAccess().getElseDoKeyword_0());
-		}
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_ElseDoAccess().getActionsDSL_ListActionsParserRuleCall_1_0());
-				}
-				lv_actions_1_0=ruleDSL_ListActions
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_ElseDoRule());
-					}
-					set(
-						$current,
-						"actions",
-						lv_actions_1_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_ListActions");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-	)
-;
-
-// Entry rule entryRuleNUMBER
-entryRuleNUMBER returns [String current=null]:
-	{ newCompositeNode(grammarAccess.getNUMBERRule()); }
-	iv_ruleNUMBER=ruleNUMBER
-	{ $current=$iv_ruleNUMBER.current.getText(); }
-	EOF;
-
-// Rule NUMBER
-ruleNUMBER returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		this_INT_0=RULE_INT
-		{
-			$current.merge(this_INT_0);
-		}
-		{
-			newLeafNode(this_INT_0, grammarAccess.getNUMBERAccess().getINTTerminalRuleCall_0());
-		}
-		    |
-		(
-			this_INT_1=RULE_INT
-			{
-				$current.merge(this_INT_1);
-			}
-			{
-				newLeafNode(this_INT_1, grammarAccess.getNUMBERAccess().getINTTerminalRuleCall_1_0());
-			}
-			kw='.'
-			{
-				$current.merge(kw);
-				newLeafNode(kw, grammarAccess.getNUMBERAccess().getFullStopKeyword_1_1());
-			}
-			this_INT_3=RULE_INT
-			{
-				$current.merge(this_INT_3);
-			}
-			{
-				newLeafNode(this_INT_3, grammarAccess.getNUMBERAccess().getINTTerminalRuleCall_1_2());
-			}
-		)
-	)
-;
-
-// Entry rule entryRuleEXTENDED_ID
-entryRuleEXTENDED_ID returns [String current=null]:
-	{ newCompositeNode(grammarAccess.getEXTENDED_IDRule()); }
-	iv_ruleEXTENDED_ID=ruleEXTENDED_ID
-	{ $current=$iv_ruleEXTENDED_ID.current.getText(); }
-	EOF;
-
-// Rule EXTENDED_ID
-ruleEXTENDED_ID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		this_ID_0=RULE_ID
-		{
-			$current.merge(this_ID_0);
-		}
-		{
-			newLeafNode(this_ID_0, grammarAccess.getEXTENDED_IDAccess().getIDTerminalRuleCall_0());
-		}
-		(
-			kw='.'
-			{
-				$current.merge(kw);
-				newLeafNode(kw, grammarAccess.getEXTENDED_IDAccess().getFullStopKeyword_1_0());
-			}
-			this_ID_2=RULE_ID
-			{
-				$current.merge(this_ID_2);
-			}
-			{
-				newLeafNode(this_ID_2, grammarAccess.getEXTENDED_IDAccess().getIDTerminalRuleCall_1_1());
-			}
-		)*
-	)
-;
-
-// Entry rule entryRuleDSL_REF_CONDITION
-entryRuleDSL_REF_CONDITION returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getDSL_REF_CONDITIONRule()); }
-	iv_ruleDSL_REF_CONDITION=ruleDSL_REF_CONDITION
-	{ $current=$iv_ruleDSL_REF_CONDITION.current; }
-	EOF;
-
-// Rule DSL_REF_CONDITION
-ruleDSL_REF_CONDITION returns [EObject current=null]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		(
-			(
-				{
-					if ($current==null) {
-						$current = createModelElement(grammarAccess.getDSL_REF_CONDITIONRule());
-					}
-				}
-				otherlv_0=RULE_ID
-				{
-					newLeafNode(otherlv_0, grammarAccess.getDSL_REF_CONDITIONAccess().getRefDSL_REFCrossReference_0_0());
-				}
-			)
-		)
-		otherlv_1='.'
-		{
-			newLeafNode(otherlv_1, grammarAccess.getDSL_REF_CONDITIONAccess().getFullStopKeyword_1());
-		}
-		otherlv_2='subscribe'
-		{
-			newLeafNode(otherlv_2, grammarAccess.getDSL_REF_CONDITIONAccess().getSubscribeKeyword_2());
-		}
-		otherlv_3='('
-		{
-			newLeafNode(otherlv_3, grammarAccess.getDSL_REF_CONDITIONAccess().getLeftParenthesisKeyword_3());
-		}
-		otherlv_4=')'
-		{
-			newLeafNode(otherlv_4, grammarAccess.getDSL_REF_CONDITIONAccess().getRightParenthesisKeyword_4());
-		}
-	)
-;
-
-// Entry rule entryRuleDSL_CEP_STATEMENT
-entryRuleDSL_CEP_STATEMENT returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getDSL_CEP_STATEMENTRule()); }
-	iv_ruleDSL_CEP_STATEMENT=ruleDSL_CEP_STATEMENT
-	{ $current=$iv_ruleDSL_CEP_STATEMENT.current; }
-	EOF;
-
-// Rule DSL_CEP_STATEMENT
-ruleDSL_CEP_STATEMENT returns [EObject current=null]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		otherlv_0='define'
-		{
-			newLeafNode(otherlv_0, grammarAccess.getDSL_CEP_STATEMENTAccess().getDefineKeyword_0());
-		}
-		(
-			(
-				lv_name_1_0=RULE_ID
-				{
-					newLeafNode(lv_name_1_0, grammarAccess.getDSL_CEP_STATEMENTAccess().getNameIDTerminalRuleCall_1_0());
-				}
-				{
-					if ($current==null) {
-						$current = createModelElement(grammarAccess.getDSL_CEP_STATEMENTRule());
-					}
-					setWithLastConsumed(
-						$current,
-						"name",
-						lv_name_1_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.ID");
-				}
-			)
-		)
-		otherlv_2='='
-		{
-			newLeafNode(otherlv_2, grammarAccess.getDSL_CEP_STATEMENTAccess().getEqualsSignKeyword_2());
-		}
-		(
-			(
-				(
-					{
-						newCompositeNode(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_AFTERParserRuleCall_3_0_0());
-					}
-					lv_operation_3_1=ruleDSL_CEP_AFTER
-					{
-						if ($current==null) {
-							$current = createModelElementForParent(grammarAccess.getDSL_CEP_STATEMENTRule());
-						}
-						set(
-							$current,
-							"operation",
-							lv_operation_3_1,
-							"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_AFTER");
-						afterParserOrEnumRuleCall();
-					}
-					    |
-					{
-						newCompositeNode(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_BEFOREParserRuleCall_3_0_1());
-					}
-					lv_operation_3_2=ruleDSL_CEP_BEFORE
-					{
-						if ($current==null) {
-							$current = createModelElementForParent(grammarAccess.getDSL_CEP_STATEMENTRule());
-						}
-						set(
-							$current,
-							"operation",
-							lv_operation_3_2,
-							"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_BEFORE");
-						afterParserOrEnumRuleCall();
-					}
-					    |
-					{
-						newCompositeNode(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_COINCIDEParserRuleCall_3_0_2());
-					}
-					lv_operation_3_3=ruleDSL_CEP_COINCIDE
-					{
-						if ($current==null) {
-							$current = createModelElementForParent(grammarAccess.getDSL_CEP_STATEMENTRule());
-						}
-						set(
-							$current,
-							"operation",
-							lv_operation_3_3,
-							"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_COINCIDE");
-						afterParserOrEnumRuleCall();
-					}
-					    |
-					{
-						newCompositeNode(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_MINParserRuleCall_3_0_3());
-					}
-					lv_operation_3_4=ruleDSL_CEP_MIN
-					{
-						if ($current==null) {
-							$current = createModelElementForParent(grammarAccess.getDSL_CEP_STATEMENTRule());
-						}
-						set(
-							$current,
-							"operation",
-							lv_operation_3_4,
-							"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_MIN");
-						afterParserOrEnumRuleCall();
-					}
-					    |
-					{
-						newCompositeNode(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_MAXParserRuleCall_3_0_4());
-					}
-					lv_operation_3_5=ruleDSL_CEP_MAX
-					{
-						if ($current==null) {
-							$current = createModelElementForParent(grammarAccess.getDSL_CEP_STATEMENTRule());
-						}
-						set(
-							$current,
-							"operation",
-							lv_operation_3_5,
-							"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_MAX");
-						afterParserOrEnumRuleCall();
-					}
-					    |
-					{
-						newCompositeNode(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_AVGParserRuleCall_3_0_5());
-					}
-					lv_operation_3_6=ruleDSL_CEP_AVG
-					{
-						if ($current==null) {
-							$current = createModelElementForParent(grammarAccess.getDSL_CEP_STATEMENTRule());
-						}
-						set(
-							$current,
-							"operation",
-							lv_operation_3_6,
-							"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_AVG");
-						afterParserOrEnumRuleCall();
-					}
-					    |
-					{
-						newCompositeNode(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_SUMParserRuleCall_3_0_6());
-					}
-					lv_operation_3_7=ruleDSL_CEP_SUM
-					{
-						if ($current==null) {
-							$current = createModelElementForParent(grammarAccess.getDSL_CEP_STATEMENTRule());
-						}
-						set(
-							$current,
-							"operation",
-							lv_operation_3_7,
-							"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_SUM");
-						afterParserOrEnumRuleCall();
-					}
-					    |
-					{
-						newCompositeNode(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_COUNTParserRuleCall_3_0_7());
-					}
-					lv_operation_3_8=ruleDSL_CEP_COUNT
-					{
-						if ($current==null) {
-							$current = createModelElementForParent(grammarAccess.getDSL_CEP_STATEMENTRule());
-						}
-						set(
-							$current,
-							"operation",
-							lv_operation_3_8,
-							"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_COUNT");
-						afterParserOrEnumRuleCall();
-					}
-				)
-			)
-		)
-	)
-;
-
-// Entry rule entryRuleDSL_CEP_AFTER
-entryRuleDSL_CEP_AFTER returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getDSL_CEP_AFTERRule()); }
-	iv_ruleDSL_CEP_AFTER=ruleDSL_CEP_AFTER
-	{ $current=$iv_ruleDSL_CEP_AFTER.current; }
-	EOF;
-
-// Rule DSL_CEP_AFTER
-ruleDSL_CEP_AFTER returns [EObject current=null]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		otherlv_0='after'
-		{
-			newLeafNode(otherlv_0, grammarAccess.getDSL_CEP_AFTERAccess().getAfterKeyword_0());
-		}
-		otherlv_1='('
-		{
-			newLeafNode(otherlv_1, grammarAccess.getDSL_CEP_AFTERAccess().getLeftParenthesisKeyword_1());
-		}
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_CEP_AFTERAccess().getRef1DSL_REF_CONDITIONParserRuleCall_2_0());
-				}
-				lv_ref1_2_0=ruleDSL_REF_CONDITION
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_CEP_AFTERRule());
-					}
-					set(
-						$current,
-						"ref1",
-						lv_ref1_2_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-		otherlv_3=','
-		{
-			newLeafNode(otherlv_3, grammarAccess.getDSL_CEP_AFTERAccess().getCommaKeyword_3());
-		}
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_CEP_AFTERAccess().getRef2DSL_REF_CONDITIONParserRuleCall_4_0());
-				}
-				lv_ref2_4_0=ruleDSL_REF_CONDITION
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_CEP_AFTERRule());
-					}
-					set(
-						$current,
-						"ref2",
-						lv_ref2_4_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-		otherlv_5=','
-		{
-			newLeafNode(otherlv_5, grammarAccess.getDSL_CEP_AFTERAccess().getCommaKeyword_5());
-		}
-		(
-			(
-				(
-					{
-						newCompositeNode(grammarAccess.getDSL_CEP_AFTERAccess().getStartDSL_CEP_DURATIONParserRuleCall_6_0_0());
-					}
-					lv_start_6_0=ruleDSL_CEP_DURATION
-					{
-						if ($current==null) {
-							$current = createModelElementForParent(grammarAccess.getDSL_CEP_AFTERRule());
-						}
-						set(
-							$current,
-							"start",
-							lv_start_6_0,
-							"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION");
-						afterParserOrEnumRuleCall();
-					}
-				)
-			)
-			otherlv_7=','
-			{
-				newLeafNode(otherlv_7, grammarAccess.getDSL_CEP_AFTERAccess().getCommaKeyword_6_1());
-			}
-		)?
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_CEP_AFTERAccess().getEndDSL_CEP_DURATIONParserRuleCall_7_0());
-				}
-				lv_end_8_0=ruleDSL_CEP_DURATION
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_CEP_AFTERRule());
-					}
-					set(
-						$current,
-						"end",
-						lv_end_8_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-		otherlv_9=')'
-		{
-			newLeafNode(otherlv_9, grammarAccess.getDSL_CEP_AFTERAccess().getRightParenthesisKeyword_8());
-		}
-	)
-;
-
-// Entry rule entryRuleDSL_CEP_BEFORE
-entryRuleDSL_CEP_BEFORE returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getDSL_CEP_BEFORERule()); }
-	iv_ruleDSL_CEP_BEFORE=ruleDSL_CEP_BEFORE
-	{ $current=$iv_ruleDSL_CEP_BEFORE.current; }
-	EOF;
-
-// Rule DSL_CEP_BEFORE
-ruleDSL_CEP_BEFORE returns [EObject current=null]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		otherlv_0='before'
-		{
-			newLeafNode(otherlv_0, grammarAccess.getDSL_CEP_BEFOREAccess().getBeforeKeyword_0());
-		}
-		otherlv_1='('
-		{
-			newLeafNode(otherlv_1, grammarAccess.getDSL_CEP_BEFOREAccess().getLeftParenthesisKeyword_1());
-		}
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_CEP_BEFOREAccess().getRef1DSL_REF_CONDITIONParserRuleCall_2_0());
-				}
-				lv_ref1_2_0=ruleDSL_REF_CONDITION
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_CEP_BEFORERule());
-					}
-					set(
-						$current,
-						"ref1",
-						lv_ref1_2_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-		otherlv_3=','
-		{
-			newLeafNode(otherlv_3, grammarAccess.getDSL_CEP_BEFOREAccess().getCommaKeyword_3());
-		}
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_CEP_BEFOREAccess().getRef2DSL_REF_CONDITIONParserRuleCall_4_0());
-				}
-				lv_ref2_4_0=ruleDSL_REF_CONDITION
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_CEP_BEFORERule());
-					}
-					set(
-						$current,
-						"ref2",
-						lv_ref2_4_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-		otherlv_5=','
-		{
-			newLeafNode(otherlv_5, grammarAccess.getDSL_CEP_BEFOREAccess().getCommaKeyword_5());
-		}
-		(
-			(
-				(
-					{
-						newCompositeNode(grammarAccess.getDSL_CEP_BEFOREAccess().getStartDSL_CEP_DURATIONParserRuleCall_6_0_0());
-					}
-					lv_start_6_0=ruleDSL_CEP_DURATION
-					{
-						if ($current==null) {
-							$current = createModelElementForParent(grammarAccess.getDSL_CEP_BEFORERule());
-						}
-						set(
-							$current,
-							"start",
-							lv_start_6_0,
-							"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION");
-						afterParserOrEnumRuleCall();
-					}
-				)
-			)
-			otherlv_7=','
-			{
-				newLeafNode(otherlv_7, grammarAccess.getDSL_CEP_BEFOREAccess().getCommaKeyword_6_1());
-			}
-		)?
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_CEP_BEFOREAccess().getEndDSL_CEP_DURATIONParserRuleCall_7_0());
-				}
-				lv_end_8_0=ruleDSL_CEP_DURATION
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_CEP_BEFORERule());
-					}
-					set(
-						$current,
-						"end",
-						lv_end_8_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-		otherlv_9=')'
-		{
-			newLeafNode(otherlv_9, grammarAccess.getDSL_CEP_BEFOREAccess().getRightParenthesisKeyword_8());
-		}
-	)
-;
-
-// Entry rule entryRuleDSL_CEP_COINCIDE
-entryRuleDSL_CEP_COINCIDE returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getDSL_CEP_COINCIDERule()); }
-	iv_ruleDSL_CEP_COINCIDE=ruleDSL_CEP_COINCIDE
-	{ $current=$iv_ruleDSL_CEP_COINCIDE.current; }
-	EOF;
-
-// Rule DSL_CEP_COINCIDE
-ruleDSL_CEP_COINCIDE returns [EObject current=null]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		otherlv_0='coincide'
-		{
-			newLeafNode(otherlv_0, grammarAccess.getDSL_CEP_COINCIDEAccess().getCoincideKeyword_0());
-		}
-		otherlv_1='('
-		{
-			newLeafNode(otherlv_1, grammarAccess.getDSL_CEP_COINCIDEAccess().getLeftParenthesisKeyword_1());
-		}
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_CEP_COINCIDEAccess().getRef1DSL_REF_CONDITIONParserRuleCall_2_0());
-				}
-				lv_ref1_2_0=ruleDSL_REF_CONDITION
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_CEP_COINCIDERule());
-					}
-					set(
-						$current,
-						"ref1",
-						lv_ref1_2_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-		otherlv_3=','
-		{
-			newLeafNode(otherlv_3, grammarAccess.getDSL_CEP_COINCIDEAccess().getCommaKeyword_3());
-		}
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_CEP_COINCIDEAccess().getRef2DSL_REF_CONDITIONParserRuleCall_4_0());
-				}
-				lv_ref2_4_0=ruleDSL_REF_CONDITION
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_CEP_COINCIDERule());
-					}
-					set(
-						$current,
-						"ref2",
-						lv_ref2_4_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-		otherlv_5=','
-		{
-			newLeafNode(otherlv_5, grammarAccess.getDSL_CEP_COINCIDEAccess().getCommaKeyword_5());
-		}
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_CEP_COINCIDEAccess().getWindowDSL_CEP_DURATIONParserRuleCall_6_0());
-				}
-				lv_window_6_0=ruleDSL_CEP_DURATION
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_CEP_COINCIDERule());
-					}
-					set(
-						$current,
-						"window",
-						lv_window_6_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-		otherlv_7=')'
-		{
-			newLeafNode(otherlv_7, grammarAccess.getDSL_CEP_COINCIDEAccess().getRightParenthesisKeyword_7());
-		}
-	)
-;
-
-// Entry rule entryRuleDSL_CEP_MIN
-entryRuleDSL_CEP_MIN returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getDSL_CEP_MINRule()); }
-	iv_ruleDSL_CEP_MIN=ruleDSL_CEP_MIN
-	{ $current=$iv_ruleDSL_CEP_MIN.current; }
-	EOF;
-
-// Rule DSL_CEP_MIN
-ruleDSL_CEP_MIN returns [EObject current=null]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		otherlv_0='min'
-		{
-			newLeafNode(otherlv_0, grammarAccess.getDSL_CEP_MINAccess().getMinKeyword_0());
-		}
-		otherlv_1='('
-		{
-			newLeafNode(otherlv_1, grammarAccess.getDSL_CEP_MINAccess().getLeftParenthesisKeyword_1());
-		}
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_CEP_MINAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0());
-				}
-				lv_ref_2_0=ruleDSL_REF_CONDITION
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_CEP_MINRule());
-					}
-					set(
-						$current,
-						"ref",
-						lv_ref_2_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-		otherlv_3=','
-		{
-			newLeafNode(otherlv_3, grammarAccess.getDSL_CEP_MINAccess().getCommaKeyword_3());
-		}
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_CEP_MINAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0());
-				}
-				lv_window_4_0=ruleDSL_CEP_DURATION
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_CEP_MINRule());
-					}
-					set(
-						$current,
-						"window",
-						lv_window_4_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-		otherlv_5=')'
-		{
-			newLeafNode(otherlv_5, grammarAccess.getDSL_CEP_MINAccess().getRightParenthesisKeyword_5());
-		}
-	)
-;
-
-// Entry rule entryRuleDSL_CEP_MAX
-entryRuleDSL_CEP_MAX returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getDSL_CEP_MAXRule()); }
-	iv_ruleDSL_CEP_MAX=ruleDSL_CEP_MAX
-	{ $current=$iv_ruleDSL_CEP_MAX.current; }
-	EOF;
-
-// Rule DSL_CEP_MAX
-ruleDSL_CEP_MAX returns [EObject current=null]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		otherlv_0='max'
-		{
-			newLeafNode(otherlv_0, grammarAccess.getDSL_CEP_MAXAccess().getMaxKeyword_0());
-		}
-		otherlv_1='('
-		{
-			newLeafNode(otherlv_1, grammarAccess.getDSL_CEP_MAXAccess().getLeftParenthesisKeyword_1());
-		}
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_CEP_MAXAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0());
-				}
-				lv_ref_2_0=ruleDSL_REF_CONDITION
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_CEP_MAXRule());
-					}
-					set(
-						$current,
-						"ref",
-						lv_ref_2_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-		otherlv_3=','
-		{
-			newLeafNode(otherlv_3, grammarAccess.getDSL_CEP_MAXAccess().getCommaKeyword_3());
-		}
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_CEP_MAXAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0());
-				}
-				lv_window_4_0=ruleDSL_CEP_DURATION
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_CEP_MAXRule());
-					}
-					set(
-						$current,
-						"window",
-						lv_window_4_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-		otherlv_5=')'
-		{
-			newLeafNode(otherlv_5, grammarAccess.getDSL_CEP_MAXAccess().getRightParenthesisKeyword_5());
-		}
-	)
-;
-
-// Entry rule entryRuleDSL_CEP_AVG
-entryRuleDSL_CEP_AVG returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getDSL_CEP_AVGRule()); }
-	iv_ruleDSL_CEP_AVG=ruleDSL_CEP_AVG
-	{ $current=$iv_ruleDSL_CEP_AVG.current; }
-	EOF;
-
-// Rule DSL_CEP_AVG
-ruleDSL_CEP_AVG returns [EObject current=null]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		otherlv_0='avg'
-		{
-			newLeafNode(otherlv_0, grammarAccess.getDSL_CEP_AVGAccess().getAvgKeyword_0());
-		}
-		otherlv_1='('
-		{
-			newLeafNode(otherlv_1, grammarAccess.getDSL_CEP_AVGAccess().getLeftParenthesisKeyword_1());
-		}
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_CEP_AVGAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0());
-				}
-				lv_ref_2_0=ruleDSL_REF_CONDITION
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_CEP_AVGRule());
-					}
-					set(
-						$current,
-						"ref",
-						lv_ref_2_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-		otherlv_3=','
-		{
-			newLeafNode(otherlv_3, grammarAccess.getDSL_CEP_AVGAccess().getCommaKeyword_3());
-		}
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_CEP_AVGAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0());
-				}
-				lv_window_4_0=ruleDSL_CEP_DURATION
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_CEP_AVGRule());
-					}
-					set(
-						$current,
-						"window",
-						lv_window_4_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-		otherlv_5=')'
-		{
-			newLeafNode(otherlv_5, grammarAccess.getDSL_CEP_AVGAccess().getRightParenthesisKeyword_5());
-		}
-	)
-;
-
-// Entry rule entryRuleDSL_CEP_SUM
-entryRuleDSL_CEP_SUM returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getDSL_CEP_SUMRule()); }
-	iv_ruleDSL_CEP_SUM=ruleDSL_CEP_SUM
-	{ $current=$iv_ruleDSL_CEP_SUM.current; }
-	EOF;
-
-// Rule DSL_CEP_SUM
-ruleDSL_CEP_SUM returns [EObject current=null]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		otherlv_0='sum'
-		{
-			newLeafNode(otherlv_0, grammarAccess.getDSL_CEP_SUMAccess().getSumKeyword_0());
-		}
-		otherlv_1='('
-		{
-			newLeafNode(otherlv_1, grammarAccess.getDSL_CEP_SUMAccess().getLeftParenthesisKeyword_1());
-		}
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_CEP_SUMAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0());
-				}
-				lv_ref_2_0=ruleDSL_REF_CONDITION
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_CEP_SUMRule());
-					}
-					set(
-						$current,
-						"ref",
-						lv_ref_2_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-		otherlv_3=','
-		{
-			newLeafNode(otherlv_3, grammarAccess.getDSL_CEP_SUMAccess().getCommaKeyword_3());
-		}
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_CEP_SUMAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0());
-				}
-				lv_window_4_0=ruleDSL_CEP_DURATION
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_CEP_SUMRule());
-					}
-					set(
-						$current,
-						"window",
-						lv_window_4_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-		otherlv_5=')'
-		{
-			newLeafNode(otherlv_5, grammarAccess.getDSL_CEP_SUMAccess().getRightParenthesisKeyword_5());
-		}
-	)
-;
-
-// Entry rule entryRuleDSL_CEP_COUNT
-entryRuleDSL_CEP_COUNT returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getDSL_CEP_COUNTRule()); }
-	iv_ruleDSL_CEP_COUNT=ruleDSL_CEP_COUNT
-	{ $current=$iv_ruleDSL_CEP_COUNT.current; }
-	EOF;
-
-// Rule DSL_CEP_COUNT
-ruleDSL_CEP_COUNT returns [EObject current=null]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		otherlv_0='count'
-		{
-			newLeafNode(otherlv_0, grammarAccess.getDSL_CEP_COUNTAccess().getCountKeyword_0());
-		}
-		otherlv_1='('
-		{
-			newLeafNode(otherlv_1, grammarAccess.getDSL_CEP_COUNTAccess().getLeftParenthesisKeyword_1());
-		}
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_CEP_COUNTAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0());
-				}
-				lv_ref_2_0=ruleDSL_REF_CONDITION
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_CEP_COUNTRule());
-					}
-					set(
-						$current,
-						"ref",
-						lv_ref_2_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-		otherlv_3=','
-		{
-			newLeafNode(otherlv_3, grammarAccess.getDSL_CEP_COUNTAccess().getCommaKeyword_3());
-		}
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_CEP_COUNTAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0());
-				}
-				lv_window_4_0=ruleDSL_CEP_DURATION
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_CEP_COUNTRule());
-					}
-					set(
-						$current,
-						"window",
-						lv_window_4_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-		otherlv_5=')'
-		{
-			newLeafNode(otherlv_5, grammarAccess.getDSL_CEP_COUNTAccess().getRightParenthesisKeyword_5());
-		}
-	)
-;
-
-// Entry rule entryRuleDSL_CEP_DURATION
-entryRuleDSL_CEP_DURATION returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getDSL_CEP_DURATIONRule()); }
-	iv_ruleDSL_CEP_DURATION=ruleDSL_CEP_DURATION
-	{ $current=$iv_ruleDSL_CEP_DURATION.current; }
-	EOF;
-
-// Rule DSL_CEP_DURATION
-ruleDSL_CEP_DURATION returns [EObject current=null]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_CEP_DURATIONAccess().getUnitsDSL_CEP_DURATION_MINParserRuleCall_0_0());
-				}
-				lv_units_0_1=ruleDSL_CEP_DURATION_MIN
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_CEP_DURATIONRule());
-					}
-					add(
-						$current,
-						"units",
-						lv_units_0_1,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION_MIN");
-					afterParserOrEnumRuleCall();
-				}
-				    |
-				{
-					newCompositeNode(grammarAccess.getDSL_CEP_DURATIONAccess().getUnitsDSL_CEP_DURATION_SECParserRuleCall_0_1());
-				}
-				lv_units_0_2=ruleDSL_CEP_DURATION_SEC
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_CEP_DURATIONRule());
-					}
-					add(
-						$current,
-						"units",
-						lv_units_0_2,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION_SEC");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-	)+
-;
-
-// Entry rule entryRuleDSL_CEP_DURATION_MIN
-entryRuleDSL_CEP_DURATION_MIN returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getDSL_CEP_DURATION_MINRule()); }
-	iv_ruleDSL_CEP_DURATION_MIN=ruleDSL_CEP_DURATION_MIN
-	{ $current=$iv_ruleDSL_CEP_DURATION_MIN.current; }
-	EOF;
-
-// Rule DSL_CEP_DURATION_MIN
-ruleDSL_CEP_DURATION_MIN returns [EObject current=null]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_CEP_DURATION_MINAccess().getMinNUMBERParserRuleCall_0_0());
-				}
-				lv_min_0_0=ruleNUMBER
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_CEP_DURATION_MINRule());
-					}
-					set(
-						$current,
-						"min",
-						lv_min_0_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.NUMBER");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-		otherlv_1='min'
-		{
-			newLeafNode(otherlv_1, grammarAccess.getDSL_CEP_DURATION_MINAccess().getMinKeyword_1());
-		}
-	)
-;
-
-// Entry rule entryRuleDSL_CEP_DURATION_SEC
-entryRuleDSL_CEP_DURATION_SEC returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getDSL_CEP_DURATION_SECRule()); }
-	iv_ruleDSL_CEP_DURATION_SEC=ruleDSL_CEP_DURATION_SEC
-	{ $current=$iv_ruleDSL_CEP_DURATION_SEC.current; }
-	EOF;
-
-// Rule DSL_CEP_DURATION_SEC
-ruleDSL_CEP_DURATION_SEC returns [EObject current=null]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_CEP_DURATION_SECAccess().getSecNUMBERParserRuleCall_0_0());
-				}
-				lv_sec_0_0=ruleNUMBER
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_CEP_DURATION_SECRule());
-					}
-					set(
-						$current,
-						"sec",
-						lv_sec_0_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.NUMBER");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-		otherlv_1='sec'
-		{
-			newLeafNode(otherlv_1, grammarAccess.getDSL_CEP_DURATION_SECAccess().getSecKeyword_1());
-		}
-	)
-;
-
-// Entry rule entryRuleDSL_ListActions
-entryRuleDSL_ListActions returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getDSL_ListActionsRule()); }
-	iv_ruleDSL_ListActions=ruleDSL_ListActions
-	{ $current=$iv_ruleDSL_ListActions.current; }
-	EOF;
-
-// Rule DSL_ListActions
-ruleDSL_ListActions returns [EObject current=null]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_ListActionsAccess().getActionListDSL_ResourceActionParserRuleCall_0_0());
-				}
-				lv_actionList_0_0=ruleDSL_ResourceAction
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_ListActionsRule());
-					}
-					add(
-						$current,
-						"actionList",
-						lv_actionList_0_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_ResourceAction");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-		(
-			otherlv_1=','
-			{
-				newLeafNode(otherlv_1, grammarAccess.getDSL_ListActionsAccess().getCommaKeyword_1_0());
-			}
-			(
-				(
-					{
-						newCompositeNode(grammarAccess.getDSL_ListActionsAccess().getActionListDSL_ResourceActionParserRuleCall_1_1_0());
-					}
-					lv_actionList_2_0=ruleDSL_ResourceAction
-					{
-						if ($current==null) {
-							$current = createModelElementForParent(grammarAccess.getDSL_ListActionsRule());
-						}
-						add(
-							$current,
-							"actionList",
-							lv_actionList_2_0,
-							"org.eclipse.sensinact.studio.language.Sensinact.DSL_ResourceAction");
-						afterParserOrEnumRuleCall();
-					}
-				)
-			)
-		)*
-	)
-;
-
-// Entry rule entryRuleDSL_ResourceAction
-entryRuleDSL_ResourceAction returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getDSL_ResourceActionRule()); }
-	iv_ruleDSL_ResourceAction=ruleDSL_ResourceAction
-	{ $current=$iv_ruleDSL_ResourceAction.current; }
-	EOF;
-
-// Rule DSL_ResourceAction
-ruleDSL_ResourceAction returns [EObject current=null]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		(
-			(
-				(
-					lv_variable_0_0=RULE_ID
-					{
-						newLeafNode(lv_variable_0_0, grammarAccess.getDSL_ResourceActionAccess().getVariableIDTerminalRuleCall_0_0_0());
-					}
-					{
-						if ($current==null) {
-							$current = createModelElement(grammarAccess.getDSL_ResourceActionRule());
-						}
-						setWithLastConsumed(
-							$current,
-							"variable",
-							lv_variable_0_0,
-							"org.eclipse.sensinact.studio.language.Sensinact.ID");
-					}
-				)
-			)
-			otherlv_1='='
-			{
-				newLeafNode(otherlv_1, grammarAccess.getDSL_ResourceActionAccess().getEqualsSignKeyword_0_1());
-			}
-		)?
-		(
-			(
-				{
-					if ($current==null) {
-						$current = createModelElement(grammarAccess.getDSL_ResourceActionRule());
-					}
-				}
-				otherlv_2=RULE_ID
-				{
-					newLeafNode(otherlv_2, grammarAccess.getDSL_ResourceActionAccess().getRefDSL_REFCrossReference_1_0());
-				}
-			)
-		)
-		otherlv_3='.'
-		{
-			newLeafNode(otherlv_3, grammarAccess.getDSL_ResourceActionAccess().getFullStopKeyword_2());
-		}
-		(
-			(
-				(
-					lv_actiontype_4_1='act'
-					{
-						newLeafNode(lv_actiontype_4_1, grammarAccess.getDSL_ResourceActionAccess().getActiontypeActKeyword_3_0_0());
-					}
-					{
-						if ($current==null) {
-							$current = createModelElement(grammarAccess.getDSL_ResourceActionRule());
-						}
-						setWithLastConsumed($current, "actiontype", lv_actiontype_4_1, null);
-					}
-					    |
-					lv_actiontype_4_2='set'
-					{
-						newLeafNode(lv_actiontype_4_2, grammarAccess.getDSL_ResourceActionAccess().getActiontypeSetKeyword_3_0_1());
-					}
-					{
-						if ($current==null) {
-							$current = createModelElement(grammarAccess.getDSL_ResourceActionRule());
-						}
-						setWithLastConsumed($current, "actiontype", lv_actiontype_4_2, null);
-					}
-				)
-			)
-		)
-		otherlv_5='('
-		{
-			newLeafNode(otherlv_5, grammarAccess.getDSL_ResourceActionAccess().getLeftParenthesisKeyword_4());
-		}
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_ResourceActionAccess().getListParamDSL_ListParamParserRuleCall_5_0());
-				}
-				lv_listParam_6_0=ruleDSL_ListParam
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_ResourceActionRule());
-					}
-					set(
-						$current,
-						"listParam",
-						lv_listParam_6_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_ListParam");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)?
-		otherlv_7=')'
-		{
-			newLeafNode(otherlv_7, grammarAccess.getDSL_ResourceActionAccess().getRightParenthesisKeyword_6());
-		}
-	)
-;
-
-// Entry rule entryRuleDSL_ListParam
-entryRuleDSL_ListParam returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getDSL_ListParamRule()); }
-	iv_ruleDSL_ListParam=ruleDSL_ListParam
-	{ $current=$iv_ruleDSL_ListParam.current; }
-	EOF;
-
-// Rule DSL_ListParam
-ruleDSL_ListParam returns [EObject current=null]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getDSL_ListParamAccess().getParamDSL_Expression_OrParserRuleCall_0_0());
-				}
-				lv_param_0_0=ruleDSL_Expression_Or
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getDSL_ListParamRule());
-					}
-					add(
-						$current,
-						"param",
-						lv_param_0_0,
-						"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Or");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)
-		(
-			otherlv_1=','
-			{
-				newLeafNode(otherlv_1, grammarAccess.getDSL_ListParamAccess().getCommaKeyword_1_0());
-			}
-			(
-				(
-					{
-						newCompositeNode(grammarAccess.getDSL_ListParamAccess().getParamDSL_Expression_OrParserRuleCall_1_1_0());
-					}
-					lv_param_2_0=ruleDSL_Expression_Or
-					{
-						if ($current==null) {
-							$current = createModelElementForParent(grammarAccess.getDSL_ListParamRule());
-						}
-						add(
-							$current,
-							"param",
-							lv_param_2_0,
-							"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Or");
-						afterParserOrEnumRuleCall();
-					}
-				)
-			)
-		)*
-	)
-;
-
-// Entry rule entryRuleDSL_Expression_Or
-entryRuleDSL_Expression_Or returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getDSL_Expression_OrRule()); }
-	iv_ruleDSL_Expression_Or=ruleDSL_Expression_Or
-	{ $current=$iv_ruleDSL_Expression_Or.current; }
-	EOF;
-
-// Rule DSL_Expression_Or
-ruleDSL_Expression_Or returns [EObject current=null]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		{
-			newCompositeNode(grammarAccess.getDSL_Expression_OrAccess().getDSL_Expression_AndParserRuleCall_0());
-		}
-		this_DSL_Expression_And_0=ruleDSL_Expression_And
-		{
-			$current = $this_DSL_Expression_And_0.current;
-			afterParserOrEnumRuleCall();
-		}
-		(
-			otherlv_1='or'
-			{
-				newLeafNode(otherlv_1, grammarAccess.getDSL_Expression_OrAccess().getOrKeyword_1_0());
-			}
-			(
-				{
-					$current = forceCreateModelElementAndSet(
-						grammarAccess.getDSL_Expression_OrAccess().getDSL_Expression_OrLeftAction_1_1(),
-						$current);
-				}
-			)
-			(
-				(
-					{
-						newCompositeNode(grammarAccess.getDSL_Expression_OrAccess().getRightDSL_Expression_AndParserRuleCall_1_2_0());
-					}
-					lv_right_3_0=ruleDSL_Expression_And
-					{
-						if ($current==null) {
-							$current = createModelElementForParent(grammarAccess.getDSL_Expression_OrRule());
-						}
-						set(
-							$current,
-							"right",
-							lv_right_3_0,
-							"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_And");
-						afterParserOrEnumRuleCall();
-					}
-				)
-			)
-		)*
-	)
-;
-
-// Entry rule entryRuleDSL_Expression_And
-entryRuleDSL_Expression_And returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getDSL_Expression_AndRule()); }
-	iv_ruleDSL_Expression_And=ruleDSL_Expression_And
-	{ $current=$iv_ruleDSL_Expression_And.current; }
-	EOF;
-
-// Rule DSL_Expression_And
-ruleDSL_Expression_And returns [EObject current=null]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		{
-			newCompositeNode(grammarAccess.getDSL_Expression_AndAccess().getDSL_Expression_DiffEqualParserRuleCall_0());
-		}
-		this_DSL_Expression_DiffEqual_0=ruleDSL_Expression_DiffEqual
-		{
-			$current = $this_DSL_Expression_DiffEqual_0.current;
-			afterParserOrEnumRuleCall();
-		}
-		(
-			otherlv_1='and'
-			{
-				newLeafNode(otherlv_1, grammarAccess.getDSL_Expression_AndAccess().getAndKeyword_1_0());
-			}
-			(
-				{
-					$current = forceCreateModelElementAndSet(
-						grammarAccess.getDSL_Expression_AndAccess().getDSL_Expression_AndLeftAction_1_1(),
-						$current);
-				}
-			)
-			(
-				(
-					{
-						newCompositeNode(grammarAccess.getDSL_Expression_AndAccess().getRightDSL_Expression_DiffEqualParserRuleCall_1_2_0());
-					}
-					lv_right_3_0=ruleDSL_Expression_DiffEqual
-					{
-						if ($current==null) {
-							$current = createModelElementForParent(grammarAccess.getDSL_Expression_AndRule());
-						}
-						set(
-							$current,
-							"right",
-							lv_right_3_0,
-							"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_DiffEqual");
-						afterParserOrEnumRuleCall();
-					}
-				)
-			)
-		)*
-	)
-;
-
-// Entry rule entryRuleDSL_Expression_DiffEqual
-entryRuleDSL_Expression_DiffEqual returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getDSL_Expression_DiffEqualRule()); }
-	iv_ruleDSL_Expression_DiffEqual=ruleDSL_Expression_DiffEqual
-	{ $current=$iv_ruleDSL_Expression_DiffEqual.current; }
-	EOF;
-
-// Rule DSL_Expression_DiffEqual
-ruleDSL_Expression_DiffEqual returns [EObject current=null]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		{
-			newCompositeNode(grammarAccess.getDSL_Expression_DiffEqualAccess().getDSL_Expression_CompareParserRuleCall_0());
-		}
-		this_DSL_Expression_Compare_0=ruleDSL_Expression_Compare
-		{
-			$current = $this_DSL_Expression_Compare_0.current;
-			afterParserOrEnumRuleCall();
-		}
-		(
-			(
-				otherlv_1='!='
-				{
-					newLeafNode(otherlv_1, grammarAccess.getDSL_Expression_DiffEqualAccess().getExclamationMarkEqualsSignKeyword_1_0_0());
-				}
-				(
-					{
-						$current = forceCreateModelElementAndSet(
-							grammarAccess.getDSL_Expression_DiffEqualAccess().getDSL_Expression_DiffLeftAction_1_0_1(),
-							$current);
-					}
-				)
-				(
-					(
-						{
-							newCompositeNode(grammarAccess.getDSL_Expression_DiffEqualAccess().getRightDSL_Expression_CompareParserRuleCall_1_0_2_0());
-						}
-						lv_right_3_0=ruleDSL_Expression_Compare
-						{
-							if ($current==null) {
-								$current = createModelElementForParent(grammarAccess.getDSL_Expression_DiffEqualRule());
-							}
-							set(
-								$current,
-								"right",
-								lv_right_3_0,
-								"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Compare");
-							afterParserOrEnumRuleCall();
-						}
-					)
-				)
-			)
-			    |
-			(
-				otherlv_4='=='
-				{
-					newLeafNode(otherlv_4, grammarAccess.getDSL_Expression_DiffEqualAccess().getEqualsSignEqualsSignKeyword_1_1_0());
-				}
-				(
-					{
-						$current = forceCreateModelElementAndSet(
-							grammarAccess.getDSL_Expression_DiffEqualAccess().getDSL_Expression_EqualLeftAction_1_1_1(),
-							$current);
-					}
-				)
-				(
-					(
-						{
-							newCompositeNode(grammarAccess.getDSL_Expression_DiffEqualAccess().getRightDSL_Expression_CompareParserRuleCall_1_1_2_0());
-						}
-						lv_right_6_0=ruleDSL_Expression_Compare
-						{
-							if ($current==null) {
-								$current = createModelElementForParent(grammarAccess.getDSL_Expression_DiffEqualRule());
-							}
-							set(
-								$current,
-								"right",
-								lv_right_6_0,
-								"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Compare");
-							afterParserOrEnumRuleCall();
-						}
-					)
-				)
-			)
-		)*
-	)
-;
-
-// Entry rule entryRuleDSL_Expression_Compare
-entryRuleDSL_Expression_Compare returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getDSL_Expression_CompareRule()); }
-	iv_ruleDSL_Expression_Compare=ruleDSL_Expression_Compare
-	{ $current=$iv_ruleDSL_Expression_Compare.current; }
-	EOF;
-
-// Rule DSL_Expression_Compare
-ruleDSL_Expression_Compare returns [EObject current=null]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		{
-			newCompositeNode(grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_PlusMinusParserRuleCall_0());
-		}
-		this_DSL_Expression_PlusMinus_0=ruleDSL_Expression_PlusMinus
-		{
-			$current = $this_DSL_Expression_PlusMinus_0.current;
-			afterParserOrEnumRuleCall();
-		}
-		(
-			(
-				otherlv_1='>'
-				{
-					newLeafNode(otherlv_1, grammarAccess.getDSL_Expression_CompareAccess().getGreaterThanSignKeyword_1_0_0());
-				}
-				(
-					{
-						$current = forceCreateModelElementAndSet(
-							grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_LargerLeftAction_1_0_1(),
-							$current);
-					}
-				)
-				(
-					(
-						{
-							newCompositeNode(grammarAccess.getDSL_Expression_CompareAccess().getRightDSL_Expression_PlusMinusParserRuleCall_1_0_2_0());
-						}
-						lv_right_3_0=ruleDSL_Expression_PlusMinus
-						{
-							if ($current==null) {
-								$current = createModelElementForParent(grammarAccess.getDSL_Expression_CompareRule());
-							}
-							set(
-								$current,
-								"right",
-								lv_right_3_0,
-								"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_PlusMinus");
-							afterParserOrEnumRuleCall();
-						}
-					)
-				)
-			)
-			    |
-			(
-				otherlv_4='>='
-				{
-					newLeafNode(otherlv_4, grammarAccess.getDSL_Expression_CompareAccess().getGreaterThanSignEqualsSignKeyword_1_1_0());
-				}
-				(
-					{
-						$current = forceCreateModelElementAndSet(
-							grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_Larger_EqualLeftAction_1_1_1(),
-							$current);
-					}
-				)
-				(
-					(
-						{
-							newCompositeNode(grammarAccess.getDSL_Expression_CompareAccess().getRightDSL_Expression_PlusMinusParserRuleCall_1_1_2_0());
-						}
-						lv_right_6_0=ruleDSL_Expression_PlusMinus
-						{
-							if ($current==null) {
-								$current = createModelElementForParent(grammarAccess.getDSL_Expression_CompareRule());
-							}
-							set(
-								$current,
-								"right",
-								lv_right_6_0,
-								"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_PlusMinus");
-							afterParserOrEnumRuleCall();
-						}
-					)
-				)
-			)
-			    |
-			(
-				otherlv_7='<'
-				{
-					newLeafNode(otherlv_7, grammarAccess.getDSL_Expression_CompareAccess().getLessThanSignKeyword_1_2_0());
-				}
-				(
-					{
-						$current = forceCreateModelElementAndSet(
-							grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_SmallerLeftAction_1_2_1(),
-							$current);
-					}
-				)
-				(
-					(
-						{
-							newCompositeNode(grammarAccess.getDSL_Expression_CompareAccess().getRightDSL_Expression_PlusMinusParserRuleCall_1_2_2_0());
-						}
-						lv_right_9_0=ruleDSL_Expression_PlusMinus
-						{
-							if ($current==null) {
-								$current = createModelElementForParent(grammarAccess.getDSL_Expression_CompareRule());
-							}
-							set(
-								$current,
-								"right",
-								lv_right_9_0,
-								"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_PlusMinus");
-							afterParserOrEnumRuleCall();
-						}
-					)
-				)
-			)
-			    |
-			(
-				otherlv_10='<='
-				{
-					newLeafNode(otherlv_10, grammarAccess.getDSL_Expression_CompareAccess().getLessThanSignEqualsSignKeyword_1_3_0());
-				}
-				(
-					{
-						$current = forceCreateModelElementAndSet(
-							grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_Smaller_EqualLeftAction_1_3_1(),
-							$current);
-					}
-				)
-				(
-					(
-						{
-							newCompositeNode(grammarAccess.getDSL_Expression_CompareAccess().getRightDSL_Expression_PlusMinusParserRuleCall_1_3_2_0());
-						}
-						lv_right_12_0=ruleDSL_Expression_PlusMinus
-						{
-							if ($current==null) {
-								$current = createModelElementForParent(grammarAccess.getDSL_Expression_CompareRule());
-							}
-							set(
-								$current,
-								"right",
-								lv_right_12_0,
-								"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_PlusMinus");
-							afterParserOrEnumRuleCall();
-						}
-					)
-				)
-			)
-		)*
-	)
-;
-
-// Entry rule entryRuleDSL_Expression_PlusMinus
-entryRuleDSL_Expression_PlusMinus returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getDSL_Expression_PlusMinusRule()); }
-	iv_ruleDSL_Expression_PlusMinus=ruleDSL_Expression_PlusMinus
-	{ $current=$iv_ruleDSL_Expression_PlusMinus.current; }
-	EOF;
-
-// Rule DSL_Expression_PlusMinus
-ruleDSL_Expression_PlusMinus returns [EObject current=null]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		{
-			newCompositeNode(grammarAccess.getDSL_Expression_PlusMinusAccess().getDSL_Expression_MultiplicationDivisionParserRuleCall_0());
-		}
-		this_DSL_Expression_MultiplicationDivision_0=ruleDSL_Expression_MultiplicationDivision
-		{
-			$current = $this_DSL_Expression_MultiplicationDivision_0.current;
-			afterParserOrEnumRuleCall();
-		}
-		(
-			(
-				otherlv_1='+'
-				{
-					newLeafNode(otherlv_1, grammarAccess.getDSL_Expression_PlusMinusAccess().getPlusSignKeyword_1_0_0());
-				}
-				(
-					{
-						$current = forceCreateModelElementAndSet(
-							grammarAccess.getDSL_Expression_PlusMinusAccess().getDSL_Expression_PlusLeftAction_1_0_1(),
-							$current);
-					}
-				)
-				(
-					(
-						{
-							newCompositeNode(grammarAccess.getDSL_Expression_PlusMinusAccess().getRightDSL_Expression_MultiplicationDivisionParserRuleCall_1_0_2_0());
-						}
-						lv_right_3_0=ruleDSL_Expression_MultiplicationDivision
-						{
-							if ($current==null) {
-								$current = createModelElementForParent(grammarAccess.getDSL_Expression_PlusMinusRule());
-							}
-							set(
-								$current,
-								"right",
-								lv_right_3_0,
-								"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_MultiplicationDivision");
-							afterParserOrEnumRuleCall();
-						}
-					)
-				)
-			)
-			    |
-			(
-				otherlv_4='-'
-				{
-					newLeafNode(otherlv_4, grammarAccess.getDSL_Expression_PlusMinusAccess().getHyphenMinusKeyword_1_1_0());
-				}
-				(
-					{
-						$current = forceCreateModelElementAndSet(
-							grammarAccess.getDSL_Expression_PlusMinusAccess().getDSL_Expression_MinusLeftAction_1_1_1(),
-							$current);
-					}
-				)
-				(
-					(
-						{
-							newCompositeNode(grammarAccess.getDSL_Expression_PlusMinusAccess().getRightDSL_Expression_MultiplicationDivisionParserRuleCall_1_1_2_0());
-						}
-						lv_right_6_0=ruleDSL_Expression_MultiplicationDivision
-						{
-							if ($current==null) {
-								$current = createModelElementForParent(grammarAccess.getDSL_Expression_PlusMinusRule());
-							}
-							set(
-								$current,
-								"right",
-								lv_right_6_0,
-								"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_MultiplicationDivision");
-							afterParserOrEnumRuleCall();
-						}
-					)
-				)
-			)
-		)*
-	)
-;
-
-// Entry rule entryRuleDSL_Expression_MultiplicationDivision
-entryRuleDSL_Expression_MultiplicationDivision returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getDSL_Expression_MultiplicationDivisionRule()); }
-	iv_ruleDSL_Expression_MultiplicationDivision=ruleDSL_Expression_MultiplicationDivision
-	{ $current=$iv_ruleDSL_Expression_MultiplicationDivision.current; }
-	EOF;
-
-// Rule DSL_Expression_MultiplicationDivision
-ruleDSL_Expression_MultiplicationDivision returns [EObject current=null]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		{
-			newCompositeNode(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getDSL_Expression_UnaryParserRuleCall_0());
-		}
-		this_DSL_Expression_Unary_0=ruleDSL_Expression_Unary
-		{
-			$current = $this_DSL_Expression_Unary_0.current;
-			afterParserOrEnumRuleCall();
-		}
-		(
-			(
-				otherlv_1='*'
-				{
-					newLeafNode(otherlv_1, grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getAsteriskKeyword_1_0_0());
-				}
-				(
-					{
-						$current = forceCreateModelElementAndSet(
-							grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getDSL_Expression_MultiplicationLeftAction_1_0_1(),
-							$current);
-					}
-				)
-				(
-					(
-						{
-							newCompositeNode(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightDSL_Expression_UnaryParserRuleCall_1_0_2_0());
-						}
-						lv_right_3_0=ruleDSL_Expression_Unary
-						{
-							if ($current==null) {
-								$current = createModelElementForParent(grammarAccess.getDSL_Expression_MultiplicationDivisionRule());
-							}
-							set(
-								$current,
-								"right",
-								lv_right_3_0,
-								"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Unary");
-							afterParserOrEnumRuleCall();
-						}
-					)
-				)
-			)
-			    |
-			(
-				otherlv_4='/'
-				{
-					newLeafNode(otherlv_4, grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getSolidusKeyword_1_1_0());
-				}
-				(
-					{
-						$current = forceCreateModelElementAndSet(
-							grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getDSL_Expression_DivisionLeftAction_1_1_1(),
-							$current);
-					}
-				)
-				(
-					(
-						{
-							newCompositeNode(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightDSL_Expression_UnaryParserRuleCall_1_1_2_0());
-						}
-						lv_right_6_0=ruleDSL_Expression_Unary
-						{
-							if ($current==null) {
-								$current = createModelElementForParent(grammarAccess.getDSL_Expression_MultiplicationDivisionRule());
-							}
-							set(
-								$current,
-								"right",
-								lv_right_6_0,
-								"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Unary");
-							afterParserOrEnumRuleCall();
-						}
-					)
-				)
-			)
-			    |
-			(
-				otherlv_7='%'
-				{
-					newLeafNode(otherlv_7, grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getPercentSignKeyword_1_2_0());
-				}
-				(
-					{
-						$current = forceCreateModelElementAndSet(
-							grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getDSL_Expression_ModuloLeftAction_1_2_1(),
-							$current);
-					}
-				)
-				(
-					(
-						{
-							newCompositeNode(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightDSL_Expression_UnaryParserRuleCall_1_2_2_0());
-						}
-						lv_right_9_0=ruleDSL_Expression_Unary
-						{
-							if ($current==null) {
-								$current = createModelElementForParent(grammarAccess.getDSL_Expression_MultiplicationDivisionRule());
-							}
-							set(
-								$current,
-								"right",
-								lv_right_9_0,
-								"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Unary");
-							afterParserOrEnumRuleCall();
-						}
-					)
-				)
-			)
-		)*
-	)
-;
-
-// Entry rule entryRuleDSL_Expression_Unary
-entryRuleDSL_Expression_Unary returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getDSL_Expression_UnaryRule()); }
-	iv_ruleDSL_Expression_Unary=ruleDSL_Expression_Unary
-	{ $current=$iv_ruleDSL_Expression_Unary.current; }
-	EOF;
-
-// Rule DSL_Expression_Unary
-ruleDSL_Expression_Unary returns [EObject current=null]
-@init {
-	enterRule();
-}
-@after {
-	leaveRule();
-}:
-	(
-		(
-			(
-				{
-					$current = forceCreateModelElement(
-						grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Object_NumberAction_0_0(),
-						$current);
-				}
-			)
-			(
-				(
-					{
-						newCompositeNode(grammarAccess.getDSL_Expression_UnaryAccess().getValueNUMBERParserRuleCall_0_1_0());
-					}
-					lv_value_1_0=ruleNUMBER
-					{
-						if ($current==null) {
-							$current = createModelElementForParent(grammarAccess.getDSL_Expression_UnaryRule());
-						}
-						set(
-							$current,
-							"value",
-							lv_value_1_0,
-							"org.eclipse.sensinact.studio.language.Sensinact.NUMBER");
-						afterParserOrEnumRuleCall();
-					}
-				)
-			)
-		)
-		    |
-		(
-			(
-				{
-					$current = forceCreateModelElement(
-						grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Object_StringAction_1_0(),
-						$current);
-				}
-			)
-			(
-				(
-					lv_value_3_0=RULE_STRING
-					{
-						newLeafNode(lv_value_3_0, grammarAccess.getDSL_Expression_UnaryAccess().getValueSTRINGTerminalRuleCall_1_1_0());
-					}
-					{
-						if ($current==null) {
-							$current = createModelElement(grammarAccess.getDSL_Expression_UnaryRule());
-						}
-						setWithLastConsumed(
-							$current,
-							"value",
-							lv_value_3_0,
-							"org.eclipse.xtext.common.Terminals.STRING");
-					}
-				)
-			)
-		)
-		    |
-		(
-			(
-				{
-					$current = forceCreateModelElement(
-						grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Object_BooleanAction_2_0(),
-						$current);
-				}
-			)
-			(
-				(
-					lv_value_5_0=RULE_BOOLEAN
-					{
-						newLeafNode(lv_value_5_0, grammarAccess.getDSL_Expression_UnaryAccess().getValueBOOLEANTerminalRuleCall_2_1_0());
-					}
-					{
-						if ($current==null) {
-							$current = createModelElement(grammarAccess.getDSL_Expression_UnaryRule());
-						}
-						setWithLastConsumed(
-							$current,
-							"value",
-							lv_value_5_0,
-							"org.eclipse.sensinact.studio.language.Sensinact.BOOLEAN");
-					}
-				)
-			)
-		)
-		    |
-		(
-			(
-				{
-					$current = forceCreateModelElement(
-						grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Object_RefAction_3_0(),
-						$current);
-				}
-			)
-			(
-				(
-					{
-						if ($current==null) {
-							$current = createModelElement(grammarAccess.getDSL_Expression_UnaryRule());
-						}
-					}
-					otherlv_7=RULE_ID
-					{
-						newLeafNode(otherlv_7, grammarAccess.getDSL_Expression_UnaryAccess().getValueDSL_REFCrossReference_3_1_0());
-					}
-				)
-			)
-			otherlv_8='.get()'
-			{
-				newLeafNode(otherlv_8, grammarAccess.getDSL_Expression_UnaryAccess().getGetKeyword_3_2());
-			}
-		)
-		    |
-		(
-			otherlv_9='('
-			{
-				newLeafNode(otherlv_9, grammarAccess.getDSL_Expression_UnaryAccess().getLeftParenthesisKeyword_4_0());
-			}
-			{
-				newCompositeNode(grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Expression_OrParserRuleCall_4_1());
-			}
-			this_DSL_Expression_Or_10=ruleDSL_Expression_Or
-			{
-				$current = $this_DSL_Expression_Or_10.current;
-				afterParserOrEnumRuleCall();
-			}
-			otherlv_11=')'
-			{
-				newLeafNode(otherlv_11, grammarAccess.getDSL_Expression_UnaryAccess().getRightParenthesisKeyword_4_2());
-			}
-		)
-		    |
-		(
-			otherlv_12='not'
-			{
-				newLeafNode(otherlv_12, grammarAccess.getDSL_Expression_UnaryAccess().getNotKeyword_5_0());
-			}
-			(
-				{
-					$current = forceCreateModelElement(
-						grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Expression_NegateAction_5_1(),
-						$current);
-				}
-			)
-			(
-				(
-					{
-						newCompositeNode(grammarAccess.getDSL_Expression_UnaryAccess().getExpDSL_Expression_UnaryParserRuleCall_5_2_0());
-					}
-					lv_exp_14_0=ruleDSL_Expression_Unary
-					{
-						if ($current==null) {
-							$current = createModelElementForParent(grammarAccess.getDSL_Expression_UnaryRule());
-						}
-						set(
-							$current,
-							"exp",
-							lv_exp_14_0,
-							"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Unary");
-						afterParserOrEnumRuleCall();
-					}
-				)
-			)
-		)
-	)
-;
-
-RULE_BOOLEAN : ('true'|'false');
-
-RULE_INT : ('0'..'9')+;
-
-RULE_ID : ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|':'|'-')+;
-
-RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\'');
-
-RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
-
-RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
-
-RULE_WS : (' '|'\t'|'\r'|'\n')+;
-
-RULE_ANY_OTHER : .;
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/parser/antlr/internal/InternalSensinact.tokens b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/parser/antlr/internal/InternalSensinact.tokens
deleted file mode 100644
index 34b7da4..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/parser/antlr/internal/InternalSensinact.tokens
+++ /dev/null
@@ -1,92 +0,0 @@
-'!='=42
-'%'=51
-'('=26
-')'=27
-'*'=50
-'+'=48
-','=18
-'-'=49
-'.'=24
-'.get()'=52
-'/'=15
-'<'=46
-'<='=47
-'='=13
-'=='=43
-'>'=44
-'>='=45
-'['=14
-']'=16
-'act'=38
-'after'=29
-'and'=41
-'avg'=34
-'before'=30
-'coincide'=31
-'count'=36
-'define'=28
-'do'=21
-'else do'=23
-'else if'=22
-'end if'=19
-'if'=20
-'max'=33
-'min'=32
-'not'=53
-'on'=17
-'or'=40
-'resource'=12
-'sec'=37
-'set'=39
-'subscribe'=25
-'sum'=35
-RULE_ANY_OTHER=11
-RULE_BOOLEAN=7
-RULE_ID=4
-RULE_INT=5
-RULE_ML_COMMENT=8
-RULE_SL_COMMENT=9
-RULE_STRING=6
-RULE_WS=10
-T__12=12
-T__13=13
-T__14=14
-T__15=15
-T__16=16
-T__17=17
-T__18=18
-T__19=19
-T__20=20
-T__21=21
-T__22=22
-T__23=23
-T__24=24
-T__25=25
-T__26=26
-T__27=27
-T__28=28
-T__29=29
-T__30=30
-T__31=31
-T__32=32
-T__33=33
-T__34=34
-T__35=35
-T__36=36
-T__37=37
-T__38=38
-T__39=39
-T__40=40
-T__41=41
-T__42=42
-T__43=43
-T__44=44
-T__45=45
-T__46=46
-T__47=47
-T__48=48
-T__49=49
-T__50=50
-T__51=51
-T__52=52
-T__53=53
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/parser/antlr/internal/InternalSensinactLexer.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/parser/antlr/internal/InternalSensinactLexer.java
deleted file mode 100644
index e7874dc..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/parser/antlr/internal/InternalSensinactLexer.java
+++ /dev/null
@@ -1,2162 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-package org.eclipse.sensinact.studio.language.parser.antlr.internal;
-
-// Hack: Use our own Lexer superclass by means of import. 
-// Currently there is no other way to specify the superclass for the lexer.
-import org.eclipse.xtext.parser.antlr.Lexer;
-
-
-import org.antlr.runtime.*;
-import java.util.Stack;
-import java.util.List;
-import java.util.ArrayList;
-
-@SuppressWarnings("all")
-public class InternalSensinactLexer extends Lexer {
-    public static final int T__50=50;
-    public static final int RULE_BOOLEAN=7;
-    public static final int T__19=19;
-    public static final int T__15=15;
-    public static final int T__16=16;
-    public static final int T__17=17;
-    public static final int T__18=18;
-    public static final int T__12=12;
-    public static final int T__13=13;
-    public static final int T__14=14;
-    public static final int T__51=51;
-    public static final int T__52=52;
-    public static final int T__53=53;
-    public static final int RULE_ID=4;
-    public static final int T__26=26;
-    public static final int T__27=27;
-    public static final int T__28=28;
-    public static final int RULE_INT=5;
-    public static final int T__29=29;
-    public static final int T__22=22;
-    public static final int RULE_ML_COMMENT=8;
-    public static final int T__23=23;
-    public static final int T__24=24;
-    public static final int T__25=25;
-    public static final int T__20=20;
-    public static final int T__21=21;
-    public static final int RULE_STRING=6;
-    public static final int RULE_SL_COMMENT=9;
-    public static final int T__37=37;
-    public static final int T__38=38;
-    public static final int T__39=39;
-    public static final int T__33=33;
-    public static final int T__34=34;
-    public static final int T__35=35;
-    public static final int T__36=36;
-    public static final int EOF=-1;
-    public static final int T__30=30;
-    public static final int T__31=31;
-    public static final int T__32=32;
-    public static final int RULE_WS=10;
-    public static final int RULE_ANY_OTHER=11;
-    public static final int T__48=48;
-    public static final int T__49=49;
-    public static final int T__44=44;
-    public static final int T__45=45;
-    public static final int T__46=46;
-    public static final int T__47=47;
-    public static final int T__40=40;
-    public static final int T__41=41;
-    public static final int T__42=42;
-    public static final int T__43=43;
-
-    // delegates
-    // delegators
-
-    public InternalSensinactLexer() {;} 
-    public InternalSensinactLexer(CharStream input) {
-        this(input, new RecognizerSharedState());
-    }
-    public InternalSensinactLexer(CharStream input, RecognizerSharedState state) {
-        super(input,state);
-
-    }
-    public String getGrammarFileName() { return "InternalSensinact.g"; }
-
-    // $ANTLR start "T__12"
-    public final void mT__12() throws RecognitionException {
-        try {
-            int _type = T__12;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:11:7: ( 'resource' )
-            // InternalSensinact.g:11:9: 'resource'
-            {
-            match("resource"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__12"
-
-    // $ANTLR start "T__13"
-    public final void mT__13() throws RecognitionException {
-        try {
-            int _type = T__13;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:12:7: ( '=' )
-            // InternalSensinact.g:12:9: '='
-            {
-            match('='); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__13"
-
-    // $ANTLR start "T__14"
-    public final void mT__14() throws RecognitionException {
-        try {
-            int _type = T__14;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:13:7: ( '[' )
-            // InternalSensinact.g:13:9: '['
-            {
-            match('['); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__14"
-
-    // $ANTLR start "T__15"
-    public final void mT__15() throws RecognitionException {
-        try {
-            int _type = T__15;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:14:7: ( '/' )
-            // InternalSensinact.g:14:9: '/'
-            {
-            match('/'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__15"
-
-    // $ANTLR start "T__16"
-    public final void mT__16() throws RecognitionException {
-        try {
-            int _type = T__16;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:15:7: ( ']' )
-            // InternalSensinact.g:15:9: ']'
-            {
-            match(']'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__16"
-
-    // $ANTLR start "T__17"
-    public final void mT__17() throws RecognitionException {
-        try {
-            int _type = T__17;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:16:7: ( 'on' )
-            // InternalSensinact.g:16:9: 'on'
-            {
-            match("on"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__17"
-
-    // $ANTLR start "T__18"
-    public final void mT__18() throws RecognitionException {
-        try {
-            int _type = T__18;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:17:7: ( ',' )
-            // InternalSensinact.g:17:9: ','
-            {
-            match(','); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__18"
-
-    // $ANTLR start "T__19"
-    public final void mT__19() throws RecognitionException {
-        try {
-            int _type = T__19;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:18:7: ( 'end if' )
-            // InternalSensinact.g:18:9: 'end if'
-            {
-            match("end if"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__19"
-
-    // $ANTLR start "T__20"
-    public final void mT__20() throws RecognitionException {
-        try {
-            int _type = T__20;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:19:7: ( 'if' )
-            // InternalSensinact.g:19:9: 'if'
-            {
-            match("if"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__20"
-
-    // $ANTLR start "T__21"
-    public final void mT__21() throws RecognitionException {
-        try {
-            int _type = T__21;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:20:7: ( 'do' )
-            // InternalSensinact.g:20:9: 'do'
-            {
-            match("do"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__21"
-
-    // $ANTLR start "T__22"
-    public final void mT__22() throws RecognitionException {
-        try {
-            int _type = T__22;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:21:7: ( 'else if' )
-            // InternalSensinact.g:21:9: 'else if'
-            {
-            match("else if"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__22"
-
-    // $ANTLR start "T__23"
-    public final void mT__23() throws RecognitionException {
-        try {
-            int _type = T__23;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:22:7: ( 'else do' )
-            // InternalSensinact.g:22:9: 'else do'
-            {
-            match("else do"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__23"
-
-    // $ANTLR start "T__24"
-    public final void mT__24() throws RecognitionException {
-        try {
-            int _type = T__24;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:23:7: ( '.' )
-            // InternalSensinact.g:23:9: '.'
-            {
-            match('.'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__24"
-
-    // $ANTLR start "T__25"
-    public final void mT__25() throws RecognitionException {
-        try {
-            int _type = T__25;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:24:7: ( 'subscribe' )
-            // InternalSensinact.g:24:9: 'subscribe'
-            {
-            match("subscribe"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__25"
-
-    // $ANTLR start "T__26"
-    public final void mT__26() throws RecognitionException {
-        try {
-            int _type = T__26;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:25:7: ( '(' )
-            // InternalSensinact.g:25:9: '('
-            {
-            match('('); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__26"
-
-    // $ANTLR start "T__27"
-    public final void mT__27() throws RecognitionException {
-        try {
-            int _type = T__27;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:26:7: ( ')' )
-            // InternalSensinact.g:26:9: ')'
-            {
-            match(')'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__27"
-
-    // $ANTLR start "T__28"
-    public final void mT__28() throws RecognitionException {
-        try {
-            int _type = T__28;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:27:7: ( 'define' )
-            // InternalSensinact.g:27:9: 'define'
-            {
-            match("define"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__28"
-
-    // $ANTLR start "T__29"
-    public final void mT__29() throws RecognitionException {
-        try {
-            int _type = T__29;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:28:7: ( 'after' )
-            // InternalSensinact.g:28:9: 'after'
-            {
-            match("after"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__29"
-
-    // $ANTLR start "T__30"
-    public final void mT__30() throws RecognitionException {
-        try {
-            int _type = T__30;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:29:7: ( 'before' )
-            // InternalSensinact.g:29:9: 'before'
-            {
-            match("before"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__30"
-
-    // $ANTLR start "T__31"
-    public final void mT__31() throws RecognitionException {
-        try {
-            int _type = T__31;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:30:7: ( 'coincide' )
-            // InternalSensinact.g:30:9: 'coincide'
-            {
-            match("coincide"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__31"
-
-    // $ANTLR start "T__32"
-    public final void mT__32() throws RecognitionException {
-        try {
-            int _type = T__32;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:31:7: ( 'min' )
-            // InternalSensinact.g:31:9: 'min'
-            {
-            match("min"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__32"
-
-    // $ANTLR start "T__33"
-    public final void mT__33() throws RecognitionException {
-        try {
-            int _type = T__33;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:32:7: ( 'max' )
-            // InternalSensinact.g:32:9: 'max'
-            {
-            match("max"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__33"
-
-    // $ANTLR start "T__34"
-    public final void mT__34() throws RecognitionException {
-        try {
-            int _type = T__34;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:33:7: ( 'avg' )
-            // InternalSensinact.g:33:9: 'avg'
-            {
-            match("avg"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__34"
-
-    // $ANTLR start "T__35"
-    public final void mT__35() throws RecognitionException {
-        try {
-            int _type = T__35;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:34:7: ( 'sum' )
-            // InternalSensinact.g:34:9: 'sum'
-            {
-            match("sum"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__35"
-
-    // $ANTLR start "T__36"
-    public final void mT__36() throws RecognitionException {
-        try {
-            int _type = T__36;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:35:7: ( 'count' )
-            // InternalSensinact.g:35:9: 'count'
-            {
-            match("count"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__36"
-
-    // $ANTLR start "T__37"
-    public final void mT__37() throws RecognitionException {
-        try {
-            int _type = T__37;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:36:7: ( 'sec' )
-            // InternalSensinact.g:36:9: 'sec'
-            {
-            match("sec"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__37"
-
-    // $ANTLR start "T__38"
-    public final void mT__38() throws RecognitionException {
-        try {
-            int _type = T__38;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:37:7: ( 'act' )
-            // InternalSensinact.g:37:9: 'act'
-            {
-            match("act"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__38"
-
-    // $ANTLR start "T__39"
-    public final void mT__39() throws RecognitionException {
-        try {
-            int _type = T__39;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:38:7: ( 'set' )
-            // InternalSensinact.g:38:9: 'set'
-            {
-            match("set"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__39"
-
-    // $ANTLR start "T__40"
-    public final void mT__40() throws RecognitionException {
-        try {
-            int _type = T__40;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:39:7: ( 'or' )
-            // InternalSensinact.g:39:9: 'or'
-            {
-            match("or"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__40"
-
-    // $ANTLR start "T__41"
-    public final void mT__41() throws RecognitionException {
-        try {
-            int _type = T__41;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:40:7: ( 'and' )
-            // InternalSensinact.g:40:9: 'and'
-            {
-            match("and"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__41"
-
-    // $ANTLR start "T__42"
-    public final void mT__42() throws RecognitionException {
-        try {
-            int _type = T__42;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:41:7: ( '!=' )
-            // InternalSensinact.g:41:9: '!='
-            {
-            match("!="); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__42"
-
-    // $ANTLR start "T__43"
-    public final void mT__43() throws RecognitionException {
-        try {
-            int _type = T__43;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:42:7: ( '==' )
-            // InternalSensinact.g:42:9: '=='
-            {
-            match("=="); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__43"
-
-    // $ANTLR start "T__44"
-    public final void mT__44() throws RecognitionException {
-        try {
-            int _type = T__44;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:43:7: ( '>' )
-            // InternalSensinact.g:43:9: '>'
-            {
-            match('>'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__44"
-
-    // $ANTLR start "T__45"
-    public final void mT__45() throws RecognitionException {
-        try {
-            int _type = T__45;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:44:7: ( '>=' )
-            // InternalSensinact.g:44:9: '>='
-            {
-            match(">="); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__45"
-
-    // $ANTLR start "T__46"
-    public final void mT__46() throws RecognitionException {
-        try {
-            int _type = T__46;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:45:7: ( '<' )
-            // InternalSensinact.g:45:9: '<'
-            {
-            match('<'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__46"
-
-    // $ANTLR start "T__47"
-    public final void mT__47() throws RecognitionException {
-        try {
-            int _type = T__47;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:46:7: ( '<=' )
-            // InternalSensinact.g:46:9: '<='
-            {
-            match("<="); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__47"
-
-    // $ANTLR start "T__48"
-    public final void mT__48() throws RecognitionException {
-        try {
-            int _type = T__48;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:47:7: ( '+' )
-            // InternalSensinact.g:47:9: '+'
-            {
-            match('+'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__48"
-
-    // $ANTLR start "T__49"
-    public final void mT__49() throws RecognitionException {
-        try {
-            int _type = T__49;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:48:7: ( '-' )
-            // InternalSensinact.g:48:9: '-'
-            {
-            match('-'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__49"
-
-    // $ANTLR start "T__50"
-    public final void mT__50() throws RecognitionException {
-        try {
-            int _type = T__50;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:49:7: ( '*' )
-            // InternalSensinact.g:49:9: '*'
-            {
-            match('*'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__50"
-
-    // $ANTLR start "T__51"
-    public final void mT__51() throws RecognitionException {
-        try {
-            int _type = T__51;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:50:7: ( '%' )
-            // InternalSensinact.g:50:9: '%'
-            {
-            match('%'); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__51"
-
-    // $ANTLR start "T__52"
-    public final void mT__52() throws RecognitionException {
-        try {
-            int _type = T__52;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:51:7: ( '.get()' )
-            // InternalSensinact.g:51:9: '.get()'
-            {
-            match(".get()"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__52"
-
-    // $ANTLR start "T__53"
-    public final void mT__53() throws RecognitionException {
-        try {
-            int _type = T__53;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:52:7: ( 'not' )
-            // InternalSensinact.g:52:9: 'not'
-            {
-            match("not"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__53"
-
-    // $ANTLR start "RULE_BOOLEAN"
-    public final void mRULE_BOOLEAN() throws RecognitionException {
-        try {
-            int _type = RULE_BOOLEAN;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:2833:14: ( ( 'true' | 'false' ) )
-            // InternalSensinact.g:2833:16: ( 'true' | 'false' )
-            {
-            // InternalSensinact.g:2833:16: ( 'true' | 'false' )
-            int alt1=2;
-            int LA1_0 = input.LA(1);
-
-            if ( (LA1_0=='t') ) {
-                alt1=1;
-            }
-            else if ( (LA1_0=='f') ) {
-                alt1=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 1, 0, input);
-
-                throw nvae;
-            }
-            switch (alt1) {
-                case 1 :
-                    // InternalSensinact.g:2833:17: 'true'
-                    {
-                    match("true"); 
-
-
-                    }
-                    break;
-                case 2 :
-                    // InternalSensinact.g:2833:24: 'false'
-                    {
-                    match("false"); 
-
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_BOOLEAN"
-
-    // $ANTLR start "RULE_INT"
-    public final void mRULE_INT() throws RecognitionException {
-        try {
-            int _type = RULE_INT;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:2835:10: ( ( '0' .. '9' )+ )
-            // InternalSensinact.g:2835:12: ( '0' .. '9' )+
-            {
-            // InternalSensinact.g:2835:12: ( '0' .. '9' )+
-            int cnt2=0;
-            loop2:
-            do {
-                int alt2=2;
-                int LA2_0 = input.LA(1);
-
-                if ( ((LA2_0>='0' && LA2_0<='9')) ) {
-                    alt2=1;
-                }
-
-
-                switch (alt2) {
-            	case 1 :
-            	    // InternalSensinact.g:2835:13: '0' .. '9'
-            	    {
-            	    matchRange('0','9'); 
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt2 >= 1 ) break loop2;
-                        EarlyExitException eee =
-                            new EarlyExitException(2, input);
-                        throw eee;
-                }
-                cnt2++;
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_INT"
-
-    // $ANTLR start "RULE_ID"
-    public final void mRULE_ID() throws RecognitionException {
-        try {
-            int _type = RULE_ID;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:2837:9: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | ':' | '-' )+ )
-            // InternalSensinact.g:2837:11: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | ':' | '-' )+
-            {
-            // InternalSensinact.g:2837:11: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | ':' | '-' )+
-            int cnt3=0;
-            loop3:
-            do {
-                int alt3=2;
-                int LA3_0 = input.LA(1);
-
-                if ( (LA3_0=='-'||(LA3_0>='0' && LA3_0<=':')||(LA3_0>='A' && LA3_0<='Z')||LA3_0=='_'||(LA3_0>='a' && LA3_0<='z')) ) {
-                    alt3=1;
-                }
-
-
-                switch (alt3) {
-            	case 1 :
-            	    // InternalSensinact.g:
-            	    {
-            	    if ( input.LA(1)=='-'||(input.LA(1)>='0' && input.LA(1)<=':')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt3 >= 1 ) break loop3;
-                        EarlyExitException eee =
-                            new EarlyExitException(3, input);
-                        throw eee;
-                }
-                cnt3++;
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_ID"
-
-    // $ANTLR start "RULE_STRING"
-    public final void mRULE_STRING() throws RecognitionException {
-        try {
-            int _type = RULE_STRING;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:2839:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
-            // InternalSensinact.g:2839:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
-            {
-            // InternalSensinact.g:2839:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
-            int alt6=2;
-            int LA6_0 = input.LA(1);
-
-            if ( (LA6_0=='\"') ) {
-                alt6=1;
-            }
-            else if ( (LA6_0=='\'') ) {
-                alt6=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 6, 0, input);
-
-                throw nvae;
-            }
-            switch (alt6) {
-                case 1 :
-                    // InternalSensinact.g:2839:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
-                    {
-                    match('\"'); 
-                    // InternalSensinact.g:2839:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
-                    loop4:
-                    do {
-                        int alt4=3;
-                        int LA4_0 = input.LA(1);
-
-                        if ( (LA4_0=='\\') ) {
-                            alt4=1;
-                        }
-                        else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFF')) ) {
-                            alt4=2;
-                        }
-
-
-                        switch (alt4) {
-                    	case 1 :
-                    	    // InternalSensinact.g:2839:21: '\\\\' .
-                    	    {
-                    	    match('\\'); 
-                    	    matchAny(); 
-
-                    	    }
-                    	    break;
-                    	case 2 :
-                    	    // InternalSensinact.g:2839:28: ~ ( ( '\\\\' | '\"' ) )
-                    	    {
-                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
-                    	        input.consume();
-
-                    	    }
-                    	    else {
-                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
-                    	        recover(mse);
-                    	        throw mse;}
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop4;
-                        }
-                    } while (true);
-
-                    match('\"'); 
-
-                    }
-                    break;
-                case 2 :
-                    // InternalSensinact.g:2839:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
-                    {
-                    match('\''); 
-                    // InternalSensinact.g:2839:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
-                    loop5:
-                    do {
-                        int alt5=3;
-                        int LA5_0 = input.LA(1);
-
-                        if ( (LA5_0=='\\') ) {
-                            alt5=1;
-                        }
-                        else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=']' && LA5_0<='\uFFFF')) ) {
-                            alt5=2;
-                        }
-
-
-                        switch (alt5) {
-                    	case 1 :
-                    	    // InternalSensinact.g:2839:54: '\\\\' .
-                    	    {
-                    	    match('\\'); 
-                    	    matchAny(); 
-
-                    	    }
-                    	    break;
-                    	case 2 :
-                    	    // InternalSensinact.g:2839:61: ~ ( ( '\\\\' | '\\'' ) )
-                    	    {
-                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
-                    	        input.consume();
-
-                    	    }
-                    	    else {
-                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
-                    	        recover(mse);
-                    	        throw mse;}
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop5;
-                        }
-                    } while (true);
-
-                    match('\''); 
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_STRING"
-
-    // $ANTLR start "RULE_ML_COMMENT"
-    public final void mRULE_ML_COMMENT() throws RecognitionException {
-        try {
-            int _type = RULE_ML_COMMENT;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:2841:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // InternalSensinact.g:2841:19: '/*' ( options {greedy=false; } : . )* '*/'
-            {
-            match("/*"); 
-
-            // InternalSensinact.g:2841:24: ( options {greedy=false; } : . )*
-            loop7:
-            do {
-                int alt7=2;
-                int LA7_0 = input.LA(1);
-
-                if ( (LA7_0=='*') ) {
-                    int LA7_1 = input.LA(2);
-
-                    if ( (LA7_1=='/') ) {
-                        alt7=2;
-                    }
-                    else if ( ((LA7_1>='\u0000' && LA7_1<='.')||(LA7_1>='0' && LA7_1<='\uFFFF')) ) {
-                        alt7=1;
-                    }
-
-
-                }
-                else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFF')) ) {
-                    alt7=1;
-                }
-
-
-                switch (alt7) {
-            	case 1 :
-            	    // InternalSensinact.g:2841:52: .
-            	    {
-            	    matchAny(); 
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop7;
-                }
-            } while (true);
-
-            match("*/"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_ML_COMMENT"
-
-    // $ANTLR start "RULE_SL_COMMENT"
-    public final void mRULE_SL_COMMENT() throws RecognitionException {
-        try {
-            int _type = RULE_SL_COMMENT;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:2843:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // InternalSensinact.g:2843:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
-            {
-            match("//"); 
-
-            // InternalSensinact.g:2843:24: (~ ( ( '\\n' | '\\r' ) ) )*
-            loop8:
-            do {
-                int alt8=2;
-                int LA8_0 = input.LA(1);
-
-                if ( ((LA8_0>='\u0000' && LA8_0<='\t')||(LA8_0>='\u000B' && LA8_0<='\f')||(LA8_0>='\u000E' && LA8_0<='\uFFFF')) ) {
-                    alt8=1;
-                }
-
-
-                switch (alt8) {
-            	case 1 :
-            	    // InternalSensinact.g:2843:24: ~ ( ( '\\n' | '\\r' ) )
-            	    {
-            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop8;
-                }
-            } while (true);
-
-            // InternalSensinact.g:2843:40: ( ( '\\r' )? '\\n' )?
-            int alt10=2;
-            int LA10_0 = input.LA(1);
-
-            if ( (LA10_0=='\n'||LA10_0=='\r') ) {
-                alt10=1;
-            }
-            switch (alt10) {
-                case 1 :
-                    // InternalSensinact.g:2843:41: ( '\\r' )? '\\n'
-                    {
-                    // InternalSensinact.g:2843:41: ( '\\r' )?
-                    int alt9=2;
-                    int LA9_0 = input.LA(1);
-
-                    if ( (LA9_0=='\r') ) {
-                        alt9=1;
-                    }
-                    switch (alt9) {
-                        case 1 :
-                            // InternalSensinact.g:2843:41: '\\r'
-                            {
-                            match('\r'); 
-
-                            }
-                            break;
-
-                    }
-
-                    match('\n'); 
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_SL_COMMENT"
-
-    // $ANTLR start "RULE_WS"
-    public final void mRULE_WS() throws RecognitionException {
-        try {
-            int _type = RULE_WS;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:2845:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // InternalSensinact.g:2845:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
-            {
-            // InternalSensinact.g:2845:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
-            int cnt11=0;
-            loop11:
-            do {
-                int alt11=2;
-                int LA11_0 = input.LA(1);
-
-                if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {
-                    alt11=1;
-                }
-
-
-                switch (alt11) {
-            	case 1 :
-            	    // InternalSensinact.g:
-            	    {
-            	    if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt11 >= 1 ) break loop11;
-                        EarlyExitException eee =
-                            new EarlyExitException(11, input);
-                        throw eee;
-                }
-                cnt11++;
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_WS"
-
-    // $ANTLR start "RULE_ANY_OTHER"
-    public final void mRULE_ANY_OTHER() throws RecognitionException {
-        try {
-            int _type = RULE_ANY_OTHER;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSensinact.g:2847:16: ( . )
-            // InternalSensinact.g:2847:18: .
-            {
-            matchAny(); 
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "RULE_ANY_OTHER"
-
-    public void mTokens() throws RecognitionException {
-        // InternalSensinact.g:1:8: ( T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | RULE_BOOLEAN | RULE_INT | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
-        int alt12=50;
-        alt12 = dfa12.predict(input);
-        switch (alt12) {
-            case 1 :
-                // InternalSensinact.g:1:10: T__12
-                {
-                mT__12(); 
-
-                }
-                break;
-            case 2 :
-                // InternalSensinact.g:1:16: T__13
-                {
-                mT__13(); 
-
-                }
-                break;
-            case 3 :
-                // InternalSensinact.g:1:22: T__14
-                {
-                mT__14(); 
-
-                }
-                break;
-            case 4 :
-                // InternalSensinact.g:1:28: T__15
-                {
-                mT__15(); 
-
-                }
-                break;
-            case 5 :
-                // InternalSensinact.g:1:34: T__16
-                {
-                mT__16(); 
-
-                }
-                break;
-            case 6 :
-                // InternalSensinact.g:1:40: T__17
-                {
-                mT__17(); 
-
-                }
-                break;
-            case 7 :
-                // InternalSensinact.g:1:46: T__18
-                {
-                mT__18(); 
-
-                }
-                break;
-            case 8 :
-                // InternalSensinact.g:1:52: T__19
-                {
-                mT__19(); 
-
-                }
-                break;
-            case 9 :
-                // InternalSensinact.g:1:58: T__20
-                {
-                mT__20(); 
-
-                }
-                break;
-            case 10 :
-                // InternalSensinact.g:1:64: T__21
-                {
-                mT__21(); 
-
-                }
-                break;
-            case 11 :
-                // InternalSensinact.g:1:70: T__22
-                {
-                mT__22(); 
-
-                }
-                break;
-            case 12 :
-                // InternalSensinact.g:1:76: T__23
-                {
-                mT__23(); 
-
-                }
-                break;
-            case 13 :
-                // InternalSensinact.g:1:82: T__24
-                {
-                mT__24(); 
-
-                }
-                break;
-            case 14 :
-                // InternalSensinact.g:1:88: T__25
-                {
-                mT__25(); 
-
-                }
-                break;
-            case 15 :
-                // InternalSensinact.g:1:94: T__26
-                {
-                mT__26(); 
-
-                }
-                break;
-            case 16 :
-                // InternalSensinact.g:1:100: T__27
-                {
-                mT__27(); 
-
-                }
-                break;
-            case 17 :
-                // InternalSensinact.g:1:106: T__28
-                {
-                mT__28(); 
-
-                }
-                break;
-            case 18 :
-                // InternalSensinact.g:1:112: T__29
-                {
-                mT__29(); 
-
-                }
-                break;
-            case 19 :
-                // InternalSensinact.g:1:118: T__30
-                {
-                mT__30(); 
-
-                }
-                break;
-            case 20 :
-                // InternalSensinact.g:1:124: T__31
-                {
-                mT__31(); 
-
-                }
-                break;
-            case 21 :
-                // InternalSensinact.g:1:130: T__32
-                {
-                mT__32(); 
-
-                }
-                break;
-            case 22 :
-                // InternalSensinact.g:1:136: T__33
-                {
-                mT__33(); 
-
-                }
-                break;
-            case 23 :
-                // InternalSensinact.g:1:142: T__34
-                {
-                mT__34(); 
-
-                }
-                break;
-            case 24 :
-                // InternalSensinact.g:1:148: T__35
-                {
-                mT__35(); 
-
-                }
-                break;
-            case 25 :
-                // InternalSensinact.g:1:154: T__36
-                {
-                mT__36(); 
-
-                }
-                break;
-            case 26 :
-                // InternalSensinact.g:1:160: T__37
-                {
-                mT__37(); 
-
-                }
-                break;
-            case 27 :
-                // InternalSensinact.g:1:166: T__38
-                {
-                mT__38(); 
-
-                }
-                break;
-            case 28 :
-                // InternalSensinact.g:1:172: T__39
-                {
-                mT__39(); 
-
-                }
-                break;
-            case 29 :
-                // InternalSensinact.g:1:178: T__40
-                {
-                mT__40(); 
-
-                }
-                break;
-            case 30 :
-                // InternalSensinact.g:1:184: T__41
-                {
-                mT__41(); 
-
-                }
-                break;
-            case 31 :
-                // InternalSensinact.g:1:190: T__42
-                {
-                mT__42(); 
-
-                }
-                break;
-            case 32 :
-                // InternalSensinact.g:1:196: T__43
-                {
-                mT__43(); 
-
-                }
-                break;
-            case 33 :
-                // InternalSensinact.g:1:202: T__44
-                {
-                mT__44(); 
-
-                }
-                break;
-            case 34 :
-                // InternalSensinact.g:1:208: T__45
-                {
-                mT__45(); 
-
-                }
-                break;
-            case 35 :
-                // InternalSensinact.g:1:214: T__46
-                {
-                mT__46(); 
-
-                }
-                break;
-            case 36 :
-                // InternalSensinact.g:1:220: T__47
-                {
-                mT__47(); 
-
-                }
-                break;
-            case 37 :
-                // InternalSensinact.g:1:226: T__48
-                {
-                mT__48(); 
-
-                }
-                break;
-            case 38 :
-                // InternalSensinact.g:1:232: T__49
-                {
-                mT__49(); 
-
-                }
-                break;
-            case 39 :
-                // InternalSensinact.g:1:238: T__50
-                {
-                mT__50(); 
-
-                }
-                break;
-            case 40 :
-                // InternalSensinact.g:1:244: T__51
-                {
-                mT__51(); 
-
-                }
-                break;
-            case 41 :
-                // InternalSensinact.g:1:250: T__52
-                {
-                mT__52(); 
-
-                }
-                break;
-            case 42 :
-                // InternalSensinact.g:1:256: T__53
-                {
-                mT__53(); 
-
-                }
-                break;
-            case 43 :
-                // InternalSensinact.g:1:262: RULE_BOOLEAN
-                {
-                mRULE_BOOLEAN(); 
-
-                }
-                break;
-            case 44 :
-                // InternalSensinact.g:1:275: RULE_INT
-                {
-                mRULE_INT(); 
-
-                }
-                break;
-            case 45 :
-                // InternalSensinact.g:1:284: RULE_ID
-                {
-                mRULE_ID(); 
-
-                }
-                break;
-            case 46 :
-                // InternalSensinact.g:1:292: RULE_STRING
-                {
-                mRULE_STRING(); 
-
-                }
-                break;
-            case 47 :
-                // InternalSensinact.g:1:304: RULE_ML_COMMENT
-                {
-                mRULE_ML_COMMENT(); 
-
-                }
-                break;
-            case 48 :
-                // InternalSensinact.g:1:320: RULE_SL_COMMENT
-                {
-                mRULE_SL_COMMENT(); 
-
-                }
-                break;
-            case 49 :
-                // InternalSensinact.g:1:336: RULE_WS
-                {
-                mRULE_WS(); 
-
-                }
-                break;
-            case 50 :
-                // InternalSensinact.g:1:344: RULE_ANY_OTHER
-                {
-                mRULE_ANY_OTHER(); 
-
-                }
-                break;
-
-        }
-
-    }
-
-
-    protected DFA12 dfa12 = new DFA12(this);
-    static final String DFA12_eotS =
-        "\1\uffff\1\44\1\46\1\uffff\1\52\1\uffff\1\44\1\uffff\3\44\1\65\1\44\2\uffff\4\44\1\42\1\104\1\106\1\uffff\1\110\2\uffff\3\44\1\116\1\uffff\2\42\2\uffff\1\44\10\uffff\1\123\1\124\1\uffff\2\44\1\127\1\130\1\44\2\uffff\2\44\2\uffff\10\44\11\uffff\3\44\1\uffff\1\116\2\uffff\1\44\2\uffff\2\44\2\uffff\2\44\1\157\1\160\1\161\1\44\1\163\1\164\1\165\3\44\1\171\1\172\1\173\3\44\1\uffff\3\44\3\uffff\1\44\3\uffff\3\44\3\uffff\1\u0086\2\44\1\uffff\2\44\1\u008d\2\44\1\u0090\1\uffff\1\u0086\1\44\2\uffff\1\u0092\1\44\1\uffff\1\u0094\1\44\1\uffff\1\44\1\uffff\1\44\1\uffff\1\44\1\u0099\1\44\1\u009b\1\uffff\1\u009c\2\uffff";
-    static final String DFA12_eofS =
-        "\u009d\uffff";
-    static final String DFA12_minS =
-        "\1\0\1\145\1\75\1\uffff\1\52\1\uffff\1\156\1\uffff\1\154\1\146\1\145\1\147\1\145\2\uffff\1\143\1\145\1\157\1\141\3\75\1\uffff\1\55\2\uffff\1\157\1\162\1\141\1\55\1\uffff\2\0\2\uffff\1\163\10\uffff\2\55\1\uffff\1\144\1\163\2\55\1\146\2\uffff\1\142\1\143\2\uffff\1\164\1\147\1\164\1\144\1\146\1\151\1\156\1\170\11\uffff\1\164\1\165\1\154\1\uffff\1\55\2\uffff\1\157\2\uffff\1\40\1\145\2\uffff\1\151\1\163\3\55\1\145\3\55\1\157\2\156\3\55\1\145\1\163\1\165\1\uffff\1\40\1\156\1\143\3\uffff\1\162\3\uffff\1\162\1\143\1\164\3\uffff\1\55\1\145\1\162\1\144\1\145\1\162\1\55\1\145\1\151\1\55\1\uffff\1\55\1\143\2\uffff\1\55\1\151\1\uffff\1\55\1\144\1\uffff\1\145\1\uffff\1\142\1\uffff\1\145\1\55\1\145\1\55\1\uffff\1\55\2\uffff";
-    static final String DFA12_maxS =
-        "\1\uffff\1\145\1\75\1\uffff\1\57\1\uffff\1\162\1\uffff\1\156\1\146\1\157\1\147\1\165\2\uffff\1\166\1\145\1\157\1\151\3\75\1\uffff\1\172\2\uffff\1\157\1\162\1\141\1\172\1\uffff\2\uffff\2\uffff\1\163\10\uffff\2\172\1\uffff\1\144\1\163\2\172\1\146\2\uffff\1\155\1\164\2\uffff\1\164\1\147\1\164\1\144\1\146\1\165\1\156\1\170\11\uffff\1\164\1\165\1\154\1\uffff\1\172\2\uffff\1\157\2\uffff\1\40\1\145\2\uffff\1\151\1\163\3\172\1\145\3\172\1\157\2\156\3\172\1\145\1\163\1\165\1\uffff\1\40\1\156\1\143\3\uffff\1\162\3\uffff\1\162\1\143\1\164\3\uffff\1\172\1\145\1\162\1\151\1\145\1\162\1\172\1\145\1\151\1\172\1\uffff\1\172\1\143\2\uffff\1\172\1\151\1\uffff\1\172\1\144\1\uffff\1\145\1\uffff\1\142\1\uffff\1\145\1\172\1\145\1\172\1\uffff\1\172\2\uffff";
-    static final String DFA12_acceptS =
-        "\3\uffff\1\3\1\uffff\1\5\1\uffff\1\7\5\uffff\1\17\1\20\7\uffff\1\45\1\uffff\1\47\1\50\4\uffff\1\55\2\uffff\1\61\1\62\1\uffff\1\55\1\40\1\2\1\3\1\57\1\60\1\4\1\5\2\uffff\1\7\5\uffff\1\51\1\15\2\uffff\1\17\1\20\10\uffff\1\37\1\42\1\41\1\44\1\43\1\45\1\46\1\47\1\50\3\uffff\1\54\1\uffff\1\56\1\61\1\uffff\1\6\1\35\2\uffff\1\11\1\12\22\uffff\1\10\3\uffff\1\30\1\32\1\34\1\uffff\1\27\1\33\1\36\3\uffff\1\25\1\26\1\52\12\uffff\1\53\2\uffff\1\13\1\14\2\uffff\1\22\2\uffff\1\31\1\uffff\1\21\1\uffff\1\23\4\uffff\1\1\1\uffff\1\24\1\16";
-    static final String DFA12_specialS =
-        "\1\1\36\uffff\1\0\1\2\174\uffff}>";
-    static final String[] DFA12_transitionS = {
-            "\11\42\2\41\2\42\1\41\22\42\1\41\1\23\1\37\2\42\1\31\1\42\1\40\1\15\1\16\1\30\1\26\1\7\1\27\1\13\1\4\12\35\1\36\1\42\1\25\1\2\1\24\2\42\32\36\1\3\1\42\1\5\1\42\1\36\1\42\1\17\1\20\1\21\1\12\1\10\1\34\2\36\1\11\3\36\1\22\1\32\1\6\2\36\1\1\1\14\1\33\6\36\uff85\42",
-            "\1\43",
-            "\1\45",
-            "",
-            "\1\50\4\uffff\1\51",
-            "",
-            "\1\54\3\uffff\1\55",
-            "",
-            "\1\60\1\uffff\1\57",
-            "\1\61",
-            "\1\63\11\uffff\1\62",
-            "\1\64",
-            "\1\67\17\uffff\1\66",
-            "",
-            "",
-            "\1\74\2\uffff\1\72\7\uffff\1\75\7\uffff\1\73",
-            "\1\76",
-            "\1\77",
-            "\1\101\7\uffff\1\100",
-            "\1\102",
-            "\1\103",
-            "\1\105",
-            "",
-            "\1\44\2\uffff\13\44\6\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
-            "",
-            "",
-            "\1\113",
-            "\1\114",
-            "\1\115",
-            "\1\44\2\uffff\12\117\1\44\6\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
-            "",
-            "\0\120",
-            "\0\120",
-            "",
-            "",
-            "\1\122",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "\1\44\2\uffff\13\44\6\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
-            "\1\44\2\uffff\13\44\6\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
-            "",
-            "\1\125",
-            "\1\126",
-            "\1\44\2\uffff\13\44\6\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
-            "\1\44\2\uffff\13\44\6\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
-            "\1\131",
-            "",
-            "",
-            "\1\132\12\uffff\1\133",
-            "\1\134\20\uffff\1\135",
-            "",
-            "",
-            "\1\136",
-            "\1\137",
-            "\1\140",
-            "\1\141",
-            "\1\142",
-            "\1\143\13\uffff\1\144",
-            "\1\145",
-            "\1\146",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "\1\147",
-            "\1\150",
-            "\1\151",
-            "",
-            "\1\44\2\uffff\12\117\1\44\6\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
-            "",
-            "",
-            "\1\152",
-            "",
-            "",
-            "\1\153",
-            "\1\154",
-            "",
-            "",
-            "\1\155",
-            "\1\156",
-            "\1\44\2\uffff\13\44\6\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
-            "\1\44\2\uffff\13\44\6\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
-            "\1\44\2\uffff\13\44\6\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
-            "\1\162",
-            "\1\44\2\uffff\13\44\6\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
-            "\1\44\2\uffff\13\44\6\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
-            "\1\44\2\uffff\13\44\6\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
-            "\1\166",
-            "\1\167",
-            "\1\170",
-            "\1\44\2\uffff\13\44\6\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
-            "\1\44\2\uffff\13\44\6\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
-            "\1\44\2\uffff\13\44\6\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
-            "\1\174",
-            "\1\175",
-            "\1\176",
-            "",
-            "\1\177",
-            "\1\u0080",
-            "\1\u0081",
-            "",
-            "",
-            "",
-            "\1\u0082",
-            "",
-            "",
-            "",
-            "\1\u0083",
-            "\1\u0084",
-            "\1\u0085",
-            "",
-            "",
-            "",
-            "\1\44\2\uffff\13\44\6\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
-            "\1\u0087",
-            "\1\u0088",
-            "\1\u008a\4\uffff\1\u0089",
-            "\1\u008b",
-            "\1\u008c",
-            "\1\44\2\uffff\13\44\6\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
-            "\1\u008e",
-            "\1\u008f",
-            "\1\44\2\uffff\13\44\6\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
-            "",
-            "\1\44\2\uffff\13\44\6\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
-            "\1\u0091",
-            "",
-            "",
-            "\1\44\2\uffff\13\44\6\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
-            "\1\u0093",
-            "",
-            "\1\44\2\uffff\13\44\6\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
-            "\1\u0095",
-            "",
-            "\1\u0096",
-            "",
-            "\1\u0097",
-            "",
-            "\1\u0098",
-            "\1\44\2\uffff\13\44\6\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
-            "\1\u009a",
-            "\1\44\2\uffff\13\44\6\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
-            "",
-            "\1\44\2\uffff\13\44\6\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
-            "",
-            ""
-    };
-
-    static final short[] DFA12_eot = DFA.unpackEncodedString(DFA12_eotS);
-    static final short[] DFA12_eof = DFA.unpackEncodedString(DFA12_eofS);
-    static final char[] DFA12_min = DFA.unpackEncodedStringToUnsignedChars(DFA12_minS);
-    static final char[] DFA12_max = DFA.unpackEncodedStringToUnsignedChars(DFA12_maxS);
-    static final short[] DFA12_accept = DFA.unpackEncodedString(DFA12_acceptS);
-    static final short[] DFA12_special = DFA.unpackEncodedString(DFA12_specialS);
-    static final short[][] DFA12_transition;
-
-    static {
-        int numStates = DFA12_transitionS.length;
-        DFA12_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA12_transition[i] = DFA.unpackEncodedString(DFA12_transitionS[i]);
-        }
-    }
-
-    class DFA12 extends DFA {
-
-        public DFA12(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 12;
-            this.eot = DFA12_eot;
-            this.eof = DFA12_eof;
-            this.min = DFA12_min;
-            this.max = DFA12_max;
-            this.accept = DFA12_accept;
-            this.special = DFA12_special;
-            this.transition = DFA12_transition;
-        }
-        public String getDescription() {
-            return "1:1: Tokens : ( T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | RULE_BOOLEAN | RULE_INT | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            IntStream input = _input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA12_31 = input.LA(1);
-
-                        s = -1;
-                        if ( ((LA12_31>='\u0000' && LA12_31<='\uFFFF')) ) {s = 80;}
-
-                        else s = 34;
-
-                        if ( s>=0 ) return s;
-                        break;
-                    case 1 : 
-                        int LA12_0 = input.LA(1);
-
-                        s = -1;
-                        if ( (LA12_0=='r') ) {s = 1;}
-
-                        else if ( (LA12_0=='=') ) {s = 2;}
-
-                        else if ( (LA12_0=='[') ) {s = 3;}
-
-                        else if ( (LA12_0=='/') ) {s = 4;}
-
-                        else if ( (LA12_0==']') ) {s = 5;}
-
-                        else if ( (LA12_0=='o') ) {s = 6;}
-
-                        else if ( (LA12_0==',') ) {s = 7;}
-
-                        else if ( (LA12_0=='e') ) {s = 8;}
-
-                        else if ( (LA12_0=='i') ) {s = 9;}
-
-                        else if ( (LA12_0=='d') ) {s = 10;}
-
-                        else if ( (LA12_0=='.') ) {s = 11;}
-
-                        else if ( (LA12_0=='s') ) {s = 12;}
-
-                        else if ( (LA12_0=='(') ) {s = 13;}
-
-                        else if ( (LA12_0==')') ) {s = 14;}
-
-                        else if ( (LA12_0=='a') ) {s = 15;}
-
-                        else if ( (LA12_0=='b') ) {s = 16;}
-
-                        else if ( (LA12_0=='c') ) {s = 17;}
-
-                        else if ( (LA12_0=='m') ) {s = 18;}
-
-                        else if ( (LA12_0=='!') ) {s = 19;}
-
-                        else if ( (LA12_0=='>') ) {s = 20;}
-
-                        else if ( (LA12_0=='<') ) {s = 21;}
-
-                        else if ( (LA12_0=='+') ) {s = 22;}
-
-                        else if ( (LA12_0=='-') ) {s = 23;}
-
-                        else if ( (LA12_0=='*') ) {s = 24;}
-
-                        else if ( (LA12_0=='%') ) {s = 25;}
-
-                        else if ( (LA12_0=='n') ) {s = 26;}
-
-                        else if ( (LA12_0=='t') ) {s = 27;}
-
-                        else if ( (LA12_0=='f') ) {s = 28;}
-
-                        else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 29;}
-
-                        else if ( (LA12_0==':'||(LA12_0>='A' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='g' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='l')||(LA12_0>='p' && LA12_0<='q')||(LA12_0>='u' && LA12_0<='z')) ) {s = 30;}
-
-                        else if ( (LA12_0=='\"') ) {s = 31;}
-
-                        else if ( (LA12_0=='\'') ) {s = 32;}
-
-                        else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 33;}
-
-                        else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||(LA12_0>='#' && LA12_0<='$')||LA12_0=='&'||LA12_0==';'||(LA12_0>='?' && LA12_0<='@')||LA12_0=='\\'||LA12_0=='^'||LA12_0=='`'||(LA12_0>='{' && LA12_0<='\uFFFF')) ) {s = 34;}
-
-                        if ( s>=0 ) return s;
-                        break;
-                    case 2 : 
-                        int LA12_32 = input.LA(1);
-
-                        s = -1;
-                        if ( ((LA12_32>='\u0000' && LA12_32<='\uFFFF')) ) {s = 80;}
-
-                        else s = 34;
-
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 12, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
- 
-
-}
\ No newline at end of file
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/parser/antlr/internal/InternalSensinactParser.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/parser/antlr/internal/InternalSensinactParser.java
deleted file mode 100644
index fb1e4ac..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/parser/antlr/internal/InternalSensinactParser.java
+++ /dev/null
@@ -1,6863 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-package org.eclipse.sensinact.studio.language.parser.antlr.internal;
-
-import org.eclipse.xtext.*;
-import org.eclipse.xtext.parser.*;
-import org.eclipse.xtext.parser.impl.*;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
-import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
-import org.eclipse.sensinact.studio.language.services.SensinactGrammarAccess;
-
-
-
-import org.antlr.runtime.*;
-import java.util.Stack;
-import java.util.List;
-import java.util.ArrayList;
-
-@SuppressWarnings("all")
-public class InternalSensinactParser extends AbstractInternalAntlrParser {
-    public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_INT", "RULE_STRING", "RULE_BOOLEAN", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'resource'", "'='", "'['", "'/'", "']'", "'on'", "','", "'end if'", "'if'", "'do'", "'else if'", "'else do'", "'.'", "'subscribe'", "'('", "')'", "'define'", "'after'", "'before'", "'coincide'", "'min'", "'max'", "'avg'", "'sum'", "'count'", "'sec'", "'act'", "'set'", "'or'", "'and'", "'!='", "'=='", "'>'", "'>='", "'<'", "'<='", "'+'", "'-'", "'*'", "'%'", "'.get()'", "'not'"
-    };
-    public static final int T__50=50;
-    public static final int RULE_BOOLEAN=7;
-    public static final int T__19=19;
-    public static final int T__15=15;
-    public static final int T__16=16;
-    public static final int T__17=17;
-    public static final int T__18=18;
-    public static final int T__12=12;
-    public static final int T__13=13;
-    public static final int T__14=14;
-    public static final int T__51=51;
-    public static final int T__52=52;
-    public static final int T__53=53;
-    public static final int RULE_ID=4;
-    public static final int T__26=26;
-    public static final int T__27=27;
-    public static final int T__28=28;
-    public static final int RULE_INT=5;
-    public static final int T__29=29;
-    public static final int T__22=22;
-    public static final int RULE_ML_COMMENT=8;
-    public static final int T__23=23;
-    public static final int T__24=24;
-    public static final int T__25=25;
-    public static final int T__20=20;
-    public static final int T__21=21;
-    public static final int RULE_STRING=6;
-    public static final int RULE_SL_COMMENT=9;
-    public static final int T__37=37;
-    public static final int T__38=38;
-    public static final int T__39=39;
-    public static final int T__33=33;
-    public static final int T__34=34;
-    public static final int T__35=35;
-    public static final int T__36=36;
-    public static final int EOF=-1;
-    public static final int T__30=30;
-    public static final int T__31=31;
-    public static final int T__32=32;
-    public static final int RULE_WS=10;
-    public static final int RULE_ANY_OTHER=11;
-    public static final int T__48=48;
-    public static final int T__49=49;
-    public static final int T__44=44;
-    public static final int T__45=45;
-    public static final int T__46=46;
-    public static final int T__47=47;
-    public static final int T__40=40;
-    public static final int T__41=41;
-    public static final int T__42=42;
-    public static final int T__43=43;
-
-    // delegates
-    // delegators
-
-
-        public InternalSensinactParser(TokenStream input) {
-            this(input, new RecognizerSharedState());
-        }
-        public InternalSensinactParser(TokenStream input, RecognizerSharedState state) {
-            super(input, state);
-             
-        }
-        
-
-    public String[] getTokenNames() { return InternalSensinactParser.tokenNames; }
-    public String getGrammarFileName() { return "InternalSensinact.g"; }
-
-
-
-     	private SensinactGrammarAccess grammarAccess;
-
-        public InternalSensinactParser(TokenStream input, SensinactGrammarAccess grammarAccess) {
-            this(input);
-            this.grammarAccess = grammarAccess;
-            registerRules(grammarAccess.getGrammar());
-        }
-
-        @Override
-        protected String getFirstRuleName() {
-        	return "Sensinact";
-       	}
-
-       	@Override
-       	protected SensinactGrammarAccess getGrammarAccess() {
-       		return grammarAccess;
-       	}
-
-
-
-
-    // $ANTLR start "entryRuleSensinact"
-    // InternalSensinact.g:64:1: entryRuleSensinact returns [EObject current=null] : iv_ruleSensinact= ruleSensinact EOF ;
-    public final EObject entryRuleSensinact() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleSensinact = null;
-
-
-        try {
-            // InternalSensinact.g:64:50: (iv_ruleSensinact= ruleSensinact EOF )
-            // InternalSensinact.g:65:2: iv_ruleSensinact= ruleSensinact EOF
-            {
-             newCompositeNode(grammarAccess.getSensinactRule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleSensinact=ruleSensinact();
-
-            state._fsp--;
-
-             current =iv_ruleSensinact; 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleSensinact"
-
-
-    // $ANTLR start "ruleSensinact"
-    // InternalSensinact.g:71:1: ruleSensinact returns [EObject current=null] : ( () ( (lv_eca_1_0= ruleDSL_SENSINACT ) ) ) ;
-    public final EObject ruleSensinact() throws RecognitionException {
-        EObject current = null;
-
-        EObject lv_eca_1_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:77:2: ( ( () ( (lv_eca_1_0= ruleDSL_SENSINACT ) ) ) )
-            // InternalSensinact.g:78:2: ( () ( (lv_eca_1_0= ruleDSL_SENSINACT ) ) )
-            {
-            // InternalSensinact.g:78:2: ( () ( (lv_eca_1_0= ruleDSL_SENSINACT ) ) )
-            // InternalSensinact.g:79:3: () ( (lv_eca_1_0= ruleDSL_SENSINACT ) )
-            {
-            // InternalSensinact.g:79:3: ()
-            // InternalSensinact.g:80:4: 
-            {
-
-            				current = forceCreateModelElement(
-            					grammarAccess.getSensinactAccess().getSensinactAction_0(),
-            					current);
-            			
-
-            }
-
-            // InternalSensinact.g:86:3: ( (lv_eca_1_0= ruleDSL_SENSINACT ) )
-            // InternalSensinact.g:87:4: (lv_eca_1_0= ruleDSL_SENSINACT )
-            {
-            // InternalSensinact.g:87:4: (lv_eca_1_0= ruleDSL_SENSINACT )
-            // InternalSensinact.g:88:5: lv_eca_1_0= ruleDSL_SENSINACT
-            {
-
-            					newCompositeNode(grammarAccess.getSensinactAccess().getEcaDSL_SENSINACTParserRuleCall_1_0());
-            				
-            pushFollow(FOLLOW_2);
-            lv_eca_1_0=ruleDSL_SENSINACT();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getSensinactRule());
-            					}
-            					set(
-            						current,
-            						"eca",
-            						lv_eca_1_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_SENSINACT");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-
-            }
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleSensinact"
-
-
-    // $ANTLR start "entryRuleDSL_SENSINACT"
-    // InternalSensinact.g:109:1: entryRuleDSL_SENSINACT returns [EObject current=null] : iv_ruleDSL_SENSINACT= ruleDSL_SENSINACT EOF ;
-    public final EObject entryRuleDSL_SENSINACT() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDSL_SENSINACT = null;
-
-
-        try {
-            // InternalSensinact.g:109:54: (iv_ruleDSL_SENSINACT= ruleDSL_SENSINACT EOF )
-            // InternalSensinact.g:110:2: iv_ruleDSL_SENSINACT= ruleDSL_SENSINACT EOF
-            {
-             newCompositeNode(grammarAccess.getDSL_SENSINACTRule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleDSL_SENSINACT=ruleDSL_SENSINACT();
-
-            state._fsp--;
-
-             current =iv_ruleDSL_SENSINACT; 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDSL_SENSINACT"
-
-
-    // $ANTLR start "ruleDSL_SENSINACT"
-    // InternalSensinact.g:116:1: ruleDSL_SENSINACT returns [EObject current=null] : ( ( (lv_resources_0_0= ruleDSL_Resource ) )+ ( (lv_cep_1_0= ruleDSL_CEP_STATEMENT ) )* ( (lv_on_2_0= ruleDSL_On ) ) ( (lv_eca_3_0= ruleDSL_ECA_STATEMENT ) ) ) ;
-    public final EObject ruleDSL_SENSINACT() throws RecognitionException {
-        EObject current = null;
-
-        EObject lv_resources_0_0 = null;
-
-        EObject lv_cep_1_0 = null;
-
-        EObject lv_on_2_0 = null;
-
-        EObject lv_eca_3_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:122:2: ( ( ( (lv_resources_0_0= ruleDSL_Resource ) )+ ( (lv_cep_1_0= ruleDSL_CEP_STATEMENT ) )* ( (lv_on_2_0= ruleDSL_On ) ) ( (lv_eca_3_0= ruleDSL_ECA_STATEMENT ) ) ) )
-            // InternalSensinact.g:123:2: ( ( (lv_resources_0_0= ruleDSL_Resource ) )+ ( (lv_cep_1_0= ruleDSL_CEP_STATEMENT ) )* ( (lv_on_2_0= ruleDSL_On ) ) ( (lv_eca_3_0= ruleDSL_ECA_STATEMENT ) ) )
-            {
-            // InternalSensinact.g:123:2: ( ( (lv_resources_0_0= ruleDSL_Resource ) )+ ( (lv_cep_1_0= ruleDSL_CEP_STATEMENT ) )* ( (lv_on_2_0= ruleDSL_On ) ) ( (lv_eca_3_0= ruleDSL_ECA_STATEMENT ) ) )
-            // InternalSensinact.g:124:3: ( (lv_resources_0_0= ruleDSL_Resource ) )+ ( (lv_cep_1_0= ruleDSL_CEP_STATEMENT ) )* ( (lv_on_2_0= ruleDSL_On ) ) ( (lv_eca_3_0= ruleDSL_ECA_STATEMENT ) )
-            {
-            // InternalSensinact.g:124:3: ( (lv_resources_0_0= ruleDSL_Resource ) )+
-            int cnt1=0;
-            loop1:
-            do {
-                int alt1=2;
-                int LA1_0 = input.LA(1);
-
-                if ( (LA1_0==12) ) {
-                    alt1=1;
-                }
-
-
-                switch (alt1) {
-            	case 1 :
-            	    // InternalSensinact.g:125:4: (lv_resources_0_0= ruleDSL_Resource )
-            	    {
-            	    // InternalSensinact.g:125:4: (lv_resources_0_0= ruleDSL_Resource )
-            	    // InternalSensinact.g:126:5: lv_resources_0_0= ruleDSL_Resource
-            	    {
-
-            	    					newCompositeNode(grammarAccess.getDSL_SENSINACTAccess().getResourcesDSL_ResourceParserRuleCall_0_0());
-            	    				
-            	    pushFollow(FOLLOW_3);
-            	    lv_resources_0_0=ruleDSL_Resource();
-
-            	    state._fsp--;
-
-
-            	    					if (current==null) {
-            	    						current = createModelElementForParent(grammarAccess.getDSL_SENSINACTRule());
-            	    					}
-            	    					add(
-            	    						current,
-            	    						"resources",
-            	    						lv_resources_0_0,
-            	    						"org.eclipse.sensinact.studio.language.Sensinact.DSL_Resource");
-            	    					afterParserOrEnumRuleCall();
-            	    				
-
-            	    }
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt1 >= 1 ) break loop1;
-                        EarlyExitException eee =
-                            new EarlyExitException(1, input);
-                        throw eee;
-                }
-                cnt1++;
-            } while (true);
-
-            // InternalSensinact.g:143:3: ( (lv_cep_1_0= ruleDSL_CEP_STATEMENT ) )*
-            loop2:
-            do {
-                int alt2=2;
-                int LA2_0 = input.LA(1);
-
-                if ( (LA2_0==28) ) {
-                    alt2=1;
-                }
-
-
-                switch (alt2) {
-            	case 1 :
-            	    // InternalSensinact.g:144:4: (lv_cep_1_0= ruleDSL_CEP_STATEMENT )
-            	    {
-            	    // InternalSensinact.g:144:4: (lv_cep_1_0= ruleDSL_CEP_STATEMENT )
-            	    // InternalSensinact.g:145:5: lv_cep_1_0= ruleDSL_CEP_STATEMENT
-            	    {
-
-            	    					newCompositeNode(grammarAccess.getDSL_SENSINACTAccess().getCepDSL_CEP_STATEMENTParserRuleCall_1_0());
-            	    				
-            	    pushFollow(FOLLOW_4);
-            	    lv_cep_1_0=ruleDSL_CEP_STATEMENT();
-
-            	    state._fsp--;
-
-
-            	    					if (current==null) {
-            	    						current = createModelElementForParent(grammarAccess.getDSL_SENSINACTRule());
-            	    					}
-            	    					add(
-            	    						current,
-            	    						"cep",
-            	    						lv_cep_1_0,
-            	    						"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_STATEMENT");
-            	    					afterParserOrEnumRuleCall();
-            	    				
-
-            	    }
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop2;
-                }
-            } while (true);
-
-            // InternalSensinact.g:162:3: ( (lv_on_2_0= ruleDSL_On ) )
-            // InternalSensinact.g:163:4: (lv_on_2_0= ruleDSL_On )
-            {
-            // InternalSensinact.g:163:4: (lv_on_2_0= ruleDSL_On )
-            // InternalSensinact.g:164:5: lv_on_2_0= ruleDSL_On
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_SENSINACTAccess().getOnDSL_OnParserRuleCall_2_0());
-            				
-            pushFollow(FOLLOW_5);
-            lv_on_2_0=ruleDSL_On();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_SENSINACTRule());
-            					}
-            					set(
-            						current,
-            						"on",
-            						lv_on_2_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_On");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-            // InternalSensinact.g:181:3: ( (lv_eca_3_0= ruleDSL_ECA_STATEMENT ) )
-            // InternalSensinact.g:182:4: (lv_eca_3_0= ruleDSL_ECA_STATEMENT )
-            {
-            // InternalSensinact.g:182:4: (lv_eca_3_0= ruleDSL_ECA_STATEMENT )
-            // InternalSensinact.g:183:5: lv_eca_3_0= ruleDSL_ECA_STATEMENT
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_SENSINACTAccess().getEcaDSL_ECA_STATEMENTParserRuleCall_3_0());
-            				
-            pushFollow(FOLLOW_2);
-            lv_eca_3_0=ruleDSL_ECA_STATEMENT();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_SENSINACTRule());
-            					}
-            					set(
-            						current,
-            						"eca",
-            						lv_eca_3_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_ECA_STATEMENT");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-
-            }
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDSL_SENSINACT"
-
-
-    // $ANTLR start "entryRuleDSL_Resource"
-    // InternalSensinact.g:204:1: entryRuleDSL_Resource returns [EObject current=null] : iv_ruleDSL_Resource= ruleDSL_Resource EOF ;
-    public final EObject entryRuleDSL_Resource() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDSL_Resource = null;
-
-
-        try {
-            // InternalSensinact.g:204:53: (iv_ruleDSL_Resource= ruleDSL_Resource EOF )
-            // InternalSensinact.g:205:2: iv_ruleDSL_Resource= ruleDSL_Resource EOF
-            {
-             newCompositeNode(grammarAccess.getDSL_ResourceRule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleDSL_Resource=ruleDSL_Resource();
-
-            state._fsp--;
-
-             current =iv_ruleDSL_Resource; 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDSL_Resource"
-
-
-    // $ANTLR start "ruleDSL_Resource"
-    // InternalSensinact.g:211:1: ruleDSL_Resource returns [EObject current=null] : (otherlv_0= 'resource' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '=' otherlv_3= '[' ( (lv_gatewayID_4_0= ruleEXTENDED_ID ) ) otherlv_5= '/' ( (lv_deviceID_6_0= ruleEXTENDED_ID ) ) otherlv_7= '/' ( (lv_serviceID_8_0= ruleEXTENDED_ID ) ) otherlv_9= '/' ( (lv_resourceID_10_0= ruleEXTENDED_ID ) ) otherlv_11= ']' ) ;
-    public final EObject ruleDSL_Resource() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token lv_name_1_0=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_7=null;
-        Token otherlv_9=null;
-        Token otherlv_11=null;
-        AntlrDatatypeRuleToken lv_gatewayID_4_0 = null;
-
-        AntlrDatatypeRuleToken lv_deviceID_6_0 = null;
-
-        AntlrDatatypeRuleToken lv_serviceID_8_0 = null;
-
-        AntlrDatatypeRuleToken lv_resourceID_10_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:217:2: ( (otherlv_0= 'resource' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '=' otherlv_3= '[' ( (lv_gatewayID_4_0= ruleEXTENDED_ID ) ) otherlv_5= '/' ( (lv_deviceID_6_0= ruleEXTENDED_ID ) ) otherlv_7= '/' ( (lv_serviceID_8_0= ruleEXTENDED_ID ) ) otherlv_9= '/' ( (lv_resourceID_10_0= ruleEXTENDED_ID ) ) otherlv_11= ']' ) )
-            // InternalSensinact.g:218:2: (otherlv_0= 'resource' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '=' otherlv_3= '[' ( (lv_gatewayID_4_0= ruleEXTENDED_ID ) ) otherlv_5= '/' ( (lv_deviceID_6_0= ruleEXTENDED_ID ) ) otherlv_7= '/' ( (lv_serviceID_8_0= ruleEXTENDED_ID ) ) otherlv_9= '/' ( (lv_resourceID_10_0= ruleEXTENDED_ID ) ) otherlv_11= ']' )
-            {
-            // InternalSensinact.g:218:2: (otherlv_0= 'resource' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '=' otherlv_3= '[' ( (lv_gatewayID_4_0= ruleEXTENDED_ID ) ) otherlv_5= '/' ( (lv_deviceID_6_0= ruleEXTENDED_ID ) ) otherlv_7= '/' ( (lv_serviceID_8_0= ruleEXTENDED_ID ) ) otherlv_9= '/' ( (lv_resourceID_10_0= ruleEXTENDED_ID ) ) otherlv_11= ']' )
-            // InternalSensinact.g:219:3: otherlv_0= 'resource' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '=' otherlv_3= '[' ( (lv_gatewayID_4_0= ruleEXTENDED_ID ) ) otherlv_5= '/' ( (lv_deviceID_6_0= ruleEXTENDED_ID ) ) otherlv_7= '/' ( (lv_serviceID_8_0= ruleEXTENDED_ID ) ) otherlv_9= '/' ( (lv_resourceID_10_0= ruleEXTENDED_ID ) ) otherlv_11= ']'
-            {
-            otherlv_0=(Token)match(input,12,FOLLOW_6); 
-
-            			newLeafNode(otherlv_0, grammarAccess.getDSL_ResourceAccess().getResourceKeyword_0());
-            		
-            // InternalSensinact.g:223:3: ( (lv_name_1_0= RULE_ID ) )
-            // InternalSensinact.g:224:4: (lv_name_1_0= RULE_ID )
-            {
-            // InternalSensinact.g:224:4: (lv_name_1_0= RULE_ID )
-            // InternalSensinact.g:225:5: lv_name_1_0= RULE_ID
-            {
-            lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_7); 
-
-            					newLeafNode(lv_name_1_0, grammarAccess.getDSL_ResourceAccess().getNameIDTerminalRuleCall_1_0());
-            				
-
-            					if (current==null) {
-            						current = createModelElement(grammarAccess.getDSL_ResourceRule());
-            					}
-            					setWithLastConsumed(
-            						current,
-            						"name",
-            						lv_name_1_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.ID");
-            				
-
-            }
-
-
-            }
-
-            otherlv_2=(Token)match(input,13,FOLLOW_8); 
-
-            			newLeafNode(otherlv_2, grammarAccess.getDSL_ResourceAccess().getEqualsSignKeyword_2());
-            		
-            otherlv_3=(Token)match(input,14,FOLLOW_6); 
-
-            			newLeafNode(otherlv_3, grammarAccess.getDSL_ResourceAccess().getLeftSquareBracketKeyword_3());
-            		
-            // InternalSensinact.g:249:3: ( (lv_gatewayID_4_0= ruleEXTENDED_ID ) )
-            // InternalSensinact.g:250:4: (lv_gatewayID_4_0= ruleEXTENDED_ID )
-            {
-            // InternalSensinact.g:250:4: (lv_gatewayID_4_0= ruleEXTENDED_ID )
-            // InternalSensinact.g:251:5: lv_gatewayID_4_0= ruleEXTENDED_ID
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_ResourceAccess().getGatewayIDEXTENDED_IDParserRuleCall_4_0());
-            				
-            pushFollow(FOLLOW_9);
-            lv_gatewayID_4_0=ruleEXTENDED_ID();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_ResourceRule());
-            					}
-            					set(
-            						current,
-            						"gatewayID",
-            						lv_gatewayID_4_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.EXTENDED_ID");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-            otherlv_5=(Token)match(input,15,FOLLOW_6); 
-
-            			newLeafNode(otherlv_5, grammarAccess.getDSL_ResourceAccess().getSolidusKeyword_5());
-            		
-            // InternalSensinact.g:272:3: ( (lv_deviceID_6_0= ruleEXTENDED_ID ) )
-            // InternalSensinact.g:273:4: (lv_deviceID_6_0= ruleEXTENDED_ID )
-            {
-            // InternalSensinact.g:273:4: (lv_deviceID_6_0= ruleEXTENDED_ID )
-            // InternalSensinact.g:274:5: lv_deviceID_6_0= ruleEXTENDED_ID
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_ResourceAccess().getDeviceIDEXTENDED_IDParserRuleCall_6_0());
-            				
-            pushFollow(FOLLOW_9);
-            lv_deviceID_6_0=ruleEXTENDED_ID();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_ResourceRule());
-            					}
-            					set(
-            						current,
-            						"deviceID",
-            						lv_deviceID_6_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.EXTENDED_ID");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-            otherlv_7=(Token)match(input,15,FOLLOW_6); 
-
-            			newLeafNode(otherlv_7, grammarAccess.getDSL_ResourceAccess().getSolidusKeyword_7());
-            		
-            // InternalSensinact.g:295:3: ( (lv_serviceID_8_0= ruleEXTENDED_ID ) )
-            // InternalSensinact.g:296:4: (lv_serviceID_8_0= ruleEXTENDED_ID )
-            {
-            // InternalSensinact.g:296:4: (lv_serviceID_8_0= ruleEXTENDED_ID )
-            // InternalSensinact.g:297:5: lv_serviceID_8_0= ruleEXTENDED_ID
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_ResourceAccess().getServiceIDEXTENDED_IDParserRuleCall_8_0());
-            				
-            pushFollow(FOLLOW_9);
-            lv_serviceID_8_0=ruleEXTENDED_ID();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_ResourceRule());
-            					}
-            					set(
-            						current,
-            						"serviceID",
-            						lv_serviceID_8_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.EXTENDED_ID");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-            otherlv_9=(Token)match(input,15,FOLLOW_6); 
-
-            			newLeafNode(otherlv_9, grammarAccess.getDSL_ResourceAccess().getSolidusKeyword_9());
-            		
-            // InternalSensinact.g:318:3: ( (lv_resourceID_10_0= ruleEXTENDED_ID ) )
-            // InternalSensinact.g:319:4: (lv_resourceID_10_0= ruleEXTENDED_ID )
-            {
-            // InternalSensinact.g:319:4: (lv_resourceID_10_0= ruleEXTENDED_ID )
-            // InternalSensinact.g:320:5: lv_resourceID_10_0= ruleEXTENDED_ID
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_ResourceAccess().getResourceIDEXTENDED_IDParserRuleCall_10_0());
-            				
-            pushFollow(FOLLOW_10);
-            lv_resourceID_10_0=ruleEXTENDED_ID();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_ResourceRule());
-            					}
-            					set(
-            						current,
-            						"resourceID",
-            						lv_resourceID_10_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.EXTENDED_ID");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-            otherlv_11=(Token)match(input,16,FOLLOW_2); 
-
-            			newLeafNode(otherlv_11, grammarAccess.getDSL_ResourceAccess().getRightSquareBracketKeyword_11());
-            		
-
-            }
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDSL_Resource"
-
-
-    // $ANTLR start "entryRuleDSL_On"
-    // InternalSensinact.g:345:1: entryRuleDSL_On returns [EObject current=null] : iv_ruleDSL_On= ruleDSL_On EOF ;
-    public final EObject entryRuleDSL_On() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDSL_On = null;
-
-
-        try {
-            // InternalSensinact.g:345:47: (iv_ruleDSL_On= ruleDSL_On EOF )
-            // InternalSensinact.g:346:2: iv_ruleDSL_On= ruleDSL_On EOF
-            {
-             newCompositeNode(grammarAccess.getDSL_OnRule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleDSL_On=ruleDSL_On();
-
-            state._fsp--;
-
-             current =iv_ruleDSL_On; 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDSL_On"
-
-
-    // $ANTLR start "ruleDSL_On"
-    // InternalSensinact.g:352:1: ruleDSL_On returns [EObject current=null] : (otherlv_0= 'on' ( (lv_triggers_1_0= ruleDSL_REF_CONDITION ) ) (otherlv_2= ',' ( (lv_triggers_3_0= ruleDSL_REF_CONDITION ) ) )* ) ;
-    public final EObject ruleDSL_On() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_2=null;
-        EObject lv_triggers_1_0 = null;
-
-        EObject lv_triggers_3_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:358:2: ( (otherlv_0= 'on' ( (lv_triggers_1_0= ruleDSL_REF_CONDITION ) ) (otherlv_2= ',' ( (lv_triggers_3_0= ruleDSL_REF_CONDITION ) ) )* ) )
-            // InternalSensinact.g:359:2: (otherlv_0= 'on' ( (lv_triggers_1_0= ruleDSL_REF_CONDITION ) ) (otherlv_2= ',' ( (lv_triggers_3_0= ruleDSL_REF_CONDITION ) ) )* )
-            {
-            // InternalSensinact.g:359:2: (otherlv_0= 'on' ( (lv_triggers_1_0= ruleDSL_REF_CONDITION ) ) (otherlv_2= ',' ( (lv_triggers_3_0= ruleDSL_REF_CONDITION ) ) )* )
-            // InternalSensinact.g:360:3: otherlv_0= 'on' ( (lv_triggers_1_0= ruleDSL_REF_CONDITION ) ) (otherlv_2= ',' ( (lv_triggers_3_0= ruleDSL_REF_CONDITION ) ) )*
-            {
-            otherlv_0=(Token)match(input,17,FOLLOW_6); 
-
-            			newLeafNode(otherlv_0, grammarAccess.getDSL_OnAccess().getOnKeyword_0());
-            		
-            // InternalSensinact.g:364:3: ( (lv_triggers_1_0= ruleDSL_REF_CONDITION ) )
-            // InternalSensinact.g:365:4: (lv_triggers_1_0= ruleDSL_REF_CONDITION )
-            {
-            // InternalSensinact.g:365:4: (lv_triggers_1_0= ruleDSL_REF_CONDITION )
-            // InternalSensinact.g:366:5: lv_triggers_1_0= ruleDSL_REF_CONDITION
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_OnAccess().getTriggersDSL_REF_CONDITIONParserRuleCall_1_0());
-            				
-            pushFollow(FOLLOW_11);
-            lv_triggers_1_0=ruleDSL_REF_CONDITION();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_OnRule());
-            					}
-            					add(
-            						current,
-            						"triggers",
-            						lv_triggers_1_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-            // InternalSensinact.g:383:3: (otherlv_2= ',' ( (lv_triggers_3_0= ruleDSL_REF_CONDITION ) ) )*
-            loop3:
-            do {
-                int alt3=2;
-                int LA3_0 = input.LA(1);
-
-                if ( (LA3_0==18) ) {
-                    alt3=1;
-                }
-
-
-                switch (alt3) {
-            	case 1 :
-            	    // InternalSensinact.g:384:4: otherlv_2= ',' ( (lv_triggers_3_0= ruleDSL_REF_CONDITION ) )
-            	    {
-            	    otherlv_2=(Token)match(input,18,FOLLOW_6); 
-
-            	    				newLeafNode(otherlv_2, grammarAccess.getDSL_OnAccess().getCommaKeyword_2_0());
-            	    			
-            	    // InternalSensinact.g:388:4: ( (lv_triggers_3_0= ruleDSL_REF_CONDITION ) )
-            	    // InternalSensinact.g:389:5: (lv_triggers_3_0= ruleDSL_REF_CONDITION )
-            	    {
-            	    // InternalSensinact.g:389:5: (lv_triggers_3_0= ruleDSL_REF_CONDITION )
-            	    // InternalSensinact.g:390:6: lv_triggers_3_0= ruleDSL_REF_CONDITION
-            	    {
-
-            	    						newCompositeNode(grammarAccess.getDSL_OnAccess().getTriggersDSL_REF_CONDITIONParserRuleCall_2_1_0());
-            	    					
-            	    pushFollow(FOLLOW_11);
-            	    lv_triggers_3_0=ruleDSL_REF_CONDITION();
-
-            	    state._fsp--;
-
-
-            	    						if (current==null) {
-            	    							current = createModelElementForParent(grammarAccess.getDSL_OnRule());
-            	    						}
-            	    						add(
-            	    							current,
-            	    							"triggers",
-            	    							lv_triggers_3_0,
-            	    							"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
-            	    						afterParserOrEnumRuleCall();
-            	    					
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop3;
-                }
-            } while (true);
-
-
-            }
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDSL_On"
-
-
-    // $ANTLR start "entryRuleDSL_ECA_STATEMENT"
-    // InternalSensinact.g:412:1: entryRuleDSL_ECA_STATEMENT returns [EObject current=null] : iv_ruleDSL_ECA_STATEMENT= ruleDSL_ECA_STATEMENT EOF ;
-    public final EObject entryRuleDSL_ECA_STATEMENT() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDSL_ECA_STATEMENT = null;
-
-
-        try {
-            // InternalSensinact.g:412:58: (iv_ruleDSL_ECA_STATEMENT= ruleDSL_ECA_STATEMENT EOF )
-            // InternalSensinact.g:413:2: iv_ruleDSL_ECA_STATEMENT= ruleDSL_ECA_STATEMENT EOF
-            {
-             newCompositeNode(grammarAccess.getDSL_ECA_STATEMENTRule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleDSL_ECA_STATEMENT=ruleDSL_ECA_STATEMENT();
-
-            state._fsp--;
-
-             current =iv_ruleDSL_ECA_STATEMENT; 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDSL_ECA_STATEMENT"
-
-
-    // $ANTLR start "ruleDSL_ECA_STATEMENT"
-    // InternalSensinact.g:419:1: ruleDSL_ECA_STATEMENT returns [EObject current=null] : ( ( (lv_ifdo_0_0= ruleDSL_IfDo ) ) ( (lv_elseIfdo_1_0= ruleDSL_ElseIfDo ) )* ( (lv_elsedo_2_0= ruleDSL_ElseDo ) )? otherlv_3= 'end if' ) ;
-    public final EObject ruleDSL_ECA_STATEMENT() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_3=null;
-        EObject lv_ifdo_0_0 = null;
-
-        EObject lv_elseIfdo_1_0 = null;
-
-        EObject lv_elsedo_2_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:425:2: ( ( ( (lv_ifdo_0_0= ruleDSL_IfDo ) ) ( (lv_elseIfdo_1_0= ruleDSL_ElseIfDo ) )* ( (lv_elsedo_2_0= ruleDSL_ElseDo ) )? otherlv_3= 'end if' ) )
-            // InternalSensinact.g:426:2: ( ( (lv_ifdo_0_0= ruleDSL_IfDo ) ) ( (lv_elseIfdo_1_0= ruleDSL_ElseIfDo ) )* ( (lv_elsedo_2_0= ruleDSL_ElseDo ) )? otherlv_3= 'end if' )
-            {
-            // InternalSensinact.g:426:2: ( ( (lv_ifdo_0_0= ruleDSL_IfDo ) ) ( (lv_elseIfdo_1_0= ruleDSL_ElseIfDo ) )* ( (lv_elsedo_2_0= ruleDSL_ElseDo ) )? otherlv_3= 'end if' )
-            // InternalSensinact.g:427:3: ( (lv_ifdo_0_0= ruleDSL_IfDo ) ) ( (lv_elseIfdo_1_0= ruleDSL_ElseIfDo ) )* ( (lv_elsedo_2_0= ruleDSL_ElseDo ) )? otherlv_3= 'end if'
-            {
-            // InternalSensinact.g:427:3: ( (lv_ifdo_0_0= ruleDSL_IfDo ) )
-            // InternalSensinact.g:428:4: (lv_ifdo_0_0= ruleDSL_IfDo )
-            {
-            // InternalSensinact.g:428:4: (lv_ifdo_0_0= ruleDSL_IfDo )
-            // InternalSensinact.g:429:5: lv_ifdo_0_0= ruleDSL_IfDo
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_ECA_STATEMENTAccess().getIfdoDSL_IfDoParserRuleCall_0_0());
-            				
-            pushFollow(FOLLOW_12);
-            lv_ifdo_0_0=ruleDSL_IfDo();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_ECA_STATEMENTRule());
-            					}
-            					set(
-            						current,
-            						"ifdo",
-            						lv_ifdo_0_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_IfDo");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-            // InternalSensinact.g:446:3: ( (lv_elseIfdo_1_0= ruleDSL_ElseIfDo ) )*
-            loop4:
-            do {
-                int alt4=2;
-                int LA4_0 = input.LA(1);
-
-                if ( (LA4_0==22) ) {
-                    alt4=1;
-                }
-
-
-                switch (alt4) {
-            	case 1 :
-            	    // InternalSensinact.g:447:4: (lv_elseIfdo_1_0= ruleDSL_ElseIfDo )
-            	    {
-            	    // InternalSensinact.g:447:4: (lv_elseIfdo_1_0= ruleDSL_ElseIfDo )
-            	    // InternalSensinact.g:448:5: lv_elseIfdo_1_0= ruleDSL_ElseIfDo
-            	    {
-
-            	    					newCompositeNode(grammarAccess.getDSL_ECA_STATEMENTAccess().getElseIfdoDSL_ElseIfDoParserRuleCall_1_0());
-            	    				
-            	    pushFollow(FOLLOW_12);
-            	    lv_elseIfdo_1_0=ruleDSL_ElseIfDo();
-
-            	    state._fsp--;
-
-
-            	    					if (current==null) {
-            	    						current = createModelElementForParent(grammarAccess.getDSL_ECA_STATEMENTRule());
-            	    					}
-            	    					add(
-            	    						current,
-            	    						"elseIfdo",
-            	    						lv_elseIfdo_1_0,
-            	    						"org.eclipse.sensinact.studio.language.Sensinact.DSL_ElseIfDo");
-            	    					afterParserOrEnumRuleCall();
-            	    				
-
-            	    }
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop4;
-                }
-            } while (true);
-
-            // InternalSensinact.g:465:3: ( (lv_elsedo_2_0= ruleDSL_ElseDo ) )?
-            int alt5=2;
-            int LA5_0 = input.LA(1);
-
-            if ( (LA5_0==23) ) {
-                alt5=1;
-            }
-            switch (alt5) {
-                case 1 :
-                    // InternalSensinact.g:466:4: (lv_elsedo_2_0= ruleDSL_ElseDo )
-                    {
-                    // InternalSensinact.g:466:4: (lv_elsedo_2_0= ruleDSL_ElseDo )
-                    // InternalSensinact.g:467:5: lv_elsedo_2_0= ruleDSL_ElseDo
-                    {
-
-                    					newCompositeNode(grammarAccess.getDSL_ECA_STATEMENTAccess().getElsedoDSL_ElseDoParserRuleCall_2_0());
-                    				
-                    pushFollow(FOLLOW_13);
-                    lv_elsedo_2_0=ruleDSL_ElseDo();
-
-                    state._fsp--;
-
-
-                    					if (current==null) {
-                    						current = createModelElementForParent(grammarAccess.getDSL_ECA_STATEMENTRule());
-                    					}
-                    					set(
-                    						current,
-                    						"elsedo",
-                    						lv_elsedo_2_0,
-                    						"org.eclipse.sensinact.studio.language.Sensinact.DSL_ElseDo");
-                    					afterParserOrEnumRuleCall();
-                    				
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            otherlv_3=(Token)match(input,19,FOLLOW_2); 
-
-            			newLeafNode(otherlv_3, grammarAccess.getDSL_ECA_STATEMENTAccess().getEndIfKeyword_3());
-            		
-
-            }
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDSL_ECA_STATEMENT"
-
-
-    // $ANTLR start "entryRuleDSL_IfDo"
-    // InternalSensinact.g:492:1: entryRuleDSL_IfDo returns [EObject current=null] : iv_ruleDSL_IfDo= ruleDSL_IfDo EOF ;
-    public final EObject entryRuleDSL_IfDo() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDSL_IfDo = null;
-
-
-        try {
-            // InternalSensinact.g:492:49: (iv_ruleDSL_IfDo= ruleDSL_IfDo EOF )
-            // InternalSensinact.g:493:2: iv_ruleDSL_IfDo= ruleDSL_IfDo EOF
-            {
-             newCompositeNode(grammarAccess.getDSL_IfDoRule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleDSL_IfDo=ruleDSL_IfDo();
-
-            state._fsp--;
-
-             current =iv_ruleDSL_IfDo; 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDSL_IfDo"
-
-
-    // $ANTLR start "ruleDSL_IfDo"
-    // InternalSensinact.g:499:1: ruleDSL_IfDo returns [EObject current=null] : (otherlv_0= 'if' ( (lv_condition_1_0= ruleDSL_Expression_Or ) ) otherlv_2= 'do' ( (lv_actions_3_0= ruleDSL_ListActions ) ) ) ;
-    public final EObject ruleDSL_IfDo() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_2=null;
-        EObject lv_condition_1_0 = null;
-
-        EObject lv_actions_3_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:505:2: ( (otherlv_0= 'if' ( (lv_condition_1_0= ruleDSL_Expression_Or ) ) otherlv_2= 'do' ( (lv_actions_3_0= ruleDSL_ListActions ) ) ) )
-            // InternalSensinact.g:506:2: (otherlv_0= 'if' ( (lv_condition_1_0= ruleDSL_Expression_Or ) ) otherlv_2= 'do' ( (lv_actions_3_0= ruleDSL_ListActions ) ) )
-            {
-            // InternalSensinact.g:506:2: (otherlv_0= 'if' ( (lv_condition_1_0= ruleDSL_Expression_Or ) ) otherlv_2= 'do' ( (lv_actions_3_0= ruleDSL_ListActions ) ) )
-            // InternalSensinact.g:507:3: otherlv_0= 'if' ( (lv_condition_1_0= ruleDSL_Expression_Or ) ) otherlv_2= 'do' ( (lv_actions_3_0= ruleDSL_ListActions ) )
-            {
-            otherlv_0=(Token)match(input,20,FOLLOW_14); 
-
-            			newLeafNode(otherlv_0, grammarAccess.getDSL_IfDoAccess().getIfKeyword_0());
-            		
-            // InternalSensinact.g:511:3: ( (lv_condition_1_0= ruleDSL_Expression_Or ) )
-            // InternalSensinact.g:512:4: (lv_condition_1_0= ruleDSL_Expression_Or )
-            {
-            // InternalSensinact.g:512:4: (lv_condition_1_0= ruleDSL_Expression_Or )
-            // InternalSensinact.g:513:5: lv_condition_1_0= ruleDSL_Expression_Or
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_IfDoAccess().getConditionDSL_Expression_OrParserRuleCall_1_0());
-            				
-            pushFollow(FOLLOW_15);
-            lv_condition_1_0=ruleDSL_Expression_Or();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_IfDoRule());
-            					}
-            					set(
-            						current,
-            						"condition",
-            						lv_condition_1_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Or");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-            otherlv_2=(Token)match(input,21,FOLLOW_6); 
-
-            			newLeafNode(otherlv_2, grammarAccess.getDSL_IfDoAccess().getDoKeyword_2());
-            		
-            // InternalSensinact.g:534:3: ( (lv_actions_3_0= ruleDSL_ListActions ) )
-            // InternalSensinact.g:535:4: (lv_actions_3_0= ruleDSL_ListActions )
-            {
-            // InternalSensinact.g:535:4: (lv_actions_3_0= ruleDSL_ListActions )
-            // InternalSensinact.g:536:5: lv_actions_3_0= ruleDSL_ListActions
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_IfDoAccess().getActionsDSL_ListActionsParserRuleCall_3_0());
-            				
-            pushFollow(FOLLOW_2);
-            lv_actions_3_0=ruleDSL_ListActions();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_IfDoRule());
-            					}
-            					set(
-            						current,
-            						"actions",
-            						lv_actions_3_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_ListActions");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-
-            }
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDSL_IfDo"
-
-
-    // $ANTLR start "entryRuleDSL_ElseIfDo"
-    // InternalSensinact.g:557:1: entryRuleDSL_ElseIfDo returns [EObject current=null] : iv_ruleDSL_ElseIfDo= ruleDSL_ElseIfDo EOF ;
-    public final EObject entryRuleDSL_ElseIfDo() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDSL_ElseIfDo = null;
-
-
-        try {
-            // InternalSensinact.g:557:53: (iv_ruleDSL_ElseIfDo= ruleDSL_ElseIfDo EOF )
-            // InternalSensinact.g:558:2: iv_ruleDSL_ElseIfDo= ruleDSL_ElseIfDo EOF
-            {
-             newCompositeNode(grammarAccess.getDSL_ElseIfDoRule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleDSL_ElseIfDo=ruleDSL_ElseIfDo();
-
-            state._fsp--;
-
-             current =iv_ruleDSL_ElseIfDo; 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDSL_ElseIfDo"
-
-
-    // $ANTLR start "ruleDSL_ElseIfDo"
-    // InternalSensinact.g:564:1: ruleDSL_ElseIfDo returns [EObject current=null] : (otherlv_0= 'else if' ( (lv_condition_1_0= ruleDSL_Expression_Or ) ) otherlv_2= 'do' ( (lv_actions_3_0= ruleDSL_ListActions ) ) ) ;
-    public final EObject ruleDSL_ElseIfDo() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_2=null;
-        EObject lv_condition_1_0 = null;
-
-        EObject lv_actions_3_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:570:2: ( (otherlv_0= 'else if' ( (lv_condition_1_0= ruleDSL_Expression_Or ) ) otherlv_2= 'do' ( (lv_actions_3_0= ruleDSL_ListActions ) ) ) )
-            // InternalSensinact.g:571:2: (otherlv_0= 'else if' ( (lv_condition_1_0= ruleDSL_Expression_Or ) ) otherlv_2= 'do' ( (lv_actions_3_0= ruleDSL_ListActions ) ) )
-            {
-            // InternalSensinact.g:571:2: (otherlv_0= 'else if' ( (lv_condition_1_0= ruleDSL_Expression_Or ) ) otherlv_2= 'do' ( (lv_actions_3_0= ruleDSL_ListActions ) ) )
-            // InternalSensinact.g:572:3: otherlv_0= 'else if' ( (lv_condition_1_0= ruleDSL_Expression_Or ) ) otherlv_2= 'do' ( (lv_actions_3_0= ruleDSL_ListActions ) )
-            {
-            otherlv_0=(Token)match(input,22,FOLLOW_14); 
-
-            			newLeafNode(otherlv_0, grammarAccess.getDSL_ElseIfDoAccess().getElseIfKeyword_0());
-            		
-            // InternalSensinact.g:576:3: ( (lv_condition_1_0= ruleDSL_Expression_Or ) )
-            // InternalSensinact.g:577:4: (lv_condition_1_0= ruleDSL_Expression_Or )
-            {
-            // InternalSensinact.g:577:4: (lv_condition_1_0= ruleDSL_Expression_Or )
-            // InternalSensinact.g:578:5: lv_condition_1_0= ruleDSL_Expression_Or
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_ElseIfDoAccess().getConditionDSL_Expression_OrParserRuleCall_1_0());
-            				
-            pushFollow(FOLLOW_15);
-            lv_condition_1_0=ruleDSL_Expression_Or();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_ElseIfDoRule());
-            					}
-            					set(
-            						current,
-            						"condition",
-            						lv_condition_1_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Or");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-            otherlv_2=(Token)match(input,21,FOLLOW_6); 
-
-            			newLeafNode(otherlv_2, grammarAccess.getDSL_ElseIfDoAccess().getDoKeyword_2());
-            		
-            // InternalSensinact.g:599:3: ( (lv_actions_3_0= ruleDSL_ListActions ) )
-            // InternalSensinact.g:600:4: (lv_actions_3_0= ruleDSL_ListActions )
-            {
-            // InternalSensinact.g:600:4: (lv_actions_3_0= ruleDSL_ListActions )
-            // InternalSensinact.g:601:5: lv_actions_3_0= ruleDSL_ListActions
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_ElseIfDoAccess().getActionsDSL_ListActionsParserRuleCall_3_0());
-            				
-            pushFollow(FOLLOW_2);
-            lv_actions_3_0=ruleDSL_ListActions();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_ElseIfDoRule());
-            					}
-            					set(
-            						current,
-            						"actions",
-            						lv_actions_3_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_ListActions");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-
-            }
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDSL_ElseIfDo"
-
-
-    // $ANTLR start "entryRuleDSL_ElseDo"
-    // InternalSensinact.g:622:1: entryRuleDSL_ElseDo returns [EObject current=null] : iv_ruleDSL_ElseDo= ruleDSL_ElseDo EOF ;
-    public final EObject entryRuleDSL_ElseDo() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDSL_ElseDo = null;
-
-
-        try {
-            // InternalSensinact.g:622:51: (iv_ruleDSL_ElseDo= ruleDSL_ElseDo EOF )
-            // InternalSensinact.g:623:2: iv_ruleDSL_ElseDo= ruleDSL_ElseDo EOF
-            {
-             newCompositeNode(grammarAccess.getDSL_ElseDoRule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleDSL_ElseDo=ruleDSL_ElseDo();
-
-            state._fsp--;
-
-             current =iv_ruleDSL_ElseDo; 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDSL_ElseDo"
-
-
-    // $ANTLR start "ruleDSL_ElseDo"
-    // InternalSensinact.g:629:1: ruleDSL_ElseDo returns [EObject current=null] : (otherlv_0= 'else do' ( (lv_actions_1_0= ruleDSL_ListActions ) ) ) ;
-    public final EObject ruleDSL_ElseDo() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        EObject lv_actions_1_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:635:2: ( (otherlv_0= 'else do' ( (lv_actions_1_0= ruleDSL_ListActions ) ) ) )
-            // InternalSensinact.g:636:2: (otherlv_0= 'else do' ( (lv_actions_1_0= ruleDSL_ListActions ) ) )
-            {
-            // InternalSensinact.g:636:2: (otherlv_0= 'else do' ( (lv_actions_1_0= ruleDSL_ListActions ) ) )
-            // InternalSensinact.g:637:3: otherlv_0= 'else do' ( (lv_actions_1_0= ruleDSL_ListActions ) )
-            {
-            otherlv_0=(Token)match(input,23,FOLLOW_6); 
-
-            			newLeafNode(otherlv_0, grammarAccess.getDSL_ElseDoAccess().getElseDoKeyword_0());
-            		
-            // InternalSensinact.g:641:3: ( (lv_actions_1_0= ruleDSL_ListActions ) )
-            // InternalSensinact.g:642:4: (lv_actions_1_0= ruleDSL_ListActions )
-            {
-            // InternalSensinact.g:642:4: (lv_actions_1_0= ruleDSL_ListActions )
-            // InternalSensinact.g:643:5: lv_actions_1_0= ruleDSL_ListActions
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_ElseDoAccess().getActionsDSL_ListActionsParserRuleCall_1_0());
-            				
-            pushFollow(FOLLOW_2);
-            lv_actions_1_0=ruleDSL_ListActions();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_ElseDoRule());
-            					}
-            					set(
-            						current,
-            						"actions",
-            						lv_actions_1_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_ListActions");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-
-            }
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDSL_ElseDo"
-
-
-    // $ANTLR start "entryRuleNUMBER"
-    // InternalSensinact.g:664:1: entryRuleNUMBER returns [String current=null] : iv_ruleNUMBER= ruleNUMBER EOF ;
-    public final String entryRuleNUMBER() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleNUMBER = null;
-
-
-        try {
-            // InternalSensinact.g:664:46: (iv_ruleNUMBER= ruleNUMBER EOF )
-            // InternalSensinact.g:665:2: iv_ruleNUMBER= ruleNUMBER EOF
-            {
-             newCompositeNode(grammarAccess.getNUMBERRule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleNUMBER=ruleNUMBER();
-
-            state._fsp--;
-
-             current =iv_ruleNUMBER.getText(); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleNUMBER"
-
-
-    // $ANTLR start "ruleNUMBER"
-    // InternalSensinact.g:671:1: ruleNUMBER returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | (this_INT_1= RULE_INT kw= '.' this_INT_3= RULE_INT ) ) ;
-    public final AntlrDatatypeRuleToken ruleNUMBER() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token this_INT_0=null;
-        Token this_INT_1=null;
-        Token kw=null;
-        Token this_INT_3=null;
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:677:2: ( (this_INT_0= RULE_INT | (this_INT_1= RULE_INT kw= '.' this_INT_3= RULE_INT ) ) )
-            // InternalSensinact.g:678:2: (this_INT_0= RULE_INT | (this_INT_1= RULE_INT kw= '.' this_INT_3= RULE_INT ) )
-            {
-            // InternalSensinact.g:678:2: (this_INT_0= RULE_INT | (this_INT_1= RULE_INT kw= '.' this_INT_3= RULE_INT ) )
-            int alt6=2;
-            int LA6_0 = input.LA(1);
-
-            if ( (LA6_0==RULE_INT) ) {
-                int LA6_1 = input.LA(2);
-
-                if ( (LA6_1==EOF||LA6_1==15||LA6_1==18||LA6_1==21||LA6_1==27||LA6_1==32||LA6_1==37||(LA6_1>=40 && LA6_1<=51)) ) {
-                    alt6=1;
-                }
-                else if ( (LA6_1==24) ) {
-                    alt6=2;
-                }
-                else {
-                    NoViableAltException nvae =
-                        new NoViableAltException("", 6, 1, input);
-
-                    throw nvae;
-                }
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 6, 0, input);
-
-                throw nvae;
-            }
-            switch (alt6) {
-                case 1 :
-                    // InternalSensinact.g:679:3: this_INT_0= RULE_INT
-                    {
-                    this_INT_0=(Token)match(input,RULE_INT,FOLLOW_2); 
-
-                    			current.merge(this_INT_0);
-                    		
-
-                    			newLeafNode(this_INT_0, grammarAccess.getNUMBERAccess().getINTTerminalRuleCall_0());
-                    		
-
-                    }
-                    break;
-                case 2 :
-                    // InternalSensinact.g:687:3: (this_INT_1= RULE_INT kw= '.' this_INT_3= RULE_INT )
-                    {
-                    // InternalSensinact.g:687:3: (this_INT_1= RULE_INT kw= '.' this_INT_3= RULE_INT )
-                    // InternalSensinact.g:688:4: this_INT_1= RULE_INT kw= '.' this_INT_3= RULE_INT
-                    {
-                    this_INT_1=(Token)match(input,RULE_INT,FOLLOW_16); 
-
-                    				current.merge(this_INT_1);
-                    			
-
-                    				newLeafNode(this_INT_1, grammarAccess.getNUMBERAccess().getINTTerminalRuleCall_1_0());
-                    			
-                    kw=(Token)match(input,24,FOLLOW_17); 
-
-                    				current.merge(kw);
-                    				newLeafNode(kw, grammarAccess.getNUMBERAccess().getFullStopKeyword_1_1());
-                    			
-                    this_INT_3=(Token)match(input,RULE_INT,FOLLOW_2); 
-
-                    				current.merge(this_INT_3);
-                    			
-
-                    				newLeafNode(this_INT_3, grammarAccess.getNUMBERAccess().getINTTerminalRuleCall_1_2());
-                    			
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleNUMBER"
-
-
-    // $ANTLR start "entryRuleEXTENDED_ID"
-    // InternalSensinact.g:712:1: entryRuleEXTENDED_ID returns [String current=null] : iv_ruleEXTENDED_ID= ruleEXTENDED_ID EOF ;
-    public final String entryRuleEXTENDED_ID() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleEXTENDED_ID = null;
-
-
-        try {
-            // InternalSensinact.g:712:51: (iv_ruleEXTENDED_ID= ruleEXTENDED_ID EOF )
-            // InternalSensinact.g:713:2: iv_ruleEXTENDED_ID= ruleEXTENDED_ID EOF
-            {
-             newCompositeNode(grammarAccess.getEXTENDED_IDRule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleEXTENDED_ID=ruleEXTENDED_ID();
-
-            state._fsp--;
-
-             current =iv_ruleEXTENDED_ID.getText(); 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleEXTENDED_ID"
-
-
-    // $ANTLR start "ruleEXTENDED_ID"
-    // InternalSensinact.g:719:1: ruleEXTENDED_ID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) ;
-    public final AntlrDatatypeRuleToken ruleEXTENDED_ID() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token this_ID_0=null;
-        Token kw=null;
-        Token this_ID_2=null;
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:725:2: ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) )
-            // InternalSensinact.g:726:2: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
-            {
-            // InternalSensinact.g:726:2: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
-            // InternalSensinact.g:727:3: this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )*
-            {
-            this_ID_0=(Token)match(input,RULE_ID,FOLLOW_18); 
-
-            			current.merge(this_ID_0);
-            		
-
-            			newLeafNode(this_ID_0, grammarAccess.getEXTENDED_IDAccess().getIDTerminalRuleCall_0());
-            		
-            // InternalSensinact.g:734:3: (kw= '.' this_ID_2= RULE_ID )*
-            loop7:
-            do {
-                int alt7=2;
-                int LA7_0 = input.LA(1);
-
-                if ( (LA7_0==24) ) {
-                    alt7=1;
-                }
-
-
-                switch (alt7) {
-            	case 1 :
-            	    // InternalSensinact.g:735:4: kw= '.' this_ID_2= RULE_ID
-            	    {
-            	    kw=(Token)match(input,24,FOLLOW_6); 
-
-            	    				current.merge(kw);
-            	    				newLeafNode(kw, grammarAccess.getEXTENDED_IDAccess().getFullStopKeyword_1_0());
-            	    			
-            	    this_ID_2=(Token)match(input,RULE_ID,FOLLOW_18); 
-
-            	    				current.merge(this_ID_2);
-            	    			
-
-            	    				newLeafNode(this_ID_2, grammarAccess.getEXTENDED_IDAccess().getIDTerminalRuleCall_1_1());
-            	    			
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop7;
-                }
-            } while (true);
-
-
-            }
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleEXTENDED_ID"
-
-
-    // $ANTLR start "entryRuleDSL_REF_CONDITION"
-    // InternalSensinact.g:752:1: entryRuleDSL_REF_CONDITION returns [EObject current=null] : iv_ruleDSL_REF_CONDITION= ruleDSL_REF_CONDITION EOF ;
-    public final EObject entryRuleDSL_REF_CONDITION() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDSL_REF_CONDITION = null;
-
-
-        try {
-            // InternalSensinact.g:752:58: (iv_ruleDSL_REF_CONDITION= ruleDSL_REF_CONDITION EOF )
-            // InternalSensinact.g:753:2: iv_ruleDSL_REF_CONDITION= ruleDSL_REF_CONDITION EOF
-            {
-             newCompositeNode(grammarAccess.getDSL_REF_CONDITIONRule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleDSL_REF_CONDITION=ruleDSL_REF_CONDITION();
-
-            state._fsp--;
-
-             current =iv_ruleDSL_REF_CONDITION; 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDSL_REF_CONDITION"
-
-
-    // $ANTLR start "ruleDSL_REF_CONDITION"
-    // InternalSensinact.g:759:1: ruleDSL_REF_CONDITION returns [EObject current=null] : ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '.' otherlv_2= 'subscribe' otherlv_3= '(' otherlv_4= ')' ) ;
-    public final EObject ruleDSL_REF_CONDITION() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token otherlv_4=null;
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:765:2: ( ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '.' otherlv_2= 'subscribe' otherlv_3= '(' otherlv_4= ')' ) )
-            // InternalSensinact.g:766:2: ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '.' otherlv_2= 'subscribe' otherlv_3= '(' otherlv_4= ')' )
-            {
-            // InternalSensinact.g:766:2: ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '.' otherlv_2= 'subscribe' otherlv_3= '(' otherlv_4= ')' )
-            // InternalSensinact.g:767:3: ( (otherlv_0= RULE_ID ) ) otherlv_1= '.' otherlv_2= 'subscribe' otherlv_3= '(' otherlv_4= ')'
-            {
-            // InternalSensinact.g:767:3: ( (otherlv_0= RULE_ID ) )
-            // InternalSensinact.g:768:4: (otherlv_0= RULE_ID )
-            {
-            // InternalSensinact.g:768:4: (otherlv_0= RULE_ID )
-            // InternalSensinact.g:769:5: otherlv_0= RULE_ID
-            {
-
-            					if (current==null) {
-            						current = createModelElement(grammarAccess.getDSL_REF_CONDITIONRule());
-            					}
-            				
-            otherlv_0=(Token)match(input,RULE_ID,FOLLOW_16); 
-
-            					newLeafNode(otherlv_0, grammarAccess.getDSL_REF_CONDITIONAccess().getRefDSL_REFCrossReference_0_0());
-            				
-
-            }
-
-
-            }
-
-            otherlv_1=(Token)match(input,24,FOLLOW_19); 
-
-            			newLeafNode(otherlv_1, grammarAccess.getDSL_REF_CONDITIONAccess().getFullStopKeyword_1());
-            		
-            otherlv_2=(Token)match(input,25,FOLLOW_20); 
-
-            			newLeafNode(otherlv_2, grammarAccess.getDSL_REF_CONDITIONAccess().getSubscribeKeyword_2());
-            		
-            otherlv_3=(Token)match(input,26,FOLLOW_21); 
-
-            			newLeafNode(otherlv_3, grammarAccess.getDSL_REF_CONDITIONAccess().getLeftParenthesisKeyword_3());
-            		
-            otherlv_4=(Token)match(input,27,FOLLOW_2); 
-
-            			newLeafNode(otherlv_4, grammarAccess.getDSL_REF_CONDITIONAccess().getRightParenthesisKeyword_4());
-            		
-
-            }
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDSL_REF_CONDITION"
-
-
-    // $ANTLR start "entryRuleDSL_CEP_STATEMENT"
-    // InternalSensinact.g:800:1: entryRuleDSL_CEP_STATEMENT returns [EObject current=null] : iv_ruleDSL_CEP_STATEMENT= ruleDSL_CEP_STATEMENT EOF ;
-    public final EObject entryRuleDSL_CEP_STATEMENT() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDSL_CEP_STATEMENT = null;
-
-
-        try {
-            // InternalSensinact.g:800:58: (iv_ruleDSL_CEP_STATEMENT= ruleDSL_CEP_STATEMENT EOF )
-            // InternalSensinact.g:801:2: iv_ruleDSL_CEP_STATEMENT= ruleDSL_CEP_STATEMENT EOF
-            {
-             newCompositeNode(grammarAccess.getDSL_CEP_STATEMENTRule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleDSL_CEP_STATEMENT=ruleDSL_CEP_STATEMENT();
-
-            state._fsp--;
-
-             current =iv_ruleDSL_CEP_STATEMENT; 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDSL_CEP_STATEMENT"
-
-
-    // $ANTLR start "ruleDSL_CEP_STATEMENT"
-    // InternalSensinact.g:807:1: ruleDSL_CEP_STATEMENT returns [EObject current=null] : (otherlv_0= 'define' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '=' ( ( (lv_operation_3_1= ruleDSL_CEP_AFTER | lv_operation_3_2= ruleDSL_CEP_BEFORE | lv_operation_3_3= ruleDSL_CEP_COINCIDE | lv_operation_3_4= ruleDSL_CEP_MIN | lv_operation_3_5= ruleDSL_CEP_MAX | lv_operation_3_6= ruleDSL_CEP_AVG | lv_operation_3_7= ruleDSL_CEP_SUM | lv_operation_3_8= ruleDSL_CEP_COUNT ) ) ) ) ;
-    public final EObject ruleDSL_CEP_STATEMENT() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token lv_name_1_0=null;
-        Token otherlv_2=null;
-        EObject lv_operation_3_1 = null;
-
-        EObject lv_operation_3_2 = null;
-
-        EObject lv_operation_3_3 = null;
-
-        EObject lv_operation_3_4 = null;
-
-        EObject lv_operation_3_5 = null;
-
-        EObject lv_operation_3_6 = null;
-
-        EObject lv_operation_3_7 = null;
-
-        EObject lv_operation_3_8 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:813:2: ( (otherlv_0= 'define' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '=' ( ( (lv_operation_3_1= ruleDSL_CEP_AFTER | lv_operation_3_2= ruleDSL_CEP_BEFORE | lv_operation_3_3= ruleDSL_CEP_COINCIDE | lv_operation_3_4= ruleDSL_CEP_MIN | lv_operation_3_5= ruleDSL_CEP_MAX | lv_operation_3_6= ruleDSL_CEP_AVG | lv_operation_3_7= ruleDSL_CEP_SUM | lv_operation_3_8= ruleDSL_CEP_COUNT ) ) ) ) )
-            // InternalSensinact.g:814:2: (otherlv_0= 'define' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '=' ( ( (lv_operation_3_1= ruleDSL_CEP_AFTER | lv_operation_3_2= ruleDSL_CEP_BEFORE | lv_operation_3_3= ruleDSL_CEP_COINCIDE | lv_operation_3_4= ruleDSL_CEP_MIN | lv_operation_3_5= ruleDSL_CEP_MAX | lv_operation_3_6= ruleDSL_CEP_AVG | lv_operation_3_7= ruleDSL_CEP_SUM | lv_operation_3_8= ruleDSL_CEP_COUNT ) ) ) )
-            {
-            // InternalSensinact.g:814:2: (otherlv_0= 'define' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '=' ( ( (lv_operation_3_1= ruleDSL_CEP_AFTER | lv_operation_3_2= ruleDSL_CEP_BEFORE | lv_operation_3_3= ruleDSL_CEP_COINCIDE | lv_operation_3_4= ruleDSL_CEP_MIN | lv_operation_3_5= ruleDSL_CEP_MAX | lv_operation_3_6= ruleDSL_CEP_AVG | lv_operation_3_7= ruleDSL_CEP_SUM | lv_operation_3_8= ruleDSL_CEP_COUNT ) ) ) )
-            // InternalSensinact.g:815:3: otherlv_0= 'define' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '=' ( ( (lv_operation_3_1= ruleDSL_CEP_AFTER | lv_operation_3_2= ruleDSL_CEP_BEFORE | lv_operation_3_3= ruleDSL_CEP_COINCIDE | lv_operation_3_4= ruleDSL_CEP_MIN | lv_operation_3_5= ruleDSL_CEP_MAX | lv_operation_3_6= ruleDSL_CEP_AVG | lv_operation_3_7= ruleDSL_CEP_SUM | lv_operation_3_8= ruleDSL_CEP_COUNT ) ) )
-            {
-            otherlv_0=(Token)match(input,28,FOLLOW_6); 
-
-            			newLeafNode(otherlv_0, grammarAccess.getDSL_CEP_STATEMENTAccess().getDefineKeyword_0());
-            		
-            // InternalSensinact.g:819:3: ( (lv_name_1_0= RULE_ID ) )
-            // InternalSensinact.g:820:4: (lv_name_1_0= RULE_ID )
-            {
-            // InternalSensinact.g:820:4: (lv_name_1_0= RULE_ID )
-            // InternalSensinact.g:821:5: lv_name_1_0= RULE_ID
-            {
-            lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_7); 
-
-            					newLeafNode(lv_name_1_0, grammarAccess.getDSL_CEP_STATEMENTAccess().getNameIDTerminalRuleCall_1_0());
-            				
-
-            					if (current==null) {
-            						current = createModelElement(grammarAccess.getDSL_CEP_STATEMENTRule());
-            					}
-            					setWithLastConsumed(
-            						current,
-            						"name",
-            						lv_name_1_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.ID");
-            				
-
-            }
-
-
-            }
-
-            otherlv_2=(Token)match(input,13,FOLLOW_22); 
-
-            			newLeafNode(otherlv_2, grammarAccess.getDSL_CEP_STATEMENTAccess().getEqualsSignKeyword_2());
-            		
-            // InternalSensinact.g:841:3: ( ( (lv_operation_3_1= ruleDSL_CEP_AFTER | lv_operation_3_2= ruleDSL_CEP_BEFORE | lv_operation_3_3= ruleDSL_CEP_COINCIDE | lv_operation_3_4= ruleDSL_CEP_MIN | lv_operation_3_5= ruleDSL_CEP_MAX | lv_operation_3_6= ruleDSL_CEP_AVG | lv_operation_3_7= ruleDSL_CEP_SUM | lv_operation_3_8= ruleDSL_CEP_COUNT ) ) )
-            // InternalSensinact.g:842:4: ( (lv_operation_3_1= ruleDSL_CEP_AFTER | lv_operation_3_2= ruleDSL_CEP_BEFORE | lv_operation_3_3= ruleDSL_CEP_COINCIDE | lv_operation_3_4= ruleDSL_CEP_MIN | lv_operation_3_5= ruleDSL_CEP_MAX | lv_operation_3_6= ruleDSL_CEP_AVG | lv_operation_3_7= ruleDSL_CEP_SUM | lv_operation_3_8= ruleDSL_CEP_COUNT ) )
-            {
-            // InternalSensinact.g:842:4: ( (lv_operation_3_1= ruleDSL_CEP_AFTER | lv_operation_3_2= ruleDSL_CEP_BEFORE | lv_operation_3_3= ruleDSL_CEP_COINCIDE | lv_operation_3_4= ruleDSL_CEP_MIN | lv_operation_3_5= ruleDSL_CEP_MAX | lv_operation_3_6= ruleDSL_CEP_AVG | lv_operation_3_7= ruleDSL_CEP_SUM | lv_operation_3_8= ruleDSL_CEP_COUNT ) )
-            // InternalSensinact.g:843:5: (lv_operation_3_1= ruleDSL_CEP_AFTER | lv_operation_3_2= ruleDSL_CEP_BEFORE | lv_operation_3_3= ruleDSL_CEP_COINCIDE | lv_operation_3_4= ruleDSL_CEP_MIN | lv_operation_3_5= ruleDSL_CEP_MAX | lv_operation_3_6= ruleDSL_CEP_AVG | lv_operation_3_7= ruleDSL_CEP_SUM | lv_operation_3_8= ruleDSL_CEP_COUNT )
-            {
-            // InternalSensinact.g:843:5: (lv_operation_3_1= ruleDSL_CEP_AFTER | lv_operation_3_2= ruleDSL_CEP_BEFORE | lv_operation_3_3= ruleDSL_CEP_COINCIDE | lv_operation_3_4= ruleDSL_CEP_MIN | lv_operation_3_5= ruleDSL_CEP_MAX | lv_operation_3_6= ruleDSL_CEP_AVG | lv_operation_3_7= ruleDSL_CEP_SUM | lv_operation_3_8= ruleDSL_CEP_COUNT )
-            int alt8=8;
-            switch ( input.LA(1) ) {
-            case 29:
-                {
-                alt8=1;
-                }
-                break;
-            case 30:
-                {
-                alt8=2;
-                }
-                break;
-            case 31:
-                {
-                alt8=3;
-                }
-                break;
-            case 32:
-                {
-                alt8=4;
-                }
-                break;
-            case 33:
-                {
-                alt8=5;
-                }
-                break;
-            case 34:
-                {
-                alt8=6;
-                }
-                break;
-            case 35:
-                {
-                alt8=7;
-                }
-                break;
-            case 36:
-                {
-                alt8=8;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 8, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt8) {
-                case 1 :
-                    // InternalSensinact.g:844:6: lv_operation_3_1= ruleDSL_CEP_AFTER
-                    {
-
-                    						newCompositeNode(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_AFTERParserRuleCall_3_0_0());
-                    					
-                    pushFollow(FOLLOW_2);
-                    lv_operation_3_1=ruleDSL_CEP_AFTER();
-
-                    state._fsp--;
-
-
-                    						if (current==null) {
-                    							current = createModelElementForParent(grammarAccess.getDSL_CEP_STATEMENTRule());
-                    						}
-                    						set(
-                    							current,
-                    							"operation",
-                    							lv_operation_3_1,
-                    							"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_AFTER");
-                    						afterParserOrEnumRuleCall();
-                    					
-
-                    }
-                    break;
-                case 2 :
-                    // InternalSensinact.g:860:6: lv_operation_3_2= ruleDSL_CEP_BEFORE
-                    {
-
-                    						newCompositeNode(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_BEFOREParserRuleCall_3_0_1());
-                    					
-                    pushFollow(FOLLOW_2);
-                    lv_operation_3_2=ruleDSL_CEP_BEFORE();
-
-                    state._fsp--;
-
-
-                    						if (current==null) {
-                    							current = createModelElementForParent(grammarAccess.getDSL_CEP_STATEMENTRule());
-                    						}
-                    						set(
-                    							current,
-                    							"operation",
-                    							lv_operation_3_2,
-                    							"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_BEFORE");
-                    						afterParserOrEnumRuleCall();
-                    					
-
-                    }
-                    break;
-                case 3 :
-                    // InternalSensinact.g:876:6: lv_operation_3_3= ruleDSL_CEP_COINCIDE
-                    {
-
-                    						newCompositeNode(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_COINCIDEParserRuleCall_3_0_2());
-                    					
-                    pushFollow(FOLLOW_2);
-                    lv_operation_3_3=ruleDSL_CEP_COINCIDE();
-
-                    state._fsp--;
-
-
-                    						if (current==null) {
-                    							current = createModelElementForParent(grammarAccess.getDSL_CEP_STATEMENTRule());
-                    						}
-                    						set(
-                    							current,
-                    							"operation",
-                    							lv_operation_3_3,
-                    							"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_COINCIDE");
-                    						afterParserOrEnumRuleCall();
-                    					
-
-                    }
-                    break;
-                case 4 :
-                    // InternalSensinact.g:892:6: lv_operation_3_4= ruleDSL_CEP_MIN
-                    {
-
-                    						newCompositeNode(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_MINParserRuleCall_3_0_3());
-                    					
-                    pushFollow(FOLLOW_2);
-                    lv_operation_3_4=ruleDSL_CEP_MIN();
-
-                    state._fsp--;
-
-
-                    						if (current==null) {
-                    							current = createModelElementForParent(grammarAccess.getDSL_CEP_STATEMENTRule());
-                    						}
-                    						set(
-                    							current,
-                    							"operation",
-                    							lv_operation_3_4,
-                    							"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_MIN");
-                    						afterParserOrEnumRuleCall();
-                    					
-
-                    }
-                    break;
-                case 5 :
-                    // InternalSensinact.g:908:6: lv_operation_3_5= ruleDSL_CEP_MAX
-                    {
-
-                    						newCompositeNode(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_MAXParserRuleCall_3_0_4());
-                    					
-                    pushFollow(FOLLOW_2);
-                    lv_operation_3_5=ruleDSL_CEP_MAX();
-
-                    state._fsp--;
-
-
-                    						if (current==null) {
-                    							current = createModelElementForParent(grammarAccess.getDSL_CEP_STATEMENTRule());
-                    						}
-                    						set(
-                    							current,
-                    							"operation",
-                    							lv_operation_3_5,
-                    							"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_MAX");
-                    						afterParserOrEnumRuleCall();
-                    					
-
-                    }
-                    break;
-                case 6 :
-                    // InternalSensinact.g:924:6: lv_operation_3_6= ruleDSL_CEP_AVG
-                    {
-
-                    						newCompositeNode(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_AVGParserRuleCall_3_0_5());
-                    					
-                    pushFollow(FOLLOW_2);
-                    lv_operation_3_6=ruleDSL_CEP_AVG();
-
-                    state._fsp--;
-
-
-                    						if (current==null) {
-                    							current = createModelElementForParent(grammarAccess.getDSL_CEP_STATEMENTRule());
-                    						}
-                    						set(
-                    							current,
-                    							"operation",
-                    							lv_operation_3_6,
-                    							"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_AVG");
-                    						afterParserOrEnumRuleCall();
-                    					
-
-                    }
-                    break;
-                case 7 :
-                    // InternalSensinact.g:940:6: lv_operation_3_7= ruleDSL_CEP_SUM
-                    {
-
-                    						newCompositeNode(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_SUMParserRuleCall_3_0_6());
-                    					
-                    pushFollow(FOLLOW_2);
-                    lv_operation_3_7=ruleDSL_CEP_SUM();
-
-                    state._fsp--;
-
-
-                    						if (current==null) {
-                    							current = createModelElementForParent(grammarAccess.getDSL_CEP_STATEMENTRule());
-                    						}
-                    						set(
-                    							current,
-                    							"operation",
-                    							lv_operation_3_7,
-                    							"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_SUM");
-                    						afterParserOrEnumRuleCall();
-                    					
-
-                    }
-                    break;
-                case 8 :
-                    // InternalSensinact.g:956:6: lv_operation_3_8= ruleDSL_CEP_COUNT
-                    {
-
-                    						newCompositeNode(grammarAccess.getDSL_CEP_STATEMENTAccess().getOperationDSL_CEP_COUNTParserRuleCall_3_0_7());
-                    					
-                    pushFollow(FOLLOW_2);
-                    lv_operation_3_8=ruleDSL_CEP_COUNT();
-
-                    state._fsp--;
-
-
-                    						if (current==null) {
-                    							current = createModelElementForParent(grammarAccess.getDSL_CEP_STATEMENTRule());
-                    						}
-                    						set(
-                    							current,
-                    							"operation",
-                    							lv_operation_3_8,
-                    							"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_COUNT");
-                    						afterParserOrEnumRuleCall();
-                    					
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-
-            }
-
-
-            }
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDSL_CEP_STATEMENT"
-
-
-    // $ANTLR start "entryRuleDSL_CEP_AFTER"
-    // InternalSensinact.g:978:1: entryRuleDSL_CEP_AFTER returns [EObject current=null] : iv_ruleDSL_CEP_AFTER= ruleDSL_CEP_AFTER EOF ;
-    public final EObject entryRuleDSL_CEP_AFTER() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDSL_CEP_AFTER = null;
-
-
-        try {
-            // InternalSensinact.g:978:54: (iv_ruleDSL_CEP_AFTER= ruleDSL_CEP_AFTER EOF )
-            // InternalSensinact.g:979:2: iv_ruleDSL_CEP_AFTER= ruleDSL_CEP_AFTER EOF
-            {
-             newCompositeNode(grammarAccess.getDSL_CEP_AFTERRule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleDSL_CEP_AFTER=ruleDSL_CEP_AFTER();
-
-            state._fsp--;
-
-             current =iv_ruleDSL_CEP_AFTER; 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDSL_CEP_AFTER"
-
-
-    // $ANTLR start "ruleDSL_CEP_AFTER"
-    // InternalSensinact.g:985:1: ruleDSL_CEP_AFTER returns [EObject current=null] : (otherlv_0= 'after' otherlv_1= '(' ( (lv_ref1_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_ref2_4_0= ruleDSL_REF_CONDITION ) ) otherlv_5= ',' ( ( (lv_start_6_0= ruleDSL_CEP_DURATION ) ) otherlv_7= ',' )? ( (lv_end_8_0= ruleDSL_CEP_DURATION ) ) otherlv_9= ')' ) ;
-    public final EObject ruleDSL_CEP_AFTER() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_7=null;
-        Token otherlv_9=null;
-        EObject lv_ref1_2_0 = null;
-
-        EObject lv_ref2_4_0 = null;
-
-        EObject lv_start_6_0 = null;
-
-        EObject lv_end_8_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:991:2: ( (otherlv_0= 'after' otherlv_1= '(' ( (lv_ref1_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_ref2_4_0= ruleDSL_REF_CONDITION ) ) otherlv_5= ',' ( ( (lv_start_6_0= ruleDSL_CEP_DURATION ) ) otherlv_7= ',' )? ( (lv_end_8_0= ruleDSL_CEP_DURATION ) ) otherlv_9= ')' ) )
-            // InternalSensinact.g:992:2: (otherlv_0= 'after' otherlv_1= '(' ( (lv_ref1_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_ref2_4_0= ruleDSL_REF_CONDITION ) ) otherlv_5= ',' ( ( (lv_start_6_0= ruleDSL_CEP_DURATION ) ) otherlv_7= ',' )? ( (lv_end_8_0= ruleDSL_CEP_DURATION ) ) otherlv_9= ')' )
-            {
-            // InternalSensinact.g:992:2: (otherlv_0= 'after' otherlv_1= '(' ( (lv_ref1_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_ref2_4_0= ruleDSL_REF_CONDITION ) ) otherlv_5= ',' ( ( (lv_start_6_0= ruleDSL_CEP_DURATION ) ) otherlv_7= ',' )? ( (lv_end_8_0= ruleDSL_CEP_DURATION ) ) otherlv_9= ')' )
-            // InternalSensinact.g:993:3: otherlv_0= 'after' otherlv_1= '(' ( (lv_ref1_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_ref2_4_0= ruleDSL_REF_CONDITION ) ) otherlv_5= ',' ( ( (lv_start_6_0= ruleDSL_CEP_DURATION ) ) otherlv_7= ',' )? ( (lv_end_8_0= ruleDSL_CEP_DURATION ) ) otherlv_9= ')'
-            {
-            otherlv_0=(Token)match(input,29,FOLLOW_20); 
-
-            			newLeafNode(otherlv_0, grammarAccess.getDSL_CEP_AFTERAccess().getAfterKeyword_0());
-            		
-            otherlv_1=(Token)match(input,26,FOLLOW_6); 
-
-            			newLeafNode(otherlv_1, grammarAccess.getDSL_CEP_AFTERAccess().getLeftParenthesisKeyword_1());
-            		
-            // InternalSensinact.g:1001:3: ( (lv_ref1_2_0= ruleDSL_REF_CONDITION ) )
-            // InternalSensinact.g:1002:4: (lv_ref1_2_0= ruleDSL_REF_CONDITION )
-            {
-            // InternalSensinact.g:1002:4: (lv_ref1_2_0= ruleDSL_REF_CONDITION )
-            // InternalSensinact.g:1003:5: lv_ref1_2_0= ruleDSL_REF_CONDITION
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_CEP_AFTERAccess().getRef1DSL_REF_CONDITIONParserRuleCall_2_0());
-            				
-            pushFollow(FOLLOW_23);
-            lv_ref1_2_0=ruleDSL_REF_CONDITION();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_CEP_AFTERRule());
-            					}
-            					set(
-            						current,
-            						"ref1",
-            						lv_ref1_2_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-            otherlv_3=(Token)match(input,18,FOLLOW_6); 
-
-            			newLeafNode(otherlv_3, grammarAccess.getDSL_CEP_AFTERAccess().getCommaKeyword_3());
-            		
-            // InternalSensinact.g:1024:3: ( (lv_ref2_4_0= ruleDSL_REF_CONDITION ) )
-            // InternalSensinact.g:1025:4: (lv_ref2_4_0= ruleDSL_REF_CONDITION )
-            {
-            // InternalSensinact.g:1025:4: (lv_ref2_4_0= ruleDSL_REF_CONDITION )
-            // InternalSensinact.g:1026:5: lv_ref2_4_0= ruleDSL_REF_CONDITION
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_CEP_AFTERAccess().getRef2DSL_REF_CONDITIONParserRuleCall_4_0());
-            				
-            pushFollow(FOLLOW_23);
-            lv_ref2_4_0=ruleDSL_REF_CONDITION();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_CEP_AFTERRule());
-            					}
-            					set(
-            						current,
-            						"ref2",
-            						lv_ref2_4_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-            otherlv_5=(Token)match(input,18,FOLLOW_17); 
-
-            			newLeafNode(otherlv_5, grammarAccess.getDSL_CEP_AFTERAccess().getCommaKeyword_5());
-            		
-            // InternalSensinact.g:1047:3: ( ( (lv_start_6_0= ruleDSL_CEP_DURATION ) ) otherlv_7= ',' )?
-            int alt9=2;
-            alt9 = dfa9.predict(input);
-            switch (alt9) {
-                case 1 :
-                    // InternalSensinact.g:1048:4: ( (lv_start_6_0= ruleDSL_CEP_DURATION ) ) otherlv_7= ','
-                    {
-                    // InternalSensinact.g:1048:4: ( (lv_start_6_0= ruleDSL_CEP_DURATION ) )
-                    // InternalSensinact.g:1049:5: (lv_start_6_0= ruleDSL_CEP_DURATION )
-                    {
-                    // InternalSensinact.g:1049:5: (lv_start_6_0= ruleDSL_CEP_DURATION )
-                    // InternalSensinact.g:1050:6: lv_start_6_0= ruleDSL_CEP_DURATION
-                    {
-
-                    						newCompositeNode(grammarAccess.getDSL_CEP_AFTERAccess().getStartDSL_CEP_DURATIONParserRuleCall_6_0_0());
-                    					
-                    pushFollow(FOLLOW_23);
-                    lv_start_6_0=ruleDSL_CEP_DURATION();
-
-                    state._fsp--;
-
-
-                    						if (current==null) {
-                    							current = createModelElementForParent(grammarAccess.getDSL_CEP_AFTERRule());
-                    						}
-                    						set(
-                    							current,
-                    							"start",
-                    							lv_start_6_0,
-                    							"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION");
-                    						afterParserOrEnumRuleCall();
-                    					
-
-                    }
-
-
-                    }
-
-                    otherlv_7=(Token)match(input,18,FOLLOW_17); 
-
-                    				newLeafNode(otherlv_7, grammarAccess.getDSL_CEP_AFTERAccess().getCommaKeyword_6_1());
-                    			
-
-                    }
-                    break;
-
-            }
-
-            // InternalSensinact.g:1072:3: ( (lv_end_8_0= ruleDSL_CEP_DURATION ) )
-            // InternalSensinact.g:1073:4: (lv_end_8_0= ruleDSL_CEP_DURATION )
-            {
-            // InternalSensinact.g:1073:4: (lv_end_8_0= ruleDSL_CEP_DURATION )
-            // InternalSensinact.g:1074:5: lv_end_8_0= ruleDSL_CEP_DURATION
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_CEP_AFTERAccess().getEndDSL_CEP_DURATIONParserRuleCall_7_0());
-            				
-            pushFollow(FOLLOW_21);
-            lv_end_8_0=ruleDSL_CEP_DURATION();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_CEP_AFTERRule());
-            					}
-            					set(
-            						current,
-            						"end",
-            						lv_end_8_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-            otherlv_9=(Token)match(input,27,FOLLOW_2); 
-
-            			newLeafNode(otherlv_9, grammarAccess.getDSL_CEP_AFTERAccess().getRightParenthesisKeyword_8());
-            		
-
-            }
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDSL_CEP_AFTER"
-
-
-    // $ANTLR start "entryRuleDSL_CEP_BEFORE"
-    // InternalSensinact.g:1099:1: entryRuleDSL_CEP_BEFORE returns [EObject current=null] : iv_ruleDSL_CEP_BEFORE= ruleDSL_CEP_BEFORE EOF ;
-    public final EObject entryRuleDSL_CEP_BEFORE() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDSL_CEP_BEFORE = null;
-
-
-        try {
-            // InternalSensinact.g:1099:55: (iv_ruleDSL_CEP_BEFORE= ruleDSL_CEP_BEFORE EOF )
-            // InternalSensinact.g:1100:2: iv_ruleDSL_CEP_BEFORE= ruleDSL_CEP_BEFORE EOF
-            {
-             newCompositeNode(grammarAccess.getDSL_CEP_BEFORERule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleDSL_CEP_BEFORE=ruleDSL_CEP_BEFORE();
-
-            state._fsp--;
-
-             current =iv_ruleDSL_CEP_BEFORE; 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDSL_CEP_BEFORE"
-
-
-    // $ANTLR start "ruleDSL_CEP_BEFORE"
-    // InternalSensinact.g:1106:1: ruleDSL_CEP_BEFORE returns [EObject current=null] : (otherlv_0= 'before' otherlv_1= '(' ( (lv_ref1_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_ref2_4_0= ruleDSL_REF_CONDITION ) ) otherlv_5= ',' ( ( (lv_start_6_0= ruleDSL_CEP_DURATION ) ) otherlv_7= ',' )? ( (lv_end_8_0= ruleDSL_CEP_DURATION ) ) otherlv_9= ')' ) ;
-    public final EObject ruleDSL_CEP_BEFORE() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_7=null;
-        Token otherlv_9=null;
-        EObject lv_ref1_2_0 = null;
-
-        EObject lv_ref2_4_0 = null;
-
-        EObject lv_start_6_0 = null;
-
-        EObject lv_end_8_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:1112:2: ( (otherlv_0= 'before' otherlv_1= '(' ( (lv_ref1_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_ref2_4_0= ruleDSL_REF_CONDITION ) ) otherlv_5= ',' ( ( (lv_start_6_0= ruleDSL_CEP_DURATION ) ) otherlv_7= ',' )? ( (lv_end_8_0= ruleDSL_CEP_DURATION ) ) otherlv_9= ')' ) )
-            // InternalSensinact.g:1113:2: (otherlv_0= 'before' otherlv_1= '(' ( (lv_ref1_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_ref2_4_0= ruleDSL_REF_CONDITION ) ) otherlv_5= ',' ( ( (lv_start_6_0= ruleDSL_CEP_DURATION ) ) otherlv_7= ',' )? ( (lv_end_8_0= ruleDSL_CEP_DURATION ) ) otherlv_9= ')' )
-            {
-            // InternalSensinact.g:1113:2: (otherlv_0= 'before' otherlv_1= '(' ( (lv_ref1_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_ref2_4_0= ruleDSL_REF_CONDITION ) ) otherlv_5= ',' ( ( (lv_start_6_0= ruleDSL_CEP_DURATION ) ) otherlv_7= ',' )? ( (lv_end_8_0= ruleDSL_CEP_DURATION ) ) otherlv_9= ')' )
-            // InternalSensinact.g:1114:3: otherlv_0= 'before' otherlv_1= '(' ( (lv_ref1_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_ref2_4_0= ruleDSL_REF_CONDITION ) ) otherlv_5= ',' ( ( (lv_start_6_0= ruleDSL_CEP_DURATION ) ) otherlv_7= ',' )? ( (lv_end_8_0= ruleDSL_CEP_DURATION ) ) otherlv_9= ')'
-            {
-            otherlv_0=(Token)match(input,30,FOLLOW_20); 
-
-            			newLeafNode(otherlv_0, grammarAccess.getDSL_CEP_BEFOREAccess().getBeforeKeyword_0());
-            		
-            otherlv_1=(Token)match(input,26,FOLLOW_6); 
-
-            			newLeafNode(otherlv_1, grammarAccess.getDSL_CEP_BEFOREAccess().getLeftParenthesisKeyword_1());
-            		
-            // InternalSensinact.g:1122:3: ( (lv_ref1_2_0= ruleDSL_REF_CONDITION ) )
-            // InternalSensinact.g:1123:4: (lv_ref1_2_0= ruleDSL_REF_CONDITION )
-            {
-            // InternalSensinact.g:1123:4: (lv_ref1_2_0= ruleDSL_REF_CONDITION )
-            // InternalSensinact.g:1124:5: lv_ref1_2_0= ruleDSL_REF_CONDITION
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_CEP_BEFOREAccess().getRef1DSL_REF_CONDITIONParserRuleCall_2_0());
-            				
-            pushFollow(FOLLOW_23);
-            lv_ref1_2_0=ruleDSL_REF_CONDITION();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_CEP_BEFORERule());
-            					}
-            					set(
-            						current,
-            						"ref1",
-            						lv_ref1_2_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-            otherlv_3=(Token)match(input,18,FOLLOW_6); 
-
-            			newLeafNode(otherlv_3, grammarAccess.getDSL_CEP_BEFOREAccess().getCommaKeyword_3());
-            		
-            // InternalSensinact.g:1145:3: ( (lv_ref2_4_0= ruleDSL_REF_CONDITION ) )
-            // InternalSensinact.g:1146:4: (lv_ref2_4_0= ruleDSL_REF_CONDITION )
-            {
-            // InternalSensinact.g:1146:4: (lv_ref2_4_0= ruleDSL_REF_CONDITION )
-            // InternalSensinact.g:1147:5: lv_ref2_4_0= ruleDSL_REF_CONDITION
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_CEP_BEFOREAccess().getRef2DSL_REF_CONDITIONParserRuleCall_4_0());
-            				
-            pushFollow(FOLLOW_23);
-            lv_ref2_4_0=ruleDSL_REF_CONDITION();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_CEP_BEFORERule());
-            					}
-            					set(
-            						current,
-            						"ref2",
-            						lv_ref2_4_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-            otherlv_5=(Token)match(input,18,FOLLOW_17); 
-
-            			newLeafNode(otherlv_5, grammarAccess.getDSL_CEP_BEFOREAccess().getCommaKeyword_5());
-            		
-            // InternalSensinact.g:1168:3: ( ( (lv_start_6_0= ruleDSL_CEP_DURATION ) ) otherlv_7= ',' )?
-            int alt10=2;
-            alt10 = dfa10.predict(input);
-            switch (alt10) {
-                case 1 :
-                    // InternalSensinact.g:1169:4: ( (lv_start_6_0= ruleDSL_CEP_DURATION ) ) otherlv_7= ','
-                    {
-                    // InternalSensinact.g:1169:4: ( (lv_start_6_0= ruleDSL_CEP_DURATION ) )
-                    // InternalSensinact.g:1170:5: (lv_start_6_0= ruleDSL_CEP_DURATION )
-                    {
-                    // InternalSensinact.g:1170:5: (lv_start_6_0= ruleDSL_CEP_DURATION )
-                    // InternalSensinact.g:1171:6: lv_start_6_0= ruleDSL_CEP_DURATION
-                    {
-
-                    						newCompositeNode(grammarAccess.getDSL_CEP_BEFOREAccess().getStartDSL_CEP_DURATIONParserRuleCall_6_0_0());
-                    					
-                    pushFollow(FOLLOW_23);
-                    lv_start_6_0=ruleDSL_CEP_DURATION();
-
-                    state._fsp--;
-
-
-                    						if (current==null) {
-                    							current = createModelElementForParent(grammarAccess.getDSL_CEP_BEFORERule());
-                    						}
-                    						set(
-                    							current,
-                    							"start",
-                    							lv_start_6_0,
-                    							"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION");
-                    						afterParserOrEnumRuleCall();
-                    					
-
-                    }
-
-
-                    }
-
-                    otherlv_7=(Token)match(input,18,FOLLOW_17); 
-
-                    				newLeafNode(otherlv_7, grammarAccess.getDSL_CEP_BEFOREAccess().getCommaKeyword_6_1());
-                    			
-
-                    }
-                    break;
-
-            }
-
-            // InternalSensinact.g:1193:3: ( (lv_end_8_0= ruleDSL_CEP_DURATION ) )
-            // InternalSensinact.g:1194:4: (lv_end_8_0= ruleDSL_CEP_DURATION )
-            {
-            // InternalSensinact.g:1194:4: (lv_end_8_0= ruleDSL_CEP_DURATION )
-            // InternalSensinact.g:1195:5: lv_end_8_0= ruleDSL_CEP_DURATION
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_CEP_BEFOREAccess().getEndDSL_CEP_DURATIONParserRuleCall_7_0());
-            				
-            pushFollow(FOLLOW_21);
-            lv_end_8_0=ruleDSL_CEP_DURATION();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_CEP_BEFORERule());
-            					}
-            					set(
-            						current,
-            						"end",
-            						lv_end_8_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-            otherlv_9=(Token)match(input,27,FOLLOW_2); 
-
-            			newLeafNode(otherlv_9, grammarAccess.getDSL_CEP_BEFOREAccess().getRightParenthesisKeyword_8());
-            		
-
-            }
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDSL_CEP_BEFORE"
-
-
-    // $ANTLR start "entryRuleDSL_CEP_COINCIDE"
-    // InternalSensinact.g:1220:1: entryRuleDSL_CEP_COINCIDE returns [EObject current=null] : iv_ruleDSL_CEP_COINCIDE= ruleDSL_CEP_COINCIDE EOF ;
-    public final EObject entryRuleDSL_CEP_COINCIDE() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDSL_CEP_COINCIDE = null;
-
-
-        try {
-            // InternalSensinact.g:1220:57: (iv_ruleDSL_CEP_COINCIDE= ruleDSL_CEP_COINCIDE EOF )
-            // InternalSensinact.g:1221:2: iv_ruleDSL_CEP_COINCIDE= ruleDSL_CEP_COINCIDE EOF
-            {
-             newCompositeNode(grammarAccess.getDSL_CEP_COINCIDERule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleDSL_CEP_COINCIDE=ruleDSL_CEP_COINCIDE();
-
-            state._fsp--;
-
-             current =iv_ruleDSL_CEP_COINCIDE; 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDSL_CEP_COINCIDE"
-
-
-    // $ANTLR start "ruleDSL_CEP_COINCIDE"
-    // InternalSensinact.g:1227:1: ruleDSL_CEP_COINCIDE returns [EObject current=null] : (otherlv_0= 'coincide' otherlv_1= '(' ( (lv_ref1_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_ref2_4_0= ruleDSL_REF_CONDITION ) ) otherlv_5= ',' ( (lv_window_6_0= ruleDSL_CEP_DURATION ) ) otherlv_7= ')' ) ;
-    public final EObject ruleDSL_CEP_COINCIDE() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Token otherlv_7=null;
-        EObject lv_ref1_2_0 = null;
-
-        EObject lv_ref2_4_0 = null;
-
-        EObject lv_window_6_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:1233:2: ( (otherlv_0= 'coincide' otherlv_1= '(' ( (lv_ref1_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_ref2_4_0= ruleDSL_REF_CONDITION ) ) otherlv_5= ',' ( (lv_window_6_0= ruleDSL_CEP_DURATION ) ) otherlv_7= ')' ) )
-            // InternalSensinact.g:1234:2: (otherlv_0= 'coincide' otherlv_1= '(' ( (lv_ref1_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_ref2_4_0= ruleDSL_REF_CONDITION ) ) otherlv_5= ',' ( (lv_window_6_0= ruleDSL_CEP_DURATION ) ) otherlv_7= ')' )
-            {
-            // InternalSensinact.g:1234:2: (otherlv_0= 'coincide' otherlv_1= '(' ( (lv_ref1_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_ref2_4_0= ruleDSL_REF_CONDITION ) ) otherlv_5= ',' ( (lv_window_6_0= ruleDSL_CEP_DURATION ) ) otherlv_7= ')' )
-            // InternalSensinact.g:1235:3: otherlv_0= 'coincide' otherlv_1= '(' ( (lv_ref1_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_ref2_4_0= ruleDSL_REF_CONDITION ) ) otherlv_5= ',' ( (lv_window_6_0= ruleDSL_CEP_DURATION ) ) otherlv_7= ')'
-            {
-            otherlv_0=(Token)match(input,31,FOLLOW_20); 
-
-            			newLeafNode(otherlv_0, grammarAccess.getDSL_CEP_COINCIDEAccess().getCoincideKeyword_0());
-            		
-            otherlv_1=(Token)match(input,26,FOLLOW_6); 
-
-            			newLeafNode(otherlv_1, grammarAccess.getDSL_CEP_COINCIDEAccess().getLeftParenthesisKeyword_1());
-            		
-            // InternalSensinact.g:1243:3: ( (lv_ref1_2_0= ruleDSL_REF_CONDITION ) )
-            // InternalSensinact.g:1244:4: (lv_ref1_2_0= ruleDSL_REF_CONDITION )
-            {
-            // InternalSensinact.g:1244:4: (lv_ref1_2_0= ruleDSL_REF_CONDITION )
-            // InternalSensinact.g:1245:5: lv_ref1_2_0= ruleDSL_REF_CONDITION
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_CEP_COINCIDEAccess().getRef1DSL_REF_CONDITIONParserRuleCall_2_0());
-            				
-            pushFollow(FOLLOW_23);
-            lv_ref1_2_0=ruleDSL_REF_CONDITION();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_CEP_COINCIDERule());
-            					}
-            					set(
-            						current,
-            						"ref1",
-            						lv_ref1_2_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-            otherlv_3=(Token)match(input,18,FOLLOW_6); 
-
-            			newLeafNode(otherlv_3, grammarAccess.getDSL_CEP_COINCIDEAccess().getCommaKeyword_3());
-            		
-            // InternalSensinact.g:1266:3: ( (lv_ref2_4_0= ruleDSL_REF_CONDITION ) )
-            // InternalSensinact.g:1267:4: (lv_ref2_4_0= ruleDSL_REF_CONDITION )
-            {
-            // InternalSensinact.g:1267:4: (lv_ref2_4_0= ruleDSL_REF_CONDITION )
-            // InternalSensinact.g:1268:5: lv_ref2_4_0= ruleDSL_REF_CONDITION
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_CEP_COINCIDEAccess().getRef2DSL_REF_CONDITIONParserRuleCall_4_0());
-            				
-            pushFollow(FOLLOW_23);
-            lv_ref2_4_0=ruleDSL_REF_CONDITION();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_CEP_COINCIDERule());
-            					}
-            					set(
-            						current,
-            						"ref2",
-            						lv_ref2_4_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-            otherlv_5=(Token)match(input,18,FOLLOW_17); 
-
-            			newLeafNode(otherlv_5, grammarAccess.getDSL_CEP_COINCIDEAccess().getCommaKeyword_5());
-            		
-            // InternalSensinact.g:1289:3: ( (lv_window_6_0= ruleDSL_CEP_DURATION ) )
-            // InternalSensinact.g:1290:4: (lv_window_6_0= ruleDSL_CEP_DURATION )
-            {
-            // InternalSensinact.g:1290:4: (lv_window_6_0= ruleDSL_CEP_DURATION )
-            // InternalSensinact.g:1291:5: lv_window_6_0= ruleDSL_CEP_DURATION
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_CEP_COINCIDEAccess().getWindowDSL_CEP_DURATIONParserRuleCall_6_0());
-            				
-            pushFollow(FOLLOW_21);
-            lv_window_6_0=ruleDSL_CEP_DURATION();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_CEP_COINCIDERule());
-            					}
-            					set(
-            						current,
-            						"window",
-            						lv_window_6_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-            otherlv_7=(Token)match(input,27,FOLLOW_2); 
-
-            			newLeafNode(otherlv_7, grammarAccess.getDSL_CEP_COINCIDEAccess().getRightParenthesisKeyword_7());
-            		
-
-            }
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDSL_CEP_COINCIDE"
-
-
-    // $ANTLR start "entryRuleDSL_CEP_MIN"
-    // InternalSensinact.g:1316:1: entryRuleDSL_CEP_MIN returns [EObject current=null] : iv_ruleDSL_CEP_MIN= ruleDSL_CEP_MIN EOF ;
-    public final EObject entryRuleDSL_CEP_MIN() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDSL_CEP_MIN = null;
-
-
-        try {
-            // InternalSensinact.g:1316:52: (iv_ruleDSL_CEP_MIN= ruleDSL_CEP_MIN EOF )
-            // InternalSensinact.g:1317:2: iv_ruleDSL_CEP_MIN= ruleDSL_CEP_MIN EOF
-            {
-             newCompositeNode(grammarAccess.getDSL_CEP_MINRule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleDSL_CEP_MIN=ruleDSL_CEP_MIN();
-
-            state._fsp--;
-
-             current =iv_ruleDSL_CEP_MIN; 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDSL_CEP_MIN"
-
-
-    // $ANTLR start "ruleDSL_CEP_MIN"
-    // InternalSensinact.g:1323:1: ruleDSL_CEP_MIN returns [EObject current=null] : (otherlv_0= 'min' otherlv_1= '(' ( (lv_ref_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_window_4_0= ruleDSL_CEP_DURATION ) ) otherlv_5= ')' ) ;
-    public final EObject ruleDSL_CEP_MIN() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        EObject lv_ref_2_0 = null;
-
-        EObject lv_window_4_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:1329:2: ( (otherlv_0= 'min' otherlv_1= '(' ( (lv_ref_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_window_4_0= ruleDSL_CEP_DURATION ) ) otherlv_5= ')' ) )
-            // InternalSensinact.g:1330:2: (otherlv_0= 'min' otherlv_1= '(' ( (lv_ref_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_window_4_0= ruleDSL_CEP_DURATION ) ) otherlv_5= ')' )
-            {
-            // InternalSensinact.g:1330:2: (otherlv_0= 'min' otherlv_1= '(' ( (lv_ref_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_window_4_0= ruleDSL_CEP_DURATION ) ) otherlv_5= ')' )
-            // InternalSensinact.g:1331:3: otherlv_0= 'min' otherlv_1= '(' ( (lv_ref_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_window_4_0= ruleDSL_CEP_DURATION ) ) otherlv_5= ')'
-            {
-            otherlv_0=(Token)match(input,32,FOLLOW_20); 
-
-            			newLeafNode(otherlv_0, grammarAccess.getDSL_CEP_MINAccess().getMinKeyword_0());
-            		
-            otherlv_1=(Token)match(input,26,FOLLOW_6); 
-
-            			newLeafNode(otherlv_1, grammarAccess.getDSL_CEP_MINAccess().getLeftParenthesisKeyword_1());
-            		
-            // InternalSensinact.g:1339:3: ( (lv_ref_2_0= ruleDSL_REF_CONDITION ) )
-            // InternalSensinact.g:1340:4: (lv_ref_2_0= ruleDSL_REF_CONDITION )
-            {
-            // InternalSensinact.g:1340:4: (lv_ref_2_0= ruleDSL_REF_CONDITION )
-            // InternalSensinact.g:1341:5: lv_ref_2_0= ruleDSL_REF_CONDITION
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_CEP_MINAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0());
-            				
-            pushFollow(FOLLOW_23);
-            lv_ref_2_0=ruleDSL_REF_CONDITION();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_CEP_MINRule());
-            					}
-            					set(
-            						current,
-            						"ref",
-            						lv_ref_2_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-            otherlv_3=(Token)match(input,18,FOLLOW_17); 
-
-            			newLeafNode(otherlv_3, grammarAccess.getDSL_CEP_MINAccess().getCommaKeyword_3());
-            		
-            // InternalSensinact.g:1362:3: ( (lv_window_4_0= ruleDSL_CEP_DURATION ) )
-            // InternalSensinact.g:1363:4: (lv_window_4_0= ruleDSL_CEP_DURATION )
-            {
-            // InternalSensinact.g:1363:4: (lv_window_4_0= ruleDSL_CEP_DURATION )
-            // InternalSensinact.g:1364:5: lv_window_4_0= ruleDSL_CEP_DURATION
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_CEP_MINAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0());
-            				
-            pushFollow(FOLLOW_21);
-            lv_window_4_0=ruleDSL_CEP_DURATION();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_CEP_MINRule());
-            					}
-            					set(
-            						current,
-            						"window",
-            						lv_window_4_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-            otherlv_5=(Token)match(input,27,FOLLOW_2); 
-
-            			newLeafNode(otherlv_5, grammarAccess.getDSL_CEP_MINAccess().getRightParenthesisKeyword_5());
-            		
-
-            }
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDSL_CEP_MIN"
-
-
-    // $ANTLR start "entryRuleDSL_CEP_MAX"
-    // InternalSensinact.g:1389:1: entryRuleDSL_CEP_MAX returns [EObject current=null] : iv_ruleDSL_CEP_MAX= ruleDSL_CEP_MAX EOF ;
-    public final EObject entryRuleDSL_CEP_MAX() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDSL_CEP_MAX = null;
-
-
-        try {
-            // InternalSensinact.g:1389:52: (iv_ruleDSL_CEP_MAX= ruleDSL_CEP_MAX EOF )
-            // InternalSensinact.g:1390:2: iv_ruleDSL_CEP_MAX= ruleDSL_CEP_MAX EOF
-            {
-             newCompositeNode(grammarAccess.getDSL_CEP_MAXRule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleDSL_CEP_MAX=ruleDSL_CEP_MAX();
-
-            state._fsp--;
-
-             current =iv_ruleDSL_CEP_MAX; 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDSL_CEP_MAX"
-
-
-    // $ANTLR start "ruleDSL_CEP_MAX"
-    // InternalSensinact.g:1396:1: ruleDSL_CEP_MAX returns [EObject current=null] : (otherlv_0= 'max' otherlv_1= '(' ( (lv_ref_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_window_4_0= ruleDSL_CEP_DURATION ) ) otherlv_5= ')' ) ;
-    public final EObject ruleDSL_CEP_MAX() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        EObject lv_ref_2_0 = null;
-
-        EObject lv_window_4_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:1402:2: ( (otherlv_0= 'max' otherlv_1= '(' ( (lv_ref_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_window_4_0= ruleDSL_CEP_DURATION ) ) otherlv_5= ')' ) )
-            // InternalSensinact.g:1403:2: (otherlv_0= 'max' otherlv_1= '(' ( (lv_ref_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_window_4_0= ruleDSL_CEP_DURATION ) ) otherlv_5= ')' )
-            {
-            // InternalSensinact.g:1403:2: (otherlv_0= 'max' otherlv_1= '(' ( (lv_ref_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_window_4_0= ruleDSL_CEP_DURATION ) ) otherlv_5= ')' )
-            // InternalSensinact.g:1404:3: otherlv_0= 'max' otherlv_1= '(' ( (lv_ref_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_window_4_0= ruleDSL_CEP_DURATION ) ) otherlv_5= ')'
-            {
-            otherlv_0=(Token)match(input,33,FOLLOW_20); 
-
-            			newLeafNode(otherlv_0, grammarAccess.getDSL_CEP_MAXAccess().getMaxKeyword_0());
-            		
-            otherlv_1=(Token)match(input,26,FOLLOW_6); 
-
-            			newLeafNode(otherlv_1, grammarAccess.getDSL_CEP_MAXAccess().getLeftParenthesisKeyword_1());
-            		
-            // InternalSensinact.g:1412:3: ( (lv_ref_2_0= ruleDSL_REF_CONDITION ) )
-            // InternalSensinact.g:1413:4: (lv_ref_2_0= ruleDSL_REF_CONDITION )
-            {
-            // InternalSensinact.g:1413:4: (lv_ref_2_0= ruleDSL_REF_CONDITION )
-            // InternalSensinact.g:1414:5: lv_ref_2_0= ruleDSL_REF_CONDITION
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_CEP_MAXAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0());
-            				
-            pushFollow(FOLLOW_23);
-            lv_ref_2_0=ruleDSL_REF_CONDITION();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_CEP_MAXRule());
-            					}
-            					set(
-            						current,
-            						"ref",
-            						lv_ref_2_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-            otherlv_3=(Token)match(input,18,FOLLOW_17); 
-
-            			newLeafNode(otherlv_3, grammarAccess.getDSL_CEP_MAXAccess().getCommaKeyword_3());
-            		
-            // InternalSensinact.g:1435:3: ( (lv_window_4_0= ruleDSL_CEP_DURATION ) )
-            // InternalSensinact.g:1436:4: (lv_window_4_0= ruleDSL_CEP_DURATION )
-            {
-            // InternalSensinact.g:1436:4: (lv_window_4_0= ruleDSL_CEP_DURATION )
-            // InternalSensinact.g:1437:5: lv_window_4_0= ruleDSL_CEP_DURATION
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_CEP_MAXAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0());
-            				
-            pushFollow(FOLLOW_21);
-            lv_window_4_0=ruleDSL_CEP_DURATION();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_CEP_MAXRule());
-            					}
-            					set(
-            						current,
-            						"window",
-            						lv_window_4_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-            otherlv_5=(Token)match(input,27,FOLLOW_2); 
-
-            			newLeafNode(otherlv_5, grammarAccess.getDSL_CEP_MAXAccess().getRightParenthesisKeyword_5());
-            		
-
-            }
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDSL_CEP_MAX"
-
-
-    // $ANTLR start "entryRuleDSL_CEP_AVG"
-    // InternalSensinact.g:1462:1: entryRuleDSL_CEP_AVG returns [EObject current=null] : iv_ruleDSL_CEP_AVG= ruleDSL_CEP_AVG EOF ;
-    public final EObject entryRuleDSL_CEP_AVG() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDSL_CEP_AVG = null;
-
-
-        try {
-            // InternalSensinact.g:1462:52: (iv_ruleDSL_CEP_AVG= ruleDSL_CEP_AVG EOF )
-            // InternalSensinact.g:1463:2: iv_ruleDSL_CEP_AVG= ruleDSL_CEP_AVG EOF
-            {
-             newCompositeNode(grammarAccess.getDSL_CEP_AVGRule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleDSL_CEP_AVG=ruleDSL_CEP_AVG();
-
-            state._fsp--;
-
-             current =iv_ruleDSL_CEP_AVG; 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDSL_CEP_AVG"
-
-
-    // $ANTLR start "ruleDSL_CEP_AVG"
-    // InternalSensinact.g:1469:1: ruleDSL_CEP_AVG returns [EObject current=null] : (otherlv_0= 'avg' otherlv_1= '(' ( (lv_ref_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_window_4_0= ruleDSL_CEP_DURATION ) ) otherlv_5= ')' ) ;
-    public final EObject ruleDSL_CEP_AVG() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        EObject lv_ref_2_0 = null;
-
-        EObject lv_window_4_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:1475:2: ( (otherlv_0= 'avg' otherlv_1= '(' ( (lv_ref_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_window_4_0= ruleDSL_CEP_DURATION ) ) otherlv_5= ')' ) )
-            // InternalSensinact.g:1476:2: (otherlv_0= 'avg' otherlv_1= '(' ( (lv_ref_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_window_4_0= ruleDSL_CEP_DURATION ) ) otherlv_5= ')' )
-            {
-            // InternalSensinact.g:1476:2: (otherlv_0= 'avg' otherlv_1= '(' ( (lv_ref_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_window_4_0= ruleDSL_CEP_DURATION ) ) otherlv_5= ')' )
-            // InternalSensinact.g:1477:3: otherlv_0= 'avg' otherlv_1= '(' ( (lv_ref_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_window_4_0= ruleDSL_CEP_DURATION ) ) otherlv_5= ')'
-            {
-            otherlv_0=(Token)match(input,34,FOLLOW_20); 
-
-            			newLeafNode(otherlv_0, grammarAccess.getDSL_CEP_AVGAccess().getAvgKeyword_0());
-            		
-            otherlv_1=(Token)match(input,26,FOLLOW_6); 
-
-            			newLeafNode(otherlv_1, grammarAccess.getDSL_CEP_AVGAccess().getLeftParenthesisKeyword_1());
-            		
-            // InternalSensinact.g:1485:3: ( (lv_ref_2_0= ruleDSL_REF_CONDITION ) )
-            // InternalSensinact.g:1486:4: (lv_ref_2_0= ruleDSL_REF_CONDITION )
-            {
-            // InternalSensinact.g:1486:4: (lv_ref_2_0= ruleDSL_REF_CONDITION )
-            // InternalSensinact.g:1487:5: lv_ref_2_0= ruleDSL_REF_CONDITION
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_CEP_AVGAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0());
-            				
-            pushFollow(FOLLOW_23);
-            lv_ref_2_0=ruleDSL_REF_CONDITION();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_CEP_AVGRule());
-            					}
-            					set(
-            						current,
-            						"ref",
-            						lv_ref_2_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-            otherlv_3=(Token)match(input,18,FOLLOW_17); 
-
-            			newLeafNode(otherlv_3, grammarAccess.getDSL_CEP_AVGAccess().getCommaKeyword_3());
-            		
-            // InternalSensinact.g:1508:3: ( (lv_window_4_0= ruleDSL_CEP_DURATION ) )
-            // InternalSensinact.g:1509:4: (lv_window_4_0= ruleDSL_CEP_DURATION )
-            {
-            // InternalSensinact.g:1509:4: (lv_window_4_0= ruleDSL_CEP_DURATION )
-            // InternalSensinact.g:1510:5: lv_window_4_0= ruleDSL_CEP_DURATION
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_CEP_AVGAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0());
-            				
-            pushFollow(FOLLOW_21);
-            lv_window_4_0=ruleDSL_CEP_DURATION();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_CEP_AVGRule());
-            					}
-            					set(
-            						current,
-            						"window",
-            						lv_window_4_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-            otherlv_5=(Token)match(input,27,FOLLOW_2); 
-
-            			newLeafNode(otherlv_5, grammarAccess.getDSL_CEP_AVGAccess().getRightParenthesisKeyword_5());
-            		
-
-            }
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDSL_CEP_AVG"
-
-
-    // $ANTLR start "entryRuleDSL_CEP_SUM"
-    // InternalSensinact.g:1535:1: entryRuleDSL_CEP_SUM returns [EObject current=null] : iv_ruleDSL_CEP_SUM= ruleDSL_CEP_SUM EOF ;
-    public final EObject entryRuleDSL_CEP_SUM() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDSL_CEP_SUM = null;
-
-
-        try {
-            // InternalSensinact.g:1535:52: (iv_ruleDSL_CEP_SUM= ruleDSL_CEP_SUM EOF )
-            // InternalSensinact.g:1536:2: iv_ruleDSL_CEP_SUM= ruleDSL_CEP_SUM EOF
-            {
-             newCompositeNode(grammarAccess.getDSL_CEP_SUMRule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleDSL_CEP_SUM=ruleDSL_CEP_SUM();
-
-            state._fsp--;
-
-             current =iv_ruleDSL_CEP_SUM; 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDSL_CEP_SUM"
-
-
-    // $ANTLR start "ruleDSL_CEP_SUM"
-    // InternalSensinact.g:1542:1: ruleDSL_CEP_SUM returns [EObject current=null] : (otherlv_0= 'sum' otherlv_1= '(' ( (lv_ref_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_window_4_0= ruleDSL_CEP_DURATION ) ) otherlv_5= ')' ) ;
-    public final EObject ruleDSL_CEP_SUM() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        EObject lv_ref_2_0 = null;
-
-        EObject lv_window_4_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:1548:2: ( (otherlv_0= 'sum' otherlv_1= '(' ( (lv_ref_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_window_4_0= ruleDSL_CEP_DURATION ) ) otherlv_5= ')' ) )
-            // InternalSensinact.g:1549:2: (otherlv_0= 'sum' otherlv_1= '(' ( (lv_ref_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_window_4_0= ruleDSL_CEP_DURATION ) ) otherlv_5= ')' )
-            {
-            // InternalSensinact.g:1549:2: (otherlv_0= 'sum' otherlv_1= '(' ( (lv_ref_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_window_4_0= ruleDSL_CEP_DURATION ) ) otherlv_5= ')' )
-            // InternalSensinact.g:1550:3: otherlv_0= 'sum' otherlv_1= '(' ( (lv_ref_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_window_4_0= ruleDSL_CEP_DURATION ) ) otherlv_5= ')'
-            {
-            otherlv_0=(Token)match(input,35,FOLLOW_20); 
-
-            			newLeafNode(otherlv_0, grammarAccess.getDSL_CEP_SUMAccess().getSumKeyword_0());
-            		
-            otherlv_1=(Token)match(input,26,FOLLOW_6); 
-
-            			newLeafNode(otherlv_1, grammarAccess.getDSL_CEP_SUMAccess().getLeftParenthesisKeyword_1());
-            		
-            // InternalSensinact.g:1558:3: ( (lv_ref_2_0= ruleDSL_REF_CONDITION ) )
-            // InternalSensinact.g:1559:4: (lv_ref_2_0= ruleDSL_REF_CONDITION )
-            {
-            // InternalSensinact.g:1559:4: (lv_ref_2_0= ruleDSL_REF_CONDITION )
-            // InternalSensinact.g:1560:5: lv_ref_2_0= ruleDSL_REF_CONDITION
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_CEP_SUMAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0());
-            				
-            pushFollow(FOLLOW_23);
-            lv_ref_2_0=ruleDSL_REF_CONDITION();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_CEP_SUMRule());
-            					}
-            					set(
-            						current,
-            						"ref",
-            						lv_ref_2_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-            otherlv_3=(Token)match(input,18,FOLLOW_17); 
-
-            			newLeafNode(otherlv_3, grammarAccess.getDSL_CEP_SUMAccess().getCommaKeyword_3());
-            		
-            // InternalSensinact.g:1581:3: ( (lv_window_4_0= ruleDSL_CEP_DURATION ) )
-            // InternalSensinact.g:1582:4: (lv_window_4_0= ruleDSL_CEP_DURATION )
-            {
-            // InternalSensinact.g:1582:4: (lv_window_4_0= ruleDSL_CEP_DURATION )
-            // InternalSensinact.g:1583:5: lv_window_4_0= ruleDSL_CEP_DURATION
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_CEP_SUMAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0());
-            				
-            pushFollow(FOLLOW_21);
-            lv_window_4_0=ruleDSL_CEP_DURATION();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_CEP_SUMRule());
-            					}
-            					set(
-            						current,
-            						"window",
-            						lv_window_4_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-            otherlv_5=(Token)match(input,27,FOLLOW_2); 
-
-            			newLeafNode(otherlv_5, grammarAccess.getDSL_CEP_SUMAccess().getRightParenthesisKeyword_5());
-            		
-
-            }
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDSL_CEP_SUM"
-
-
-    // $ANTLR start "entryRuleDSL_CEP_COUNT"
-    // InternalSensinact.g:1608:1: entryRuleDSL_CEP_COUNT returns [EObject current=null] : iv_ruleDSL_CEP_COUNT= ruleDSL_CEP_COUNT EOF ;
-    public final EObject entryRuleDSL_CEP_COUNT() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDSL_CEP_COUNT = null;
-
-
-        try {
-            // InternalSensinact.g:1608:54: (iv_ruleDSL_CEP_COUNT= ruleDSL_CEP_COUNT EOF )
-            // InternalSensinact.g:1609:2: iv_ruleDSL_CEP_COUNT= ruleDSL_CEP_COUNT EOF
-            {
-             newCompositeNode(grammarAccess.getDSL_CEP_COUNTRule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleDSL_CEP_COUNT=ruleDSL_CEP_COUNT();
-
-            state._fsp--;
-
-             current =iv_ruleDSL_CEP_COUNT; 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDSL_CEP_COUNT"
-
-
-    // $ANTLR start "ruleDSL_CEP_COUNT"
-    // InternalSensinact.g:1615:1: ruleDSL_CEP_COUNT returns [EObject current=null] : (otherlv_0= 'count' otherlv_1= '(' ( (lv_ref_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_window_4_0= ruleDSL_CEP_DURATION ) ) otherlv_5= ')' ) ;
-    public final EObject ruleDSL_CEP_COUNT() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_0=null;
-        Token otherlv_1=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        EObject lv_ref_2_0 = null;
-
-        EObject lv_window_4_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:1621:2: ( (otherlv_0= 'count' otherlv_1= '(' ( (lv_ref_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_window_4_0= ruleDSL_CEP_DURATION ) ) otherlv_5= ')' ) )
-            // InternalSensinact.g:1622:2: (otherlv_0= 'count' otherlv_1= '(' ( (lv_ref_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_window_4_0= ruleDSL_CEP_DURATION ) ) otherlv_5= ')' )
-            {
-            // InternalSensinact.g:1622:2: (otherlv_0= 'count' otherlv_1= '(' ( (lv_ref_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_window_4_0= ruleDSL_CEP_DURATION ) ) otherlv_5= ')' )
-            // InternalSensinact.g:1623:3: otherlv_0= 'count' otherlv_1= '(' ( (lv_ref_2_0= ruleDSL_REF_CONDITION ) ) otherlv_3= ',' ( (lv_window_4_0= ruleDSL_CEP_DURATION ) ) otherlv_5= ')'
-            {
-            otherlv_0=(Token)match(input,36,FOLLOW_20); 
-
-            			newLeafNode(otherlv_0, grammarAccess.getDSL_CEP_COUNTAccess().getCountKeyword_0());
-            		
-            otherlv_1=(Token)match(input,26,FOLLOW_6); 
-
-            			newLeafNode(otherlv_1, grammarAccess.getDSL_CEP_COUNTAccess().getLeftParenthesisKeyword_1());
-            		
-            // InternalSensinact.g:1631:3: ( (lv_ref_2_0= ruleDSL_REF_CONDITION ) )
-            // InternalSensinact.g:1632:4: (lv_ref_2_0= ruleDSL_REF_CONDITION )
-            {
-            // InternalSensinact.g:1632:4: (lv_ref_2_0= ruleDSL_REF_CONDITION )
-            // InternalSensinact.g:1633:5: lv_ref_2_0= ruleDSL_REF_CONDITION
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_CEP_COUNTAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0());
-            				
-            pushFollow(FOLLOW_23);
-            lv_ref_2_0=ruleDSL_REF_CONDITION();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_CEP_COUNTRule());
-            					}
-            					set(
-            						current,
-            						"ref",
-            						lv_ref_2_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-            otherlv_3=(Token)match(input,18,FOLLOW_17); 
-
-            			newLeafNode(otherlv_3, grammarAccess.getDSL_CEP_COUNTAccess().getCommaKeyword_3());
-            		
-            // InternalSensinact.g:1654:3: ( (lv_window_4_0= ruleDSL_CEP_DURATION ) )
-            // InternalSensinact.g:1655:4: (lv_window_4_0= ruleDSL_CEP_DURATION )
-            {
-            // InternalSensinact.g:1655:4: (lv_window_4_0= ruleDSL_CEP_DURATION )
-            // InternalSensinact.g:1656:5: lv_window_4_0= ruleDSL_CEP_DURATION
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_CEP_COUNTAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0());
-            				
-            pushFollow(FOLLOW_21);
-            lv_window_4_0=ruleDSL_CEP_DURATION();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_CEP_COUNTRule());
-            					}
-            					set(
-            						current,
-            						"window",
-            						lv_window_4_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-            otherlv_5=(Token)match(input,27,FOLLOW_2); 
-
-            			newLeafNode(otherlv_5, grammarAccess.getDSL_CEP_COUNTAccess().getRightParenthesisKeyword_5());
-            		
-
-            }
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDSL_CEP_COUNT"
-
-
-    // $ANTLR start "entryRuleDSL_CEP_DURATION"
-    // InternalSensinact.g:1681:1: entryRuleDSL_CEP_DURATION returns [EObject current=null] : iv_ruleDSL_CEP_DURATION= ruleDSL_CEP_DURATION EOF ;
-    public final EObject entryRuleDSL_CEP_DURATION() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDSL_CEP_DURATION = null;
-
-
-        try {
-            // InternalSensinact.g:1681:57: (iv_ruleDSL_CEP_DURATION= ruleDSL_CEP_DURATION EOF )
-            // InternalSensinact.g:1682:2: iv_ruleDSL_CEP_DURATION= ruleDSL_CEP_DURATION EOF
-            {
-             newCompositeNode(grammarAccess.getDSL_CEP_DURATIONRule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleDSL_CEP_DURATION=ruleDSL_CEP_DURATION();
-
-            state._fsp--;
-
-             current =iv_ruleDSL_CEP_DURATION; 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDSL_CEP_DURATION"
-
-
-    // $ANTLR start "ruleDSL_CEP_DURATION"
-    // InternalSensinact.g:1688:1: ruleDSL_CEP_DURATION returns [EObject current=null] : ( ( (lv_units_0_1= ruleDSL_CEP_DURATION_MIN | lv_units_0_2= ruleDSL_CEP_DURATION_SEC ) ) )+ ;
-    public final EObject ruleDSL_CEP_DURATION() throws RecognitionException {
-        EObject current = null;
-
-        EObject lv_units_0_1 = null;
-
-        EObject lv_units_0_2 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:1694:2: ( ( ( (lv_units_0_1= ruleDSL_CEP_DURATION_MIN | lv_units_0_2= ruleDSL_CEP_DURATION_SEC ) ) )+ )
-            // InternalSensinact.g:1695:2: ( ( (lv_units_0_1= ruleDSL_CEP_DURATION_MIN | lv_units_0_2= ruleDSL_CEP_DURATION_SEC ) ) )+
-            {
-            // InternalSensinact.g:1695:2: ( ( (lv_units_0_1= ruleDSL_CEP_DURATION_MIN | lv_units_0_2= ruleDSL_CEP_DURATION_SEC ) ) )+
-            int cnt12=0;
-            loop12:
-            do {
-                int alt12=2;
-                int LA12_0 = input.LA(1);
-
-                if ( (LA12_0==RULE_INT) ) {
-                    alt12=1;
-                }
-
-
-                switch (alt12) {
-            	case 1 :
-            	    // InternalSensinact.g:1696:3: ( (lv_units_0_1= ruleDSL_CEP_DURATION_MIN | lv_units_0_2= ruleDSL_CEP_DURATION_SEC ) )
-            	    {
-            	    // InternalSensinact.g:1696:3: ( (lv_units_0_1= ruleDSL_CEP_DURATION_MIN | lv_units_0_2= ruleDSL_CEP_DURATION_SEC ) )
-            	    // InternalSensinact.g:1697:4: (lv_units_0_1= ruleDSL_CEP_DURATION_MIN | lv_units_0_2= ruleDSL_CEP_DURATION_SEC )
-            	    {
-            	    // InternalSensinact.g:1697:4: (lv_units_0_1= ruleDSL_CEP_DURATION_MIN | lv_units_0_2= ruleDSL_CEP_DURATION_SEC )
-            	    int alt11=2;
-            	    int LA11_0 = input.LA(1);
-
-            	    if ( (LA11_0==RULE_INT) ) {
-            	        switch ( input.LA(2) ) {
-            	        case 24:
-            	            {
-            	            int LA11_2 = input.LA(3);
-
-            	            if ( (LA11_2==RULE_INT) ) {
-            	                int LA11_5 = input.LA(4);
-
-            	                if ( (LA11_5==32) ) {
-            	                    alt11=1;
-            	                }
-            	                else if ( (LA11_5==37) ) {
-            	                    alt11=2;
-            	                }
-            	                else {
-            	                    NoViableAltException nvae =
-            	                        new NoViableAltException("", 11, 5, input);
-
-            	                    throw nvae;
-            	                }
-            	            }
-            	            else {
-            	                NoViableAltException nvae =
-            	                    new NoViableAltException("", 11, 2, input);
-
-            	                throw nvae;
-            	            }
-            	            }
-            	            break;
-            	        case 32:
-            	            {
-            	            alt11=1;
-            	            }
-            	            break;
-            	        case 37:
-            	            {
-            	            alt11=2;
-            	            }
-            	            break;
-            	        default:
-            	            NoViableAltException nvae =
-            	                new NoViableAltException("", 11, 1, input);
-
-            	            throw nvae;
-            	        }
-
-            	    }
-            	    else {
-            	        NoViableAltException nvae =
-            	            new NoViableAltException("", 11, 0, input);
-
-            	        throw nvae;
-            	    }
-            	    switch (alt11) {
-            	        case 1 :
-            	            // InternalSensinact.g:1698:5: lv_units_0_1= ruleDSL_CEP_DURATION_MIN
-            	            {
-
-            	            					newCompositeNode(grammarAccess.getDSL_CEP_DURATIONAccess().getUnitsDSL_CEP_DURATION_MINParserRuleCall_0_0());
-            	            				
-            	            pushFollow(FOLLOW_24);
-            	            lv_units_0_1=ruleDSL_CEP_DURATION_MIN();
-
-            	            state._fsp--;
-
-
-            	            					if (current==null) {
-            	            						current = createModelElementForParent(grammarAccess.getDSL_CEP_DURATIONRule());
-            	            					}
-            	            					add(
-            	            						current,
-            	            						"units",
-            	            						lv_units_0_1,
-            	            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION_MIN");
-            	            					afterParserOrEnumRuleCall();
-            	            				
-
-            	            }
-            	            break;
-            	        case 2 :
-            	            // InternalSensinact.g:1714:5: lv_units_0_2= ruleDSL_CEP_DURATION_SEC
-            	            {
-
-            	            					newCompositeNode(grammarAccess.getDSL_CEP_DURATIONAccess().getUnitsDSL_CEP_DURATION_SECParserRuleCall_0_1());
-            	            				
-            	            pushFollow(FOLLOW_24);
-            	            lv_units_0_2=ruleDSL_CEP_DURATION_SEC();
-
-            	            state._fsp--;
-
-
-            	            					if (current==null) {
-            	            						current = createModelElementForParent(grammarAccess.getDSL_CEP_DURATIONRule());
-            	            					}
-            	            					add(
-            	            						current,
-            	            						"units",
-            	            						lv_units_0_2,
-            	            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION_SEC");
-            	            					afterParserOrEnumRuleCall();
-            	            				
-
-            	            }
-            	            break;
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt12 >= 1 ) break loop12;
-                        EarlyExitException eee =
-                            new EarlyExitException(12, input);
-                        throw eee;
-                }
-                cnt12++;
-            } while (true);
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDSL_CEP_DURATION"
-
-
-    // $ANTLR start "entryRuleDSL_CEP_DURATION_MIN"
-    // InternalSensinact.g:1735:1: entryRuleDSL_CEP_DURATION_MIN returns [EObject current=null] : iv_ruleDSL_CEP_DURATION_MIN= ruleDSL_CEP_DURATION_MIN EOF ;
-    public final EObject entryRuleDSL_CEP_DURATION_MIN() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDSL_CEP_DURATION_MIN = null;
-
-
-        try {
-            // InternalSensinact.g:1735:61: (iv_ruleDSL_CEP_DURATION_MIN= ruleDSL_CEP_DURATION_MIN EOF )
-            // InternalSensinact.g:1736:2: iv_ruleDSL_CEP_DURATION_MIN= ruleDSL_CEP_DURATION_MIN EOF
-            {
-             newCompositeNode(grammarAccess.getDSL_CEP_DURATION_MINRule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleDSL_CEP_DURATION_MIN=ruleDSL_CEP_DURATION_MIN();
-
-            state._fsp--;
-
-             current =iv_ruleDSL_CEP_DURATION_MIN; 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDSL_CEP_DURATION_MIN"
-
-
-    // $ANTLR start "ruleDSL_CEP_DURATION_MIN"
-    // InternalSensinact.g:1742:1: ruleDSL_CEP_DURATION_MIN returns [EObject current=null] : ( ( (lv_min_0_0= ruleNUMBER ) ) otherlv_1= 'min' ) ;
-    public final EObject ruleDSL_CEP_DURATION_MIN() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_1=null;
-        AntlrDatatypeRuleToken lv_min_0_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:1748:2: ( ( ( (lv_min_0_0= ruleNUMBER ) ) otherlv_1= 'min' ) )
-            // InternalSensinact.g:1749:2: ( ( (lv_min_0_0= ruleNUMBER ) ) otherlv_1= 'min' )
-            {
-            // InternalSensinact.g:1749:2: ( ( (lv_min_0_0= ruleNUMBER ) ) otherlv_1= 'min' )
-            // InternalSensinact.g:1750:3: ( (lv_min_0_0= ruleNUMBER ) ) otherlv_1= 'min'
-            {
-            // InternalSensinact.g:1750:3: ( (lv_min_0_0= ruleNUMBER ) )
-            // InternalSensinact.g:1751:4: (lv_min_0_0= ruleNUMBER )
-            {
-            // InternalSensinact.g:1751:4: (lv_min_0_0= ruleNUMBER )
-            // InternalSensinact.g:1752:5: lv_min_0_0= ruleNUMBER
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_CEP_DURATION_MINAccess().getMinNUMBERParserRuleCall_0_0());
-            				
-            pushFollow(FOLLOW_25);
-            lv_min_0_0=ruleNUMBER();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_CEP_DURATION_MINRule());
-            					}
-            					set(
-            						current,
-            						"min",
-            						lv_min_0_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.NUMBER");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-            otherlv_1=(Token)match(input,32,FOLLOW_2); 
-
-            			newLeafNode(otherlv_1, grammarAccess.getDSL_CEP_DURATION_MINAccess().getMinKeyword_1());
-            		
-
-            }
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDSL_CEP_DURATION_MIN"
-
-
-    // $ANTLR start "entryRuleDSL_CEP_DURATION_SEC"
-    // InternalSensinact.g:1777:1: entryRuleDSL_CEP_DURATION_SEC returns [EObject current=null] : iv_ruleDSL_CEP_DURATION_SEC= ruleDSL_CEP_DURATION_SEC EOF ;
-    public final EObject entryRuleDSL_CEP_DURATION_SEC() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDSL_CEP_DURATION_SEC = null;
-
-
-        try {
-            // InternalSensinact.g:1777:61: (iv_ruleDSL_CEP_DURATION_SEC= ruleDSL_CEP_DURATION_SEC EOF )
-            // InternalSensinact.g:1778:2: iv_ruleDSL_CEP_DURATION_SEC= ruleDSL_CEP_DURATION_SEC EOF
-            {
-             newCompositeNode(grammarAccess.getDSL_CEP_DURATION_SECRule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleDSL_CEP_DURATION_SEC=ruleDSL_CEP_DURATION_SEC();
-
-            state._fsp--;
-
-             current =iv_ruleDSL_CEP_DURATION_SEC; 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDSL_CEP_DURATION_SEC"
-
-
-    // $ANTLR start "ruleDSL_CEP_DURATION_SEC"
-    // InternalSensinact.g:1784:1: ruleDSL_CEP_DURATION_SEC returns [EObject current=null] : ( ( (lv_sec_0_0= ruleNUMBER ) ) otherlv_1= 'sec' ) ;
-    public final EObject ruleDSL_CEP_DURATION_SEC() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_1=null;
-        AntlrDatatypeRuleToken lv_sec_0_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:1790:2: ( ( ( (lv_sec_0_0= ruleNUMBER ) ) otherlv_1= 'sec' ) )
-            // InternalSensinact.g:1791:2: ( ( (lv_sec_0_0= ruleNUMBER ) ) otherlv_1= 'sec' )
-            {
-            // InternalSensinact.g:1791:2: ( ( (lv_sec_0_0= ruleNUMBER ) ) otherlv_1= 'sec' )
-            // InternalSensinact.g:1792:3: ( (lv_sec_0_0= ruleNUMBER ) ) otherlv_1= 'sec'
-            {
-            // InternalSensinact.g:1792:3: ( (lv_sec_0_0= ruleNUMBER ) )
-            // InternalSensinact.g:1793:4: (lv_sec_0_0= ruleNUMBER )
-            {
-            // InternalSensinact.g:1793:4: (lv_sec_0_0= ruleNUMBER )
-            // InternalSensinact.g:1794:5: lv_sec_0_0= ruleNUMBER
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_CEP_DURATION_SECAccess().getSecNUMBERParserRuleCall_0_0());
-            				
-            pushFollow(FOLLOW_26);
-            lv_sec_0_0=ruleNUMBER();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_CEP_DURATION_SECRule());
-            					}
-            					set(
-            						current,
-            						"sec",
-            						lv_sec_0_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.NUMBER");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-            otherlv_1=(Token)match(input,37,FOLLOW_2); 
-
-            			newLeafNode(otherlv_1, grammarAccess.getDSL_CEP_DURATION_SECAccess().getSecKeyword_1());
-            		
-
-            }
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDSL_CEP_DURATION_SEC"
-
-
-    // $ANTLR start "entryRuleDSL_ListActions"
-    // InternalSensinact.g:1819:1: entryRuleDSL_ListActions returns [EObject current=null] : iv_ruleDSL_ListActions= ruleDSL_ListActions EOF ;
-    public final EObject entryRuleDSL_ListActions() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDSL_ListActions = null;
-
-
-        try {
-            // InternalSensinact.g:1819:56: (iv_ruleDSL_ListActions= ruleDSL_ListActions EOF )
-            // InternalSensinact.g:1820:2: iv_ruleDSL_ListActions= ruleDSL_ListActions EOF
-            {
-             newCompositeNode(grammarAccess.getDSL_ListActionsRule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleDSL_ListActions=ruleDSL_ListActions();
-
-            state._fsp--;
-
-             current =iv_ruleDSL_ListActions; 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDSL_ListActions"
-
-
-    // $ANTLR start "ruleDSL_ListActions"
-    // InternalSensinact.g:1826:1: ruleDSL_ListActions returns [EObject current=null] : ( ( (lv_actionList_0_0= ruleDSL_ResourceAction ) ) (otherlv_1= ',' ( (lv_actionList_2_0= ruleDSL_ResourceAction ) ) )* ) ;
-    public final EObject ruleDSL_ListActions() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_1=null;
-        EObject lv_actionList_0_0 = null;
-
-        EObject lv_actionList_2_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:1832:2: ( ( ( (lv_actionList_0_0= ruleDSL_ResourceAction ) ) (otherlv_1= ',' ( (lv_actionList_2_0= ruleDSL_ResourceAction ) ) )* ) )
-            // InternalSensinact.g:1833:2: ( ( (lv_actionList_0_0= ruleDSL_ResourceAction ) ) (otherlv_1= ',' ( (lv_actionList_2_0= ruleDSL_ResourceAction ) ) )* )
-            {
-            // InternalSensinact.g:1833:2: ( ( (lv_actionList_0_0= ruleDSL_ResourceAction ) ) (otherlv_1= ',' ( (lv_actionList_2_0= ruleDSL_ResourceAction ) ) )* )
-            // InternalSensinact.g:1834:3: ( (lv_actionList_0_0= ruleDSL_ResourceAction ) ) (otherlv_1= ',' ( (lv_actionList_2_0= ruleDSL_ResourceAction ) ) )*
-            {
-            // InternalSensinact.g:1834:3: ( (lv_actionList_0_0= ruleDSL_ResourceAction ) )
-            // InternalSensinact.g:1835:4: (lv_actionList_0_0= ruleDSL_ResourceAction )
-            {
-            // InternalSensinact.g:1835:4: (lv_actionList_0_0= ruleDSL_ResourceAction )
-            // InternalSensinact.g:1836:5: lv_actionList_0_0= ruleDSL_ResourceAction
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_ListActionsAccess().getActionListDSL_ResourceActionParserRuleCall_0_0());
-            				
-            pushFollow(FOLLOW_11);
-            lv_actionList_0_0=ruleDSL_ResourceAction();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_ListActionsRule());
-            					}
-            					add(
-            						current,
-            						"actionList",
-            						lv_actionList_0_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_ResourceAction");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-            // InternalSensinact.g:1853:3: (otherlv_1= ',' ( (lv_actionList_2_0= ruleDSL_ResourceAction ) ) )*
-            loop13:
-            do {
-                int alt13=2;
-                int LA13_0 = input.LA(1);
-
-                if ( (LA13_0==18) ) {
-                    alt13=1;
-                }
-
-
-                switch (alt13) {
-            	case 1 :
-            	    // InternalSensinact.g:1854:4: otherlv_1= ',' ( (lv_actionList_2_0= ruleDSL_ResourceAction ) )
-            	    {
-            	    otherlv_1=(Token)match(input,18,FOLLOW_6); 
-
-            	    				newLeafNode(otherlv_1, grammarAccess.getDSL_ListActionsAccess().getCommaKeyword_1_0());
-            	    			
-            	    // InternalSensinact.g:1858:4: ( (lv_actionList_2_0= ruleDSL_ResourceAction ) )
-            	    // InternalSensinact.g:1859:5: (lv_actionList_2_0= ruleDSL_ResourceAction )
-            	    {
-            	    // InternalSensinact.g:1859:5: (lv_actionList_2_0= ruleDSL_ResourceAction )
-            	    // InternalSensinact.g:1860:6: lv_actionList_2_0= ruleDSL_ResourceAction
-            	    {
-
-            	    						newCompositeNode(grammarAccess.getDSL_ListActionsAccess().getActionListDSL_ResourceActionParserRuleCall_1_1_0());
-            	    					
-            	    pushFollow(FOLLOW_11);
-            	    lv_actionList_2_0=ruleDSL_ResourceAction();
-
-            	    state._fsp--;
-
-
-            	    						if (current==null) {
-            	    							current = createModelElementForParent(grammarAccess.getDSL_ListActionsRule());
-            	    						}
-            	    						add(
-            	    							current,
-            	    							"actionList",
-            	    							lv_actionList_2_0,
-            	    							"org.eclipse.sensinact.studio.language.Sensinact.DSL_ResourceAction");
-            	    						afterParserOrEnumRuleCall();
-            	    					
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop13;
-                }
-            } while (true);
-
-
-            }
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDSL_ListActions"
-
-
-    // $ANTLR start "entryRuleDSL_ResourceAction"
-    // InternalSensinact.g:1882:1: entryRuleDSL_ResourceAction returns [EObject current=null] : iv_ruleDSL_ResourceAction= ruleDSL_ResourceAction EOF ;
-    public final EObject entryRuleDSL_ResourceAction() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDSL_ResourceAction = null;
-
-
-        try {
-            // InternalSensinact.g:1882:59: (iv_ruleDSL_ResourceAction= ruleDSL_ResourceAction EOF )
-            // InternalSensinact.g:1883:2: iv_ruleDSL_ResourceAction= ruleDSL_ResourceAction EOF
-            {
-             newCompositeNode(grammarAccess.getDSL_ResourceActionRule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleDSL_ResourceAction=ruleDSL_ResourceAction();
-
-            state._fsp--;
-
-             current =iv_ruleDSL_ResourceAction; 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDSL_ResourceAction"
-
-
-    // $ANTLR start "ruleDSL_ResourceAction"
-    // InternalSensinact.g:1889:1: ruleDSL_ResourceAction returns [EObject current=null] : ( ( ( (lv_variable_0_0= RULE_ID ) ) otherlv_1= '=' )? ( (otherlv_2= RULE_ID ) ) otherlv_3= '.' ( ( (lv_actiontype_4_1= 'act' | lv_actiontype_4_2= 'set' ) ) ) otherlv_5= '(' ( (lv_listParam_6_0= ruleDSL_ListParam ) )? otherlv_7= ')' ) ;
-    public final EObject ruleDSL_ResourceAction() throws RecognitionException {
-        EObject current = null;
-
-        Token lv_variable_0_0=null;
-        Token otherlv_1=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
-        Token lv_actiontype_4_1=null;
-        Token lv_actiontype_4_2=null;
-        Token otherlv_5=null;
-        Token otherlv_7=null;
-        EObject lv_listParam_6_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:1895:2: ( ( ( ( (lv_variable_0_0= RULE_ID ) ) otherlv_1= '=' )? ( (otherlv_2= RULE_ID ) ) otherlv_3= '.' ( ( (lv_actiontype_4_1= 'act' | lv_actiontype_4_2= 'set' ) ) ) otherlv_5= '(' ( (lv_listParam_6_0= ruleDSL_ListParam ) )? otherlv_7= ')' ) )
-            // InternalSensinact.g:1896:2: ( ( ( (lv_variable_0_0= RULE_ID ) ) otherlv_1= '=' )? ( (otherlv_2= RULE_ID ) ) otherlv_3= '.' ( ( (lv_actiontype_4_1= 'act' | lv_actiontype_4_2= 'set' ) ) ) otherlv_5= '(' ( (lv_listParam_6_0= ruleDSL_ListParam ) )? otherlv_7= ')' )
-            {
-            // InternalSensinact.g:1896:2: ( ( ( (lv_variable_0_0= RULE_ID ) ) otherlv_1= '=' )? ( (otherlv_2= RULE_ID ) ) otherlv_3= '.' ( ( (lv_actiontype_4_1= 'act' | lv_actiontype_4_2= 'set' ) ) ) otherlv_5= '(' ( (lv_listParam_6_0= ruleDSL_ListParam ) )? otherlv_7= ')' )
-            // InternalSensinact.g:1897:3: ( ( (lv_variable_0_0= RULE_ID ) ) otherlv_1= '=' )? ( (otherlv_2= RULE_ID ) ) otherlv_3= '.' ( ( (lv_actiontype_4_1= 'act' | lv_actiontype_4_2= 'set' ) ) ) otherlv_5= '(' ( (lv_listParam_6_0= ruleDSL_ListParam ) )? otherlv_7= ')'
-            {
-            // InternalSensinact.g:1897:3: ( ( (lv_variable_0_0= RULE_ID ) ) otherlv_1= '=' )?
-            int alt14=2;
-            int LA14_0 = input.LA(1);
-
-            if ( (LA14_0==RULE_ID) ) {
-                int LA14_1 = input.LA(2);
-
-                if ( (LA14_1==13) ) {
-                    alt14=1;
-                }
-            }
-            switch (alt14) {
-                case 1 :
-                    // InternalSensinact.g:1898:4: ( (lv_variable_0_0= RULE_ID ) ) otherlv_1= '='
-                    {
-                    // InternalSensinact.g:1898:4: ( (lv_variable_0_0= RULE_ID ) )
-                    // InternalSensinact.g:1899:5: (lv_variable_0_0= RULE_ID )
-                    {
-                    // InternalSensinact.g:1899:5: (lv_variable_0_0= RULE_ID )
-                    // InternalSensinact.g:1900:6: lv_variable_0_0= RULE_ID
-                    {
-                    lv_variable_0_0=(Token)match(input,RULE_ID,FOLLOW_7); 
-
-                    						newLeafNode(lv_variable_0_0, grammarAccess.getDSL_ResourceActionAccess().getVariableIDTerminalRuleCall_0_0_0());
-                    					
-
-                    						if (current==null) {
-                    							current = createModelElement(grammarAccess.getDSL_ResourceActionRule());
-                    						}
-                    						setWithLastConsumed(
-                    							current,
-                    							"variable",
-                    							lv_variable_0_0,
-                    							"org.eclipse.sensinact.studio.language.Sensinact.ID");
-                    					
-
-                    }
-
-
-                    }
-
-                    otherlv_1=(Token)match(input,13,FOLLOW_6); 
-
-                    				newLeafNode(otherlv_1, grammarAccess.getDSL_ResourceActionAccess().getEqualsSignKeyword_0_1());
-                    			
-
-                    }
-                    break;
-
-            }
-
-            // InternalSensinact.g:1921:3: ( (otherlv_2= RULE_ID ) )
-            // InternalSensinact.g:1922:4: (otherlv_2= RULE_ID )
-            {
-            // InternalSensinact.g:1922:4: (otherlv_2= RULE_ID )
-            // InternalSensinact.g:1923:5: otherlv_2= RULE_ID
-            {
-
-            					if (current==null) {
-            						current = createModelElement(grammarAccess.getDSL_ResourceActionRule());
-            					}
-            				
-            otherlv_2=(Token)match(input,RULE_ID,FOLLOW_16); 
-
-            					newLeafNode(otherlv_2, grammarAccess.getDSL_ResourceActionAccess().getRefDSL_REFCrossReference_1_0());
-            				
-
-            }
-
-
-            }
-
-            otherlv_3=(Token)match(input,24,FOLLOW_27); 
-
-            			newLeafNode(otherlv_3, grammarAccess.getDSL_ResourceActionAccess().getFullStopKeyword_2());
-            		
-            // InternalSensinact.g:1938:3: ( ( (lv_actiontype_4_1= 'act' | lv_actiontype_4_2= 'set' ) ) )
-            // InternalSensinact.g:1939:4: ( (lv_actiontype_4_1= 'act' | lv_actiontype_4_2= 'set' ) )
-            {
-            // InternalSensinact.g:1939:4: ( (lv_actiontype_4_1= 'act' | lv_actiontype_4_2= 'set' ) )
-            // InternalSensinact.g:1940:5: (lv_actiontype_4_1= 'act' | lv_actiontype_4_2= 'set' )
-            {
-            // InternalSensinact.g:1940:5: (lv_actiontype_4_1= 'act' | lv_actiontype_4_2= 'set' )
-            int alt15=2;
-            int LA15_0 = input.LA(1);
-
-            if ( (LA15_0==38) ) {
-                alt15=1;
-            }
-            else if ( (LA15_0==39) ) {
-                alt15=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 15, 0, input);
-
-                throw nvae;
-            }
-            switch (alt15) {
-                case 1 :
-                    // InternalSensinact.g:1941:6: lv_actiontype_4_1= 'act'
-                    {
-                    lv_actiontype_4_1=(Token)match(input,38,FOLLOW_20); 
-
-                    						newLeafNode(lv_actiontype_4_1, grammarAccess.getDSL_ResourceActionAccess().getActiontypeActKeyword_3_0_0());
-                    					
-
-                    						if (current==null) {
-                    							current = createModelElement(grammarAccess.getDSL_ResourceActionRule());
-                    						}
-                    						setWithLastConsumed(current, "actiontype", lv_actiontype_4_1, null);
-                    					
-
-                    }
-                    break;
-                case 2 :
-                    // InternalSensinact.g:1952:6: lv_actiontype_4_2= 'set'
-                    {
-                    lv_actiontype_4_2=(Token)match(input,39,FOLLOW_20); 
-
-                    						newLeafNode(lv_actiontype_4_2, grammarAccess.getDSL_ResourceActionAccess().getActiontypeSetKeyword_3_0_1());
-                    					
-
-                    						if (current==null) {
-                    							current = createModelElement(grammarAccess.getDSL_ResourceActionRule());
-                    						}
-                    						setWithLastConsumed(current, "actiontype", lv_actiontype_4_2, null);
-                    					
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-
-            }
-
-            otherlv_5=(Token)match(input,26,FOLLOW_28); 
-
-            			newLeafNode(otherlv_5, grammarAccess.getDSL_ResourceActionAccess().getLeftParenthesisKeyword_4());
-            		
-            // InternalSensinact.g:1969:3: ( (lv_listParam_6_0= ruleDSL_ListParam ) )?
-            int alt16=2;
-            int LA16_0 = input.LA(1);
-
-            if ( ((LA16_0>=RULE_ID && LA16_0<=RULE_BOOLEAN)||LA16_0==26||LA16_0==53) ) {
-                alt16=1;
-            }
-            switch (alt16) {
-                case 1 :
-                    // InternalSensinact.g:1970:4: (lv_listParam_6_0= ruleDSL_ListParam )
-                    {
-                    // InternalSensinact.g:1970:4: (lv_listParam_6_0= ruleDSL_ListParam )
-                    // InternalSensinact.g:1971:5: lv_listParam_6_0= ruleDSL_ListParam
-                    {
-
-                    					newCompositeNode(grammarAccess.getDSL_ResourceActionAccess().getListParamDSL_ListParamParserRuleCall_5_0());
-                    				
-                    pushFollow(FOLLOW_21);
-                    lv_listParam_6_0=ruleDSL_ListParam();
-
-                    state._fsp--;
-
-
-                    					if (current==null) {
-                    						current = createModelElementForParent(grammarAccess.getDSL_ResourceActionRule());
-                    					}
-                    					set(
-                    						current,
-                    						"listParam",
-                    						lv_listParam_6_0,
-                    						"org.eclipse.sensinact.studio.language.Sensinact.DSL_ListParam");
-                    					afterParserOrEnumRuleCall();
-                    				
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            otherlv_7=(Token)match(input,27,FOLLOW_2); 
-
-            			newLeafNode(otherlv_7, grammarAccess.getDSL_ResourceActionAccess().getRightParenthesisKeyword_6());
-            		
-
-            }
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDSL_ResourceAction"
-
-
-    // $ANTLR start "entryRuleDSL_ListParam"
-    // InternalSensinact.g:1996:1: entryRuleDSL_ListParam returns [EObject current=null] : iv_ruleDSL_ListParam= ruleDSL_ListParam EOF ;
-    public final EObject entryRuleDSL_ListParam() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDSL_ListParam = null;
-
-
-        try {
-            // InternalSensinact.g:1996:54: (iv_ruleDSL_ListParam= ruleDSL_ListParam EOF )
-            // InternalSensinact.g:1997:2: iv_ruleDSL_ListParam= ruleDSL_ListParam EOF
-            {
-             newCompositeNode(grammarAccess.getDSL_ListParamRule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleDSL_ListParam=ruleDSL_ListParam();
-
-            state._fsp--;
-
-             current =iv_ruleDSL_ListParam; 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDSL_ListParam"
-
-
-    // $ANTLR start "ruleDSL_ListParam"
-    // InternalSensinact.g:2003:1: ruleDSL_ListParam returns [EObject current=null] : ( ( (lv_param_0_0= ruleDSL_Expression_Or ) ) (otherlv_1= ',' ( (lv_param_2_0= ruleDSL_Expression_Or ) ) )* ) ;
-    public final EObject ruleDSL_ListParam() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_1=null;
-        EObject lv_param_0_0 = null;
-
-        EObject lv_param_2_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:2009:2: ( ( ( (lv_param_0_0= ruleDSL_Expression_Or ) ) (otherlv_1= ',' ( (lv_param_2_0= ruleDSL_Expression_Or ) ) )* ) )
-            // InternalSensinact.g:2010:2: ( ( (lv_param_0_0= ruleDSL_Expression_Or ) ) (otherlv_1= ',' ( (lv_param_2_0= ruleDSL_Expression_Or ) ) )* )
-            {
-            // InternalSensinact.g:2010:2: ( ( (lv_param_0_0= ruleDSL_Expression_Or ) ) (otherlv_1= ',' ( (lv_param_2_0= ruleDSL_Expression_Or ) ) )* )
-            // InternalSensinact.g:2011:3: ( (lv_param_0_0= ruleDSL_Expression_Or ) ) (otherlv_1= ',' ( (lv_param_2_0= ruleDSL_Expression_Or ) ) )*
-            {
-            // InternalSensinact.g:2011:3: ( (lv_param_0_0= ruleDSL_Expression_Or ) )
-            // InternalSensinact.g:2012:4: (lv_param_0_0= ruleDSL_Expression_Or )
-            {
-            // InternalSensinact.g:2012:4: (lv_param_0_0= ruleDSL_Expression_Or )
-            // InternalSensinact.g:2013:5: lv_param_0_0= ruleDSL_Expression_Or
-            {
-
-            					newCompositeNode(grammarAccess.getDSL_ListParamAccess().getParamDSL_Expression_OrParserRuleCall_0_0());
-            				
-            pushFollow(FOLLOW_11);
-            lv_param_0_0=ruleDSL_Expression_Or();
-
-            state._fsp--;
-
-
-            					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getDSL_ListParamRule());
-            					}
-            					add(
-            						current,
-            						"param",
-            						lv_param_0_0,
-            						"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Or");
-            					afterParserOrEnumRuleCall();
-            				
-
-            }
-
-
-            }
-
-            // InternalSensinact.g:2030:3: (otherlv_1= ',' ( (lv_param_2_0= ruleDSL_Expression_Or ) ) )*
-            loop17:
-            do {
-                int alt17=2;
-                int LA17_0 = input.LA(1);
-
-                if ( (LA17_0==18) ) {
-                    alt17=1;
-                }
-
-
-                switch (alt17) {
-            	case 1 :
-            	    // InternalSensinact.g:2031:4: otherlv_1= ',' ( (lv_param_2_0= ruleDSL_Expression_Or ) )
-            	    {
-            	    otherlv_1=(Token)match(input,18,FOLLOW_14); 
-
-            	    				newLeafNode(otherlv_1, grammarAccess.getDSL_ListParamAccess().getCommaKeyword_1_0());
-            	    			
-            	    // InternalSensinact.g:2035:4: ( (lv_param_2_0= ruleDSL_Expression_Or ) )
-            	    // InternalSensinact.g:2036:5: (lv_param_2_0= ruleDSL_Expression_Or )
-            	    {
-            	    // InternalSensinact.g:2036:5: (lv_param_2_0= ruleDSL_Expression_Or )
-            	    // InternalSensinact.g:2037:6: lv_param_2_0= ruleDSL_Expression_Or
-            	    {
-
-            	    						newCompositeNode(grammarAccess.getDSL_ListParamAccess().getParamDSL_Expression_OrParserRuleCall_1_1_0());
-            	    					
-            	    pushFollow(FOLLOW_11);
-            	    lv_param_2_0=ruleDSL_Expression_Or();
-
-            	    state._fsp--;
-
-
-            	    						if (current==null) {
-            	    							current = createModelElementForParent(grammarAccess.getDSL_ListParamRule());
-            	    						}
-            	    						add(
-            	    							current,
-            	    							"param",
-            	    							lv_param_2_0,
-            	    							"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Or");
-            	    						afterParserOrEnumRuleCall();
-            	    					
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop17;
-                }
-            } while (true);
-
-
-            }
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDSL_ListParam"
-
-
-    // $ANTLR start "entryRuleDSL_Expression_Or"
-    // InternalSensinact.g:2059:1: entryRuleDSL_Expression_Or returns [EObject current=null] : iv_ruleDSL_Expression_Or= ruleDSL_Expression_Or EOF ;
-    public final EObject entryRuleDSL_Expression_Or() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDSL_Expression_Or = null;
-
-
-        try {
-            // InternalSensinact.g:2059:58: (iv_ruleDSL_Expression_Or= ruleDSL_Expression_Or EOF )
-            // InternalSensinact.g:2060:2: iv_ruleDSL_Expression_Or= ruleDSL_Expression_Or EOF
-            {
-             newCompositeNode(grammarAccess.getDSL_Expression_OrRule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleDSL_Expression_Or=ruleDSL_Expression_Or();
-
-            state._fsp--;
-
-             current =iv_ruleDSL_Expression_Or; 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDSL_Expression_Or"
-
-
-    // $ANTLR start "ruleDSL_Expression_Or"
-    // InternalSensinact.g:2066:1: ruleDSL_Expression_Or returns [EObject current=null] : (this_DSL_Expression_And_0= ruleDSL_Expression_And (otherlv_1= 'or' () ( (lv_right_3_0= ruleDSL_Expression_And ) ) )* ) ;
-    public final EObject ruleDSL_Expression_Or() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_1=null;
-        EObject this_DSL_Expression_And_0 = null;
-
-        EObject lv_right_3_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:2072:2: ( (this_DSL_Expression_And_0= ruleDSL_Expression_And (otherlv_1= 'or' () ( (lv_right_3_0= ruleDSL_Expression_And ) ) )* ) )
-            // InternalSensinact.g:2073:2: (this_DSL_Expression_And_0= ruleDSL_Expression_And (otherlv_1= 'or' () ( (lv_right_3_0= ruleDSL_Expression_And ) ) )* )
-            {
-            // InternalSensinact.g:2073:2: (this_DSL_Expression_And_0= ruleDSL_Expression_And (otherlv_1= 'or' () ( (lv_right_3_0= ruleDSL_Expression_And ) ) )* )
-            // InternalSensinact.g:2074:3: this_DSL_Expression_And_0= ruleDSL_Expression_And (otherlv_1= 'or' () ( (lv_right_3_0= ruleDSL_Expression_And ) ) )*
-            {
-
-            			newCompositeNode(grammarAccess.getDSL_Expression_OrAccess().getDSL_Expression_AndParserRuleCall_0());
-            		
-            pushFollow(FOLLOW_29);
-            this_DSL_Expression_And_0=ruleDSL_Expression_And();
-
-            state._fsp--;
-
-
-            			current = this_DSL_Expression_And_0;
-            			afterParserOrEnumRuleCall();
-            		
-            // InternalSensinact.g:2082:3: (otherlv_1= 'or' () ( (lv_right_3_0= ruleDSL_Expression_And ) ) )*
-            loop18:
-            do {
-                int alt18=2;
-                int LA18_0 = input.LA(1);
-
-                if ( (LA18_0==40) ) {
-                    alt18=1;
-                }
-
-
-                switch (alt18) {
-            	case 1 :
-            	    // InternalSensinact.g:2083:4: otherlv_1= 'or' () ( (lv_right_3_0= ruleDSL_Expression_And ) )
-            	    {
-            	    otherlv_1=(Token)match(input,40,FOLLOW_14); 
-
-            	    				newLeafNode(otherlv_1, grammarAccess.getDSL_Expression_OrAccess().getOrKeyword_1_0());
-            	    			
-            	    // InternalSensinact.g:2087:4: ()
-            	    // InternalSensinact.g:2088:5: 
-            	    {
-
-            	    					current = forceCreateModelElementAndSet(
-            	    						grammarAccess.getDSL_Expression_OrAccess().getDSL_Expression_OrLeftAction_1_1(),
-            	    						current);
-            	    				
-
-            	    }
-
-            	    // InternalSensinact.g:2094:4: ( (lv_right_3_0= ruleDSL_Expression_And ) )
-            	    // InternalSensinact.g:2095:5: (lv_right_3_0= ruleDSL_Expression_And )
-            	    {
-            	    // InternalSensinact.g:2095:5: (lv_right_3_0= ruleDSL_Expression_And )
-            	    // InternalSensinact.g:2096:6: lv_right_3_0= ruleDSL_Expression_And
-            	    {
-
-            	    						newCompositeNode(grammarAccess.getDSL_Expression_OrAccess().getRightDSL_Expression_AndParserRuleCall_1_2_0());
-            	    					
-            	    pushFollow(FOLLOW_29);
-            	    lv_right_3_0=ruleDSL_Expression_And();
-
-            	    state._fsp--;
-
-
-            	    						if (current==null) {
-            	    							current = createModelElementForParent(grammarAccess.getDSL_Expression_OrRule());
-            	    						}
-            	    						set(
-            	    							current,
-            	    							"right",
-            	    							lv_right_3_0,
-            	    							"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_And");
-            	    						afterParserOrEnumRuleCall();
-            	    					
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop18;
-                }
-            } while (true);
-
-
-            }
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDSL_Expression_Or"
-
-
-    // $ANTLR start "entryRuleDSL_Expression_And"
-    // InternalSensinact.g:2118:1: entryRuleDSL_Expression_And returns [EObject current=null] : iv_ruleDSL_Expression_And= ruleDSL_Expression_And EOF ;
-    public final EObject entryRuleDSL_Expression_And() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDSL_Expression_And = null;
-
-
-        try {
-            // InternalSensinact.g:2118:59: (iv_ruleDSL_Expression_And= ruleDSL_Expression_And EOF )
-            // InternalSensinact.g:2119:2: iv_ruleDSL_Expression_And= ruleDSL_Expression_And EOF
-            {
-             newCompositeNode(grammarAccess.getDSL_Expression_AndRule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleDSL_Expression_And=ruleDSL_Expression_And();
-
-            state._fsp--;
-
-             current =iv_ruleDSL_Expression_And; 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDSL_Expression_And"
-
-
-    // $ANTLR start "ruleDSL_Expression_And"
-    // InternalSensinact.g:2125:1: ruleDSL_Expression_And returns [EObject current=null] : (this_DSL_Expression_DiffEqual_0= ruleDSL_Expression_DiffEqual (otherlv_1= 'and' () ( (lv_right_3_0= ruleDSL_Expression_DiffEqual ) ) )* ) ;
-    public final EObject ruleDSL_Expression_And() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_1=null;
-        EObject this_DSL_Expression_DiffEqual_0 = null;
-
-        EObject lv_right_3_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:2131:2: ( (this_DSL_Expression_DiffEqual_0= ruleDSL_Expression_DiffEqual (otherlv_1= 'and' () ( (lv_right_3_0= ruleDSL_Expression_DiffEqual ) ) )* ) )
-            // InternalSensinact.g:2132:2: (this_DSL_Expression_DiffEqual_0= ruleDSL_Expression_DiffEqual (otherlv_1= 'and' () ( (lv_right_3_0= ruleDSL_Expression_DiffEqual ) ) )* )
-            {
-            // InternalSensinact.g:2132:2: (this_DSL_Expression_DiffEqual_0= ruleDSL_Expression_DiffEqual (otherlv_1= 'and' () ( (lv_right_3_0= ruleDSL_Expression_DiffEqual ) ) )* )
-            // InternalSensinact.g:2133:3: this_DSL_Expression_DiffEqual_0= ruleDSL_Expression_DiffEqual (otherlv_1= 'and' () ( (lv_right_3_0= ruleDSL_Expression_DiffEqual ) ) )*
-            {
-
-            			newCompositeNode(grammarAccess.getDSL_Expression_AndAccess().getDSL_Expression_DiffEqualParserRuleCall_0());
-            		
-            pushFollow(FOLLOW_30);
-            this_DSL_Expression_DiffEqual_0=ruleDSL_Expression_DiffEqual();
-
-            state._fsp--;
-
-
-            			current = this_DSL_Expression_DiffEqual_0;
-            			afterParserOrEnumRuleCall();
-            		
-            // InternalSensinact.g:2141:3: (otherlv_1= 'and' () ( (lv_right_3_0= ruleDSL_Expression_DiffEqual ) ) )*
-            loop19:
-            do {
-                int alt19=2;
-                int LA19_0 = input.LA(1);
-
-                if ( (LA19_0==41) ) {
-                    alt19=1;
-                }
-
-
-                switch (alt19) {
-            	case 1 :
-            	    // InternalSensinact.g:2142:4: otherlv_1= 'and' () ( (lv_right_3_0= ruleDSL_Expression_DiffEqual ) )
-            	    {
-            	    otherlv_1=(Token)match(input,41,FOLLOW_14); 
-
-            	    				newLeafNode(otherlv_1, grammarAccess.getDSL_Expression_AndAccess().getAndKeyword_1_0());
-            	    			
-            	    // InternalSensinact.g:2146:4: ()
-            	    // InternalSensinact.g:2147:5: 
-            	    {
-
-            	    					current = forceCreateModelElementAndSet(
-            	    						grammarAccess.getDSL_Expression_AndAccess().getDSL_Expression_AndLeftAction_1_1(),
-            	    						current);
-            	    				
-
-            	    }
-
-            	    // InternalSensinact.g:2153:4: ( (lv_right_3_0= ruleDSL_Expression_DiffEqual ) )
-            	    // InternalSensinact.g:2154:5: (lv_right_3_0= ruleDSL_Expression_DiffEqual )
-            	    {
-            	    // InternalSensinact.g:2154:5: (lv_right_3_0= ruleDSL_Expression_DiffEqual )
-            	    // InternalSensinact.g:2155:6: lv_right_3_0= ruleDSL_Expression_DiffEqual
-            	    {
-
-            	    						newCompositeNode(grammarAccess.getDSL_Expression_AndAccess().getRightDSL_Expression_DiffEqualParserRuleCall_1_2_0());
-            	    					
-            	    pushFollow(FOLLOW_30);
-            	    lv_right_3_0=ruleDSL_Expression_DiffEqual();
-
-            	    state._fsp--;
-
-
-            	    						if (current==null) {
-            	    							current = createModelElementForParent(grammarAccess.getDSL_Expression_AndRule());
-            	    						}
-            	    						set(
-            	    							current,
-            	    							"right",
-            	    							lv_right_3_0,
-            	    							"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_DiffEqual");
-            	    						afterParserOrEnumRuleCall();
-            	    					
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop19;
-                }
-            } while (true);
-
-
-            }
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDSL_Expression_And"
-
-
-    // $ANTLR start "entryRuleDSL_Expression_DiffEqual"
-    // InternalSensinact.g:2177:1: entryRuleDSL_Expression_DiffEqual returns [EObject current=null] : iv_ruleDSL_Expression_DiffEqual= ruleDSL_Expression_DiffEqual EOF ;
-    public final EObject entryRuleDSL_Expression_DiffEqual() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDSL_Expression_DiffEqual = null;
-
-
-        try {
-            // InternalSensinact.g:2177:65: (iv_ruleDSL_Expression_DiffEqual= ruleDSL_Expression_DiffEqual EOF )
-            // InternalSensinact.g:2178:2: iv_ruleDSL_Expression_DiffEqual= ruleDSL_Expression_DiffEqual EOF
-            {
-             newCompositeNode(grammarAccess.getDSL_Expression_DiffEqualRule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleDSL_Expression_DiffEqual=ruleDSL_Expression_DiffEqual();
-
-            state._fsp--;
-
-             current =iv_ruleDSL_Expression_DiffEqual; 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDSL_Expression_DiffEqual"
-
-
-    // $ANTLR start "ruleDSL_Expression_DiffEqual"
-    // InternalSensinact.g:2184:1: ruleDSL_Expression_DiffEqual returns [EObject current=null] : (this_DSL_Expression_Compare_0= ruleDSL_Expression_Compare ( (otherlv_1= '!=' () ( (lv_right_3_0= ruleDSL_Expression_Compare ) ) ) | (otherlv_4= '==' () ( (lv_right_6_0= ruleDSL_Expression_Compare ) ) ) )* ) ;
-    public final EObject ruleDSL_Expression_DiffEqual() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_1=null;
-        Token otherlv_4=null;
-        EObject this_DSL_Expression_Compare_0 = null;
-
-        EObject lv_right_3_0 = null;
-
-        EObject lv_right_6_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:2190:2: ( (this_DSL_Expression_Compare_0= ruleDSL_Expression_Compare ( (otherlv_1= '!=' () ( (lv_right_3_0= ruleDSL_Expression_Compare ) ) ) | (otherlv_4= '==' () ( (lv_right_6_0= ruleDSL_Expression_Compare ) ) ) )* ) )
-            // InternalSensinact.g:2191:2: (this_DSL_Expression_Compare_0= ruleDSL_Expression_Compare ( (otherlv_1= '!=' () ( (lv_right_3_0= ruleDSL_Expression_Compare ) ) ) | (otherlv_4= '==' () ( (lv_right_6_0= ruleDSL_Expression_Compare ) ) ) )* )
-            {
-            // InternalSensinact.g:2191:2: (this_DSL_Expression_Compare_0= ruleDSL_Expression_Compare ( (otherlv_1= '!=' () ( (lv_right_3_0= ruleDSL_Expression_Compare ) ) ) | (otherlv_4= '==' () ( (lv_right_6_0= ruleDSL_Expression_Compare ) ) ) )* )
-            // InternalSensinact.g:2192:3: this_DSL_Expression_Compare_0= ruleDSL_Expression_Compare ( (otherlv_1= '!=' () ( (lv_right_3_0= ruleDSL_Expression_Compare ) ) ) | (otherlv_4= '==' () ( (lv_right_6_0= ruleDSL_Expression_Compare ) ) ) )*
-            {
-
-            			newCompositeNode(grammarAccess.getDSL_Expression_DiffEqualAccess().getDSL_Expression_CompareParserRuleCall_0());
-            		
-            pushFollow(FOLLOW_31);
-            this_DSL_Expression_Compare_0=ruleDSL_Expression_Compare();
-
-            state._fsp--;
-
-
-            			current = this_DSL_Expression_Compare_0;
-            			afterParserOrEnumRuleCall();
-            		
-            // InternalSensinact.g:2200:3: ( (otherlv_1= '!=' () ( (lv_right_3_0= ruleDSL_Expression_Compare ) ) ) | (otherlv_4= '==' () ( (lv_right_6_0= ruleDSL_Expression_Compare ) ) ) )*
-            loop20:
-            do {
-                int alt20=3;
-                int LA20_0 = input.LA(1);
-
-                if ( (LA20_0==42) ) {
-                    alt20=1;
-                }
-                else if ( (LA20_0==43) ) {
-                    alt20=2;
-                }
-
-
-                switch (alt20) {
-            	case 1 :
-            	    // InternalSensinact.g:2201:4: (otherlv_1= '!=' () ( (lv_right_3_0= ruleDSL_Expression_Compare ) ) )
-            	    {
-            	    // InternalSensinact.g:2201:4: (otherlv_1= '!=' () ( (lv_right_3_0= ruleDSL_Expression_Compare ) ) )
-            	    // InternalSensinact.g:2202:5: otherlv_1= '!=' () ( (lv_right_3_0= ruleDSL_Expression_Compare ) )
-            	    {
-            	    otherlv_1=(Token)match(input,42,FOLLOW_14); 
-
-            	    					newLeafNode(otherlv_1, grammarAccess.getDSL_Expression_DiffEqualAccess().getExclamationMarkEqualsSignKeyword_1_0_0());
-            	    				
-            	    // InternalSensinact.g:2206:5: ()
-            	    // InternalSensinact.g:2207:6: 
-            	    {
-
-            	    						current = forceCreateModelElementAndSet(
-            	    							grammarAccess.getDSL_Expression_DiffEqualAccess().getDSL_Expression_DiffLeftAction_1_0_1(),
-            	    							current);
-            	    					
-
-            	    }
-
-            	    // InternalSensinact.g:2213:5: ( (lv_right_3_0= ruleDSL_Expression_Compare ) )
-            	    // InternalSensinact.g:2214:6: (lv_right_3_0= ruleDSL_Expression_Compare )
-            	    {
-            	    // InternalSensinact.g:2214:6: (lv_right_3_0= ruleDSL_Expression_Compare )
-            	    // InternalSensinact.g:2215:7: lv_right_3_0= ruleDSL_Expression_Compare
-            	    {
-
-            	    							newCompositeNode(grammarAccess.getDSL_Expression_DiffEqualAccess().getRightDSL_Expression_CompareParserRuleCall_1_0_2_0());
-            	    						
-            	    pushFollow(FOLLOW_31);
-            	    lv_right_3_0=ruleDSL_Expression_Compare();
-
-            	    state._fsp--;
-
-
-            	    							if (current==null) {
-            	    								current = createModelElementForParent(grammarAccess.getDSL_Expression_DiffEqualRule());
-            	    							}
-            	    							set(
-            	    								current,
-            	    								"right",
-            	    								lv_right_3_0,
-            	    								"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Compare");
-            	    							afterParserOrEnumRuleCall();
-            	    						
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-            	    break;
-            	case 2 :
-            	    // InternalSensinact.g:2234:4: (otherlv_4= '==' () ( (lv_right_6_0= ruleDSL_Expression_Compare ) ) )
-            	    {
-            	    // InternalSensinact.g:2234:4: (otherlv_4= '==' () ( (lv_right_6_0= ruleDSL_Expression_Compare ) ) )
-            	    // InternalSensinact.g:2235:5: otherlv_4= '==' () ( (lv_right_6_0= ruleDSL_Expression_Compare ) )
-            	    {
-            	    otherlv_4=(Token)match(input,43,FOLLOW_14); 
-
-            	    					newLeafNode(otherlv_4, grammarAccess.getDSL_Expression_DiffEqualAccess().getEqualsSignEqualsSignKeyword_1_1_0());
-            	    				
-            	    // InternalSensinact.g:2239:5: ()
-            	    // InternalSensinact.g:2240:6: 
-            	    {
-
-            	    						current = forceCreateModelElementAndSet(
-            	    							grammarAccess.getDSL_Expression_DiffEqualAccess().getDSL_Expression_EqualLeftAction_1_1_1(),
-            	    							current);
-            	    					
-
-            	    }
-
-            	    // InternalSensinact.g:2246:5: ( (lv_right_6_0= ruleDSL_Expression_Compare ) )
-            	    // InternalSensinact.g:2247:6: (lv_right_6_0= ruleDSL_Expression_Compare )
-            	    {
-            	    // InternalSensinact.g:2247:6: (lv_right_6_0= ruleDSL_Expression_Compare )
-            	    // InternalSensinact.g:2248:7: lv_right_6_0= ruleDSL_Expression_Compare
-            	    {
-
-            	    							newCompositeNode(grammarAccess.getDSL_Expression_DiffEqualAccess().getRightDSL_Expression_CompareParserRuleCall_1_1_2_0());
-            	    						
-            	    pushFollow(FOLLOW_31);
-            	    lv_right_6_0=ruleDSL_Expression_Compare();
-
-            	    state._fsp--;
-
-
-            	    							if (current==null) {
-            	    								current = createModelElementForParent(grammarAccess.getDSL_Expression_DiffEqualRule());
-            	    							}
-            	    							set(
-            	    								current,
-            	    								"right",
-            	    								lv_right_6_0,
-            	    								"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Compare");
-            	    							afterParserOrEnumRuleCall();
-            	    						
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop20;
-                }
-            } while (true);
-
-
-            }
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDSL_Expression_DiffEqual"
-
-
-    // $ANTLR start "entryRuleDSL_Expression_Compare"
-    // InternalSensinact.g:2271:1: entryRuleDSL_Expression_Compare returns [EObject current=null] : iv_ruleDSL_Expression_Compare= ruleDSL_Expression_Compare EOF ;
-    public final EObject entryRuleDSL_Expression_Compare() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDSL_Expression_Compare = null;
-
-
-        try {
-            // InternalSensinact.g:2271:63: (iv_ruleDSL_Expression_Compare= ruleDSL_Expression_Compare EOF )
-            // InternalSensinact.g:2272:2: iv_ruleDSL_Expression_Compare= ruleDSL_Expression_Compare EOF
-            {
-             newCompositeNode(grammarAccess.getDSL_Expression_CompareRule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleDSL_Expression_Compare=ruleDSL_Expression_Compare();
-
-            state._fsp--;
-
-             current =iv_ruleDSL_Expression_Compare; 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDSL_Expression_Compare"
-
-
-    // $ANTLR start "ruleDSL_Expression_Compare"
-    // InternalSensinact.g:2278:1: ruleDSL_Expression_Compare returns [EObject current=null] : (this_DSL_Expression_PlusMinus_0= ruleDSL_Expression_PlusMinus ( (otherlv_1= '>' () ( (lv_right_3_0= ruleDSL_Expression_PlusMinus ) ) ) | (otherlv_4= '>=' () ( (lv_right_6_0= ruleDSL_Expression_PlusMinus ) ) ) | (otherlv_7= '<' () ( (lv_right_9_0= ruleDSL_Expression_PlusMinus ) ) ) | (otherlv_10= '<=' () ( (lv_right_12_0= ruleDSL_Expression_PlusMinus ) ) ) )* ) ;
-    public final EObject ruleDSL_Expression_Compare() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_1=null;
-        Token otherlv_4=null;
-        Token otherlv_7=null;
-        Token otherlv_10=null;
-        EObject this_DSL_Expression_PlusMinus_0 = null;
-
-        EObject lv_right_3_0 = null;
-
-        EObject lv_right_6_0 = null;
-
-        EObject lv_right_9_0 = null;
-
-        EObject lv_right_12_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:2284:2: ( (this_DSL_Expression_PlusMinus_0= ruleDSL_Expression_PlusMinus ( (otherlv_1= '>' () ( (lv_right_3_0= ruleDSL_Expression_PlusMinus ) ) ) | (otherlv_4= '>=' () ( (lv_right_6_0= ruleDSL_Expression_PlusMinus ) ) ) | (otherlv_7= '<' () ( (lv_right_9_0= ruleDSL_Expression_PlusMinus ) ) ) | (otherlv_10= '<=' () ( (lv_right_12_0= ruleDSL_Expression_PlusMinus ) ) ) )* ) )
-            // InternalSensinact.g:2285:2: (this_DSL_Expression_PlusMinus_0= ruleDSL_Expression_PlusMinus ( (otherlv_1= '>' () ( (lv_right_3_0= ruleDSL_Expression_PlusMinus ) ) ) | (otherlv_4= '>=' () ( (lv_right_6_0= ruleDSL_Expression_PlusMinus ) ) ) | (otherlv_7= '<' () ( (lv_right_9_0= ruleDSL_Expression_PlusMinus ) ) ) | (otherlv_10= '<=' () ( (lv_right_12_0= ruleDSL_Expression_PlusMinus ) ) ) )* )
-            {
-            // InternalSensinact.g:2285:2: (this_DSL_Expression_PlusMinus_0= ruleDSL_Expression_PlusMinus ( (otherlv_1= '>' () ( (lv_right_3_0= ruleDSL_Expression_PlusMinus ) ) ) | (otherlv_4= '>=' () ( (lv_right_6_0= ruleDSL_Expression_PlusMinus ) ) ) | (otherlv_7= '<' () ( (lv_right_9_0= ruleDSL_Expression_PlusMinus ) ) ) | (otherlv_10= '<=' () ( (lv_right_12_0= ruleDSL_Expression_PlusMinus ) ) ) )* )
-            // InternalSensinact.g:2286:3: this_DSL_Expression_PlusMinus_0= ruleDSL_Expression_PlusMinus ( (otherlv_1= '>' () ( (lv_right_3_0= ruleDSL_Expression_PlusMinus ) ) ) | (otherlv_4= '>=' () ( (lv_right_6_0= ruleDSL_Expression_PlusMinus ) ) ) | (otherlv_7= '<' () ( (lv_right_9_0= ruleDSL_Expression_PlusMinus ) ) ) | (otherlv_10= '<=' () ( (lv_right_12_0= ruleDSL_Expression_PlusMinus ) ) ) )*
-            {
-
-            			newCompositeNode(grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_PlusMinusParserRuleCall_0());
-            		
-            pushFollow(FOLLOW_32);
-            this_DSL_Expression_PlusMinus_0=ruleDSL_Expression_PlusMinus();
-
-            state._fsp--;
-
-
-            			current = this_DSL_Expression_PlusMinus_0;
-            			afterParserOrEnumRuleCall();
-            		
-            // InternalSensinact.g:2294:3: ( (otherlv_1= '>' () ( (lv_right_3_0= ruleDSL_Expression_PlusMinus ) ) ) | (otherlv_4= '>=' () ( (lv_right_6_0= ruleDSL_Expression_PlusMinus ) ) ) | (otherlv_7= '<' () ( (lv_right_9_0= ruleDSL_Expression_PlusMinus ) ) ) | (otherlv_10= '<=' () ( (lv_right_12_0= ruleDSL_Expression_PlusMinus ) ) ) )*
-            loop21:
-            do {
-                int alt21=5;
-                switch ( input.LA(1) ) {
-                case 44:
-                    {
-                    alt21=1;
-                    }
-                    break;
-                case 45:
-                    {
-                    alt21=2;
-                    }
-                    break;
-                case 46:
-                    {
-                    alt21=3;
-                    }
-                    break;
-                case 47:
-                    {
-                    alt21=4;
-                    }
-                    break;
-
-                }
-
-                switch (alt21) {
-            	case 1 :
-            	    // InternalSensinact.g:2295:4: (otherlv_1= '>' () ( (lv_right_3_0= ruleDSL_Expression_PlusMinus ) ) )
-            	    {
-            	    // InternalSensinact.g:2295:4: (otherlv_1= '>' () ( (lv_right_3_0= ruleDSL_Expression_PlusMinus ) ) )
-            	    // InternalSensinact.g:2296:5: otherlv_1= '>' () ( (lv_right_3_0= ruleDSL_Expression_PlusMinus ) )
-            	    {
-            	    otherlv_1=(Token)match(input,44,FOLLOW_14); 
-
-            	    					newLeafNode(otherlv_1, grammarAccess.getDSL_Expression_CompareAccess().getGreaterThanSignKeyword_1_0_0());
-            	    				
-            	    // InternalSensinact.g:2300:5: ()
-            	    // InternalSensinact.g:2301:6: 
-            	    {
-
-            	    						current = forceCreateModelElementAndSet(
-            	    							grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_LargerLeftAction_1_0_1(),
-            	    							current);
-            	    					
-
-            	    }
-
-            	    // InternalSensinact.g:2307:5: ( (lv_right_3_0= ruleDSL_Expression_PlusMinus ) )
-            	    // InternalSensinact.g:2308:6: (lv_right_3_0= ruleDSL_Expression_PlusMinus )
-            	    {
-            	    // InternalSensinact.g:2308:6: (lv_right_3_0= ruleDSL_Expression_PlusMinus )
-            	    // InternalSensinact.g:2309:7: lv_right_3_0= ruleDSL_Expression_PlusMinus
-            	    {
-
-            	    							newCompositeNode(grammarAccess.getDSL_Expression_CompareAccess().getRightDSL_Expression_PlusMinusParserRuleCall_1_0_2_0());
-            	    						
-            	    pushFollow(FOLLOW_32);
-            	    lv_right_3_0=ruleDSL_Expression_PlusMinus();
-
-            	    state._fsp--;
-
-
-            	    							if (current==null) {
-            	    								current = createModelElementForParent(grammarAccess.getDSL_Expression_CompareRule());
-            	    							}
-            	    							set(
-            	    								current,
-            	    								"right",
-            	    								lv_right_3_0,
-            	    								"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_PlusMinus");
-            	    							afterParserOrEnumRuleCall();
-            	    						
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-            	    break;
-            	case 2 :
-            	    // InternalSensinact.g:2328:4: (otherlv_4= '>=' () ( (lv_right_6_0= ruleDSL_Expression_PlusMinus ) ) )
-            	    {
-            	    // InternalSensinact.g:2328:4: (otherlv_4= '>=' () ( (lv_right_6_0= ruleDSL_Expression_PlusMinus ) ) )
-            	    // InternalSensinact.g:2329:5: otherlv_4= '>=' () ( (lv_right_6_0= ruleDSL_Expression_PlusMinus ) )
-            	    {
-            	    otherlv_4=(Token)match(input,45,FOLLOW_14); 
-
-            	    					newLeafNode(otherlv_4, grammarAccess.getDSL_Expression_CompareAccess().getGreaterThanSignEqualsSignKeyword_1_1_0());
-            	    				
-            	    // InternalSensinact.g:2333:5: ()
-            	    // InternalSensinact.g:2334:6: 
-            	    {
-
-            	    						current = forceCreateModelElementAndSet(
-            	    							grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_Larger_EqualLeftAction_1_1_1(),
-            	    							current);
-            	    					
-
-            	    }
-
-            	    // InternalSensinact.g:2340:5: ( (lv_right_6_0= ruleDSL_Expression_PlusMinus ) )
-            	    // InternalSensinact.g:2341:6: (lv_right_6_0= ruleDSL_Expression_PlusMinus )
-            	    {
-            	    // InternalSensinact.g:2341:6: (lv_right_6_0= ruleDSL_Expression_PlusMinus )
-            	    // InternalSensinact.g:2342:7: lv_right_6_0= ruleDSL_Expression_PlusMinus
-            	    {
-
-            	    							newCompositeNode(grammarAccess.getDSL_Expression_CompareAccess().getRightDSL_Expression_PlusMinusParserRuleCall_1_1_2_0());
-            	    						
-            	    pushFollow(FOLLOW_32);
-            	    lv_right_6_0=ruleDSL_Expression_PlusMinus();
-
-            	    state._fsp--;
-
-
-            	    							if (current==null) {
-            	    								current = createModelElementForParent(grammarAccess.getDSL_Expression_CompareRule());
-            	    							}
-            	    							set(
-            	    								current,
-            	    								"right",
-            	    								lv_right_6_0,
-            	    								"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_PlusMinus");
-            	    							afterParserOrEnumRuleCall();
-            	    						
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-            	    break;
-            	case 3 :
-            	    // InternalSensinact.g:2361:4: (otherlv_7= '<' () ( (lv_right_9_0= ruleDSL_Expression_PlusMinus ) ) )
-            	    {
-            	    // InternalSensinact.g:2361:4: (otherlv_7= '<' () ( (lv_right_9_0= ruleDSL_Expression_PlusMinus ) ) )
-            	    // InternalSensinact.g:2362:5: otherlv_7= '<' () ( (lv_right_9_0= ruleDSL_Expression_PlusMinus ) )
-            	    {
-            	    otherlv_7=(Token)match(input,46,FOLLOW_14); 
-
-            	    					newLeafNode(otherlv_7, grammarAccess.getDSL_Expression_CompareAccess().getLessThanSignKeyword_1_2_0());
-            	    				
-            	    // InternalSensinact.g:2366:5: ()
-            	    // InternalSensinact.g:2367:6: 
-            	    {
-
-            	    						current = forceCreateModelElementAndSet(
-            	    							grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_SmallerLeftAction_1_2_1(),
-            	    							current);
-            	    					
-
-            	    }
-
-            	    // InternalSensinact.g:2373:5: ( (lv_right_9_0= ruleDSL_Expression_PlusMinus ) )
-            	    // InternalSensinact.g:2374:6: (lv_right_9_0= ruleDSL_Expression_PlusMinus )
-            	    {
-            	    // InternalSensinact.g:2374:6: (lv_right_9_0= ruleDSL_Expression_PlusMinus )
-            	    // InternalSensinact.g:2375:7: lv_right_9_0= ruleDSL_Expression_PlusMinus
-            	    {
-
-            	    							newCompositeNode(grammarAccess.getDSL_Expression_CompareAccess().getRightDSL_Expression_PlusMinusParserRuleCall_1_2_2_0());
-            	    						
-            	    pushFollow(FOLLOW_32);
-            	    lv_right_9_0=ruleDSL_Expression_PlusMinus();
-
-            	    state._fsp--;
-
-
-            	    							if (current==null) {
-            	    								current = createModelElementForParent(grammarAccess.getDSL_Expression_CompareRule());
-            	    							}
-            	    							set(
-            	    								current,
-            	    								"right",
-            	    								lv_right_9_0,
-            	    								"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_PlusMinus");
-            	    							afterParserOrEnumRuleCall();
-            	    						
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-            	    break;
-            	case 4 :
-            	    // InternalSensinact.g:2394:4: (otherlv_10= '<=' () ( (lv_right_12_0= ruleDSL_Expression_PlusMinus ) ) )
-            	    {
-            	    // InternalSensinact.g:2394:4: (otherlv_10= '<=' () ( (lv_right_12_0= ruleDSL_Expression_PlusMinus ) ) )
-            	    // InternalSensinact.g:2395:5: otherlv_10= '<=' () ( (lv_right_12_0= ruleDSL_Expression_PlusMinus ) )
-            	    {
-            	    otherlv_10=(Token)match(input,47,FOLLOW_14); 
-
-            	    					newLeafNode(otherlv_10, grammarAccess.getDSL_Expression_CompareAccess().getLessThanSignEqualsSignKeyword_1_3_0());
-            	    				
-            	    // InternalSensinact.g:2399:5: ()
-            	    // InternalSensinact.g:2400:6: 
-            	    {
-
-            	    						current = forceCreateModelElementAndSet(
-            	    							grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_Smaller_EqualLeftAction_1_3_1(),
-            	    							current);
-            	    					
-
-            	    }
-
-            	    // InternalSensinact.g:2406:5: ( (lv_right_12_0= ruleDSL_Expression_PlusMinus ) )
-            	    // InternalSensinact.g:2407:6: (lv_right_12_0= ruleDSL_Expression_PlusMinus )
-            	    {
-            	    // InternalSensinact.g:2407:6: (lv_right_12_0= ruleDSL_Expression_PlusMinus )
-            	    // InternalSensinact.g:2408:7: lv_right_12_0= ruleDSL_Expression_PlusMinus
-            	    {
-
-            	    							newCompositeNode(grammarAccess.getDSL_Expression_CompareAccess().getRightDSL_Expression_PlusMinusParserRuleCall_1_3_2_0());
-            	    						
-            	    pushFollow(FOLLOW_32);
-            	    lv_right_12_0=ruleDSL_Expression_PlusMinus();
-
-            	    state._fsp--;
-
-
-            	    							if (current==null) {
-            	    								current = createModelElementForParent(grammarAccess.getDSL_Expression_CompareRule());
-            	    							}
-            	    							set(
-            	    								current,
-            	    								"right",
-            	    								lv_right_12_0,
-            	    								"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_PlusMinus");
-            	    							afterParserOrEnumRuleCall();
-            	    						
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop21;
-                }
-            } while (true);
-
-
-            }
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDSL_Expression_Compare"
-
-
-    // $ANTLR start "entryRuleDSL_Expression_PlusMinus"
-    // InternalSensinact.g:2431:1: entryRuleDSL_Expression_PlusMinus returns [EObject current=null] : iv_ruleDSL_Expression_PlusMinus= ruleDSL_Expression_PlusMinus EOF ;
-    public final EObject entryRuleDSL_Expression_PlusMinus() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDSL_Expression_PlusMinus = null;
-
-
-        try {
-            // InternalSensinact.g:2431:65: (iv_ruleDSL_Expression_PlusMinus= ruleDSL_Expression_PlusMinus EOF )
-            // InternalSensinact.g:2432:2: iv_ruleDSL_Expression_PlusMinus= ruleDSL_Expression_PlusMinus EOF
-            {
-             newCompositeNode(grammarAccess.getDSL_Expression_PlusMinusRule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleDSL_Expression_PlusMinus=ruleDSL_Expression_PlusMinus();
-
-            state._fsp--;
-
-             current =iv_ruleDSL_Expression_PlusMinus; 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDSL_Expression_PlusMinus"
-
-
-    // $ANTLR start "ruleDSL_Expression_PlusMinus"
-    // InternalSensinact.g:2438:1: ruleDSL_Expression_PlusMinus returns [EObject current=null] : (this_DSL_Expression_MultiplicationDivision_0= ruleDSL_Expression_MultiplicationDivision ( (otherlv_1= '+' () ( (lv_right_3_0= ruleDSL_Expression_MultiplicationDivision ) ) ) | (otherlv_4= '-' () ( (lv_right_6_0= ruleDSL_Expression_MultiplicationDivision ) ) ) )* ) ;
-    public final EObject ruleDSL_Expression_PlusMinus() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_1=null;
-        Token otherlv_4=null;
-        EObject this_DSL_Expression_MultiplicationDivision_0 = null;
-
-        EObject lv_right_3_0 = null;
-
-        EObject lv_right_6_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:2444:2: ( (this_DSL_Expression_MultiplicationDivision_0= ruleDSL_Expression_MultiplicationDivision ( (otherlv_1= '+' () ( (lv_right_3_0= ruleDSL_Expression_MultiplicationDivision ) ) ) | (otherlv_4= '-' () ( (lv_right_6_0= ruleDSL_Expression_MultiplicationDivision ) ) ) )* ) )
-            // InternalSensinact.g:2445:2: (this_DSL_Expression_MultiplicationDivision_0= ruleDSL_Expression_MultiplicationDivision ( (otherlv_1= '+' () ( (lv_right_3_0= ruleDSL_Expression_MultiplicationDivision ) ) ) | (otherlv_4= '-' () ( (lv_right_6_0= ruleDSL_Expression_MultiplicationDivision ) ) ) )* )
-            {
-            // InternalSensinact.g:2445:2: (this_DSL_Expression_MultiplicationDivision_0= ruleDSL_Expression_MultiplicationDivision ( (otherlv_1= '+' () ( (lv_right_3_0= ruleDSL_Expression_MultiplicationDivision ) ) ) | (otherlv_4= '-' () ( (lv_right_6_0= ruleDSL_Expression_MultiplicationDivision ) ) ) )* )
-            // InternalSensinact.g:2446:3: this_DSL_Expression_MultiplicationDivision_0= ruleDSL_Expression_MultiplicationDivision ( (otherlv_1= '+' () ( (lv_right_3_0= ruleDSL_Expression_MultiplicationDivision ) ) ) | (otherlv_4= '-' () ( (lv_right_6_0= ruleDSL_Expression_MultiplicationDivision ) ) ) )*
-            {
-
-            			newCompositeNode(grammarAccess.getDSL_Expression_PlusMinusAccess().getDSL_Expression_MultiplicationDivisionParserRuleCall_0());
-            		
-            pushFollow(FOLLOW_33);
-            this_DSL_Expression_MultiplicationDivision_0=ruleDSL_Expression_MultiplicationDivision();
-
-            state._fsp--;
-
-
-            			current = this_DSL_Expression_MultiplicationDivision_0;
-            			afterParserOrEnumRuleCall();
-            		
-            // InternalSensinact.g:2454:3: ( (otherlv_1= '+' () ( (lv_right_3_0= ruleDSL_Expression_MultiplicationDivision ) ) ) | (otherlv_4= '-' () ( (lv_right_6_0= ruleDSL_Expression_MultiplicationDivision ) ) ) )*
-            loop22:
-            do {
-                int alt22=3;
-                int LA22_0 = input.LA(1);
-
-                if ( (LA22_0==48) ) {
-                    alt22=1;
-                }
-                else if ( (LA22_0==49) ) {
-                    alt22=2;
-                }
-
-
-                switch (alt22) {
-            	case 1 :
-            	    // InternalSensinact.g:2455:4: (otherlv_1= '+' () ( (lv_right_3_0= ruleDSL_Expression_MultiplicationDivision ) ) )
-            	    {
-            	    // InternalSensinact.g:2455:4: (otherlv_1= '+' () ( (lv_right_3_0= ruleDSL_Expression_MultiplicationDivision ) ) )
-            	    // InternalSensinact.g:2456:5: otherlv_1= '+' () ( (lv_right_3_0= ruleDSL_Expression_MultiplicationDivision ) )
-            	    {
-            	    otherlv_1=(Token)match(input,48,FOLLOW_14); 
-
-            	    					newLeafNode(otherlv_1, grammarAccess.getDSL_Expression_PlusMinusAccess().getPlusSignKeyword_1_0_0());
-            	    				
-            	    // InternalSensinact.g:2460:5: ()
-            	    // InternalSensinact.g:2461:6: 
-            	    {
-
-            	    						current = forceCreateModelElementAndSet(
-            	    							grammarAccess.getDSL_Expression_PlusMinusAccess().getDSL_Expression_PlusLeftAction_1_0_1(),
-            	    							current);
-            	    					
-
-            	    }
-
-            	    // InternalSensinact.g:2467:5: ( (lv_right_3_0= ruleDSL_Expression_MultiplicationDivision ) )
-            	    // InternalSensinact.g:2468:6: (lv_right_3_0= ruleDSL_Expression_MultiplicationDivision )
-            	    {
-            	    // InternalSensinact.g:2468:6: (lv_right_3_0= ruleDSL_Expression_MultiplicationDivision )
-            	    // InternalSensinact.g:2469:7: lv_right_3_0= ruleDSL_Expression_MultiplicationDivision
-            	    {
-
-            	    							newCompositeNode(grammarAccess.getDSL_Expression_PlusMinusAccess().getRightDSL_Expression_MultiplicationDivisionParserRuleCall_1_0_2_0());
-            	    						
-            	    pushFollow(FOLLOW_33);
-            	    lv_right_3_0=ruleDSL_Expression_MultiplicationDivision();
-
-            	    state._fsp--;
-
-
-            	    							if (current==null) {
-            	    								current = createModelElementForParent(grammarAccess.getDSL_Expression_PlusMinusRule());
-            	    							}
-            	    							set(
-            	    								current,
-            	    								"right",
-            	    								lv_right_3_0,
-            	    								"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_MultiplicationDivision");
-            	    							afterParserOrEnumRuleCall();
-            	    						
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-            	    break;
-            	case 2 :
-            	    // InternalSensinact.g:2488:4: (otherlv_4= '-' () ( (lv_right_6_0= ruleDSL_Expression_MultiplicationDivision ) ) )
-            	    {
-            	    // InternalSensinact.g:2488:4: (otherlv_4= '-' () ( (lv_right_6_0= ruleDSL_Expression_MultiplicationDivision ) ) )
-            	    // InternalSensinact.g:2489:5: otherlv_4= '-' () ( (lv_right_6_0= ruleDSL_Expression_MultiplicationDivision ) )
-            	    {
-            	    otherlv_4=(Token)match(input,49,FOLLOW_14); 
-
-            	    					newLeafNode(otherlv_4, grammarAccess.getDSL_Expression_PlusMinusAccess().getHyphenMinusKeyword_1_1_0());
-            	    				
-            	    // InternalSensinact.g:2493:5: ()
-            	    // InternalSensinact.g:2494:6: 
-            	    {
-
-            	    						current = forceCreateModelElementAndSet(
-            	    							grammarAccess.getDSL_Expression_PlusMinusAccess().getDSL_Expression_MinusLeftAction_1_1_1(),
-            	    							current);
-            	    					
-
-            	    }
-
-            	    // InternalSensinact.g:2500:5: ( (lv_right_6_0= ruleDSL_Expression_MultiplicationDivision ) )
-            	    // InternalSensinact.g:2501:6: (lv_right_6_0= ruleDSL_Expression_MultiplicationDivision )
-            	    {
-            	    // InternalSensinact.g:2501:6: (lv_right_6_0= ruleDSL_Expression_MultiplicationDivision )
-            	    // InternalSensinact.g:2502:7: lv_right_6_0= ruleDSL_Expression_MultiplicationDivision
-            	    {
-
-            	    							newCompositeNode(grammarAccess.getDSL_Expression_PlusMinusAccess().getRightDSL_Expression_MultiplicationDivisionParserRuleCall_1_1_2_0());
-            	    						
-            	    pushFollow(FOLLOW_33);
-            	    lv_right_6_0=ruleDSL_Expression_MultiplicationDivision();
-
-            	    state._fsp--;
-
-
-            	    							if (current==null) {
-            	    								current = createModelElementForParent(grammarAccess.getDSL_Expression_PlusMinusRule());
-            	    							}
-            	    							set(
-            	    								current,
-            	    								"right",
-            	    								lv_right_6_0,
-            	    								"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_MultiplicationDivision");
-            	    							afterParserOrEnumRuleCall();
-            	    						
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop22;
-                }
-            } while (true);
-
-
-            }
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDSL_Expression_PlusMinus"
-
-
-    // $ANTLR start "entryRuleDSL_Expression_MultiplicationDivision"
-    // InternalSensinact.g:2525:1: entryRuleDSL_Expression_MultiplicationDivision returns [EObject current=null] : iv_ruleDSL_Expression_MultiplicationDivision= ruleDSL_Expression_MultiplicationDivision EOF ;
-    public final EObject entryRuleDSL_Expression_MultiplicationDivision() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDSL_Expression_MultiplicationDivision = null;
-
-
-        try {
-            // InternalSensinact.g:2525:78: (iv_ruleDSL_Expression_MultiplicationDivision= ruleDSL_Expression_MultiplicationDivision EOF )
-            // InternalSensinact.g:2526:2: iv_ruleDSL_Expression_MultiplicationDivision= ruleDSL_Expression_MultiplicationDivision EOF
-            {
-             newCompositeNode(grammarAccess.getDSL_Expression_MultiplicationDivisionRule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleDSL_Expression_MultiplicationDivision=ruleDSL_Expression_MultiplicationDivision();
-
-            state._fsp--;
-
-             current =iv_ruleDSL_Expression_MultiplicationDivision; 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDSL_Expression_MultiplicationDivision"
-
-
-    // $ANTLR start "ruleDSL_Expression_MultiplicationDivision"
-    // InternalSensinact.g:2532:1: ruleDSL_Expression_MultiplicationDivision returns [EObject current=null] : (this_DSL_Expression_Unary_0= ruleDSL_Expression_Unary ( (otherlv_1= '*' () ( (lv_right_3_0= ruleDSL_Expression_Unary ) ) ) | (otherlv_4= '/' () ( (lv_right_6_0= ruleDSL_Expression_Unary ) ) ) | (otherlv_7= '%' () ( (lv_right_9_0= ruleDSL_Expression_Unary ) ) ) )* ) ;
-    public final EObject ruleDSL_Expression_MultiplicationDivision() throws RecognitionException {
-        EObject current = null;
-
-        Token otherlv_1=null;
-        Token otherlv_4=null;
-        Token otherlv_7=null;
-        EObject this_DSL_Expression_Unary_0 = null;
-
-        EObject lv_right_3_0 = null;
-
-        EObject lv_right_6_0 = null;
-
-        EObject lv_right_9_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:2538:2: ( (this_DSL_Expression_Unary_0= ruleDSL_Expression_Unary ( (otherlv_1= '*' () ( (lv_right_3_0= ruleDSL_Expression_Unary ) ) ) | (otherlv_4= '/' () ( (lv_right_6_0= ruleDSL_Expression_Unary ) ) ) | (otherlv_7= '%' () ( (lv_right_9_0= ruleDSL_Expression_Unary ) ) ) )* ) )
-            // InternalSensinact.g:2539:2: (this_DSL_Expression_Unary_0= ruleDSL_Expression_Unary ( (otherlv_1= '*' () ( (lv_right_3_0= ruleDSL_Expression_Unary ) ) ) | (otherlv_4= '/' () ( (lv_right_6_0= ruleDSL_Expression_Unary ) ) ) | (otherlv_7= '%' () ( (lv_right_9_0= ruleDSL_Expression_Unary ) ) ) )* )
-            {
-            // InternalSensinact.g:2539:2: (this_DSL_Expression_Unary_0= ruleDSL_Expression_Unary ( (otherlv_1= '*' () ( (lv_right_3_0= ruleDSL_Expression_Unary ) ) ) | (otherlv_4= '/' () ( (lv_right_6_0= ruleDSL_Expression_Unary ) ) ) | (otherlv_7= '%' () ( (lv_right_9_0= ruleDSL_Expression_Unary ) ) ) )* )
-            // InternalSensinact.g:2540:3: this_DSL_Expression_Unary_0= ruleDSL_Expression_Unary ( (otherlv_1= '*' () ( (lv_right_3_0= ruleDSL_Expression_Unary ) ) ) | (otherlv_4= '/' () ( (lv_right_6_0= ruleDSL_Expression_Unary ) ) ) | (otherlv_7= '%' () ( (lv_right_9_0= ruleDSL_Expression_Unary ) ) ) )*
-            {
-
-            			newCompositeNode(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getDSL_Expression_UnaryParserRuleCall_0());
-            		
-            pushFollow(FOLLOW_34);
-            this_DSL_Expression_Unary_0=ruleDSL_Expression_Unary();
-
-            state._fsp--;
-
-
-            			current = this_DSL_Expression_Unary_0;
-            			afterParserOrEnumRuleCall();
-            		
-            // InternalSensinact.g:2548:3: ( (otherlv_1= '*' () ( (lv_right_3_0= ruleDSL_Expression_Unary ) ) ) | (otherlv_4= '/' () ( (lv_right_6_0= ruleDSL_Expression_Unary ) ) ) | (otherlv_7= '%' () ( (lv_right_9_0= ruleDSL_Expression_Unary ) ) ) )*
-            loop23:
-            do {
-                int alt23=4;
-                switch ( input.LA(1) ) {
-                case 50:
-                    {
-                    alt23=1;
-                    }
-                    break;
-                case 15:
-                    {
-                    alt23=2;
-                    }
-                    break;
-                case 51:
-                    {
-                    alt23=3;
-                    }
-                    break;
-
-                }
-
-                switch (alt23) {
-            	case 1 :
-            	    // InternalSensinact.g:2549:4: (otherlv_1= '*' () ( (lv_right_3_0= ruleDSL_Expression_Unary ) ) )
-            	    {
-            	    // InternalSensinact.g:2549:4: (otherlv_1= '*' () ( (lv_right_3_0= ruleDSL_Expression_Unary ) ) )
-            	    // InternalSensinact.g:2550:5: otherlv_1= '*' () ( (lv_right_3_0= ruleDSL_Expression_Unary ) )
-            	    {
-            	    otherlv_1=(Token)match(input,50,FOLLOW_14); 
-
-            	    					newLeafNode(otherlv_1, grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getAsteriskKeyword_1_0_0());
-            	    				
-            	    // InternalSensinact.g:2554:5: ()
-            	    // InternalSensinact.g:2555:6: 
-            	    {
-
-            	    						current = forceCreateModelElementAndSet(
-            	    							grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getDSL_Expression_MultiplicationLeftAction_1_0_1(),
-            	    							current);
-            	    					
-
-            	    }
-
-            	    // InternalSensinact.g:2561:5: ( (lv_right_3_0= ruleDSL_Expression_Unary ) )
-            	    // InternalSensinact.g:2562:6: (lv_right_3_0= ruleDSL_Expression_Unary )
-            	    {
-            	    // InternalSensinact.g:2562:6: (lv_right_3_0= ruleDSL_Expression_Unary )
-            	    // InternalSensinact.g:2563:7: lv_right_3_0= ruleDSL_Expression_Unary
-            	    {
-
-            	    							newCompositeNode(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightDSL_Expression_UnaryParserRuleCall_1_0_2_0());
-            	    						
-            	    pushFollow(FOLLOW_34);
-            	    lv_right_3_0=ruleDSL_Expression_Unary();
-
-            	    state._fsp--;
-
-
-            	    							if (current==null) {
-            	    								current = createModelElementForParent(grammarAccess.getDSL_Expression_MultiplicationDivisionRule());
-            	    							}
-            	    							set(
-            	    								current,
-            	    								"right",
-            	    								lv_right_3_0,
-            	    								"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Unary");
-            	    							afterParserOrEnumRuleCall();
-            	    						
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-            	    break;
-            	case 2 :
-            	    // InternalSensinact.g:2582:4: (otherlv_4= '/' () ( (lv_right_6_0= ruleDSL_Expression_Unary ) ) )
-            	    {
-            	    // InternalSensinact.g:2582:4: (otherlv_4= '/' () ( (lv_right_6_0= ruleDSL_Expression_Unary ) ) )
-            	    // InternalSensinact.g:2583:5: otherlv_4= '/' () ( (lv_right_6_0= ruleDSL_Expression_Unary ) )
-            	    {
-            	    otherlv_4=(Token)match(input,15,FOLLOW_14); 
-
-            	    					newLeafNode(otherlv_4, grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getSolidusKeyword_1_1_0());
-            	    				
-            	    // InternalSensinact.g:2587:5: ()
-            	    // InternalSensinact.g:2588:6: 
-            	    {
-
-            	    						current = forceCreateModelElementAndSet(
-            	    							grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getDSL_Expression_DivisionLeftAction_1_1_1(),
-            	    							current);
-            	    					
-
-            	    }
-
-            	    // InternalSensinact.g:2594:5: ( (lv_right_6_0= ruleDSL_Expression_Unary ) )
-            	    // InternalSensinact.g:2595:6: (lv_right_6_0= ruleDSL_Expression_Unary )
-            	    {
-            	    // InternalSensinact.g:2595:6: (lv_right_6_0= ruleDSL_Expression_Unary )
-            	    // InternalSensinact.g:2596:7: lv_right_6_0= ruleDSL_Expression_Unary
-            	    {
-
-            	    							newCompositeNode(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightDSL_Expression_UnaryParserRuleCall_1_1_2_0());
-            	    						
-            	    pushFollow(FOLLOW_34);
-            	    lv_right_6_0=ruleDSL_Expression_Unary();
-
-            	    state._fsp--;
-
-
-            	    							if (current==null) {
-            	    								current = createModelElementForParent(grammarAccess.getDSL_Expression_MultiplicationDivisionRule());
-            	    							}
-            	    							set(
-            	    								current,
-            	    								"right",
-            	    								lv_right_6_0,
-            	    								"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Unary");
-            	    							afterParserOrEnumRuleCall();
-            	    						
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-            	    break;
-            	case 3 :
-            	    // InternalSensinact.g:2615:4: (otherlv_7= '%' () ( (lv_right_9_0= ruleDSL_Expression_Unary ) ) )
-            	    {
-            	    // InternalSensinact.g:2615:4: (otherlv_7= '%' () ( (lv_right_9_0= ruleDSL_Expression_Unary ) ) )
-            	    // InternalSensinact.g:2616:5: otherlv_7= '%' () ( (lv_right_9_0= ruleDSL_Expression_Unary ) )
-            	    {
-            	    otherlv_7=(Token)match(input,51,FOLLOW_14); 
-
-            	    					newLeafNode(otherlv_7, grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getPercentSignKeyword_1_2_0());
-            	    				
-            	    // InternalSensinact.g:2620:5: ()
-            	    // InternalSensinact.g:2621:6: 
-            	    {
-
-            	    						current = forceCreateModelElementAndSet(
-            	    							grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getDSL_Expression_ModuloLeftAction_1_2_1(),
-            	    							current);
-            	    					
-
-            	    }
-
-            	    // InternalSensinact.g:2627:5: ( (lv_right_9_0= ruleDSL_Expression_Unary ) )
-            	    // InternalSensinact.g:2628:6: (lv_right_9_0= ruleDSL_Expression_Unary )
-            	    {
-            	    // InternalSensinact.g:2628:6: (lv_right_9_0= ruleDSL_Expression_Unary )
-            	    // InternalSensinact.g:2629:7: lv_right_9_0= ruleDSL_Expression_Unary
-            	    {
-
-            	    							newCompositeNode(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightDSL_Expression_UnaryParserRuleCall_1_2_2_0());
-            	    						
-            	    pushFollow(FOLLOW_34);
-            	    lv_right_9_0=ruleDSL_Expression_Unary();
-
-            	    state._fsp--;
-
-
-            	    							if (current==null) {
-            	    								current = createModelElementForParent(grammarAccess.getDSL_Expression_MultiplicationDivisionRule());
-            	    							}
-            	    							set(
-            	    								current,
-            	    								"right",
-            	    								lv_right_9_0,
-            	    								"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Unary");
-            	    							afterParserOrEnumRuleCall();
-            	    						
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop23;
-                }
-            } while (true);
-
-
-            }
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDSL_Expression_MultiplicationDivision"
-
-
-    // $ANTLR start "entryRuleDSL_Expression_Unary"
-    // InternalSensinact.g:2652:1: entryRuleDSL_Expression_Unary returns [EObject current=null] : iv_ruleDSL_Expression_Unary= ruleDSL_Expression_Unary EOF ;
-    public final EObject entryRuleDSL_Expression_Unary() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleDSL_Expression_Unary = null;
-
-
-        try {
-            // InternalSensinact.g:2652:61: (iv_ruleDSL_Expression_Unary= ruleDSL_Expression_Unary EOF )
-            // InternalSensinact.g:2653:2: iv_ruleDSL_Expression_Unary= ruleDSL_Expression_Unary EOF
-            {
-             newCompositeNode(grammarAccess.getDSL_Expression_UnaryRule()); 
-            pushFollow(FOLLOW_1);
-            iv_ruleDSL_Expression_Unary=ruleDSL_Expression_Unary();
-
-            state._fsp--;
-
-             current =iv_ruleDSL_Expression_Unary; 
-            match(input,EOF,FOLLOW_2); 
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDSL_Expression_Unary"
-
-
-    // $ANTLR start "ruleDSL_Expression_Unary"
-    // InternalSensinact.g:2659:1: ruleDSL_Expression_Unary returns [EObject current=null] : ( ( () ( (lv_value_1_0= ruleNUMBER ) ) ) | ( () ( (lv_value_3_0= RULE_STRING ) ) ) | ( () ( (lv_value_5_0= RULE_BOOLEAN ) ) ) | ( () ( (otherlv_7= RULE_ID ) ) otherlv_8= '.get()' ) | (otherlv_9= '(' this_DSL_Expression_Or_10= ruleDSL_Expression_Or otherlv_11= ')' ) | (otherlv_12= 'not' () ( (lv_exp_14_0= ruleDSL_Expression_Unary ) ) ) ) ;
-    public final EObject ruleDSL_Expression_Unary() throws RecognitionException {
-        EObject current = null;
-
-        Token lv_value_3_0=null;
-        Token lv_value_5_0=null;
-        Token otherlv_7=null;
-        Token otherlv_8=null;
-        Token otherlv_9=null;
-        Token otherlv_11=null;
-        Token otherlv_12=null;
-        AntlrDatatypeRuleToken lv_value_1_0 = null;
-
-        EObject this_DSL_Expression_Or_10 = null;
-
-        EObject lv_exp_14_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalSensinact.g:2665:2: ( ( ( () ( (lv_value_1_0= ruleNUMBER ) ) ) | ( () ( (lv_value_3_0= RULE_STRING ) ) ) | ( () ( (lv_value_5_0= RULE_BOOLEAN ) ) ) | ( () ( (otherlv_7= RULE_ID ) ) otherlv_8= '.get()' ) | (otherlv_9= '(' this_DSL_Expression_Or_10= ruleDSL_Expression_Or otherlv_11= ')' ) | (otherlv_12= 'not' () ( (lv_exp_14_0= ruleDSL_Expression_Unary ) ) ) ) )
-            // InternalSensinact.g:2666:2: ( ( () ( (lv_value_1_0= ruleNUMBER ) ) ) | ( () ( (lv_value_3_0= RULE_STRING ) ) ) | ( () ( (lv_value_5_0= RULE_BOOLEAN ) ) ) | ( () ( (otherlv_7= RULE_ID ) ) otherlv_8= '.get()' ) | (otherlv_9= '(' this_DSL_Expression_Or_10= ruleDSL_Expression_Or otherlv_11= ')' ) | (otherlv_12= 'not' () ( (lv_exp_14_0= ruleDSL_Expression_Unary ) ) ) )
-            {
-            // InternalSensinact.g:2666:2: ( ( () ( (lv_value_1_0= ruleNUMBER ) ) ) | ( () ( (lv_value_3_0= RULE_STRING ) ) ) | ( () ( (lv_value_5_0= RULE_BOOLEAN ) ) ) | ( () ( (otherlv_7= RULE_ID ) ) otherlv_8= '.get()' ) | (otherlv_9= '(' this_DSL_Expression_Or_10= ruleDSL_Expression_Or otherlv_11= ')' ) | (otherlv_12= 'not' () ( (lv_exp_14_0= ruleDSL_Expression_Unary ) ) ) )
-            int alt24=6;
-            switch ( input.LA(1) ) {
-            case RULE_INT:
-                {
-                alt24=1;
-                }
-                break;
-            case RULE_STRING:
-                {
-                alt24=2;
-                }
-                break;
-            case RULE_BOOLEAN:
-                {
-                alt24=3;
-                }
-                break;
-            case RULE_ID:
-                {
-                alt24=4;
-                }
-                break;
-            case 26:
-                {
-                alt24=5;
-                }
-                break;
-            case 53:
-                {
-                alt24=6;
-                }
-                break;
-            default:
-                NoViableAltException nvae =
-                    new NoViableAltException("", 24, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt24) {
-                case 1 :
-                    // InternalSensinact.g:2667:3: ( () ( (lv_value_1_0= ruleNUMBER ) ) )
-                    {
-                    // InternalSensinact.g:2667:3: ( () ( (lv_value_1_0= ruleNUMBER ) ) )
-                    // InternalSensinact.g:2668:4: () ( (lv_value_1_0= ruleNUMBER ) )
-                    {
-                    // InternalSensinact.g:2668:4: ()
-                    // InternalSensinact.g:2669:5: 
-                    {
-
-                    					current = forceCreateModelElement(
-                    						grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Object_NumberAction_0_0(),
-                    						current);
-                    				
-
-                    }
-
-                    // InternalSensinact.g:2675:4: ( (lv_value_1_0= ruleNUMBER ) )
-                    // InternalSensinact.g:2676:5: (lv_value_1_0= ruleNUMBER )
-                    {
-                    // InternalSensinact.g:2676:5: (lv_value_1_0= ruleNUMBER )
-                    // InternalSensinact.g:2677:6: lv_value_1_0= ruleNUMBER
-                    {
-
-                    						newCompositeNode(grammarAccess.getDSL_Expression_UnaryAccess().getValueNUMBERParserRuleCall_0_1_0());
-                    					
-                    pushFollow(FOLLOW_2);
-                    lv_value_1_0=ruleNUMBER();
-
-                    state._fsp--;
-
-
-                    						if (current==null) {
-                    							current = createModelElementForParent(grammarAccess.getDSL_Expression_UnaryRule());
-                    						}
-                    						set(
-                    							current,
-                    							"value",
-                    							lv_value_1_0,
-                    							"org.eclipse.sensinact.studio.language.Sensinact.NUMBER");
-                    						afterParserOrEnumRuleCall();
-                    					
-
-                    }
-
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // InternalSensinact.g:2696:3: ( () ( (lv_value_3_0= RULE_STRING ) ) )
-                    {
-                    // InternalSensinact.g:2696:3: ( () ( (lv_value_3_0= RULE_STRING ) ) )
-                    // InternalSensinact.g:2697:4: () ( (lv_value_3_0= RULE_STRING ) )
-                    {
-                    // InternalSensinact.g:2697:4: ()
-                    // InternalSensinact.g:2698:5: 
-                    {
-
-                    					current = forceCreateModelElement(
-                    						grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Object_StringAction_1_0(),
-                    						current);
-                    				
-
-                    }
-
-                    // InternalSensinact.g:2704:4: ( (lv_value_3_0= RULE_STRING ) )
-                    // InternalSensinact.g:2705:5: (lv_value_3_0= RULE_STRING )
-                    {
-                    // InternalSensinact.g:2705:5: (lv_value_3_0= RULE_STRING )
-                    // InternalSensinact.g:2706:6: lv_value_3_0= RULE_STRING
-                    {
-                    lv_value_3_0=(Token)match(input,RULE_STRING,FOLLOW_2); 
-
-                    						newLeafNode(lv_value_3_0, grammarAccess.getDSL_Expression_UnaryAccess().getValueSTRINGTerminalRuleCall_1_1_0());
-                    					
-
-                    						if (current==null) {
-                    							current = createModelElement(grammarAccess.getDSL_Expression_UnaryRule());
-                    						}
-                    						setWithLastConsumed(
-                    							current,
-                    							"value",
-                    							lv_value_3_0,
-                    							"org.eclipse.xtext.common.Terminals.STRING");
-                    					
-
-                    }
-
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // InternalSensinact.g:2724:3: ( () ( (lv_value_5_0= RULE_BOOLEAN ) ) )
-                    {
-                    // InternalSensinact.g:2724:3: ( () ( (lv_value_5_0= RULE_BOOLEAN ) ) )
-                    // InternalSensinact.g:2725:4: () ( (lv_value_5_0= RULE_BOOLEAN ) )
-                    {
-                    // InternalSensinact.g:2725:4: ()
-                    // InternalSensinact.g:2726:5: 
-                    {
-
-                    					current = forceCreateModelElement(
-                    						grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Object_BooleanAction_2_0(),
-                    						current);
-                    				
-
-                    }
-
-                    // InternalSensinact.g:2732:4: ( (lv_value_5_0= RULE_BOOLEAN ) )
-                    // InternalSensinact.g:2733:5: (lv_value_5_0= RULE_BOOLEAN )
-                    {
-                    // InternalSensinact.g:2733:5: (lv_value_5_0= RULE_BOOLEAN )
-                    // InternalSensinact.g:2734:6: lv_value_5_0= RULE_BOOLEAN
-                    {
-                    lv_value_5_0=(Token)match(input,RULE_BOOLEAN,FOLLOW_2); 
-
-                    						newLeafNode(lv_value_5_0, grammarAccess.getDSL_Expression_UnaryAccess().getValueBOOLEANTerminalRuleCall_2_1_0());
-                    					
-
-                    						if (current==null) {
-                    							current = createModelElement(grammarAccess.getDSL_Expression_UnaryRule());
-                    						}
-                    						setWithLastConsumed(
-                    							current,
-                    							"value",
-                    							lv_value_5_0,
-                    							"org.eclipse.sensinact.studio.language.Sensinact.BOOLEAN");
-                    					
-
-                    }
-
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-                case 4 :
-                    // InternalSensinact.g:2752:3: ( () ( (otherlv_7= RULE_ID ) ) otherlv_8= '.get()' )
-                    {
-                    // InternalSensinact.g:2752:3: ( () ( (otherlv_7= RULE_ID ) ) otherlv_8= '.get()' )
-                    // InternalSensinact.g:2753:4: () ( (otherlv_7= RULE_ID ) ) otherlv_8= '.get()'
-                    {
-                    // InternalSensinact.g:2753:4: ()
-                    // InternalSensinact.g:2754:5: 
-                    {
-
-                    					current = forceCreateModelElement(
-                    						grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Object_RefAction_3_0(),
-                    						current);
-                    				
-
-                    }
-
-                    // InternalSensinact.g:2760:4: ( (otherlv_7= RULE_ID ) )
-                    // InternalSensinact.g:2761:5: (otherlv_7= RULE_ID )
-                    {
-                    // InternalSensinact.g:2761:5: (otherlv_7= RULE_ID )
-                    // InternalSensinact.g:2762:6: otherlv_7= RULE_ID
-                    {
-
-                    						if (current==null) {
-                    							current = createModelElement(grammarAccess.getDSL_Expression_UnaryRule());
-                    						}
-                    					
-                    otherlv_7=(Token)match(input,RULE_ID,FOLLOW_35); 
-
-                    						newLeafNode(otherlv_7, grammarAccess.getDSL_Expression_UnaryAccess().getValueDSL_REFCrossReference_3_1_0());
-                    					
-
-                    }
-
-
-                    }
-
-                    otherlv_8=(Token)match(input,52,FOLLOW_2); 
-
-                    				newLeafNode(otherlv_8, grammarAccess.getDSL_Expression_UnaryAccess().getGetKeyword_3_2());
-                    			
-
-                    }
-
-
-                    }
-                    break;
-                case 5 :
-                    // InternalSensinact.g:2779:3: (otherlv_9= '(' this_DSL_Expression_Or_10= ruleDSL_Expression_Or otherlv_11= ')' )
-                    {
-                    // InternalSensinact.g:2779:3: (otherlv_9= '(' this_DSL_Expression_Or_10= ruleDSL_Expression_Or otherlv_11= ')' )
-                    // InternalSensinact.g:2780:4: otherlv_9= '(' this_DSL_Expression_Or_10= ruleDSL_Expression_Or otherlv_11= ')'
-                    {
-                    otherlv_9=(Token)match(input,26,FOLLOW_14); 
-
-                    				newLeafNode(otherlv_9, grammarAccess.getDSL_Expression_UnaryAccess().getLeftParenthesisKeyword_4_0());
-                    			
-
-                    				newCompositeNode(grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Expression_OrParserRuleCall_4_1());
-                    			
-                    pushFollow(FOLLOW_21);
-                    this_DSL_Expression_Or_10=ruleDSL_Expression_Or();
-
-                    state._fsp--;
-
-
-                    				current = this_DSL_Expression_Or_10;
-                    				afterParserOrEnumRuleCall();
-                    			
-                    otherlv_11=(Token)match(input,27,FOLLOW_2); 
-
-                    				newLeafNode(otherlv_11, grammarAccess.getDSL_Expression_UnaryAccess().getRightParenthesisKeyword_4_2());
-                    			
-
-                    }
-
-
-                    }
-                    break;
-                case 6 :
-                    // InternalSensinact.g:2798:3: (otherlv_12= 'not' () ( (lv_exp_14_0= ruleDSL_Expression_Unary ) ) )
-                    {
-                    // InternalSensinact.g:2798:3: (otherlv_12= 'not' () ( (lv_exp_14_0= ruleDSL_Expression_Unary ) ) )
-                    // InternalSensinact.g:2799:4: otherlv_12= 'not' () ( (lv_exp_14_0= ruleDSL_Expression_Unary ) )
-                    {
-                    otherlv_12=(Token)match(input,53,FOLLOW_14); 
-
-                    				newLeafNode(otherlv_12, grammarAccess.getDSL_Expression_UnaryAccess().getNotKeyword_5_0());
-                    			
-                    // InternalSensinact.g:2803:4: ()
-                    // InternalSensinact.g:2804:5: 
-                    {
-
-                    					current = forceCreateModelElement(
-                    						grammarAccess.getDSL_Expression_UnaryAccess().getDSL_Expression_NegateAction_5_1(),
-                    						current);
-                    				
-
-                    }
-
-                    // InternalSensinact.g:2810:4: ( (lv_exp_14_0= ruleDSL_Expression_Unary ) )
-                    // InternalSensinact.g:2811:5: (lv_exp_14_0= ruleDSL_Expression_Unary )
-                    {
-                    // InternalSensinact.g:2811:5: (lv_exp_14_0= ruleDSL_Expression_Unary )
-                    // InternalSensinact.g:2812:6: lv_exp_14_0= ruleDSL_Expression_Unary
-                    {
-
-                    						newCompositeNode(grammarAccess.getDSL_Expression_UnaryAccess().getExpDSL_Expression_UnaryParserRuleCall_5_2_0());
-                    					
-                    pushFollow(FOLLOW_2);
-                    lv_exp_14_0=ruleDSL_Expression_Unary();
-
-                    state._fsp--;
-
-
-                    						if (current==null) {
-                    							current = createModelElementForParent(grammarAccess.getDSL_Expression_UnaryRule());
-                    						}
-                    						set(
-                    							current,
-                    							"exp",
-                    							lv_exp_14_0,
-                    							"org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Unary");
-                    						afterParserOrEnumRuleCall();
-                    					
-
-                    }
-
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-
-            	leaveRule();
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDSL_Expression_Unary"
-
-    // Delegated rules
-
-
-    protected DFA9 dfa9 = new DFA9(this);
-    protected DFA10 dfa10 = new DFA10(this);
-    static final String dfa_1s = "\10\uffff";
-    static final String dfa_2s = "\1\5\1\30\3\5\2\uffff\1\40";
-    static final String dfa_3s = "\1\5\1\45\2\33\1\5\2\uffff\1\45";
-    static final String dfa_4s = "\5\uffff\1\1\1\2\1\uffff";
-    static final String dfa_5s = "\10\uffff}>";
-    static final String[] dfa_6s = {
-            "\1\1",
-            "\1\4\7\uffff\1\3\4\uffff\1\2",
-            "\1\1\14\uffff\1\5\10\uffff\1\6",
-            "\1\1\14\uffff\1\5\10\uffff\1\6",
-            "\1\7",
-            "",
-            "",
-            "\1\3\4\uffff\1\2"
-    };
-
-    static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s);
-    static final char[] dfa_2 = DFA.unpackEncodedStringToUnsignedChars(dfa_2s);
-    static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s);
-    static final short[] dfa_4 = DFA.unpackEncodedString(dfa_4s);
-    static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s);
-    static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s);
-
-    class DFA9 extends DFA {
-
-        public DFA9(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 9;
-            this.eot = dfa_1;
-            this.eof = dfa_1;
-            this.min = dfa_2;
-            this.max = dfa_3;
-            this.accept = dfa_4;
-            this.special = dfa_5;
-            this.transition = dfa_6;
-        }
-        public String getDescription() {
-            return "1047:3: ( ( (lv_start_6_0= ruleDSL_CEP_DURATION ) ) otherlv_7= ',' )?";
-        }
-    }
-    static final String dfa_7s = "\1\5\1\30\3\5\1\40\2\uffff";
-    static final String dfa_8s = "\1\5\1\45\1\5\2\33\1\45\2\uffff";
-    static final String dfa_9s = "\6\uffff\1\1\1\2";
-    static final String[] dfa_10s = {
-            "\1\1",
-            "\1\2\7\uffff\1\4\4\uffff\1\3",
-            "\1\5",
-            "\1\1\14\uffff\1\6\10\uffff\1\7",
-            "\1\1\14\uffff\1\6\10\uffff\1\7",
-            "\1\4\4\uffff\1\3",
-            "",
-            ""
-    };
-    static final char[] dfa_7 = DFA.unpackEncodedStringToUnsignedChars(dfa_7s);
-    static final char[] dfa_8 = DFA.unpackEncodedStringToUnsignedChars(dfa_8s);
-    static final short[] dfa_9 = DFA.unpackEncodedString(dfa_9s);
-    static final short[][] dfa_10 = unpackEncodedStringArray(dfa_10s);
-
-    class DFA10 extends DFA {
-
-        public DFA10(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 10;
-            this.eot = dfa_1;
-            this.eof = dfa_1;
-            this.min = dfa_7;
-            this.max = dfa_8;
-            this.accept = dfa_9;
-            this.special = dfa_5;
-            this.transition = dfa_10;
-        }
-        public String getDescription() {
-            return "1168:3: ( ( (lv_start_6_0= ruleDSL_CEP_DURATION ) ) otherlv_7= ',' )?";
-        }
-    }
- 
-
-    public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000010021000L});
-    public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000010020000L});
-    public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000100000L});
-    public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000002000L});
-    public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000008000L});
-    public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000040002L});
-    public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000C80000L});
-    public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000080000L});
-    public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x00200000040000F0L});
-    public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000200000L});
-    public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000001000000L});
-    public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000001000002L});
-    public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000002000000L});
-    public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000004000000L});
-    public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000001FE0000000L});
-    public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000000040000L});
-    public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000000000022L});
-    public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000100000000L});
-    public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000002000000000L});
-    public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x000000C000000000L});
-    public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x002000000C0000F0L});
-    public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000010000000002L});
-    public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000020000000002L});
-    public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x00000C0000000002L});
-    public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000F00000000002L});
-    public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0003000000000002L});
-    public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x000C000000008002L});
-    public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0010000000000000L});
-
-}
\ No newline at end of file
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/scoping/AbstractSensinactScopeProvider.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/scoping/AbstractSensinactScopeProvider.java
deleted file mode 100644
index 2f96a66..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/scoping/AbstractSensinactScopeProvider.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/*
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.scoping;
-
-import org.eclipse.xtext.scoping.impl.DelegatingScopeProvider;
-
-public abstract class AbstractSensinactScopeProvider extends DelegatingScopeProvider {
-}
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_AFTER.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_AFTER.java
deleted file mode 100644
index 0549660..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_AFTER.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL CEP AFTER</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AFTER#getRef1 <em>Ref1</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AFTER#getRef2 <em>Ref2</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AFTER#getStart <em>Start</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AFTER#getEnd <em>End</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_AFTER()
- * @model
- * @generated
- */
-public interface DSL_CEP_AFTER extends EObject
-{
-  /**
-   * Returns the value of the '<em><b>Ref1</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Ref1</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Ref1</em>' containment reference.
-   * @see #setRef1(DSL_REF_CONDITION)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_AFTER_Ref1()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_REF_CONDITION getRef1();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AFTER#getRef1 <em>Ref1</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Ref1</em>' containment reference.
-   * @see #getRef1()
-   * @generated
-   */
-  void setRef1(DSL_REF_CONDITION value);
-
-  /**
-   * Returns the value of the '<em><b>Ref2</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Ref2</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Ref2</em>' containment reference.
-   * @see #setRef2(DSL_REF_CONDITION)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_AFTER_Ref2()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_REF_CONDITION getRef2();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AFTER#getRef2 <em>Ref2</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Ref2</em>' containment reference.
-   * @see #getRef2()
-   * @generated
-   */
-  void setRef2(DSL_REF_CONDITION value);
-
-  /**
-   * Returns the value of the '<em><b>Start</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Start</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Start</em>' containment reference.
-   * @see #setStart(DSL_CEP_DURATION)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_AFTER_Start()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_CEP_DURATION getStart();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AFTER#getStart <em>Start</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Start</em>' containment reference.
-   * @see #getStart()
-   * @generated
-   */
-  void setStart(DSL_CEP_DURATION value);
-
-  /**
-   * Returns the value of the '<em><b>End</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>End</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>End</em>' containment reference.
-   * @see #setEnd(DSL_CEP_DURATION)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_AFTER_End()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_CEP_DURATION getEnd();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AFTER#getEnd <em>End</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>End</em>' containment reference.
-   * @see #getEnd()
-   * @generated
-   */
-  void setEnd(DSL_CEP_DURATION value);
-
-} // DSL_CEP_AFTER
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_AVG.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_AVG.java
deleted file mode 100644
index aef02c4..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_AVG.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL CEP AVG</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AVG#getRef <em>Ref</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AVG#getWindow <em>Window</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_AVG()
- * @model
- * @generated
- */
-public interface DSL_CEP_AVG extends EObject
-{
-  /**
-   * Returns the value of the '<em><b>Ref</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Ref</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Ref</em>' containment reference.
-   * @see #setRef(DSL_REF_CONDITION)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_AVG_Ref()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_REF_CONDITION getRef();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AVG#getRef <em>Ref</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Ref</em>' containment reference.
-   * @see #getRef()
-   * @generated
-   */
-  void setRef(DSL_REF_CONDITION value);
-
-  /**
-   * Returns the value of the '<em><b>Window</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Window</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Window</em>' containment reference.
-   * @see #setWindow(DSL_CEP_DURATION)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_AVG_Window()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_CEP_DURATION getWindow();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AVG#getWindow <em>Window</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Window</em>' containment reference.
-   * @see #getWindow()
-   * @generated
-   */
-  void setWindow(DSL_CEP_DURATION value);
-
-} // DSL_CEP_AVG
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_BEFORE.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_BEFORE.java
deleted file mode 100644
index 5a9c187..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_BEFORE.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL CEP BEFORE</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_BEFORE#getRef1 <em>Ref1</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_BEFORE#getRef2 <em>Ref2</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_BEFORE#getStart <em>Start</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_BEFORE#getEnd <em>End</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_BEFORE()
- * @model
- * @generated
- */
-public interface DSL_CEP_BEFORE extends EObject
-{
-  /**
-   * Returns the value of the '<em><b>Ref1</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Ref1</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Ref1</em>' containment reference.
-   * @see #setRef1(DSL_REF_CONDITION)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_BEFORE_Ref1()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_REF_CONDITION getRef1();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_BEFORE#getRef1 <em>Ref1</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Ref1</em>' containment reference.
-   * @see #getRef1()
-   * @generated
-   */
-  void setRef1(DSL_REF_CONDITION value);
-
-  /**
-   * Returns the value of the '<em><b>Ref2</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Ref2</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Ref2</em>' containment reference.
-   * @see #setRef2(DSL_REF_CONDITION)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_BEFORE_Ref2()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_REF_CONDITION getRef2();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_BEFORE#getRef2 <em>Ref2</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Ref2</em>' containment reference.
-   * @see #getRef2()
-   * @generated
-   */
-  void setRef2(DSL_REF_CONDITION value);
-
-  /**
-   * Returns the value of the '<em><b>Start</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Start</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Start</em>' containment reference.
-   * @see #setStart(DSL_CEP_DURATION)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_BEFORE_Start()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_CEP_DURATION getStart();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_BEFORE#getStart <em>Start</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Start</em>' containment reference.
-   * @see #getStart()
-   * @generated
-   */
-  void setStart(DSL_CEP_DURATION value);
-
-  /**
-   * Returns the value of the '<em><b>End</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>End</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>End</em>' containment reference.
-   * @see #setEnd(DSL_CEP_DURATION)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_BEFORE_End()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_CEP_DURATION getEnd();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_BEFORE#getEnd <em>End</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>End</em>' containment reference.
-   * @see #getEnd()
-   * @generated
-   */
-  void setEnd(DSL_CEP_DURATION value);
-
-} // DSL_CEP_BEFORE
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_COINCIDE.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_COINCIDE.java
deleted file mode 100644
index cc2ebd0..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_COINCIDE.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL CEP COINCIDE</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COINCIDE#getRef1 <em>Ref1</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COINCIDE#getRef2 <em>Ref2</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COINCIDE#getWindow <em>Window</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_COINCIDE()
- * @model
- * @generated
- */
-public interface DSL_CEP_COINCIDE extends EObject
-{
-  /**
-   * Returns the value of the '<em><b>Ref1</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Ref1</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Ref1</em>' containment reference.
-   * @see #setRef1(DSL_REF_CONDITION)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_COINCIDE_Ref1()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_REF_CONDITION getRef1();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COINCIDE#getRef1 <em>Ref1</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Ref1</em>' containment reference.
-   * @see #getRef1()
-   * @generated
-   */
-  void setRef1(DSL_REF_CONDITION value);
-
-  /**
-   * Returns the value of the '<em><b>Ref2</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Ref2</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Ref2</em>' containment reference.
-   * @see #setRef2(DSL_REF_CONDITION)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_COINCIDE_Ref2()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_REF_CONDITION getRef2();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COINCIDE#getRef2 <em>Ref2</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Ref2</em>' containment reference.
-   * @see #getRef2()
-   * @generated
-   */
-  void setRef2(DSL_REF_CONDITION value);
-
-  /**
-   * Returns the value of the '<em><b>Window</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Window</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Window</em>' containment reference.
-   * @see #setWindow(DSL_CEP_DURATION)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_COINCIDE_Window()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_CEP_DURATION getWindow();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COINCIDE#getWindow <em>Window</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Window</em>' containment reference.
-   * @see #getWindow()
-   * @generated
-   */
-  void setWindow(DSL_CEP_DURATION value);
-
-} // DSL_CEP_COINCIDE
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_COUNT.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_COUNT.java
deleted file mode 100644
index 2f2a578..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_COUNT.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL CEP COUNT</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COUNT#getRef <em>Ref</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COUNT#getWindow <em>Window</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_COUNT()
- * @model
- * @generated
- */
-public interface DSL_CEP_COUNT extends EObject
-{
-  /**
-   * Returns the value of the '<em><b>Ref</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Ref</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Ref</em>' containment reference.
-   * @see #setRef(DSL_REF_CONDITION)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_COUNT_Ref()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_REF_CONDITION getRef();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COUNT#getRef <em>Ref</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Ref</em>' containment reference.
-   * @see #getRef()
-   * @generated
-   */
-  void setRef(DSL_REF_CONDITION value);
-
-  /**
-   * Returns the value of the '<em><b>Window</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Window</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Window</em>' containment reference.
-   * @see #setWindow(DSL_CEP_DURATION)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_COUNT_Window()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_CEP_DURATION getWindow();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COUNT#getWindow <em>Window</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Window</em>' containment reference.
-   * @see #getWindow()
-   * @generated
-   */
-  void setWindow(DSL_CEP_DURATION value);
-
-} // DSL_CEP_COUNT
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_DURATION.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_DURATION.java
deleted file mode 100644
index a9153f7..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_DURATION.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL CEP DURATION</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION#getUnits <em>Units</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_DURATION()
- * @model
- * @generated
- */
-public interface DSL_CEP_DURATION extends EObject
-{
-  /**
-   * Returns the value of the '<em><b>Units</b></em>' containment reference list.
-   * The list contents are of type {@link org.eclipse.emf.ecore.EObject}.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Units</em>' containment reference list isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Units</em>' containment reference list.
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_DURATION_Units()
-   * @model containment="true"
-   * @generated
-   */
-  EList<EObject> getUnits();
-
-} // DSL_CEP_DURATION
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_DURATION_MIN.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_DURATION_MIN.java
deleted file mode 100644
index 782850c..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_DURATION_MIN.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-import java.math.BigDecimal;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL CEP DURATION MIN</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION_MIN#getMin <em>Min</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_DURATION_MIN()
- * @model
- * @generated
- */
-public interface DSL_CEP_DURATION_MIN extends EObject
-{
-  /**
-   * Returns the value of the '<em><b>Min</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Min</em>' attribute isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Min</em>' attribute.
-   * @see #setMin(BigDecimal)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_DURATION_MIN_Min()
-   * @model
-   * @generated
-   */
-  BigDecimal getMin();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION_MIN#getMin <em>Min</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Min</em>' attribute.
-   * @see #getMin()
-   * @generated
-   */
-  void setMin(BigDecimal value);
-
-} // DSL_CEP_DURATION_MIN
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_DURATION_SEC.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_DURATION_SEC.java
deleted file mode 100644
index 384e007..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_DURATION_SEC.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-import java.math.BigDecimal;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL CEP DURATION SEC</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION_SEC#getSec <em>Sec</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_DURATION_SEC()
- * @model
- * @generated
- */
-public interface DSL_CEP_DURATION_SEC extends EObject
-{
-  /**
-   * Returns the value of the '<em><b>Sec</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Sec</em>' attribute isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Sec</em>' attribute.
-   * @see #setSec(BigDecimal)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_DURATION_SEC_Sec()
-   * @model
-   * @generated
-   */
-  BigDecimal getSec();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION_SEC#getSec <em>Sec</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Sec</em>' attribute.
-   * @see #getSec()
-   * @generated
-   */
-  void setSec(BigDecimal value);
-
-} // DSL_CEP_DURATION_SEC
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_MAX.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_MAX.java
deleted file mode 100644
index ada0809..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_MAX.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL CEP MAX</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_MAX#getRef <em>Ref</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_MAX#getWindow <em>Window</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_MAX()
- * @model
- * @generated
- */
-public interface DSL_CEP_MAX extends EObject
-{
-  /**
-   * Returns the value of the '<em><b>Ref</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Ref</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Ref</em>' containment reference.
-   * @see #setRef(DSL_REF_CONDITION)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_MAX_Ref()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_REF_CONDITION getRef();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_MAX#getRef <em>Ref</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Ref</em>' containment reference.
-   * @see #getRef()
-   * @generated
-   */
-  void setRef(DSL_REF_CONDITION value);
-
-  /**
-   * Returns the value of the '<em><b>Window</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Window</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Window</em>' containment reference.
-   * @see #setWindow(DSL_CEP_DURATION)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_MAX_Window()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_CEP_DURATION getWindow();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_MAX#getWindow <em>Window</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Window</em>' containment reference.
-   * @see #getWindow()
-   * @generated
-   */
-  void setWindow(DSL_CEP_DURATION value);
-
-} // DSL_CEP_MAX
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_MIN.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_MIN.java
deleted file mode 100644
index 31dafbb..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_MIN.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL CEP MIN</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_MIN#getRef <em>Ref</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_MIN#getWindow <em>Window</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_MIN()
- * @model
- * @generated
- */
-public interface DSL_CEP_MIN extends EObject
-{
-  /**
-   * Returns the value of the '<em><b>Ref</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Ref</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Ref</em>' containment reference.
-   * @see #setRef(DSL_REF_CONDITION)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_MIN_Ref()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_REF_CONDITION getRef();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_MIN#getRef <em>Ref</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Ref</em>' containment reference.
-   * @see #getRef()
-   * @generated
-   */
-  void setRef(DSL_REF_CONDITION value);
-
-  /**
-   * Returns the value of the '<em><b>Window</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Window</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Window</em>' containment reference.
-   * @see #setWindow(DSL_CEP_DURATION)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_MIN_Window()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_CEP_DURATION getWindow();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_MIN#getWindow <em>Window</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Window</em>' containment reference.
-   * @see #getWindow()
-   * @generated
-   */
-  void setWindow(DSL_CEP_DURATION value);
-
-} // DSL_CEP_MIN
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_STATEMENT.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_STATEMENT.java
deleted file mode 100644
index 1e14c31..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_STATEMENT.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL CEP STATEMENT</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_STATEMENT#getOperation <em>Operation</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_STATEMENT()
- * @model
- * @generated
- */
-public interface DSL_CEP_STATEMENT extends DSL_REF
-{
-  /**
-   * Returns the value of the '<em><b>Operation</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Operation</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Operation</em>' containment reference.
-   * @see #setOperation(EObject)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_STATEMENT_Operation()
-   * @model containment="true"
-   * @generated
-   */
-  EObject getOperation();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_STATEMENT#getOperation <em>Operation</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Operation</em>' containment reference.
-   * @see #getOperation()
-   * @generated
-   */
-  void setOperation(EObject value);
-
-} // DSL_CEP_STATEMENT
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_SUM.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_SUM.java
deleted file mode 100644
index 27934ad..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_CEP_SUM.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL CEP SUM</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_SUM#getRef <em>Ref</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_SUM#getWindow <em>Window</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_SUM()
- * @model
- * @generated
- */
-public interface DSL_CEP_SUM extends EObject
-{
-  /**
-   * Returns the value of the '<em><b>Ref</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Ref</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Ref</em>' containment reference.
-   * @see #setRef(DSL_REF_CONDITION)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_SUM_Ref()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_REF_CONDITION getRef();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_SUM#getRef <em>Ref</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Ref</em>' containment reference.
-   * @see #getRef()
-   * @generated
-   */
-  void setRef(DSL_REF_CONDITION value);
-
-  /**
-   * Returns the value of the '<em><b>Window</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Window</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Window</em>' containment reference.
-   * @see #setWindow(DSL_CEP_DURATION)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_CEP_SUM_Window()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_CEP_DURATION getWindow();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_SUM#getWindow <em>Window</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Window</em>' containment reference.
-   * @see #getWindow()
-   * @generated
-   */
-  void setWindow(DSL_CEP_DURATION value);
-
-} // DSL_CEP_SUM
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_ECA_STATEMENT.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_ECA_STATEMENT.java
deleted file mode 100644
index 727e8a7..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_ECA_STATEMENT.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL ECA STATEMENT</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ECA_STATEMENT#getIfdo <em>Ifdo</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ECA_STATEMENT#getElseIfdo <em>Else Ifdo</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ECA_STATEMENT#getElsedo <em>Elsedo</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_ECA_STATEMENT()
- * @model
- * @generated
- */
-public interface DSL_ECA_STATEMENT extends EObject
-{
-  /**
-   * Returns the value of the '<em><b>Ifdo</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Ifdo</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Ifdo</em>' containment reference.
-   * @see #setIfdo(DSL_IfDo)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_ECA_STATEMENT_Ifdo()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_IfDo getIfdo();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ECA_STATEMENT#getIfdo <em>Ifdo</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Ifdo</em>' containment reference.
-   * @see #getIfdo()
-   * @generated
-   */
-  void setIfdo(DSL_IfDo value);
-
-  /**
-   * Returns the value of the '<em><b>Else Ifdo</b></em>' containment reference list.
-   * The list contents are of type {@link org.eclipse.sensinact.studio.language.sensinact.DSL_ElseIfDo}.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Else Ifdo</em>' containment reference list isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Else Ifdo</em>' containment reference list.
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_ECA_STATEMENT_ElseIfdo()
-   * @model containment="true"
-   * @generated
-   */
-  EList<DSL_ElseIfDo> getElseIfdo();
-
-  /**
-   * Returns the value of the '<em><b>Elsedo</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Elsedo</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Elsedo</em>' containment reference.
-   * @see #setElsedo(DSL_ElseDo)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_ECA_STATEMENT_Elsedo()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_ElseDo getElsedo();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ECA_STATEMENT#getElsedo <em>Elsedo</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Elsedo</em>' containment reference.
-   * @see #getElsedo()
-   * @generated
-   */
-  void setElsedo(DSL_ElseDo value);
-
-} // DSL_ECA_STATEMENT
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_ElseDo.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_ElseDo.java
deleted file mode 100644
index f9b1fda..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_ElseDo.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL Else Do</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ElseDo#getActions <em>Actions</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_ElseDo()
- * @model
- * @generated
- */
-public interface DSL_ElseDo extends EObject
-{
-  /**
-   * Returns the value of the '<em><b>Actions</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Actions</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Actions</em>' containment reference.
-   * @see #setActions(DSL_ListActions)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_ElseDo_Actions()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_ListActions getActions();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ElseDo#getActions <em>Actions</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Actions</em>' containment reference.
-   * @see #getActions()
-   * @generated
-   */
-  void setActions(DSL_ListActions value);
-
-} // DSL_ElseDo
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_ElseIfDo.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_ElseIfDo.java
deleted file mode 100644
index 052ea3b..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_ElseIfDo.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL Else If Do</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ElseIfDo#getCondition <em>Condition</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ElseIfDo#getActions <em>Actions</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_ElseIfDo()
- * @model
- * @generated
- */
-public interface DSL_ElseIfDo extends EObject
-{
-  /**
-   * Returns the value of the '<em><b>Condition</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Condition</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Condition</em>' containment reference.
-   * @see #setCondition(DSL_Expression)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_ElseIfDo_Condition()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_Expression getCondition();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ElseIfDo#getCondition <em>Condition</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Condition</em>' containment reference.
-   * @see #getCondition()
-   * @generated
-   */
-  void setCondition(DSL_Expression value);
-
-  /**
-   * Returns the value of the '<em><b>Actions</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Actions</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Actions</em>' containment reference.
-   * @see #setActions(DSL_ListActions)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_ElseIfDo_Actions()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_ListActions getActions();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ElseIfDo#getActions <em>Actions</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Actions</em>' containment reference.
-   * @see #getActions()
-   * @generated
-   */
-  void setActions(DSL_ListActions value);
-
-} // DSL_ElseIfDo
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression.java
deleted file mode 100644
index 0ab9c5f..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL Expression</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression()
- * @model
- * @generated
- */
-public interface DSL_Expression extends EObject
-{
-} // DSL_Expression
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_And.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_And.java
deleted file mode 100644
index c12f307..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_And.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL Expression And</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_And#getLeft <em>Left</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_And#getRight <em>Right</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_And()
- * @model
- * @generated
- */
-public interface DSL_Expression_And extends DSL_Expression
-{
-  /**
-   * Returns the value of the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Left</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Left</em>' containment reference.
-   * @see #setLeft(DSL_Expression)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_And_Left()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_Expression getLeft();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_And#getLeft <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Left</em>' containment reference.
-   * @see #getLeft()
-   * @generated
-   */
-  void setLeft(DSL_Expression value);
-
-  /**
-   * Returns the value of the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Right</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Right</em>' containment reference.
-   * @see #setRight(DSL_Expression)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_And_Right()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_Expression getRight();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_And#getRight <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Right</em>' containment reference.
-   * @see #getRight()
-   * @generated
-   */
-  void setRight(DSL_Expression value);
-
-} // DSL_Expression_And
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Diff.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Diff.java
deleted file mode 100644
index 3ea32d1..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Diff.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL Expression Diff</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Diff#getLeft <em>Left</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Diff#getRight <em>Right</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Diff()
- * @model
- * @generated
- */
-public interface DSL_Expression_Diff extends DSL_Expression
-{
-  /**
-   * Returns the value of the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Left</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Left</em>' containment reference.
-   * @see #setLeft(DSL_Expression)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Diff_Left()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_Expression getLeft();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Diff#getLeft <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Left</em>' containment reference.
-   * @see #getLeft()
-   * @generated
-   */
-  void setLeft(DSL_Expression value);
-
-  /**
-   * Returns the value of the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Right</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Right</em>' containment reference.
-   * @see #setRight(DSL_Expression)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Diff_Right()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_Expression getRight();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Diff#getRight <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Right</em>' containment reference.
-   * @see #getRight()
-   * @generated
-   */
-  void setRight(DSL_Expression value);
-
-} // DSL_Expression_Diff
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Division.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Division.java
deleted file mode 100644
index d10ca13..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Division.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL Expression Division</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Division#getLeft <em>Left</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Division#getRight <em>Right</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Division()
- * @model
- * @generated
- */
-public interface DSL_Expression_Division extends DSL_Expression
-{
-  /**
-   * Returns the value of the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Left</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Left</em>' containment reference.
-   * @see #setLeft(DSL_Expression)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Division_Left()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_Expression getLeft();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Division#getLeft <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Left</em>' containment reference.
-   * @see #getLeft()
-   * @generated
-   */
-  void setLeft(DSL_Expression value);
-
-  /**
-   * Returns the value of the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Right</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Right</em>' containment reference.
-   * @see #setRight(DSL_Expression)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Division_Right()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_Expression getRight();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Division#getRight <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Right</em>' containment reference.
-   * @see #getRight()
-   * @generated
-   */
-  void setRight(DSL_Expression value);
-
-} // DSL_Expression_Division
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Equal.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Equal.java
deleted file mode 100644
index 55e4867..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Equal.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL Expression Equal</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Equal#getLeft <em>Left</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Equal#getRight <em>Right</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Equal()
- * @model
- * @generated
- */
-public interface DSL_Expression_Equal extends DSL_Expression
-{
-  /**
-   * Returns the value of the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Left</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Left</em>' containment reference.
-   * @see #setLeft(DSL_Expression)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Equal_Left()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_Expression getLeft();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Equal#getLeft <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Left</em>' containment reference.
-   * @see #getLeft()
-   * @generated
-   */
-  void setLeft(DSL_Expression value);
-
-  /**
-   * Returns the value of the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Right</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Right</em>' containment reference.
-   * @see #setRight(DSL_Expression)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Equal_Right()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_Expression getRight();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Equal#getRight <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Right</em>' containment reference.
-   * @see #getRight()
-   * @generated
-   */
-  void setRight(DSL_Expression value);
-
-} // DSL_Expression_Equal
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Larger.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Larger.java
deleted file mode 100644
index 902c3bc..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Larger.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL Expression Larger</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Larger#getLeft <em>Left</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Larger#getRight <em>Right</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Larger()
- * @model
- * @generated
- */
-public interface DSL_Expression_Larger extends DSL_Expression
-{
-  /**
-   * Returns the value of the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Left</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Left</em>' containment reference.
-   * @see #setLeft(DSL_Expression)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Larger_Left()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_Expression getLeft();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Larger#getLeft <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Left</em>' containment reference.
-   * @see #getLeft()
-   * @generated
-   */
-  void setLeft(DSL_Expression value);
-
-  /**
-   * Returns the value of the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Right</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Right</em>' containment reference.
-   * @see #setRight(DSL_Expression)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Larger_Right()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_Expression getRight();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Larger#getRight <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Right</em>' containment reference.
-   * @see #getRight()
-   * @generated
-   */
-  void setRight(DSL_Expression value);
-
-} // DSL_Expression_Larger
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Larger_Equal.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Larger_Equal.java
deleted file mode 100644
index e8cc90c..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Larger_Equal.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL Expression Larger Equal</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Larger_Equal#getLeft <em>Left</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Larger_Equal#getRight <em>Right</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Larger_Equal()
- * @model
- * @generated
- */
-public interface DSL_Expression_Larger_Equal extends DSL_Expression
-{
-  /**
-   * Returns the value of the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Left</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Left</em>' containment reference.
-   * @see #setLeft(DSL_Expression)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Larger_Equal_Left()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_Expression getLeft();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Larger_Equal#getLeft <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Left</em>' containment reference.
-   * @see #getLeft()
-   * @generated
-   */
-  void setLeft(DSL_Expression value);
-
-  /**
-   * Returns the value of the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Right</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Right</em>' containment reference.
-   * @see #setRight(DSL_Expression)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Larger_Equal_Right()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_Expression getRight();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Larger_Equal#getRight <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Right</em>' containment reference.
-   * @see #getRight()
-   * @generated
-   */
-  void setRight(DSL_Expression value);
-
-} // DSL_Expression_Larger_Equal
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Minus.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Minus.java
deleted file mode 100644
index 5784fdd..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Minus.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL Expression Minus</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Minus#getLeft <em>Left</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Minus#getRight <em>Right</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Minus()
- * @model
- * @generated
- */
-public interface DSL_Expression_Minus extends DSL_Expression
-{
-  /**
-   * Returns the value of the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Left</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Left</em>' containment reference.
-   * @see #setLeft(DSL_Expression)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Minus_Left()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_Expression getLeft();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Minus#getLeft <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Left</em>' containment reference.
-   * @see #getLeft()
-   * @generated
-   */
-  void setLeft(DSL_Expression value);
-
-  /**
-   * Returns the value of the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Right</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Right</em>' containment reference.
-   * @see #setRight(DSL_Expression)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Minus_Right()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_Expression getRight();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Minus#getRight <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Right</em>' containment reference.
-   * @see #getRight()
-   * @generated
-   */
-  void setRight(DSL_Expression value);
-
-} // DSL_Expression_Minus
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Modulo.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Modulo.java
deleted file mode 100644
index 8ae829b..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Modulo.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL Expression Modulo</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Modulo#getLeft <em>Left</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Modulo#getRight <em>Right</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Modulo()
- * @model
- * @generated
- */
-public interface DSL_Expression_Modulo extends DSL_Expression
-{
-  /**
-   * Returns the value of the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Left</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Left</em>' containment reference.
-   * @see #setLeft(DSL_Expression)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Modulo_Left()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_Expression getLeft();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Modulo#getLeft <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Left</em>' containment reference.
-   * @see #getLeft()
-   * @generated
-   */
-  void setLeft(DSL_Expression value);
-
-  /**
-   * Returns the value of the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Right</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Right</em>' containment reference.
-   * @see #setRight(DSL_Expression)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Modulo_Right()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_Expression getRight();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Modulo#getRight <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Right</em>' containment reference.
-   * @see #getRight()
-   * @generated
-   */
-  void setRight(DSL_Expression value);
-
-} // DSL_Expression_Modulo
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Multiplication.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Multiplication.java
deleted file mode 100644
index 926bcdd..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Multiplication.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL Expression Multiplication</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Multiplication#getLeft <em>Left</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Multiplication#getRight <em>Right</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Multiplication()
- * @model
- * @generated
- */
-public interface DSL_Expression_Multiplication extends DSL_Expression
-{
-  /**
-   * Returns the value of the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Left</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Left</em>' containment reference.
-   * @see #setLeft(DSL_Expression)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Multiplication_Left()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_Expression getLeft();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Multiplication#getLeft <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Left</em>' containment reference.
-   * @see #getLeft()
-   * @generated
-   */
-  void setLeft(DSL_Expression value);
-
-  /**
-   * Returns the value of the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Right</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Right</em>' containment reference.
-   * @see #setRight(DSL_Expression)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Multiplication_Right()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_Expression getRight();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Multiplication#getRight <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Right</em>' containment reference.
-   * @see #getRight()
-   * @generated
-   */
-  void setRight(DSL_Expression value);
-
-} // DSL_Expression_Multiplication
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Negate.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Negate.java
deleted file mode 100644
index 720d921..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Negate.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL Expression Negate</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Negate#getExp <em>Exp</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Negate()
- * @model
- * @generated
- */
-public interface DSL_Expression_Negate extends DSL_Expression
-{
-  /**
-   * Returns the value of the '<em><b>Exp</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Exp</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Exp</em>' containment reference.
-   * @see #setExp(DSL_Expression)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Negate_Exp()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_Expression getExp();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Negate#getExp <em>Exp</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Exp</em>' containment reference.
-   * @see #getExp()
-   * @generated
-   */
-  void setExp(DSL_Expression value);
-
-} // DSL_Expression_Negate
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Or.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Or.java
deleted file mode 100644
index 10de8ce..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Or.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL Expression Or</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Or#getLeft <em>Left</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Or#getRight <em>Right</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Or()
- * @model
- * @generated
- */
-public interface DSL_Expression_Or extends DSL_Expression
-{
-  /**
-   * Returns the value of the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Left</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Left</em>' containment reference.
-   * @see #setLeft(DSL_Expression)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Or_Left()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_Expression getLeft();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Or#getLeft <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Left</em>' containment reference.
-   * @see #getLeft()
-   * @generated
-   */
-  void setLeft(DSL_Expression value);
-
-  /**
-   * Returns the value of the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Right</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Right</em>' containment reference.
-   * @see #setRight(DSL_Expression)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Or_Right()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_Expression getRight();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Or#getRight <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Right</em>' containment reference.
-   * @see #getRight()
-   * @generated
-   */
-  void setRight(DSL_Expression value);
-
-} // DSL_Expression_Or
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Plus.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Plus.java
deleted file mode 100644
index ad9e4bd..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Plus.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL Expression Plus</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Plus#getLeft <em>Left</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Plus#getRight <em>Right</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Plus()
- * @model
- * @generated
- */
-public interface DSL_Expression_Plus extends DSL_Expression
-{
-  /**
-   * Returns the value of the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Left</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Left</em>' containment reference.
-   * @see #setLeft(DSL_Expression)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Plus_Left()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_Expression getLeft();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Plus#getLeft <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Left</em>' containment reference.
-   * @see #getLeft()
-   * @generated
-   */
-  void setLeft(DSL_Expression value);
-
-  /**
-   * Returns the value of the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Right</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Right</em>' containment reference.
-   * @see #setRight(DSL_Expression)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Plus_Right()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_Expression getRight();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Plus#getRight <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Right</em>' containment reference.
-   * @see #getRight()
-   * @generated
-   */
-  void setRight(DSL_Expression value);
-
-} // DSL_Expression_Plus
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Smaller.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Smaller.java
deleted file mode 100644
index a06fdd8..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Smaller.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL Expression Smaller</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Smaller#getLeft <em>Left</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Smaller#getRight <em>Right</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Smaller()
- * @model
- * @generated
- */
-public interface DSL_Expression_Smaller extends DSL_Expression
-{
-  /**
-   * Returns the value of the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Left</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Left</em>' containment reference.
-   * @see #setLeft(DSL_Expression)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Smaller_Left()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_Expression getLeft();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Smaller#getLeft <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Left</em>' containment reference.
-   * @see #getLeft()
-   * @generated
-   */
-  void setLeft(DSL_Expression value);
-
-  /**
-   * Returns the value of the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Right</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Right</em>' containment reference.
-   * @see #setRight(DSL_Expression)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Smaller_Right()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_Expression getRight();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Smaller#getRight <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Right</em>' containment reference.
-   * @see #getRight()
-   * @generated
-   */
-  void setRight(DSL_Expression value);
-
-} // DSL_Expression_Smaller
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Smaller_Equal.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Smaller_Equal.java
deleted file mode 100644
index 8994ac7..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Expression_Smaller_Equal.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL Expression Smaller Equal</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Smaller_Equal#getLeft <em>Left</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Smaller_Equal#getRight <em>Right</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Smaller_Equal()
- * @model
- * @generated
- */
-public interface DSL_Expression_Smaller_Equal extends DSL_Expression
-{
-  /**
-   * Returns the value of the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Left</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Left</em>' containment reference.
-   * @see #setLeft(DSL_Expression)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Smaller_Equal_Left()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_Expression getLeft();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Smaller_Equal#getLeft <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Left</em>' containment reference.
-   * @see #getLeft()
-   * @generated
-   */
-  void setLeft(DSL_Expression value);
-
-  /**
-   * Returns the value of the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Right</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Right</em>' containment reference.
-   * @see #setRight(DSL_Expression)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Expression_Smaller_Equal_Right()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_Expression getRight();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Smaller_Equal#getRight <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Right</em>' containment reference.
-   * @see #getRight()
-   * @generated
-   */
-  void setRight(DSL_Expression value);
-
-} // DSL_Expression_Smaller_Equal
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_IfDo.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_IfDo.java
deleted file mode 100644
index a5187c9..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_IfDo.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL If Do</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_IfDo#getCondition <em>Condition</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_IfDo#getActions <em>Actions</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_IfDo()
- * @model
- * @generated
- */
-public interface DSL_IfDo extends EObject
-{
-  /**
-   * Returns the value of the '<em><b>Condition</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Condition</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Condition</em>' containment reference.
-   * @see #setCondition(DSL_Expression)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_IfDo_Condition()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_Expression getCondition();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_IfDo#getCondition <em>Condition</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Condition</em>' containment reference.
-   * @see #getCondition()
-   * @generated
-   */
-  void setCondition(DSL_Expression value);
-
-  /**
-   * Returns the value of the '<em><b>Actions</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Actions</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Actions</em>' containment reference.
-   * @see #setActions(DSL_ListActions)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_IfDo_Actions()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_ListActions getActions();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_IfDo#getActions <em>Actions</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Actions</em>' containment reference.
-   * @see #getActions()
-   * @generated
-   */
-  void setActions(DSL_ListActions value);
-
-} // DSL_IfDo
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_ListActions.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_ListActions.java
deleted file mode 100644
index 44938d9..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_ListActions.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL List Actions</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ListActions#getActionList <em>Action List</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_ListActions()
- * @model
- * @generated
- */
-public interface DSL_ListActions extends EObject
-{
-  /**
-   * Returns the value of the '<em><b>Action List</b></em>' containment reference list.
-   * The list contents are of type {@link org.eclipse.sensinact.studio.language.sensinact.DSL_ResourceAction}.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Action List</em>' containment reference list isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Action List</em>' containment reference list.
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_ListActions_ActionList()
-   * @model containment="true"
-   * @generated
-   */
-  EList<DSL_ResourceAction> getActionList();
-
-} // DSL_ListActions
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_ListParam.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_ListParam.java
deleted file mode 100644
index 40e499c..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_ListParam.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL List Param</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ListParam#getParam <em>Param</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_ListParam()
- * @model
- * @generated
- */
-public interface DSL_ListParam extends EObject
-{
-  /**
-   * Returns the value of the '<em><b>Param</b></em>' containment reference list.
-   * The list contents are of type {@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression}.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Param</em>' containment reference list isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Param</em>' containment reference list.
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_ListParam_Param()
-   * @model containment="true"
-   * @generated
-   */
-  EList<DSL_Expression> getParam();
-
-} // DSL_ListParam
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Object_Boolean.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Object_Boolean.java
deleted file mode 100644
index 5435ebd..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Object_Boolean.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL Object Boolean</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Object_Boolean#isValue <em>Value</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Object_Boolean()
- * @model
- * @generated
- */
-public interface DSL_Object_Boolean extends DSL_Expression
-{
-  /**
-   * Returns the value of the '<em><b>Value</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Value</em>' attribute isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Value</em>' attribute.
-   * @see #setValue(boolean)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Object_Boolean_Value()
-   * @model
-   * @generated
-   */
-  boolean isValue();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Object_Boolean#isValue <em>Value</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Value</em>' attribute.
-   * @see #isValue()
-   * @generated
-   */
-  void setValue(boolean value);
-
-} // DSL_Object_Boolean
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Object_Number.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Object_Number.java
deleted file mode 100644
index ce83b93..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Object_Number.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-import java.math.BigDecimal;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL Object Number</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Object_Number#getValue <em>Value</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Object_Number()
- * @model
- * @generated
- */
-public interface DSL_Object_Number extends DSL_Expression
-{
-  /**
-   * Returns the value of the '<em><b>Value</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Value</em>' attribute isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Value</em>' attribute.
-   * @see #setValue(BigDecimal)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Object_Number_Value()
-   * @model
-   * @generated
-   */
-  BigDecimal getValue();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Object_Number#getValue <em>Value</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Value</em>' attribute.
-   * @see #getValue()
-   * @generated
-   */
-  void setValue(BigDecimal value);
-
-} // DSL_Object_Number
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Object_Ref.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Object_Ref.java
deleted file mode 100644
index bc39822..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Object_Ref.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL Object Ref</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Object_Ref#getValue <em>Value</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Object_Ref()
- * @model
- * @generated
- */
-public interface DSL_Object_Ref extends DSL_Expression
-{
-  /**
-   * Returns the value of the '<em><b>Value</b></em>' reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Value</em>' reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Value</em>' reference.
-   * @see #setValue(DSL_REF)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Object_Ref_Value()
-   * @model
-   * @generated
-   */
-  DSL_REF getValue();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Object_Ref#getValue <em>Value</em>}' reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Value</em>' reference.
-   * @see #getValue()
-   * @generated
-   */
-  void setValue(DSL_REF value);
-
-} // DSL_Object_Ref
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Object_String.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Object_String.java
deleted file mode 100644
index 3ef956d..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Object_String.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL Object String</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Object_String#getValue <em>Value</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Object_String()
- * @model
- * @generated
- */
-public interface DSL_Object_String extends DSL_Expression
-{
-  /**
-   * Returns the value of the '<em><b>Value</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Value</em>' attribute isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Value</em>' attribute.
-   * @see #setValue(String)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Object_String_Value()
-   * @model
-   * @generated
-   */
-  String getValue();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Object_String#getValue <em>Value</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Value</em>' attribute.
-   * @see #getValue()
-   * @generated
-   */
-  void setValue(String value);
-
-} // DSL_Object_String
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_On.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_On.java
deleted file mode 100644
index 29ea729..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_On.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL On</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_On#getTriggers <em>Triggers</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_On()
- * @model
- * @generated
- */
-public interface DSL_On extends EObject
-{
-  /**
-   * Returns the value of the '<em><b>Triggers</b></em>' containment reference list.
-   * The list contents are of type {@link org.eclipse.sensinact.studio.language.sensinact.DSL_REF_CONDITION}.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Triggers</em>' containment reference list isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Triggers</em>' containment reference list.
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_On_Triggers()
-   * @model containment="true"
-   * @generated
-   */
-  EList<DSL_REF_CONDITION> getTriggers();
-
-} // DSL_On
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_REF.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_REF.java
deleted file mode 100644
index fa2cee6..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_REF.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL REF</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_REF#getName <em>Name</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_REF()
- * @model
- * @generated
- */
-public interface DSL_REF extends EObject
-{
-  /**
-   * Returns the value of the '<em><b>Name</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Name</em>' attribute isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Name</em>' attribute.
-   * @see #setName(String)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_REF_Name()
-   * @model
-   * @generated
-   */
-  String getName();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_REF#getName <em>Name</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Name</em>' attribute.
-   * @see #getName()
-   * @generated
-   */
-  void setName(String value);
-
-} // DSL_REF
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_REF_CONDITION.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_REF_CONDITION.java
deleted file mode 100644
index 224edde..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_REF_CONDITION.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL REF CONDITION</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_REF_CONDITION#getRef <em>Ref</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_REF_CONDITION()
- * @model
- * @generated
- */
-public interface DSL_REF_CONDITION extends EObject
-{
-  /**
-   * Returns the value of the '<em><b>Ref</b></em>' reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Ref</em>' reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Ref</em>' reference.
-   * @see #setRef(DSL_REF)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_REF_CONDITION_Ref()
-   * @model
-   * @generated
-   */
-  DSL_REF getRef();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_REF_CONDITION#getRef <em>Ref</em>}' reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Ref</em>' reference.
-   * @see #getRef()
-   * @generated
-   */
-  void setRef(DSL_REF value);
-
-} // DSL_REF_CONDITION
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Resource.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Resource.java
deleted file mode 100644
index b5882cf..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_Resource.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL Resource</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Resource#getGatewayID <em>Gateway ID</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Resource#getDeviceID <em>Device ID</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Resource#getServiceID <em>Service ID</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Resource#getResourceID <em>Resource ID</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Resource()
- * @model
- * @generated
- */
-public interface DSL_Resource extends DSL_REF
-{
-  /**
-   * Returns the value of the '<em><b>Gateway ID</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Gateway ID</em>' attribute isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Gateway ID</em>' attribute.
-   * @see #setGatewayID(String)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Resource_GatewayID()
-   * @model
-   * @generated
-   */
-  String getGatewayID();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Resource#getGatewayID <em>Gateway ID</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Gateway ID</em>' attribute.
-   * @see #getGatewayID()
-   * @generated
-   */
-  void setGatewayID(String value);
-
-  /**
-   * Returns the value of the '<em><b>Device ID</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Device ID</em>' attribute isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Device ID</em>' attribute.
-   * @see #setDeviceID(String)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Resource_DeviceID()
-   * @model
-   * @generated
-   */
-  String getDeviceID();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Resource#getDeviceID <em>Device ID</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Device ID</em>' attribute.
-   * @see #getDeviceID()
-   * @generated
-   */
-  void setDeviceID(String value);
-
-  /**
-   * Returns the value of the '<em><b>Service ID</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Service ID</em>' attribute isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Service ID</em>' attribute.
-   * @see #setServiceID(String)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Resource_ServiceID()
-   * @model
-   * @generated
-   */
-  String getServiceID();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Resource#getServiceID <em>Service ID</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Service ID</em>' attribute.
-   * @see #getServiceID()
-   * @generated
-   */
-  void setServiceID(String value);
-
-  /**
-   * Returns the value of the '<em><b>Resource ID</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Resource ID</em>' attribute isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Resource ID</em>' attribute.
-   * @see #setResourceID(String)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_Resource_ResourceID()
-   * @model
-   * @generated
-   */
-  String getResourceID();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Resource#getResourceID <em>Resource ID</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Resource ID</em>' attribute.
-   * @see #getResourceID()
-   * @generated
-   */
-  void setResourceID(String value);
-
-} // DSL_Resource
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_ResourceAction.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_ResourceAction.java
deleted file mode 100644
index 7ecec6e..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_ResourceAction.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL Resource Action</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ResourceAction#getVariable <em>Variable</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ResourceAction#getRef <em>Ref</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ResourceAction#getActiontype <em>Actiontype</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ResourceAction#getListParam <em>List Param</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_ResourceAction()
- * @model
- * @generated
- */
-public interface DSL_ResourceAction extends EObject
-{
-  /**
-   * Returns the value of the '<em><b>Variable</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Variable</em>' attribute isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Variable</em>' attribute.
-   * @see #setVariable(String)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_ResourceAction_Variable()
-   * @model
-   * @generated
-   */
-  String getVariable();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ResourceAction#getVariable <em>Variable</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Variable</em>' attribute.
-   * @see #getVariable()
-   * @generated
-   */
-  void setVariable(String value);
-
-  /**
-   * Returns the value of the '<em><b>Ref</b></em>' reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Ref</em>' reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Ref</em>' reference.
-   * @see #setRef(DSL_REF)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_ResourceAction_Ref()
-   * @model
-   * @generated
-   */
-  DSL_REF getRef();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ResourceAction#getRef <em>Ref</em>}' reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Ref</em>' reference.
-   * @see #getRef()
-   * @generated
-   */
-  void setRef(DSL_REF value);
-
-  /**
-   * Returns the value of the '<em><b>Actiontype</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Actiontype</em>' attribute isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Actiontype</em>' attribute.
-   * @see #setActiontype(String)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_ResourceAction_Actiontype()
-   * @model
-   * @generated
-   */
-  String getActiontype();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ResourceAction#getActiontype <em>Actiontype</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Actiontype</em>' attribute.
-   * @see #getActiontype()
-   * @generated
-   */
-  void setActiontype(String value);
-
-  /**
-   * Returns the value of the '<em><b>List Param</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>List Param</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>List Param</em>' containment reference.
-   * @see #setListParam(DSL_ListParam)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_ResourceAction_ListParam()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_ListParam getListParam();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ResourceAction#getListParam <em>List Param</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>List Param</em>' containment reference.
-   * @see #getListParam()
-   * @generated
-   */
-  void setListParam(DSL_ListParam value);
-
-} // DSL_ResourceAction
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_SENSINACT.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_SENSINACT.java
deleted file mode 100644
index 019ad6f..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/DSL_SENSINACT.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DSL SENSINACT</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_SENSINACT#getResources <em>Resources</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_SENSINACT#getCep <em>Cep</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_SENSINACT#getOn <em>On</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.DSL_SENSINACT#getEca <em>Eca</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_SENSINACT()
- * @model
- * @generated
- */
-public interface DSL_SENSINACT extends EObject
-{
-  /**
-   * Returns the value of the '<em><b>Resources</b></em>' containment reference list.
-   * The list contents are of type {@link org.eclipse.sensinact.studio.language.sensinact.DSL_Resource}.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Resources</em>' containment reference list isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Resources</em>' containment reference list.
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_SENSINACT_Resources()
-   * @model containment="true"
-   * @generated
-   */
-  EList<DSL_Resource> getResources();
-
-  /**
-   * Returns the value of the '<em><b>Cep</b></em>' containment reference list.
-   * The list contents are of type {@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_STATEMENT}.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Cep</em>' containment reference list isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Cep</em>' containment reference list.
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_SENSINACT_Cep()
-   * @model containment="true"
-   * @generated
-   */
-  EList<DSL_CEP_STATEMENT> getCep();
-
-  /**
-   * Returns the value of the '<em><b>On</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>On</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>On</em>' containment reference.
-   * @see #setOn(DSL_On)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_SENSINACT_On()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_On getOn();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_SENSINACT#getOn <em>On</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>On</em>' containment reference.
-   * @see #getOn()
-   * @generated
-   */
-  void setOn(DSL_On value);
-
-  /**
-   * Returns the value of the '<em><b>Eca</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Eca</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Eca</em>' containment reference.
-   * @see #setEca(DSL_ECA_STATEMENT)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getDSL_SENSINACT_Eca()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_ECA_STATEMENT getEca();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_SENSINACT#getEca <em>Eca</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Eca</em>' containment reference.
-   * @see #getEca()
-   * @generated
-   */
-  void setEca(DSL_ECA_STATEMENT value);
-
-} // DSL_SENSINACT
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/Sensinact.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/Sensinact.java
deleted file mode 100644
index 9897672..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/Sensinact.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Sensinact</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.Sensinact#getEca <em>Eca</em>}</li>
- * </ul>
- *
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getSensinact()
- * @model
- * @generated
- */
-public interface Sensinact extends EObject
-{
-  /**
-   * Returns the value of the '<em><b>Eca</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Eca</em>' containment reference isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Eca</em>' containment reference.
-   * @see #setEca(DSL_SENSINACT)
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#getSensinact_Eca()
-   * @model containment="true"
-   * @generated
-   */
-  DSL_SENSINACT getEca();
-
-  /**
-   * Sets the value of the '{@link org.eclipse.sensinact.studio.language.sensinact.Sensinact#getEca <em>Eca</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Eca</em>' containment reference.
-   * @see #getEca()
-   * @generated
-   */
-  void setEca(DSL_SENSINACT value);
-
-} // Sensinact
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/SensinactFactory.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/SensinactFactory.java
deleted file mode 100644
index 750a2f4..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/SensinactFactory.java
+++ /dev/null
@@ -1,441 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-import org.eclipse.emf.ecore.EFactory;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage
- * @generated
- */
-public interface SensinactFactory extends EFactory
-{
-  /**
-   * The singleton instance of the factory.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  SensinactFactory eINSTANCE = org.eclipse.sensinact.studio.language.sensinact.impl.SensinactFactoryImpl.init();
-
-  /**
-   * Returns a new object of class '<em>Sensinact</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>Sensinact</em>'.
-   * @generated
-   */
-  Sensinact createSensinact();
-
-  /**
-   * Returns a new object of class '<em>DSL SENSINACT</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL SENSINACT</em>'.
-   * @generated
-   */
-  DSL_SENSINACT createDSL_SENSINACT();
-
-  /**
-   * Returns a new object of class '<em>DSL Resource</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL Resource</em>'.
-   * @generated
-   */
-  DSL_Resource createDSL_Resource();
-
-  /**
-   * Returns a new object of class '<em>DSL On</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL On</em>'.
-   * @generated
-   */
-  DSL_On createDSL_On();
-
-  /**
-   * Returns a new object of class '<em>DSL ECA STATEMENT</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL ECA STATEMENT</em>'.
-   * @generated
-   */
-  DSL_ECA_STATEMENT createDSL_ECA_STATEMENT();
-
-  /**
-   * Returns a new object of class '<em>DSL If Do</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL If Do</em>'.
-   * @generated
-   */
-  DSL_IfDo createDSL_IfDo();
-
-  /**
-   * Returns a new object of class '<em>DSL Else If Do</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL Else If Do</em>'.
-   * @generated
-   */
-  DSL_ElseIfDo createDSL_ElseIfDo();
-
-  /**
-   * Returns a new object of class '<em>DSL Else Do</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL Else Do</em>'.
-   * @generated
-   */
-  DSL_ElseDo createDSL_ElseDo();
-
-  /**
-   * Returns a new object of class '<em>DSL REF</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL REF</em>'.
-   * @generated
-   */
-  DSL_REF createDSL_REF();
-
-  /**
-   * Returns a new object of class '<em>DSL REF CONDITION</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL REF CONDITION</em>'.
-   * @generated
-   */
-  DSL_REF_CONDITION createDSL_REF_CONDITION();
-
-  /**
-   * Returns a new object of class '<em>DSL CEP STATEMENT</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL CEP STATEMENT</em>'.
-   * @generated
-   */
-  DSL_CEP_STATEMENT createDSL_CEP_STATEMENT();
-
-  /**
-   * Returns a new object of class '<em>DSL CEP AFTER</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL CEP AFTER</em>'.
-   * @generated
-   */
-  DSL_CEP_AFTER createDSL_CEP_AFTER();
-
-  /**
-   * Returns a new object of class '<em>DSL CEP BEFORE</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL CEP BEFORE</em>'.
-   * @generated
-   */
-  DSL_CEP_BEFORE createDSL_CEP_BEFORE();
-
-  /**
-   * Returns a new object of class '<em>DSL CEP COINCIDE</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL CEP COINCIDE</em>'.
-   * @generated
-   */
-  DSL_CEP_COINCIDE createDSL_CEP_COINCIDE();
-
-  /**
-   * Returns a new object of class '<em>DSL CEP MIN</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL CEP MIN</em>'.
-   * @generated
-   */
-  DSL_CEP_MIN createDSL_CEP_MIN();
-
-  /**
-   * Returns a new object of class '<em>DSL CEP MAX</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL CEP MAX</em>'.
-   * @generated
-   */
-  DSL_CEP_MAX createDSL_CEP_MAX();
-
-  /**
-   * Returns a new object of class '<em>DSL CEP AVG</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL CEP AVG</em>'.
-   * @generated
-   */
-  DSL_CEP_AVG createDSL_CEP_AVG();
-
-  /**
-   * Returns a new object of class '<em>DSL CEP SUM</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL CEP SUM</em>'.
-   * @generated
-   */
-  DSL_CEP_SUM createDSL_CEP_SUM();
-
-  /**
-   * Returns a new object of class '<em>DSL CEP COUNT</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL CEP COUNT</em>'.
-   * @generated
-   */
-  DSL_CEP_COUNT createDSL_CEP_COUNT();
-
-  /**
-   * Returns a new object of class '<em>DSL CEP DURATION</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL CEP DURATION</em>'.
-   * @generated
-   */
-  DSL_CEP_DURATION createDSL_CEP_DURATION();
-
-  /**
-   * Returns a new object of class '<em>DSL CEP DURATION MIN</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL CEP DURATION MIN</em>'.
-   * @generated
-   */
-  DSL_CEP_DURATION_MIN createDSL_CEP_DURATION_MIN();
-
-  /**
-   * Returns a new object of class '<em>DSL CEP DURATION SEC</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL CEP DURATION SEC</em>'.
-   * @generated
-   */
-  DSL_CEP_DURATION_SEC createDSL_CEP_DURATION_SEC();
-
-  /**
-   * Returns a new object of class '<em>DSL List Actions</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL List Actions</em>'.
-   * @generated
-   */
-  DSL_ListActions createDSL_ListActions();
-
-  /**
-   * Returns a new object of class '<em>DSL Resource Action</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL Resource Action</em>'.
-   * @generated
-   */
-  DSL_ResourceAction createDSL_ResourceAction();
-
-  /**
-   * Returns a new object of class '<em>DSL List Param</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL List Param</em>'.
-   * @generated
-   */
-  DSL_ListParam createDSL_ListParam();
-
-  /**
-   * Returns a new object of class '<em>DSL Expression</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL Expression</em>'.
-   * @generated
-   */
-  DSL_Expression createDSL_Expression();
-
-  /**
-   * Returns a new object of class '<em>DSL Expression Or</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL Expression Or</em>'.
-   * @generated
-   */
-  DSL_Expression_Or createDSL_Expression_Or();
-
-  /**
-   * Returns a new object of class '<em>DSL Expression And</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL Expression And</em>'.
-   * @generated
-   */
-  DSL_Expression_And createDSL_Expression_And();
-
-  /**
-   * Returns a new object of class '<em>DSL Expression Diff</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL Expression Diff</em>'.
-   * @generated
-   */
-  DSL_Expression_Diff createDSL_Expression_Diff();
-
-  /**
-   * Returns a new object of class '<em>DSL Expression Equal</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL Expression Equal</em>'.
-   * @generated
-   */
-  DSL_Expression_Equal createDSL_Expression_Equal();
-
-  /**
-   * Returns a new object of class '<em>DSL Expression Larger</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL Expression Larger</em>'.
-   * @generated
-   */
-  DSL_Expression_Larger createDSL_Expression_Larger();
-
-  /**
-   * Returns a new object of class '<em>DSL Expression Larger Equal</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL Expression Larger Equal</em>'.
-   * @generated
-   */
-  DSL_Expression_Larger_Equal createDSL_Expression_Larger_Equal();
-
-  /**
-   * Returns a new object of class '<em>DSL Expression Smaller</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL Expression Smaller</em>'.
-   * @generated
-   */
-  DSL_Expression_Smaller createDSL_Expression_Smaller();
-
-  /**
-   * Returns a new object of class '<em>DSL Expression Smaller Equal</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL Expression Smaller Equal</em>'.
-   * @generated
-   */
-  DSL_Expression_Smaller_Equal createDSL_Expression_Smaller_Equal();
-
-  /**
-   * Returns a new object of class '<em>DSL Expression Plus</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL Expression Plus</em>'.
-   * @generated
-   */
-  DSL_Expression_Plus createDSL_Expression_Plus();
-
-  /**
-   * Returns a new object of class '<em>DSL Expression Minus</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL Expression Minus</em>'.
-   * @generated
-   */
-  DSL_Expression_Minus createDSL_Expression_Minus();
-
-  /**
-   * Returns a new object of class '<em>DSL Expression Multiplication</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL Expression Multiplication</em>'.
-   * @generated
-   */
-  DSL_Expression_Multiplication createDSL_Expression_Multiplication();
-
-  /**
-   * Returns a new object of class '<em>DSL Expression Division</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL Expression Division</em>'.
-   * @generated
-   */
-  DSL_Expression_Division createDSL_Expression_Division();
-
-  /**
-   * Returns a new object of class '<em>DSL Expression Modulo</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL Expression Modulo</em>'.
-   * @generated
-   */
-  DSL_Expression_Modulo createDSL_Expression_Modulo();
-
-  /**
-   * Returns a new object of class '<em>DSL Object Number</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL Object Number</em>'.
-   * @generated
-   */
-  DSL_Object_Number createDSL_Object_Number();
-
-  /**
-   * Returns a new object of class '<em>DSL Object String</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL Object String</em>'.
-   * @generated
-   */
-  DSL_Object_String createDSL_Object_String();
-
-  /**
-   * Returns a new object of class '<em>DSL Object Boolean</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL Object Boolean</em>'.
-   * @generated
-   */
-  DSL_Object_Boolean createDSL_Object_Boolean();
-
-  /**
-   * Returns a new object of class '<em>DSL Object Ref</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL Object Ref</em>'.
-   * @generated
-   */
-  DSL_Object_Ref createDSL_Object_Ref();
-
-  /**
-   * Returns a new object of class '<em>DSL Expression Negate</em>'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return a new object of class '<em>DSL Expression Negate</em>'.
-   * @generated
-   */
-  DSL_Expression_Negate createDSL_Expression_Negate();
-
-  /**
-   * Returns the package supported by this factory.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the package supported by this factory.
-   * @generated
-   */
-  SensinactPackage getSensinactPackage();
-
-} //SensinactFactory
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/SensinactPackage.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/SensinactPackage.java
deleted file mode 100644
index b8e6324..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/SensinactPackage.java
+++ /dev/null
@@ -1,4126 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Package</b> for the model.
- * It contains accessors for the meta objects to represent
- * <ul>
- *   <li>each class,</li>
- *   <li>each feature of each class,</li>
- *   <li>each enum,</li>
- *   <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactFactory
- * @model kind="package"
- * @generated
- */
-public interface SensinactPackage extends EPackage
-{
-  /**
-   * The package name.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  String eNAME = "sensinact";
-
-  /**
-   * The package namespace URI.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  String eNS_URI = "http://www.eclipse.org/sensinact/studio/language/Sensinact";
-
-  /**
-   * The package namespace name.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  String eNS_PREFIX = "sensinact";
-
-  /**
-   * The singleton instance of the package.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  SensinactPackage eINSTANCE = org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl.init();
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.SensinactImpl <em>Sensinact</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getSensinact()
-   * @generated
-   */
-  int SENSINACT = 0;
-
-  /**
-   * The feature id for the '<em><b>Eca</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int SENSINACT__ECA = 0;
-
-  /**
-   * The number of structural features of the '<em>Sensinact</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int SENSINACT_FEATURE_COUNT = 1;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_SENSINACTImpl <em>DSL SENSINACT</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_SENSINACTImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_SENSINACT()
-   * @generated
-   */
-  int DSL_SENSINACT = 1;
-
-  /**
-   * The feature id for the '<em><b>Resources</b></em>' containment reference list.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_SENSINACT__RESOURCES = 0;
-
-  /**
-   * The feature id for the '<em><b>Cep</b></em>' containment reference list.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_SENSINACT__CEP = 1;
-
-  /**
-   * The feature id for the '<em><b>On</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_SENSINACT__ON = 2;
-
-  /**
-   * The feature id for the '<em><b>Eca</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_SENSINACT__ECA = 3;
-
-  /**
-   * The number of structural features of the '<em>DSL SENSINACT</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_SENSINACT_FEATURE_COUNT = 4;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_REFImpl <em>DSL REF</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_REFImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_REF()
-   * @generated
-   */
-  int DSL_REF = 8;
-
-  /**
-   * The feature id for the '<em><b>Name</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_REF__NAME = 0;
-
-  /**
-   * The number of structural features of the '<em>DSL REF</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_REF_FEATURE_COUNT = 1;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ResourceImpl <em>DSL Resource</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ResourceImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Resource()
-   * @generated
-   */
-  int DSL_RESOURCE = 2;
-
-  /**
-   * The feature id for the '<em><b>Name</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_RESOURCE__NAME = DSL_REF__NAME;
-
-  /**
-   * The feature id for the '<em><b>Gateway ID</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_RESOURCE__GATEWAY_ID = DSL_REF_FEATURE_COUNT + 0;
-
-  /**
-   * The feature id for the '<em><b>Device ID</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_RESOURCE__DEVICE_ID = DSL_REF_FEATURE_COUNT + 1;
-
-  /**
-   * The feature id for the '<em><b>Service ID</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_RESOURCE__SERVICE_ID = DSL_REF_FEATURE_COUNT + 2;
-
-  /**
-   * The feature id for the '<em><b>Resource ID</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_RESOURCE__RESOURCE_ID = DSL_REF_FEATURE_COUNT + 3;
-
-  /**
-   * The number of structural features of the '<em>DSL Resource</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_RESOURCE_FEATURE_COUNT = DSL_REF_FEATURE_COUNT + 4;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_OnImpl <em>DSL On</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_OnImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_On()
-   * @generated
-   */
-  int DSL_ON = 3;
-
-  /**
-   * The feature id for the '<em><b>Triggers</b></em>' containment reference list.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_ON__TRIGGERS = 0;
-
-  /**
-   * The number of structural features of the '<em>DSL On</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_ON_FEATURE_COUNT = 1;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ECA_STATEMENTImpl <em>DSL ECA STATEMENT</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ECA_STATEMENTImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_ECA_STATEMENT()
-   * @generated
-   */
-  int DSL_ECA_STATEMENT = 4;
-
-  /**
-   * The feature id for the '<em><b>Ifdo</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_ECA_STATEMENT__IFDO = 0;
-
-  /**
-   * The feature id for the '<em><b>Else Ifdo</b></em>' containment reference list.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_ECA_STATEMENT__ELSE_IFDO = 1;
-
-  /**
-   * The feature id for the '<em><b>Elsedo</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_ECA_STATEMENT__ELSEDO = 2;
-
-  /**
-   * The number of structural features of the '<em>DSL ECA STATEMENT</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_ECA_STATEMENT_FEATURE_COUNT = 3;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_IfDoImpl <em>DSL If Do</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_IfDoImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_IfDo()
-   * @generated
-   */
-  int DSL_IF_DO = 5;
-
-  /**
-   * The feature id for the '<em><b>Condition</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_IF_DO__CONDITION = 0;
-
-  /**
-   * The feature id for the '<em><b>Actions</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_IF_DO__ACTIONS = 1;
-
-  /**
-   * The number of structural features of the '<em>DSL If Do</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_IF_DO_FEATURE_COUNT = 2;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ElseIfDoImpl <em>DSL Else If Do</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ElseIfDoImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_ElseIfDo()
-   * @generated
-   */
-  int DSL_ELSE_IF_DO = 6;
-
-  /**
-   * The feature id for the '<em><b>Condition</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_ELSE_IF_DO__CONDITION = 0;
-
-  /**
-   * The feature id for the '<em><b>Actions</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_ELSE_IF_DO__ACTIONS = 1;
-
-  /**
-   * The number of structural features of the '<em>DSL Else If Do</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_ELSE_IF_DO_FEATURE_COUNT = 2;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ElseDoImpl <em>DSL Else Do</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ElseDoImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_ElseDo()
-   * @generated
-   */
-  int DSL_ELSE_DO = 7;
-
-  /**
-   * The feature id for the '<em><b>Actions</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_ELSE_DO__ACTIONS = 0;
-
-  /**
-   * The number of structural features of the '<em>DSL Else Do</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_ELSE_DO_FEATURE_COUNT = 1;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_REF_CONDITIONImpl <em>DSL REF CONDITION</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_REF_CONDITIONImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_REF_CONDITION()
-   * @generated
-   */
-  int DSL_REF_CONDITION = 9;
-
-  /**
-   * The feature id for the '<em><b>Ref</b></em>' reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_REF_CONDITION__REF = 0;
-
-  /**
-   * The number of structural features of the '<em>DSL REF CONDITION</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_REF_CONDITION_FEATURE_COUNT = 1;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_STATEMENTImpl <em>DSL CEP STATEMENT</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_STATEMENTImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_CEP_STATEMENT()
-   * @generated
-   */
-  int DSL_CEP_STATEMENT = 10;
-
-  /**
-   * The feature id for the '<em><b>Name</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_STATEMENT__NAME = DSL_REF__NAME;
-
-  /**
-   * The feature id for the '<em><b>Operation</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_STATEMENT__OPERATION = DSL_REF_FEATURE_COUNT + 0;
-
-  /**
-   * The number of structural features of the '<em>DSL CEP STATEMENT</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_STATEMENT_FEATURE_COUNT = DSL_REF_FEATURE_COUNT + 1;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_AFTERImpl <em>DSL CEP AFTER</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_AFTERImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_CEP_AFTER()
-   * @generated
-   */
-  int DSL_CEP_AFTER = 11;
-
-  /**
-   * The feature id for the '<em><b>Ref1</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_AFTER__REF1 = 0;
-
-  /**
-   * The feature id for the '<em><b>Ref2</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_AFTER__REF2 = 1;
-
-  /**
-   * The feature id for the '<em><b>Start</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_AFTER__START = 2;
-
-  /**
-   * The feature id for the '<em><b>End</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_AFTER__END = 3;
-
-  /**
-   * The number of structural features of the '<em>DSL CEP AFTER</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_AFTER_FEATURE_COUNT = 4;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_BEFOREImpl <em>DSL CEP BEFORE</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_BEFOREImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_CEP_BEFORE()
-   * @generated
-   */
-  int DSL_CEP_BEFORE = 12;
-
-  /**
-   * The feature id for the '<em><b>Ref1</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_BEFORE__REF1 = 0;
-
-  /**
-   * The feature id for the '<em><b>Ref2</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_BEFORE__REF2 = 1;
-
-  /**
-   * The feature id for the '<em><b>Start</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_BEFORE__START = 2;
-
-  /**
-   * The feature id for the '<em><b>End</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_BEFORE__END = 3;
-
-  /**
-   * The number of structural features of the '<em>DSL CEP BEFORE</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_BEFORE_FEATURE_COUNT = 4;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_COINCIDEImpl <em>DSL CEP COINCIDE</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_COINCIDEImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_CEP_COINCIDE()
-   * @generated
-   */
-  int DSL_CEP_COINCIDE = 13;
-
-  /**
-   * The feature id for the '<em><b>Ref1</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_COINCIDE__REF1 = 0;
-
-  /**
-   * The feature id for the '<em><b>Ref2</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_COINCIDE__REF2 = 1;
-
-  /**
-   * The feature id for the '<em><b>Window</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_COINCIDE__WINDOW = 2;
-
-  /**
-   * The number of structural features of the '<em>DSL CEP COINCIDE</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_COINCIDE_FEATURE_COUNT = 3;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_MINImpl <em>DSL CEP MIN</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_MINImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_CEP_MIN()
-   * @generated
-   */
-  int DSL_CEP_MIN = 14;
-
-  /**
-   * The feature id for the '<em><b>Ref</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_MIN__REF = 0;
-
-  /**
-   * The feature id for the '<em><b>Window</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_MIN__WINDOW = 1;
-
-  /**
-   * The number of structural features of the '<em>DSL CEP MIN</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_MIN_FEATURE_COUNT = 2;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_MAXImpl <em>DSL CEP MAX</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_MAXImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_CEP_MAX()
-   * @generated
-   */
-  int DSL_CEP_MAX = 15;
-
-  /**
-   * The feature id for the '<em><b>Ref</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_MAX__REF = 0;
-
-  /**
-   * The feature id for the '<em><b>Window</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_MAX__WINDOW = 1;
-
-  /**
-   * The number of structural features of the '<em>DSL CEP MAX</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_MAX_FEATURE_COUNT = 2;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_AVGImpl <em>DSL CEP AVG</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_AVGImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_CEP_AVG()
-   * @generated
-   */
-  int DSL_CEP_AVG = 16;
-
-  /**
-   * The feature id for the '<em><b>Ref</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_AVG__REF = 0;
-
-  /**
-   * The feature id for the '<em><b>Window</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_AVG__WINDOW = 1;
-
-  /**
-   * The number of structural features of the '<em>DSL CEP AVG</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_AVG_FEATURE_COUNT = 2;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_SUMImpl <em>DSL CEP SUM</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_SUMImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_CEP_SUM()
-   * @generated
-   */
-  int DSL_CEP_SUM = 17;
-
-  /**
-   * The feature id for the '<em><b>Ref</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_SUM__REF = 0;
-
-  /**
-   * The feature id for the '<em><b>Window</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_SUM__WINDOW = 1;
-
-  /**
-   * The number of structural features of the '<em>DSL CEP SUM</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_SUM_FEATURE_COUNT = 2;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_COUNTImpl <em>DSL CEP COUNT</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_COUNTImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_CEP_COUNT()
-   * @generated
-   */
-  int DSL_CEP_COUNT = 18;
-
-  /**
-   * The feature id for the '<em><b>Ref</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_COUNT__REF = 0;
-
-  /**
-   * The feature id for the '<em><b>Window</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_COUNT__WINDOW = 1;
-
-  /**
-   * The number of structural features of the '<em>DSL CEP COUNT</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_COUNT_FEATURE_COUNT = 2;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_DURATIONImpl <em>DSL CEP DURATION</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_DURATIONImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_CEP_DURATION()
-   * @generated
-   */
-  int DSL_CEP_DURATION = 19;
-
-  /**
-   * The feature id for the '<em><b>Units</b></em>' containment reference list.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_DURATION__UNITS = 0;
-
-  /**
-   * The number of structural features of the '<em>DSL CEP DURATION</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_DURATION_FEATURE_COUNT = 1;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_DURATION_MINImpl <em>DSL CEP DURATION MIN</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_DURATION_MINImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_CEP_DURATION_MIN()
-   * @generated
-   */
-  int DSL_CEP_DURATION_MIN = 20;
-
-  /**
-   * The feature id for the '<em><b>Min</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_DURATION_MIN__MIN = 0;
-
-  /**
-   * The number of structural features of the '<em>DSL CEP DURATION MIN</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_DURATION_MIN_FEATURE_COUNT = 1;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_DURATION_SECImpl <em>DSL CEP DURATION SEC</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_DURATION_SECImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_CEP_DURATION_SEC()
-   * @generated
-   */
-  int DSL_CEP_DURATION_SEC = 21;
-
-  /**
-   * The feature id for the '<em><b>Sec</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_DURATION_SEC__SEC = 0;
-
-  /**
-   * The number of structural features of the '<em>DSL CEP DURATION SEC</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_CEP_DURATION_SEC_FEATURE_COUNT = 1;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ListActionsImpl <em>DSL List Actions</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ListActionsImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_ListActions()
-   * @generated
-   */
-  int DSL_LIST_ACTIONS = 22;
-
-  /**
-   * The feature id for the '<em><b>Action List</b></em>' containment reference list.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_LIST_ACTIONS__ACTION_LIST = 0;
-
-  /**
-   * The number of structural features of the '<em>DSL List Actions</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_LIST_ACTIONS_FEATURE_COUNT = 1;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ResourceActionImpl <em>DSL Resource Action</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ResourceActionImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_ResourceAction()
-   * @generated
-   */
-  int DSL_RESOURCE_ACTION = 23;
-
-  /**
-   * The feature id for the '<em><b>Variable</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_RESOURCE_ACTION__VARIABLE = 0;
-
-  /**
-   * The feature id for the '<em><b>Ref</b></em>' reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_RESOURCE_ACTION__REF = 1;
-
-  /**
-   * The feature id for the '<em><b>Actiontype</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_RESOURCE_ACTION__ACTIONTYPE = 2;
-
-  /**
-   * The feature id for the '<em><b>List Param</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_RESOURCE_ACTION__LIST_PARAM = 3;
-
-  /**
-   * The number of structural features of the '<em>DSL Resource Action</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_RESOURCE_ACTION_FEATURE_COUNT = 4;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ListParamImpl <em>DSL List Param</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ListParamImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_ListParam()
-   * @generated
-   */
-  int DSL_LIST_PARAM = 24;
-
-  /**
-   * The feature id for the '<em><b>Param</b></em>' containment reference list.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_LIST_PARAM__PARAM = 0;
-
-  /**
-   * The number of structural features of the '<em>DSL List Param</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_LIST_PARAM_FEATURE_COUNT = 1;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ExpressionImpl <em>DSL Expression</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ExpressionImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Expression()
-   * @generated
-   */
-  int DSL_EXPRESSION = 25;
-
-  /**
-   * The number of structural features of the '<em>DSL Expression</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_FEATURE_COUNT = 0;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_OrImpl <em>DSL Expression Or</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_OrImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Expression_Or()
-   * @generated
-   */
-  int DSL_EXPRESSION_OR = 26;
-
-  /**
-   * The feature id for the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_OR__LEFT = DSL_EXPRESSION_FEATURE_COUNT + 0;
-
-  /**
-   * The feature id for the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_OR__RIGHT = DSL_EXPRESSION_FEATURE_COUNT + 1;
-
-  /**
-   * The number of structural features of the '<em>DSL Expression Or</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_OR_FEATURE_COUNT = DSL_EXPRESSION_FEATURE_COUNT + 2;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_AndImpl <em>DSL Expression And</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_AndImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Expression_And()
-   * @generated
-   */
-  int DSL_EXPRESSION_AND = 27;
-
-  /**
-   * The feature id for the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_AND__LEFT = DSL_EXPRESSION_FEATURE_COUNT + 0;
-
-  /**
-   * The feature id for the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_AND__RIGHT = DSL_EXPRESSION_FEATURE_COUNT + 1;
-
-  /**
-   * The number of structural features of the '<em>DSL Expression And</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_AND_FEATURE_COUNT = DSL_EXPRESSION_FEATURE_COUNT + 2;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_DiffImpl <em>DSL Expression Diff</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_DiffImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Expression_Diff()
-   * @generated
-   */
-  int DSL_EXPRESSION_DIFF = 28;
-
-  /**
-   * The feature id for the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_DIFF__LEFT = DSL_EXPRESSION_FEATURE_COUNT + 0;
-
-  /**
-   * The feature id for the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_DIFF__RIGHT = DSL_EXPRESSION_FEATURE_COUNT + 1;
-
-  /**
-   * The number of structural features of the '<em>DSL Expression Diff</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_DIFF_FEATURE_COUNT = DSL_EXPRESSION_FEATURE_COUNT + 2;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_EqualImpl <em>DSL Expression Equal</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_EqualImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Expression_Equal()
-   * @generated
-   */
-  int DSL_EXPRESSION_EQUAL = 29;
-
-  /**
-   * The feature id for the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_EQUAL__LEFT = DSL_EXPRESSION_FEATURE_COUNT + 0;
-
-  /**
-   * The feature id for the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_EQUAL__RIGHT = DSL_EXPRESSION_FEATURE_COUNT + 1;
-
-  /**
-   * The number of structural features of the '<em>DSL Expression Equal</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_EQUAL_FEATURE_COUNT = DSL_EXPRESSION_FEATURE_COUNT + 2;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_LargerImpl <em>DSL Expression Larger</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_LargerImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Expression_Larger()
-   * @generated
-   */
-  int DSL_EXPRESSION_LARGER = 30;
-
-  /**
-   * The feature id for the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_LARGER__LEFT = DSL_EXPRESSION_FEATURE_COUNT + 0;
-
-  /**
-   * The feature id for the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_LARGER__RIGHT = DSL_EXPRESSION_FEATURE_COUNT + 1;
-
-  /**
-   * The number of structural features of the '<em>DSL Expression Larger</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_LARGER_FEATURE_COUNT = DSL_EXPRESSION_FEATURE_COUNT + 2;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_Larger_EqualImpl <em>DSL Expression Larger Equal</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_Larger_EqualImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Expression_Larger_Equal()
-   * @generated
-   */
-  int DSL_EXPRESSION_LARGER_EQUAL = 31;
-
-  /**
-   * The feature id for the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_LARGER_EQUAL__LEFT = DSL_EXPRESSION_FEATURE_COUNT + 0;
-
-  /**
-   * The feature id for the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_LARGER_EQUAL__RIGHT = DSL_EXPRESSION_FEATURE_COUNT + 1;
-
-  /**
-   * The number of structural features of the '<em>DSL Expression Larger Equal</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_LARGER_EQUAL_FEATURE_COUNT = DSL_EXPRESSION_FEATURE_COUNT + 2;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_SmallerImpl <em>DSL Expression Smaller</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_SmallerImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Expression_Smaller()
-   * @generated
-   */
-  int DSL_EXPRESSION_SMALLER = 32;
-
-  /**
-   * The feature id for the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_SMALLER__LEFT = DSL_EXPRESSION_FEATURE_COUNT + 0;
-
-  /**
-   * The feature id for the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_SMALLER__RIGHT = DSL_EXPRESSION_FEATURE_COUNT + 1;
-
-  /**
-   * The number of structural features of the '<em>DSL Expression Smaller</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_SMALLER_FEATURE_COUNT = DSL_EXPRESSION_FEATURE_COUNT + 2;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_Smaller_EqualImpl <em>DSL Expression Smaller Equal</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_Smaller_EqualImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Expression_Smaller_Equal()
-   * @generated
-   */
-  int DSL_EXPRESSION_SMALLER_EQUAL = 33;
-
-  /**
-   * The feature id for the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_SMALLER_EQUAL__LEFT = DSL_EXPRESSION_FEATURE_COUNT + 0;
-
-  /**
-   * The feature id for the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_SMALLER_EQUAL__RIGHT = DSL_EXPRESSION_FEATURE_COUNT + 1;
-
-  /**
-   * The number of structural features of the '<em>DSL Expression Smaller Equal</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_SMALLER_EQUAL_FEATURE_COUNT = DSL_EXPRESSION_FEATURE_COUNT + 2;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_PlusImpl <em>DSL Expression Plus</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_PlusImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Expression_Plus()
-   * @generated
-   */
-  int DSL_EXPRESSION_PLUS = 34;
-
-  /**
-   * The feature id for the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_PLUS__LEFT = DSL_EXPRESSION_FEATURE_COUNT + 0;
-
-  /**
-   * The feature id for the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_PLUS__RIGHT = DSL_EXPRESSION_FEATURE_COUNT + 1;
-
-  /**
-   * The number of structural features of the '<em>DSL Expression Plus</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_PLUS_FEATURE_COUNT = DSL_EXPRESSION_FEATURE_COUNT + 2;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_MinusImpl <em>DSL Expression Minus</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_MinusImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Expression_Minus()
-   * @generated
-   */
-  int DSL_EXPRESSION_MINUS = 35;
-
-  /**
-   * The feature id for the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_MINUS__LEFT = DSL_EXPRESSION_FEATURE_COUNT + 0;
-
-  /**
-   * The feature id for the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_MINUS__RIGHT = DSL_EXPRESSION_FEATURE_COUNT + 1;
-
-  /**
-   * The number of structural features of the '<em>DSL Expression Minus</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_MINUS_FEATURE_COUNT = DSL_EXPRESSION_FEATURE_COUNT + 2;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_MultiplicationImpl <em>DSL Expression Multiplication</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_MultiplicationImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Expression_Multiplication()
-   * @generated
-   */
-  int DSL_EXPRESSION_MULTIPLICATION = 36;
-
-  /**
-   * The feature id for the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_MULTIPLICATION__LEFT = DSL_EXPRESSION_FEATURE_COUNT + 0;
-
-  /**
-   * The feature id for the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_MULTIPLICATION__RIGHT = DSL_EXPRESSION_FEATURE_COUNT + 1;
-
-  /**
-   * The number of structural features of the '<em>DSL Expression Multiplication</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_MULTIPLICATION_FEATURE_COUNT = DSL_EXPRESSION_FEATURE_COUNT + 2;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_DivisionImpl <em>DSL Expression Division</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_DivisionImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Expression_Division()
-   * @generated
-   */
-  int DSL_EXPRESSION_DIVISION = 37;
-
-  /**
-   * The feature id for the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_DIVISION__LEFT = DSL_EXPRESSION_FEATURE_COUNT + 0;
-
-  /**
-   * The feature id for the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_DIVISION__RIGHT = DSL_EXPRESSION_FEATURE_COUNT + 1;
-
-  /**
-   * The number of structural features of the '<em>DSL Expression Division</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_DIVISION_FEATURE_COUNT = DSL_EXPRESSION_FEATURE_COUNT + 2;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_ModuloImpl <em>DSL Expression Modulo</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_ModuloImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Expression_Modulo()
-   * @generated
-   */
-  int DSL_EXPRESSION_MODULO = 38;
-
-  /**
-   * The feature id for the '<em><b>Left</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_MODULO__LEFT = DSL_EXPRESSION_FEATURE_COUNT + 0;
-
-  /**
-   * The feature id for the '<em><b>Right</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_MODULO__RIGHT = DSL_EXPRESSION_FEATURE_COUNT + 1;
-
-  /**
-   * The number of structural features of the '<em>DSL Expression Modulo</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_MODULO_FEATURE_COUNT = DSL_EXPRESSION_FEATURE_COUNT + 2;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Object_NumberImpl <em>DSL Object Number</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Object_NumberImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Object_Number()
-   * @generated
-   */
-  int DSL_OBJECT_NUMBER = 39;
-
-  /**
-   * The feature id for the '<em><b>Value</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_OBJECT_NUMBER__VALUE = DSL_EXPRESSION_FEATURE_COUNT + 0;
-
-  /**
-   * The number of structural features of the '<em>DSL Object Number</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_OBJECT_NUMBER_FEATURE_COUNT = DSL_EXPRESSION_FEATURE_COUNT + 1;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Object_StringImpl <em>DSL Object String</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Object_StringImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Object_String()
-   * @generated
-   */
-  int DSL_OBJECT_STRING = 40;
-
-  /**
-   * The feature id for the '<em><b>Value</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_OBJECT_STRING__VALUE = DSL_EXPRESSION_FEATURE_COUNT + 0;
-
-  /**
-   * The number of structural features of the '<em>DSL Object String</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_OBJECT_STRING_FEATURE_COUNT = DSL_EXPRESSION_FEATURE_COUNT + 1;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Object_BooleanImpl <em>DSL Object Boolean</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Object_BooleanImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Object_Boolean()
-   * @generated
-   */
-  int DSL_OBJECT_BOOLEAN = 41;
-
-  /**
-   * The feature id for the '<em><b>Value</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_OBJECT_BOOLEAN__VALUE = DSL_EXPRESSION_FEATURE_COUNT + 0;
-
-  /**
-   * The number of structural features of the '<em>DSL Object Boolean</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_OBJECT_BOOLEAN_FEATURE_COUNT = DSL_EXPRESSION_FEATURE_COUNT + 1;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Object_RefImpl <em>DSL Object Ref</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Object_RefImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Object_Ref()
-   * @generated
-   */
-  int DSL_OBJECT_REF = 42;
-
-  /**
-   * The feature id for the '<em><b>Value</b></em>' reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_OBJECT_REF__VALUE = DSL_EXPRESSION_FEATURE_COUNT + 0;
-
-  /**
-   * The number of structural features of the '<em>DSL Object Ref</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_OBJECT_REF_FEATURE_COUNT = DSL_EXPRESSION_FEATURE_COUNT + 1;
-
-  /**
-   * The meta object id for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_NegateImpl <em>DSL Expression Negate</em>}' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_NegateImpl
-   * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Expression_Negate()
-   * @generated
-   */
-  int DSL_EXPRESSION_NEGATE = 43;
-
-  /**
-   * The feature id for the '<em><b>Exp</b></em>' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_NEGATE__EXP = DSL_EXPRESSION_FEATURE_COUNT + 0;
-
-  /**
-   * The number of structural features of the '<em>DSL Expression Negate</em>' class.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
-  int DSL_EXPRESSION_NEGATE_FEATURE_COUNT = DSL_EXPRESSION_FEATURE_COUNT + 1;
-
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.Sensinact <em>Sensinact</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>Sensinact</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.Sensinact
-   * @generated
-   */
-  EClass getSensinact();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.Sensinact#getEca <em>Eca</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Eca</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.Sensinact#getEca()
-   * @see #getSensinact()
-   * @generated
-   */
-  EReference getSensinact_Eca();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_SENSINACT <em>DSL SENSINACT</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL SENSINACT</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_SENSINACT
-   * @generated
-   */
-  EClass getDSL_SENSINACT();
-
-  /**
-   * Returns the meta object for the containment reference list '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_SENSINACT#getResources <em>Resources</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference list '<em>Resources</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_SENSINACT#getResources()
-   * @see #getDSL_SENSINACT()
-   * @generated
-   */
-  EReference getDSL_SENSINACT_Resources();
-
-  /**
-   * Returns the meta object for the containment reference list '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_SENSINACT#getCep <em>Cep</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference list '<em>Cep</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_SENSINACT#getCep()
-   * @see #getDSL_SENSINACT()
-   * @generated
-   */
-  EReference getDSL_SENSINACT_Cep();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_SENSINACT#getOn <em>On</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>On</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_SENSINACT#getOn()
-   * @see #getDSL_SENSINACT()
-   * @generated
-   */
-  EReference getDSL_SENSINACT_On();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_SENSINACT#getEca <em>Eca</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Eca</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_SENSINACT#getEca()
-   * @see #getDSL_SENSINACT()
-   * @generated
-   */
-  EReference getDSL_SENSINACT_Eca();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Resource <em>DSL Resource</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL Resource</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Resource
-   * @generated
-   */
-  EClass getDSL_Resource();
-
-  /**
-   * Returns the meta object for the attribute '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Resource#getGatewayID <em>Gateway ID</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Gateway ID</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Resource#getGatewayID()
-   * @see #getDSL_Resource()
-   * @generated
-   */
-  EAttribute getDSL_Resource_GatewayID();
-
-  /**
-   * Returns the meta object for the attribute '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Resource#getDeviceID <em>Device ID</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Device ID</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Resource#getDeviceID()
-   * @see #getDSL_Resource()
-   * @generated
-   */
-  EAttribute getDSL_Resource_DeviceID();
-
-  /**
-   * Returns the meta object for the attribute '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Resource#getServiceID <em>Service ID</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Service ID</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Resource#getServiceID()
-   * @see #getDSL_Resource()
-   * @generated
-   */
-  EAttribute getDSL_Resource_ServiceID();
-
-  /**
-   * Returns the meta object for the attribute '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Resource#getResourceID <em>Resource ID</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Resource ID</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Resource#getResourceID()
-   * @see #getDSL_Resource()
-   * @generated
-   */
-  EAttribute getDSL_Resource_ResourceID();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_On <em>DSL On</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL On</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_On
-   * @generated
-   */
-  EClass getDSL_On();
-
-  /**
-   * Returns the meta object for the containment reference list '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_On#getTriggers <em>Triggers</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference list '<em>Triggers</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_On#getTriggers()
-   * @see #getDSL_On()
-   * @generated
-   */
-  EReference getDSL_On_Triggers();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ECA_STATEMENT <em>DSL ECA STATEMENT</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL ECA STATEMENT</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_ECA_STATEMENT
-   * @generated
-   */
-  EClass getDSL_ECA_STATEMENT();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ECA_STATEMENT#getIfdo <em>Ifdo</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Ifdo</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_ECA_STATEMENT#getIfdo()
-   * @see #getDSL_ECA_STATEMENT()
-   * @generated
-   */
-  EReference getDSL_ECA_STATEMENT_Ifdo();
-
-  /**
-   * Returns the meta object for the containment reference list '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ECA_STATEMENT#getElseIfdo <em>Else Ifdo</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference list '<em>Else Ifdo</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_ECA_STATEMENT#getElseIfdo()
-   * @see #getDSL_ECA_STATEMENT()
-   * @generated
-   */
-  EReference getDSL_ECA_STATEMENT_ElseIfdo();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ECA_STATEMENT#getElsedo <em>Elsedo</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Elsedo</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_ECA_STATEMENT#getElsedo()
-   * @see #getDSL_ECA_STATEMENT()
-   * @generated
-   */
-  EReference getDSL_ECA_STATEMENT_Elsedo();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_IfDo <em>DSL If Do</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL If Do</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_IfDo
-   * @generated
-   */
-  EClass getDSL_IfDo();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_IfDo#getCondition <em>Condition</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Condition</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_IfDo#getCondition()
-   * @see #getDSL_IfDo()
-   * @generated
-   */
-  EReference getDSL_IfDo_Condition();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_IfDo#getActions <em>Actions</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Actions</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_IfDo#getActions()
-   * @see #getDSL_IfDo()
-   * @generated
-   */
-  EReference getDSL_IfDo_Actions();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ElseIfDo <em>DSL Else If Do</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL Else If Do</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_ElseIfDo
-   * @generated
-   */
-  EClass getDSL_ElseIfDo();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ElseIfDo#getCondition <em>Condition</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Condition</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_ElseIfDo#getCondition()
-   * @see #getDSL_ElseIfDo()
-   * @generated
-   */
-  EReference getDSL_ElseIfDo_Condition();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ElseIfDo#getActions <em>Actions</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Actions</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_ElseIfDo#getActions()
-   * @see #getDSL_ElseIfDo()
-   * @generated
-   */
-  EReference getDSL_ElseIfDo_Actions();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ElseDo <em>DSL Else Do</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL Else Do</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_ElseDo
-   * @generated
-   */
-  EClass getDSL_ElseDo();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ElseDo#getActions <em>Actions</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Actions</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_ElseDo#getActions()
-   * @see #getDSL_ElseDo()
-   * @generated
-   */
-  EReference getDSL_ElseDo_Actions();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_REF <em>DSL REF</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL REF</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_REF
-   * @generated
-   */
-  EClass getDSL_REF();
-
-  /**
-   * Returns the meta object for the attribute '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_REF#getName <em>Name</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Name</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_REF#getName()
-   * @see #getDSL_REF()
-   * @generated
-   */
-  EAttribute getDSL_REF_Name();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_REF_CONDITION <em>DSL REF CONDITION</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL REF CONDITION</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_REF_CONDITION
-   * @generated
-   */
-  EClass getDSL_REF_CONDITION();
-
-  /**
-   * Returns the meta object for the reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_REF_CONDITION#getRef <em>Ref</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the reference '<em>Ref</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_REF_CONDITION#getRef()
-   * @see #getDSL_REF_CONDITION()
-   * @generated
-   */
-  EReference getDSL_REF_CONDITION_Ref();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_STATEMENT <em>DSL CEP STATEMENT</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL CEP STATEMENT</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_STATEMENT
-   * @generated
-   */
-  EClass getDSL_CEP_STATEMENT();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_STATEMENT#getOperation <em>Operation</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Operation</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_STATEMENT#getOperation()
-   * @see #getDSL_CEP_STATEMENT()
-   * @generated
-   */
-  EReference getDSL_CEP_STATEMENT_Operation();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AFTER <em>DSL CEP AFTER</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL CEP AFTER</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AFTER
-   * @generated
-   */
-  EClass getDSL_CEP_AFTER();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AFTER#getRef1 <em>Ref1</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Ref1</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AFTER#getRef1()
-   * @see #getDSL_CEP_AFTER()
-   * @generated
-   */
-  EReference getDSL_CEP_AFTER_Ref1();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AFTER#getRef2 <em>Ref2</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Ref2</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AFTER#getRef2()
-   * @see #getDSL_CEP_AFTER()
-   * @generated
-   */
-  EReference getDSL_CEP_AFTER_Ref2();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AFTER#getStart <em>Start</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Start</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AFTER#getStart()
-   * @see #getDSL_CEP_AFTER()
-   * @generated
-   */
-  EReference getDSL_CEP_AFTER_Start();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AFTER#getEnd <em>End</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>End</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AFTER#getEnd()
-   * @see #getDSL_CEP_AFTER()
-   * @generated
-   */
-  EReference getDSL_CEP_AFTER_End();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_BEFORE <em>DSL CEP BEFORE</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL CEP BEFORE</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_BEFORE
-   * @generated
-   */
-  EClass getDSL_CEP_BEFORE();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_BEFORE#getRef1 <em>Ref1</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Ref1</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_BEFORE#getRef1()
-   * @see #getDSL_CEP_BEFORE()
-   * @generated
-   */
-  EReference getDSL_CEP_BEFORE_Ref1();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_BEFORE#getRef2 <em>Ref2</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Ref2</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_BEFORE#getRef2()
-   * @see #getDSL_CEP_BEFORE()
-   * @generated
-   */
-  EReference getDSL_CEP_BEFORE_Ref2();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_BEFORE#getStart <em>Start</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Start</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_BEFORE#getStart()
-   * @see #getDSL_CEP_BEFORE()
-   * @generated
-   */
-  EReference getDSL_CEP_BEFORE_Start();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_BEFORE#getEnd <em>End</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>End</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_BEFORE#getEnd()
-   * @see #getDSL_CEP_BEFORE()
-   * @generated
-   */
-  EReference getDSL_CEP_BEFORE_End();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COINCIDE <em>DSL CEP COINCIDE</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL CEP COINCIDE</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COINCIDE
-   * @generated
-   */
-  EClass getDSL_CEP_COINCIDE();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COINCIDE#getRef1 <em>Ref1</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Ref1</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COINCIDE#getRef1()
-   * @see #getDSL_CEP_COINCIDE()
-   * @generated
-   */
-  EReference getDSL_CEP_COINCIDE_Ref1();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COINCIDE#getRef2 <em>Ref2</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Ref2</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COINCIDE#getRef2()
-   * @see #getDSL_CEP_COINCIDE()
-   * @generated
-   */
-  EReference getDSL_CEP_COINCIDE_Ref2();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COINCIDE#getWindow <em>Window</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Window</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COINCIDE#getWindow()
-   * @see #getDSL_CEP_COINCIDE()
-   * @generated
-   */
-  EReference getDSL_CEP_COINCIDE_Window();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_MIN <em>DSL CEP MIN</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL CEP MIN</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_MIN
-   * @generated
-   */
-  EClass getDSL_CEP_MIN();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_MIN#getRef <em>Ref</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Ref</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_MIN#getRef()
-   * @see #getDSL_CEP_MIN()
-   * @generated
-   */
-  EReference getDSL_CEP_MIN_Ref();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_MIN#getWindow <em>Window</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Window</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_MIN#getWindow()
-   * @see #getDSL_CEP_MIN()
-   * @generated
-   */
-  EReference getDSL_CEP_MIN_Window();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_MAX <em>DSL CEP MAX</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL CEP MAX</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_MAX
-   * @generated
-   */
-  EClass getDSL_CEP_MAX();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_MAX#getRef <em>Ref</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Ref</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_MAX#getRef()
-   * @see #getDSL_CEP_MAX()
-   * @generated
-   */
-  EReference getDSL_CEP_MAX_Ref();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_MAX#getWindow <em>Window</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Window</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_MAX#getWindow()
-   * @see #getDSL_CEP_MAX()
-   * @generated
-   */
-  EReference getDSL_CEP_MAX_Window();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AVG <em>DSL CEP AVG</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL CEP AVG</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AVG
-   * @generated
-   */
-  EClass getDSL_CEP_AVG();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AVG#getRef <em>Ref</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Ref</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AVG#getRef()
-   * @see #getDSL_CEP_AVG()
-   * @generated
-   */
-  EReference getDSL_CEP_AVG_Ref();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AVG#getWindow <em>Window</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Window</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AVG#getWindow()
-   * @see #getDSL_CEP_AVG()
-   * @generated
-   */
-  EReference getDSL_CEP_AVG_Window();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_SUM <em>DSL CEP SUM</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL CEP SUM</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_SUM
-   * @generated
-   */
-  EClass getDSL_CEP_SUM();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_SUM#getRef <em>Ref</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Ref</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_SUM#getRef()
-   * @see #getDSL_CEP_SUM()
-   * @generated
-   */
-  EReference getDSL_CEP_SUM_Ref();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_SUM#getWindow <em>Window</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Window</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_SUM#getWindow()
-   * @see #getDSL_CEP_SUM()
-   * @generated
-   */
-  EReference getDSL_CEP_SUM_Window();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COUNT <em>DSL CEP COUNT</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL CEP COUNT</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COUNT
-   * @generated
-   */
-  EClass getDSL_CEP_COUNT();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COUNT#getRef <em>Ref</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Ref</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COUNT#getRef()
-   * @see #getDSL_CEP_COUNT()
-   * @generated
-   */
-  EReference getDSL_CEP_COUNT_Ref();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COUNT#getWindow <em>Window</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Window</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COUNT#getWindow()
-   * @see #getDSL_CEP_COUNT()
-   * @generated
-   */
-  EReference getDSL_CEP_COUNT_Window();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION <em>DSL CEP DURATION</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL CEP DURATION</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION
-   * @generated
-   */
-  EClass getDSL_CEP_DURATION();
-
-  /**
-   * Returns the meta object for the containment reference list '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION#getUnits <em>Units</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference list '<em>Units</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION#getUnits()
-   * @see #getDSL_CEP_DURATION()
-   * @generated
-   */
-  EReference getDSL_CEP_DURATION_Units();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION_MIN <em>DSL CEP DURATION MIN</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL CEP DURATION MIN</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION_MIN
-   * @generated
-   */
-  EClass getDSL_CEP_DURATION_MIN();
-
-  /**
-   * Returns the meta object for the attribute '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION_MIN#getMin <em>Min</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Min</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION_MIN#getMin()
-   * @see #getDSL_CEP_DURATION_MIN()
-   * @generated
-   */
-  EAttribute getDSL_CEP_DURATION_MIN_Min();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION_SEC <em>DSL CEP DURATION SEC</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL CEP DURATION SEC</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION_SEC
-   * @generated
-   */
-  EClass getDSL_CEP_DURATION_SEC();
-
-  /**
-   * Returns the meta object for the attribute '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION_SEC#getSec <em>Sec</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Sec</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION_SEC#getSec()
-   * @see #getDSL_CEP_DURATION_SEC()
-   * @generated
-   */
-  EAttribute getDSL_CEP_DURATION_SEC_Sec();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ListActions <em>DSL List Actions</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL List Actions</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_ListActions
-   * @generated
-   */
-  EClass getDSL_ListActions();
-
-  /**
-   * Returns the meta object for the containment reference list '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ListActions#getActionList <em>Action List</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference list '<em>Action List</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_ListActions#getActionList()
-   * @see #getDSL_ListActions()
-   * @generated
-   */
-  EReference getDSL_ListActions_ActionList();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ResourceAction <em>DSL Resource Action</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL Resource Action</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_ResourceAction
-   * @generated
-   */
-  EClass getDSL_ResourceAction();
-
-  /**
-   * Returns the meta object for the attribute '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ResourceAction#getVariable <em>Variable</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Variable</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_ResourceAction#getVariable()
-   * @see #getDSL_ResourceAction()
-   * @generated
-   */
-  EAttribute getDSL_ResourceAction_Variable();
-
-  /**
-   * Returns the meta object for the reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ResourceAction#getRef <em>Ref</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the reference '<em>Ref</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_ResourceAction#getRef()
-   * @see #getDSL_ResourceAction()
-   * @generated
-   */
-  EReference getDSL_ResourceAction_Ref();
-
-  /**
-   * Returns the meta object for the attribute '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ResourceAction#getActiontype <em>Actiontype</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Actiontype</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_ResourceAction#getActiontype()
-   * @see #getDSL_ResourceAction()
-   * @generated
-   */
-  EAttribute getDSL_ResourceAction_Actiontype();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ResourceAction#getListParam <em>List Param</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>List Param</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_ResourceAction#getListParam()
-   * @see #getDSL_ResourceAction()
-   * @generated
-   */
-  EReference getDSL_ResourceAction_ListParam();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ListParam <em>DSL List Param</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL List Param</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_ListParam
-   * @generated
-   */
-  EClass getDSL_ListParam();
-
-  /**
-   * Returns the meta object for the containment reference list '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ListParam#getParam <em>Param</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference list '<em>Param</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_ListParam#getParam()
-   * @see #getDSL_ListParam()
-   * @generated
-   */
-  EReference getDSL_ListParam_Param();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression <em>DSL Expression</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL Expression</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression
-   * @generated
-   */
-  EClass getDSL_Expression();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Or <em>DSL Expression Or</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL Expression Or</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Or
-   * @generated
-   */
-  EClass getDSL_Expression_Or();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Or#getLeft <em>Left</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Left</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Or#getLeft()
-   * @see #getDSL_Expression_Or()
-   * @generated
-   */
-  EReference getDSL_Expression_Or_Left();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Or#getRight <em>Right</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Right</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Or#getRight()
-   * @see #getDSL_Expression_Or()
-   * @generated
-   */
-  EReference getDSL_Expression_Or_Right();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_And <em>DSL Expression And</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL Expression And</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_And
-   * @generated
-   */
-  EClass getDSL_Expression_And();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_And#getLeft <em>Left</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Left</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_And#getLeft()
-   * @see #getDSL_Expression_And()
-   * @generated
-   */
-  EReference getDSL_Expression_And_Left();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_And#getRight <em>Right</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Right</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_And#getRight()
-   * @see #getDSL_Expression_And()
-   * @generated
-   */
-  EReference getDSL_Expression_And_Right();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Diff <em>DSL Expression Diff</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL Expression Diff</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Diff
-   * @generated
-   */
-  EClass getDSL_Expression_Diff();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Diff#getLeft <em>Left</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Left</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Diff#getLeft()
-   * @see #getDSL_Expression_Diff()
-   * @generated
-   */
-  EReference getDSL_Expression_Diff_Left();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Diff#getRight <em>Right</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Right</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Diff#getRight()
-   * @see #getDSL_Expression_Diff()
-   * @generated
-   */
-  EReference getDSL_Expression_Diff_Right();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Equal <em>DSL Expression Equal</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL Expression Equal</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Equal
-   * @generated
-   */
-  EClass getDSL_Expression_Equal();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Equal#getLeft <em>Left</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Left</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Equal#getLeft()
-   * @see #getDSL_Expression_Equal()
-   * @generated
-   */
-  EReference getDSL_Expression_Equal_Left();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Equal#getRight <em>Right</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Right</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Equal#getRight()
-   * @see #getDSL_Expression_Equal()
-   * @generated
-   */
-  EReference getDSL_Expression_Equal_Right();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Larger <em>DSL Expression Larger</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL Expression Larger</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Larger
-   * @generated
-   */
-  EClass getDSL_Expression_Larger();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Larger#getLeft <em>Left</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Left</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Larger#getLeft()
-   * @see #getDSL_Expression_Larger()
-   * @generated
-   */
-  EReference getDSL_Expression_Larger_Left();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Larger#getRight <em>Right</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Right</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Larger#getRight()
-   * @see #getDSL_Expression_Larger()
-   * @generated
-   */
-  EReference getDSL_Expression_Larger_Right();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Larger_Equal <em>DSL Expression Larger Equal</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL Expression Larger Equal</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Larger_Equal
-   * @generated
-   */
-  EClass getDSL_Expression_Larger_Equal();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Larger_Equal#getLeft <em>Left</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Left</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Larger_Equal#getLeft()
-   * @see #getDSL_Expression_Larger_Equal()
-   * @generated
-   */
-  EReference getDSL_Expression_Larger_Equal_Left();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Larger_Equal#getRight <em>Right</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Right</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Larger_Equal#getRight()
-   * @see #getDSL_Expression_Larger_Equal()
-   * @generated
-   */
-  EReference getDSL_Expression_Larger_Equal_Right();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Smaller <em>DSL Expression Smaller</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL Expression Smaller</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Smaller
-   * @generated
-   */
-  EClass getDSL_Expression_Smaller();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Smaller#getLeft <em>Left</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Left</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Smaller#getLeft()
-   * @see #getDSL_Expression_Smaller()
-   * @generated
-   */
-  EReference getDSL_Expression_Smaller_Left();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Smaller#getRight <em>Right</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Right</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Smaller#getRight()
-   * @see #getDSL_Expression_Smaller()
-   * @generated
-   */
-  EReference getDSL_Expression_Smaller_Right();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Smaller_Equal <em>DSL Expression Smaller Equal</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL Expression Smaller Equal</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Smaller_Equal
-   * @generated
-   */
-  EClass getDSL_Expression_Smaller_Equal();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Smaller_Equal#getLeft <em>Left</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Left</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Smaller_Equal#getLeft()
-   * @see #getDSL_Expression_Smaller_Equal()
-   * @generated
-   */
-  EReference getDSL_Expression_Smaller_Equal_Left();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Smaller_Equal#getRight <em>Right</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Right</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Smaller_Equal#getRight()
-   * @see #getDSL_Expression_Smaller_Equal()
-   * @generated
-   */
-  EReference getDSL_Expression_Smaller_Equal_Right();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Plus <em>DSL Expression Plus</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL Expression Plus</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Plus
-   * @generated
-   */
-  EClass getDSL_Expression_Plus();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Plus#getLeft <em>Left</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Left</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Plus#getLeft()
-   * @see #getDSL_Expression_Plus()
-   * @generated
-   */
-  EReference getDSL_Expression_Plus_Left();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Plus#getRight <em>Right</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Right</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Plus#getRight()
-   * @see #getDSL_Expression_Plus()
-   * @generated
-   */
-  EReference getDSL_Expression_Plus_Right();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Minus <em>DSL Expression Minus</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL Expression Minus</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Minus
-   * @generated
-   */
-  EClass getDSL_Expression_Minus();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Minus#getLeft <em>Left</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Left</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Minus#getLeft()
-   * @see #getDSL_Expression_Minus()
-   * @generated
-   */
-  EReference getDSL_Expression_Minus_Left();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Minus#getRight <em>Right</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Right</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Minus#getRight()
-   * @see #getDSL_Expression_Minus()
-   * @generated
-   */
-  EReference getDSL_Expression_Minus_Right();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Multiplication <em>DSL Expression Multiplication</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL Expression Multiplication</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Multiplication
-   * @generated
-   */
-  EClass getDSL_Expression_Multiplication();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Multiplication#getLeft <em>Left</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Left</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Multiplication#getLeft()
-   * @see #getDSL_Expression_Multiplication()
-   * @generated
-   */
-  EReference getDSL_Expression_Multiplication_Left();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Multiplication#getRight <em>Right</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Right</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Multiplication#getRight()
-   * @see #getDSL_Expression_Multiplication()
-   * @generated
-   */
-  EReference getDSL_Expression_Multiplication_Right();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Division <em>DSL Expression Division</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL Expression Division</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Division
-   * @generated
-   */
-  EClass getDSL_Expression_Division();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Division#getLeft <em>Left</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Left</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Division#getLeft()
-   * @see #getDSL_Expression_Division()
-   * @generated
-   */
-  EReference getDSL_Expression_Division_Left();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Division#getRight <em>Right</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Right</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Division#getRight()
-   * @see #getDSL_Expression_Division()
-   * @generated
-   */
-  EReference getDSL_Expression_Division_Right();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Modulo <em>DSL Expression Modulo</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL Expression Modulo</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Modulo
-   * @generated
-   */
-  EClass getDSL_Expression_Modulo();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Modulo#getLeft <em>Left</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Left</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Modulo#getLeft()
-   * @see #getDSL_Expression_Modulo()
-   * @generated
-   */
-  EReference getDSL_Expression_Modulo_Left();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Modulo#getRight <em>Right</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Right</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Modulo#getRight()
-   * @see #getDSL_Expression_Modulo()
-   * @generated
-   */
-  EReference getDSL_Expression_Modulo_Right();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Object_Number <em>DSL Object Number</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL Object Number</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Object_Number
-   * @generated
-   */
-  EClass getDSL_Object_Number();
-
-  /**
-   * Returns the meta object for the attribute '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Object_Number#getValue <em>Value</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Value</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Object_Number#getValue()
-   * @see #getDSL_Object_Number()
-   * @generated
-   */
-  EAttribute getDSL_Object_Number_Value();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Object_String <em>DSL Object String</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL Object String</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Object_String
-   * @generated
-   */
-  EClass getDSL_Object_String();
-
-  /**
-   * Returns the meta object for the attribute '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Object_String#getValue <em>Value</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Value</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Object_String#getValue()
-   * @see #getDSL_Object_String()
-   * @generated
-   */
-  EAttribute getDSL_Object_String_Value();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Object_Boolean <em>DSL Object Boolean</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL Object Boolean</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Object_Boolean
-   * @generated
-   */
-  EClass getDSL_Object_Boolean();
-
-  /**
-   * Returns the meta object for the attribute '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Object_Boolean#isValue <em>Value</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Value</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Object_Boolean#isValue()
-   * @see #getDSL_Object_Boolean()
-   * @generated
-   */
-  EAttribute getDSL_Object_Boolean_Value();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Object_Ref <em>DSL Object Ref</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL Object Ref</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Object_Ref
-   * @generated
-   */
-  EClass getDSL_Object_Ref();
-
-  /**
-   * Returns the meta object for the reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Object_Ref#getValue <em>Value</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the reference '<em>Value</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Object_Ref#getValue()
-   * @see #getDSL_Object_Ref()
-   * @generated
-   */
-  EReference getDSL_Object_Ref_Value();
-
-  /**
-   * Returns the meta object for class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Negate <em>DSL Expression Negate</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for class '<em>DSL Expression Negate</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Negate
-   * @generated
-   */
-  EClass getDSL_Expression_Negate();
-
-  /**
-   * Returns the meta object for the containment reference '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Negate#getExp <em>Exp</em>}'.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Exp</em>'.
-   * @see org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Negate#getExp()
-   * @see #getDSL_Expression_Negate()
-   * @generated
-   */
-  EReference getDSL_Expression_Negate_Exp();
-
-  /**
-   * Returns the factory that creates the instances of the model.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the factory that creates the instances of the model.
-   * @generated
-   */
-  SensinactFactory getSensinactFactory();
-
-  /**
-   * <!-- begin-user-doc -->
-   * Defines literals for the meta objects that represent
-   * <ul>
-   *   <li>each class,</li>
-   *   <li>each feature of each class,</li>
-   *   <li>each enum,</li>
-   *   <li>and each data type</li>
-   * </ul>
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  interface Literals
-  {
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.SensinactImpl <em>Sensinact</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getSensinact()
-     * @generated
-     */
-    EClass SENSINACT = eINSTANCE.getSensinact();
-
-    /**
-     * The meta object literal for the '<em><b>Eca</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference SENSINACT__ECA = eINSTANCE.getSensinact_Eca();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_SENSINACTImpl <em>DSL SENSINACT</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_SENSINACTImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_SENSINACT()
-     * @generated
-     */
-    EClass DSL_SENSINACT = eINSTANCE.getDSL_SENSINACT();
-
-    /**
-     * The meta object literal for the '<em><b>Resources</b></em>' containment reference list feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_SENSINACT__RESOURCES = eINSTANCE.getDSL_SENSINACT_Resources();
-
-    /**
-     * The meta object literal for the '<em><b>Cep</b></em>' containment reference list feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_SENSINACT__CEP = eINSTANCE.getDSL_SENSINACT_Cep();
-
-    /**
-     * The meta object literal for the '<em><b>On</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_SENSINACT__ON = eINSTANCE.getDSL_SENSINACT_On();
-
-    /**
-     * The meta object literal for the '<em><b>Eca</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_SENSINACT__ECA = eINSTANCE.getDSL_SENSINACT_Eca();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ResourceImpl <em>DSL Resource</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ResourceImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Resource()
-     * @generated
-     */
-    EClass DSL_RESOURCE = eINSTANCE.getDSL_Resource();
-
-    /**
-     * The meta object literal for the '<em><b>Gateway ID</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EAttribute DSL_RESOURCE__GATEWAY_ID = eINSTANCE.getDSL_Resource_GatewayID();
-
-    /**
-     * The meta object literal for the '<em><b>Device ID</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EAttribute DSL_RESOURCE__DEVICE_ID = eINSTANCE.getDSL_Resource_DeviceID();
-
-    /**
-     * The meta object literal for the '<em><b>Service ID</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EAttribute DSL_RESOURCE__SERVICE_ID = eINSTANCE.getDSL_Resource_ServiceID();
-
-    /**
-     * The meta object literal for the '<em><b>Resource ID</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EAttribute DSL_RESOURCE__RESOURCE_ID = eINSTANCE.getDSL_Resource_ResourceID();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_OnImpl <em>DSL On</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_OnImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_On()
-     * @generated
-     */
-    EClass DSL_ON = eINSTANCE.getDSL_On();
-
-    /**
-     * The meta object literal for the '<em><b>Triggers</b></em>' containment reference list feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_ON__TRIGGERS = eINSTANCE.getDSL_On_Triggers();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ECA_STATEMENTImpl <em>DSL ECA STATEMENT</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ECA_STATEMENTImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_ECA_STATEMENT()
-     * @generated
-     */
-    EClass DSL_ECA_STATEMENT = eINSTANCE.getDSL_ECA_STATEMENT();
-
-    /**
-     * The meta object literal for the '<em><b>Ifdo</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_ECA_STATEMENT__IFDO = eINSTANCE.getDSL_ECA_STATEMENT_Ifdo();
-
-    /**
-     * The meta object literal for the '<em><b>Else Ifdo</b></em>' containment reference list feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_ECA_STATEMENT__ELSE_IFDO = eINSTANCE.getDSL_ECA_STATEMENT_ElseIfdo();
-
-    /**
-     * The meta object literal for the '<em><b>Elsedo</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_ECA_STATEMENT__ELSEDO = eINSTANCE.getDSL_ECA_STATEMENT_Elsedo();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_IfDoImpl <em>DSL If Do</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_IfDoImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_IfDo()
-     * @generated
-     */
-    EClass DSL_IF_DO = eINSTANCE.getDSL_IfDo();
-
-    /**
-     * The meta object literal for the '<em><b>Condition</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_IF_DO__CONDITION = eINSTANCE.getDSL_IfDo_Condition();
-
-    /**
-     * The meta object literal for the '<em><b>Actions</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_IF_DO__ACTIONS = eINSTANCE.getDSL_IfDo_Actions();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ElseIfDoImpl <em>DSL Else If Do</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ElseIfDoImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_ElseIfDo()
-     * @generated
-     */
-    EClass DSL_ELSE_IF_DO = eINSTANCE.getDSL_ElseIfDo();
-
-    /**
-     * The meta object literal for the '<em><b>Condition</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_ELSE_IF_DO__CONDITION = eINSTANCE.getDSL_ElseIfDo_Condition();
-
-    /**
-     * The meta object literal for the '<em><b>Actions</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_ELSE_IF_DO__ACTIONS = eINSTANCE.getDSL_ElseIfDo_Actions();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ElseDoImpl <em>DSL Else Do</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ElseDoImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_ElseDo()
-     * @generated
-     */
-    EClass DSL_ELSE_DO = eINSTANCE.getDSL_ElseDo();
-
-    /**
-     * The meta object literal for the '<em><b>Actions</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_ELSE_DO__ACTIONS = eINSTANCE.getDSL_ElseDo_Actions();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_REFImpl <em>DSL REF</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_REFImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_REF()
-     * @generated
-     */
-    EClass DSL_REF = eINSTANCE.getDSL_REF();
-
-    /**
-     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EAttribute DSL_REF__NAME = eINSTANCE.getDSL_REF_Name();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_REF_CONDITIONImpl <em>DSL REF CONDITION</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_REF_CONDITIONImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_REF_CONDITION()
-     * @generated
-     */
-    EClass DSL_REF_CONDITION = eINSTANCE.getDSL_REF_CONDITION();
-
-    /**
-     * The meta object literal for the '<em><b>Ref</b></em>' reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_REF_CONDITION__REF = eINSTANCE.getDSL_REF_CONDITION_Ref();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_STATEMENTImpl <em>DSL CEP STATEMENT</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_STATEMENTImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_CEP_STATEMENT()
-     * @generated
-     */
-    EClass DSL_CEP_STATEMENT = eINSTANCE.getDSL_CEP_STATEMENT();
-
-    /**
-     * The meta object literal for the '<em><b>Operation</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_CEP_STATEMENT__OPERATION = eINSTANCE.getDSL_CEP_STATEMENT_Operation();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_AFTERImpl <em>DSL CEP AFTER</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_AFTERImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_CEP_AFTER()
-     * @generated
-     */
-    EClass DSL_CEP_AFTER = eINSTANCE.getDSL_CEP_AFTER();
-
-    /**
-     * The meta object literal for the '<em><b>Ref1</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_CEP_AFTER__REF1 = eINSTANCE.getDSL_CEP_AFTER_Ref1();
-
-    /**
-     * The meta object literal for the '<em><b>Ref2</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_CEP_AFTER__REF2 = eINSTANCE.getDSL_CEP_AFTER_Ref2();
-
-    /**
-     * The meta object literal for the '<em><b>Start</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_CEP_AFTER__START = eINSTANCE.getDSL_CEP_AFTER_Start();
-
-    /**
-     * The meta object literal for the '<em><b>End</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_CEP_AFTER__END = eINSTANCE.getDSL_CEP_AFTER_End();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_BEFOREImpl <em>DSL CEP BEFORE</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_BEFOREImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_CEP_BEFORE()
-     * @generated
-     */
-    EClass DSL_CEP_BEFORE = eINSTANCE.getDSL_CEP_BEFORE();
-
-    /**
-     * The meta object literal for the '<em><b>Ref1</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_CEP_BEFORE__REF1 = eINSTANCE.getDSL_CEP_BEFORE_Ref1();
-
-    /**
-     * The meta object literal for the '<em><b>Ref2</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_CEP_BEFORE__REF2 = eINSTANCE.getDSL_CEP_BEFORE_Ref2();
-
-    /**
-     * The meta object literal for the '<em><b>Start</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_CEP_BEFORE__START = eINSTANCE.getDSL_CEP_BEFORE_Start();
-
-    /**
-     * The meta object literal for the '<em><b>End</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_CEP_BEFORE__END = eINSTANCE.getDSL_CEP_BEFORE_End();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_COINCIDEImpl <em>DSL CEP COINCIDE</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_COINCIDEImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_CEP_COINCIDE()
-     * @generated
-     */
-    EClass DSL_CEP_COINCIDE = eINSTANCE.getDSL_CEP_COINCIDE();
-
-    /**
-     * The meta object literal for the '<em><b>Ref1</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_CEP_COINCIDE__REF1 = eINSTANCE.getDSL_CEP_COINCIDE_Ref1();
-
-    /**
-     * The meta object literal for the '<em><b>Ref2</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_CEP_COINCIDE__REF2 = eINSTANCE.getDSL_CEP_COINCIDE_Ref2();
-
-    /**
-     * The meta object literal for the '<em><b>Window</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_CEP_COINCIDE__WINDOW = eINSTANCE.getDSL_CEP_COINCIDE_Window();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_MINImpl <em>DSL CEP MIN</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_MINImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_CEP_MIN()
-     * @generated
-     */
-    EClass DSL_CEP_MIN = eINSTANCE.getDSL_CEP_MIN();
-
-    /**
-     * The meta object literal for the '<em><b>Ref</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_CEP_MIN__REF = eINSTANCE.getDSL_CEP_MIN_Ref();
-
-    /**
-     * The meta object literal for the '<em><b>Window</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_CEP_MIN__WINDOW = eINSTANCE.getDSL_CEP_MIN_Window();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_MAXImpl <em>DSL CEP MAX</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_MAXImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_CEP_MAX()
-     * @generated
-     */
-    EClass DSL_CEP_MAX = eINSTANCE.getDSL_CEP_MAX();
-
-    /**
-     * The meta object literal for the '<em><b>Ref</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_CEP_MAX__REF = eINSTANCE.getDSL_CEP_MAX_Ref();
-
-    /**
-     * The meta object literal for the '<em><b>Window</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_CEP_MAX__WINDOW = eINSTANCE.getDSL_CEP_MAX_Window();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_AVGImpl <em>DSL CEP AVG</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_AVGImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_CEP_AVG()
-     * @generated
-     */
-    EClass DSL_CEP_AVG = eINSTANCE.getDSL_CEP_AVG();
-
-    /**
-     * The meta object literal for the '<em><b>Ref</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_CEP_AVG__REF = eINSTANCE.getDSL_CEP_AVG_Ref();
-
-    /**
-     * The meta object literal for the '<em><b>Window</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_CEP_AVG__WINDOW = eINSTANCE.getDSL_CEP_AVG_Window();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_SUMImpl <em>DSL CEP SUM</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_SUMImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_CEP_SUM()
-     * @generated
-     */
-    EClass DSL_CEP_SUM = eINSTANCE.getDSL_CEP_SUM();
-
-    /**
-     * The meta object literal for the '<em><b>Ref</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_CEP_SUM__REF = eINSTANCE.getDSL_CEP_SUM_Ref();
-
-    /**
-     * The meta object literal for the '<em><b>Window</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_CEP_SUM__WINDOW = eINSTANCE.getDSL_CEP_SUM_Window();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_COUNTImpl <em>DSL CEP COUNT</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_COUNTImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_CEP_COUNT()
-     * @generated
-     */
-    EClass DSL_CEP_COUNT = eINSTANCE.getDSL_CEP_COUNT();
-
-    /**
-     * The meta object literal for the '<em><b>Ref</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_CEP_COUNT__REF = eINSTANCE.getDSL_CEP_COUNT_Ref();
-
-    /**
-     * The meta object literal for the '<em><b>Window</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_CEP_COUNT__WINDOW = eINSTANCE.getDSL_CEP_COUNT_Window();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_DURATIONImpl <em>DSL CEP DURATION</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_DURATIONImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_CEP_DURATION()
-     * @generated
-     */
-    EClass DSL_CEP_DURATION = eINSTANCE.getDSL_CEP_DURATION();
-
-    /**
-     * The meta object literal for the '<em><b>Units</b></em>' containment reference list feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_CEP_DURATION__UNITS = eINSTANCE.getDSL_CEP_DURATION_Units();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_DURATION_MINImpl <em>DSL CEP DURATION MIN</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_DURATION_MINImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_CEP_DURATION_MIN()
-     * @generated
-     */
-    EClass DSL_CEP_DURATION_MIN = eINSTANCE.getDSL_CEP_DURATION_MIN();
-
-    /**
-     * The meta object literal for the '<em><b>Min</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EAttribute DSL_CEP_DURATION_MIN__MIN = eINSTANCE.getDSL_CEP_DURATION_MIN_Min();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_DURATION_SECImpl <em>DSL CEP DURATION SEC</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_DURATION_SECImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_CEP_DURATION_SEC()
-     * @generated
-     */
-    EClass DSL_CEP_DURATION_SEC = eINSTANCE.getDSL_CEP_DURATION_SEC();
-
-    /**
-     * The meta object literal for the '<em><b>Sec</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EAttribute DSL_CEP_DURATION_SEC__SEC = eINSTANCE.getDSL_CEP_DURATION_SEC_Sec();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ListActionsImpl <em>DSL List Actions</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ListActionsImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_ListActions()
-     * @generated
-     */
-    EClass DSL_LIST_ACTIONS = eINSTANCE.getDSL_ListActions();
-
-    /**
-     * The meta object literal for the '<em><b>Action List</b></em>' containment reference list feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_LIST_ACTIONS__ACTION_LIST = eINSTANCE.getDSL_ListActions_ActionList();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ResourceActionImpl <em>DSL Resource Action</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ResourceActionImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_ResourceAction()
-     * @generated
-     */
-    EClass DSL_RESOURCE_ACTION = eINSTANCE.getDSL_ResourceAction();
-
-    /**
-     * The meta object literal for the '<em><b>Variable</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EAttribute DSL_RESOURCE_ACTION__VARIABLE = eINSTANCE.getDSL_ResourceAction_Variable();
-
-    /**
-     * The meta object literal for the '<em><b>Ref</b></em>' reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_RESOURCE_ACTION__REF = eINSTANCE.getDSL_ResourceAction_Ref();
-
-    /**
-     * The meta object literal for the '<em><b>Actiontype</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EAttribute DSL_RESOURCE_ACTION__ACTIONTYPE = eINSTANCE.getDSL_ResourceAction_Actiontype();
-
-    /**
-     * The meta object literal for the '<em><b>List Param</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_RESOURCE_ACTION__LIST_PARAM = eINSTANCE.getDSL_ResourceAction_ListParam();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ListParamImpl <em>DSL List Param</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ListParamImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_ListParam()
-     * @generated
-     */
-    EClass DSL_LIST_PARAM = eINSTANCE.getDSL_ListParam();
-
-    /**
-     * The meta object literal for the '<em><b>Param</b></em>' containment reference list feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_LIST_PARAM__PARAM = eINSTANCE.getDSL_ListParam_Param();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ExpressionImpl <em>DSL Expression</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ExpressionImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Expression()
-     * @generated
-     */
-    EClass DSL_EXPRESSION = eINSTANCE.getDSL_Expression();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_OrImpl <em>DSL Expression Or</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_OrImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Expression_Or()
-     * @generated
-     */
-    EClass DSL_EXPRESSION_OR = eINSTANCE.getDSL_Expression_Or();
-
-    /**
-     * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_EXPRESSION_OR__LEFT = eINSTANCE.getDSL_Expression_Or_Left();
-
-    /**
-     * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_EXPRESSION_OR__RIGHT = eINSTANCE.getDSL_Expression_Or_Right();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_AndImpl <em>DSL Expression And</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_AndImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Expression_And()
-     * @generated
-     */
-    EClass DSL_EXPRESSION_AND = eINSTANCE.getDSL_Expression_And();
-
-    /**
-     * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_EXPRESSION_AND__LEFT = eINSTANCE.getDSL_Expression_And_Left();
-
-    /**
-     * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_EXPRESSION_AND__RIGHT = eINSTANCE.getDSL_Expression_And_Right();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_DiffImpl <em>DSL Expression Diff</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_DiffImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Expression_Diff()
-     * @generated
-     */
-    EClass DSL_EXPRESSION_DIFF = eINSTANCE.getDSL_Expression_Diff();
-
-    /**
-     * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_EXPRESSION_DIFF__LEFT = eINSTANCE.getDSL_Expression_Diff_Left();
-
-    /**
-     * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_EXPRESSION_DIFF__RIGHT = eINSTANCE.getDSL_Expression_Diff_Right();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_EqualImpl <em>DSL Expression Equal</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_EqualImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Expression_Equal()
-     * @generated
-     */
-    EClass DSL_EXPRESSION_EQUAL = eINSTANCE.getDSL_Expression_Equal();
-
-    /**
-     * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_EXPRESSION_EQUAL__LEFT = eINSTANCE.getDSL_Expression_Equal_Left();
-
-    /**
-     * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_EXPRESSION_EQUAL__RIGHT = eINSTANCE.getDSL_Expression_Equal_Right();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_LargerImpl <em>DSL Expression Larger</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_LargerImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Expression_Larger()
-     * @generated
-     */
-    EClass DSL_EXPRESSION_LARGER = eINSTANCE.getDSL_Expression_Larger();
-
-    /**
-     * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_EXPRESSION_LARGER__LEFT = eINSTANCE.getDSL_Expression_Larger_Left();
-
-    /**
-     * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_EXPRESSION_LARGER__RIGHT = eINSTANCE.getDSL_Expression_Larger_Right();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_Larger_EqualImpl <em>DSL Expression Larger Equal</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_Larger_EqualImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Expression_Larger_Equal()
-     * @generated
-     */
-    EClass DSL_EXPRESSION_LARGER_EQUAL = eINSTANCE.getDSL_Expression_Larger_Equal();
-
-    /**
-     * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_EXPRESSION_LARGER_EQUAL__LEFT = eINSTANCE.getDSL_Expression_Larger_Equal_Left();
-
-    /**
-     * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_EXPRESSION_LARGER_EQUAL__RIGHT = eINSTANCE.getDSL_Expression_Larger_Equal_Right();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_SmallerImpl <em>DSL Expression Smaller</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_SmallerImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Expression_Smaller()
-     * @generated
-     */
-    EClass DSL_EXPRESSION_SMALLER = eINSTANCE.getDSL_Expression_Smaller();
-
-    /**
-     * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_EXPRESSION_SMALLER__LEFT = eINSTANCE.getDSL_Expression_Smaller_Left();
-
-    /**
-     * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_EXPRESSION_SMALLER__RIGHT = eINSTANCE.getDSL_Expression_Smaller_Right();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_Smaller_EqualImpl <em>DSL Expression Smaller Equal</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_Smaller_EqualImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Expression_Smaller_Equal()
-     * @generated
-     */
-    EClass DSL_EXPRESSION_SMALLER_EQUAL = eINSTANCE.getDSL_Expression_Smaller_Equal();
-
-    /**
-     * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_EXPRESSION_SMALLER_EQUAL__LEFT = eINSTANCE.getDSL_Expression_Smaller_Equal_Left();
-
-    /**
-     * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_EXPRESSION_SMALLER_EQUAL__RIGHT = eINSTANCE.getDSL_Expression_Smaller_Equal_Right();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_PlusImpl <em>DSL Expression Plus</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_PlusImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Expression_Plus()
-     * @generated
-     */
-    EClass DSL_EXPRESSION_PLUS = eINSTANCE.getDSL_Expression_Plus();
-
-    /**
-     * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_EXPRESSION_PLUS__LEFT = eINSTANCE.getDSL_Expression_Plus_Left();
-
-    /**
-     * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_EXPRESSION_PLUS__RIGHT = eINSTANCE.getDSL_Expression_Plus_Right();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_MinusImpl <em>DSL Expression Minus</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_MinusImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Expression_Minus()
-     * @generated
-     */
-    EClass DSL_EXPRESSION_MINUS = eINSTANCE.getDSL_Expression_Minus();
-
-    /**
-     * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_EXPRESSION_MINUS__LEFT = eINSTANCE.getDSL_Expression_Minus_Left();
-
-    /**
-     * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_EXPRESSION_MINUS__RIGHT = eINSTANCE.getDSL_Expression_Minus_Right();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_MultiplicationImpl <em>DSL Expression Multiplication</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_MultiplicationImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Expression_Multiplication()
-     * @generated
-     */
-    EClass DSL_EXPRESSION_MULTIPLICATION = eINSTANCE.getDSL_Expression_Multiplication();
-
-    /**
-     * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_EXPRESSION_MULTIPLICATION__LEFT = eINSTANCE.getDSL_Expression_Multiplication_Left();
-
-    /**
-     * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_EXPRESSION_MULTIPLICATION__RIGHT = eINSTANCE.getDSL_Expression_Multiplication_Right();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_DivisionImpl <em>DSL Expression Division</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_DivisionImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Expression_Division()
-     * @generated
-     */
-    EClass DSL_EXPRESSION_DIVISION = eINSTANCE.getDSL_Expression_Division();
-
-    /**
-     * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_EXPRESSION_DIVISION__LEFT = eINSTANCE.getDSL_Expression_Division_Left();
-
-    /**
-     * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_EXPRESSION_DIVISION__RIGHT = eINSTANCE.getDSL_Expression_Division_Right();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_ModuloImpl <em>DSL Expression Modulo</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_ModuloImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Expression_Modulo()
-     * @generated
-     */
-    EClass DSL_EXPRESSION_MODULO = eINSTANCE.getDSL_Expression_Modulo();
-
-    /**
-     * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_EXPRESSION_MODULO__LEFT = eINSTANCE.getDSL_Expression_Modulo_Left();
-
-    /**
-     * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_EXPRESSION_MODULO__RIGHT = eINSTANCE.getDSL_Expression_Modulo_Right();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Object_NumberImpl <em>DSL Object Number</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Object_NumberImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Object_Number()
-     * @generated
-     */
-    EClass DSL_OBJECT_NUMBER = eINSTANCE.getDSL_Object_Number();
-
-    /**
-     * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EAttribute DSL_OBJECT_NUMBER__VALUE = eINSTANCE.getDSL_Object_Number_Value();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Object_StringImpl <em>DSL Object String</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Object_StringImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Object_String()
-     * @generated
-     */
-    EClass DSL_OBJECT_STRING = eINSTANCE.getDSL_Object_String();
-
-    /**
-     * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EAttribute DSL_OBJECT_STRING__VALUE = eINSTANCE.getDSL_Object_String_Value();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Object_BooleanImpl <em>DSL Object Boolean</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Object_BooleanImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Object_Boolean()
-     * @generated
-     */
-    EClass DSL_OBJECT_BOOLEAN = eINSTANCE.getDSL_Object_Boolean();
-
-    /**
-     * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EAttribute DSL_OBJECT_BOOLEAN__VALUE = eINSTANCE.getDSL_Object_Boolean_Value();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Object_RefImpl <em>DSL Object Ref</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Object_RefImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Object_Ref()
-     * @generated
-     */
-    EClass DSL_OBJECT_REF = eINSTANCE.getDSL_Object_Ref();
-
-    /**
-     * The meta object literal for the '<em><b>Value</b></em>' reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_OBJECT_REF__VALUE = eINSTANCE.getDSL_Object_Ref_Value();
-
-    /**
-     * The meta object literal for the '{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_NegateImpl <em>DSL Expression Negate</em>}' class.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_NegateImpl
-     * @see org.eclipse.sensinact.studio.language.sensinact.impl.SensinactPackageImpl#getDSL_Expression_Negate()
-     * @generated
-     */
-    EClass DSL_EXPRESSION_NEGATE = eINSTANCE.getDSL_Expression_Negate();
-
-    /**
-     * The meta object literal for the '<em><b>Exp</b></em>' containment reference feature.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @generated
-     */
-    EReference DSL_EXPRESSION_NEGATE__EXP = eINSTANCE.getDSL_Expression_Negate_Exp();
-
-  }
-
-} //SensinactPackage
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_AFTERImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_AFTERImpl.java
deleted file mode 100644
index d44df77..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_AFTERImpl.java
+++ /dev/null
@@ -1,419 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AFTER;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_REF_CONDITION;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL CEP AFTER</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_AFTERImpl#getRef1 <em>Ref1</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_AFTERImpl#getRef2 <em>Ref2</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_AFTERImpl#getStart <em>Start</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_AFTERImpl#getEnd <em>End</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_CEP_AFTERImpl extends MinimalEObjectImpl.Container implements DSL_CEP_AFTER
-{
-  /**
-   * The cached value of the '{@link #getRef1() <em>Ref1</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRef1()
-   * @generated
-   * @ordered
-   */
-  protected DSL_REF_CONDITION ref1;
-
-  /**
-   * The cached value of the '{@link #getRef2() <em>Ref2</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRef2()
-   * @generated
-   * @ordered
-   */
-  protected DSL_REF_CONDITION ref2;
-
-  /**
-   * The cached value of the '{@link #getStart() <em>Start</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getStart()
-   * @generated
-   * @ordered
-   */
-  protected DSL_CEP_DURATION start;
-
-  /**
-   * The cached value of the '{@link #getEnd() <em>End</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getEnd()
-   * @generated
-   * @ordered
-   */
-  protected DSL_CEP_DURATION end;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_CEP_AFTERImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_CEP_AFTER;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_REF_CONDITION getRef1()
-  {
-    return ref1;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetRef1(DSL_REF_CONDITION newRef1, NotificationChain msgs)
-  {
-    DSL_REF_CONDITION oldRef1 = ref1;
-    ref1 = newRef1;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_AFTER__REF1, oldRef1, newRef1);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setRef1(DSL_REF_CONDITION newRef1)
-  {
-    if (newRef1 != ref1)
-    {
-      NotificationChain msgs = null;
-      if (ref1 != null)
-        msgs = ((InternalEObject)ref1).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_AFTER__REF1, null, msgs);
-      if (newRef1 != null)
-        msgs = ((InternalEObject)newRef1).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_AFTER__REF1, null, msgs);
-      msgs = basicSetRef1(newRef1, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_AFTER__REF1, newRef1, newRef1));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_REF_CONDITION getRef2()
-  {
-    return ref2;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetRef2(DSL_REF_CONDITION newRef2, NotificationChain msgs)
-  {
-    DSL_REF_CONDITION oldRef2 = ref2;
-    ref2 = newRef2;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_AFTER__REF2, oldRef2, newRef2);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setRef2(DSL_REF_CONDITION newRef2)
-  {
-    if (newRef2 != ref2)
-    {
-      NotificationChain msgs = null;
-      if (ref2 != null)
-        msgs = ((InternalEObject)ref2).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_AFTER__REF2, null, msgs);
-      if (newRef2 != null)
-        msgs = ((InternalEObject)newRef2).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_AFTER__REF2, null, msgs);
-      msgs = basicSetRef2(newRef2, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_AFTER__REF2, newRef2, newRef2));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_CEP_DURATION getStart()
-  {
-    return start;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetStart(DSL_CEP_DURATION newStart, NotificationChain msgs)
-  {
-    DSL_CEP_DURATION oldStart = start;
-    start = newStart;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_AFTER__START, oldStart, newStart);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setStart(DSL_CEP_DURATION newStart)
-  {
-    if (newStart != start)
-    {
-      NotificationChain msgs = null;
-      if (start != null)
-        msgs = ((InternalEObject)start).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_AFTER__START, null, msgs);
-      if (newStart != null)
-        msgs = ((InternalEObject)newStart).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_AFTER__START, null, msgs);
-      msgs = basicSetStart(newStart, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_AFTER__START, newStart, newStart));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_CEP_DURATION getEnd()
-  {
-    return end;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetEnd(DSL_CEP_DURATION newEnd, NotificationChain msgs)
-  {
-    DSL_CEP_DURATION oldEnd = end;
-    end = newEnd;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_AFTER__END, oldEnd, newEnd);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setEnd(DSL_CEP_DURATION newEnd)
-  {
-    if (newEnd != end)
-    {
-      NotificationChain msgs = null;
-      if (end != null)
-        msgs = ((InternalEObject)end).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_AFTER__END, null, msgs);
-      if (newEnd != null)
-        msgs = ((InternalEObject)newEnd).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_AFTER__END, null, msgs);
-      msgs = basicSetEnd(newEnd, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_AFTER__END, newEnd, newEnd));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_AFTER__REF1:
-        return basicSetRef1(null, msgs);
-      case SensinactPackage.DSL_CEP_AFTER__REF2:
-        return basicSetRef2(null, msgs);
-      case SensinactPackage.DSL_CEP_AFTER__START:
-        return basicSetStart(null, msgs);
-      case SensinactPackage.DSL_CEP_AFTER__END:
-        return basicSetEnd(null, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_AFTER__REF1:
-        return getRef1();
-      case SensinactPackage.DSL_CEP_AFTER__REF2:
-        return getRef2();
-      case SensinactPackage.DSL_CEP_AFTER__START:
-        return getStart();
-      case SensinactPackage.DSL_CEP_AFTER__END:
-        return getEnd();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_AFTER__REF1:
-        setRef1((DSL_REF_CONDITION)newValue);
-        return;
-      case SensinactPackage.DSL_CEP_AFTER__REF2:
-        setRef2((DSL_REF_CONDITION)newValue);
-        return;
-      case SensinactPackage.DSL_CEP_AFTER__START:
-        setStart((DSL_CEP_DURATION)newValue);
-        return;
-      case SensinactPackage.DSL_CEP_AFTER__END:
-        setEnd((DSL_CEP_DURATION)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_AFTER__REF1:
-        setRef1((DSL_REF_CONDITION)null);
-        return;
-      case SensinactPackage.DSL_CEP_AFTER__REF2:
-        setRef2((DSL_REF_CONDITION)null);
-        return;
-      case SensinactPackage.DSL_CEP_AFTER__START:
-        setStart((DSL_CEP_DURATION)null);
-        return;
-      case SensinactPackage.DSL_CEP_AFTER__END:
-        setEnd((DSL_CEP_DURATION)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_AFTER__REF1:
-        return ref1 != null;
-      case SensinactPackage.DSL_CEP_AFTER__REF2:
-        return ref2 != null;
-      case SensinactPackage.DSL_CEP_AFTER__START:
-        return start != null;
-      case SensinactPackage.DSL_CEP_AFTER__END:
-        return end != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_CEP_AFTERImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_AVGImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_AVGImpl.java
deleted file mode 100644
index f1b7778..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_AVGImpl.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AVG;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_REF_CONDITION;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL CEP AVG</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_AVGImpl#getRef <em>Ref</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_AVGImpl#getWindow <em>Window</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_CEP_AVGImpl extends MinimalEObjectImpl.Container implements DSL_CEP_AVG
-{
-  /**
-   * The cached value of the '{@link #getRef() <em>Ref</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRef()
-   * @generated
-   * @ordered
-   */
-  protected DSL_REF_CONDITION ref;
-
-  /**
-   * The cached value of the '{@link #getWindow() <em>Window</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getWindow()
-   * @generated
-   * @ordered
-   */
-  protected DSL_CEP_DURATION window;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_CEP_AVGImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_CEP_AVG;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_REF_CONDITION getRef()
-  {
-    return ref;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetRef(DSL_REF_CONDITION newRef, NotificationChain msgs)
-  {
-    DSL_REF_CONDITION oldRef = ref;
-    ref = newRef;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_AVG__REF, oldRef, newRef);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setRef(DSL_REF_CONDITION newRef)
-  {
-    if (newRef != ref)
-    {
-      NotificationChain msgs = null;
-      if (ref != null)
-        msgs = ((InternalEObject)ref).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_AVG__REF, null, msgs);
-      if (newRef != null)
-        msgs = ((InternalEObject)newRef).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_AVG__REF, null, msgs);
-      msgs = basicSetRef(newRef, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_AVG__REF, newRef, newRef));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_CEP_DURATION getWindow()
-  {
-    return window;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetWindow(DSL_CEP_DURATION newWindow, NotificationChain msgs)
-  {
-    DSL_CEP_DURATION oldWindow = window;
-    window = newWindow;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_AVG__WINDOW, oldWindow, newWindow);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setWindow(DSL_CEP_DURATION newWindow)
-  {
-    if (newWindow != window)
-    {
-      NotificationChain msgs = null;
-      if (window != null)
-        msgs = ((InternalEObject)window).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_AVG__WINDOW, null, msgs);
-      if (newWindow != null)
-        msgs = ((InternalEObject)newWindow).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_AVG__WINDOW, null, msgs);
-      msgs = basicSetWindow(newWindow, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_AVG__WINDOW, newWindow, newWindow));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_AVG__REF:
-        return basicSetRef(null, msgs);
-      case SensinactPackage.DSL_CEP_AVG__WINDOW:
-        return basicSetWindow(null, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_AVG__REF:
-        return getRef();
-      case SensinactPackage.DSL_CEP_AVG__WINDOW:
-        return getWindow();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_AVG__REF:
-        setRef((DSL_REF_CONDITION)newValue);
-        return;
-      case SensinactPackage.DSL_CEP_AVG__WINDOW:
-        setWindow((DSL_CEP_DURATION)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_AVG__REF:
-        setRef((DSL_REF_CONDITION)null);
-        return;
-      case SensinactPackage.DSL_CEP_AVG__WINDOW:
-        setWindow((DSL_CEP_DURATION)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_AVG__REF:
-        return ref != null;
-      case SensinactPackage.DSL_CEP_AVG__WINDOW:
-        return window != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_CEP_AVGImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_BEFOREImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_BEFOREImpl.java
deleted file mode 100644
index f26e7de..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_BEFOREImpl.java
+++ /dev/null
@@ -1,419 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_BEFORE;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_REF_CONDITION;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL CEP BEFORE</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_BEFOREImpl#getRef1 <em>Ref1</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_BEFOREImpl#getRef2 <em>Ref2</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_BEFOREImpl#getStart <em>Start</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_BEFOREImpl#getEnd <em>End</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_CEP_BEFOREImpl extends MinimalEObjectImpl.Container implements DSL_CEP_BEFORE
-{
-  /**
-   * The cached value of the '{@link #getRef1() <em>Ref1</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRef1()
-   * @generated
-   * @ordered
-   */
-  protected DSL_REF_CONDITION ref1;
-
-  /**
-   * The cached value of the '{@link #getRef2() <em>Ref2</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRef2()
-   * @generated
-   * @ordered
-   */
-  protected DSL_REF_CONDITION ref2;
-
-  /**
-   * The cached value of the '{@link #getStart() <em>Start</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getStart()
-   * @generated
-   * @ordered
-   */
-  protected DSL_CEP_DURATION start;
-
-  /**
-   * The cached value of the '{@link #getEnd() <em>End</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getEnd()
-   * @generated
-   * @ordered
-   */
-  protected DSL_CEP_DURATION end;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_CEP_BEFOREImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_CEP_BEFORE;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_REF_CONDITION getRef1()
-  {
-    return ref1;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetRef1(DSL_REF_CONDITION newRef1, NotificationChain msgs)
-  {
-    DSL_REF_CONDITION oldRef1 = ref1;
-    ref1 = newRef1;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_BEFORE__REF1, oldRef1, newRef1);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setRef1(DSL_REF_CONDITION newRef1)
-  {
-    if (newRef1 != ref1)
-    {
-      NotificationChain msgs = null;
-      if (ref1 != null)
-        msgs = ((InternalEObject)ref1).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_BEFORE__REF1, null, msgs);
-      if (newRef1 != null)
-        msgs = ((InternalEObject)newRef1).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_BEFORE__REF1, null, msgs);
-      msgs = basicSetRef1(newRef1, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_BEFORE__REF1, newRef1, newRef1));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_REF_CONDITION getRef2()
-  {
-    return ref2;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetRef2(DSL_REF_CONDITION newRef2, NotificationChain msgs)
-  {
-    DSL_REF_CONDITION oldRef2 = ref2;
-    ref2 = newRef2;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_BEFORE__REF2, oldRef2, newRef2);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setRef2(DSL_REF_CONDITION newRef2)
-  {
-    if (newRef2 != ref2)
-    {
-      NotificationChain msgs = null;
-      if (ref2 != null)
-        msgs = ((InternalEObject)ref2).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_BEFORE__REF2, null, msgs);
-      if (newRef2 != null)
-        msgs = ((InternalEObject)newRef2).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_BEFORE__REF2, null, msgs);
-      msgs = basicSetRef2(newRef2, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_BEFORE__REF2, newRef2, newRef2));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_CEP_DURATION getStart()
-  {
-    return start;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetStart(DSL_CEP_DURATION newStart, NotificationChain msgs)
-  {
-    DSL_CEP_DURATION oldStart = start;
-    start = newStart;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_BEFORE__START, oldStart, newStart);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setStart(DSL_CEP_DURATION newStart)
-  {
-    if (newStart != start)
-    {
-      NotificationChain msgs = null;
-      if (start != null)
-        msgs = ((InternalEObject)start).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_BEFORE__START, null, msgs);
-      if (newStart != null)
-        msgs = ((InternalEObject)newStart).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_BEFORE__START, null, msgs);
-      msgs = basicSetStart(newStart, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_BEFORE__START, newStart, newStart));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_CEP_DURATION getEnd()
-  {
-    return end;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetEnd(DSL_CEP_DURATION newEnd, NotificationChain msgs)
-  {
-    DSL_CEP_DURATION oldEnd = end;
-    end = newEnd;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_BEFORE__END, oldEnd, newEnd);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setEnd(DSL_CEP_DURATION newEnd)
-  {
-    if (newEnd != end)
-    {
-      NotificationChain msgs = null;
-      if (end != null)
-        msgs = ((InternalEObject)end).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_BEFORE__END, null, msgs);
-      if (newEnd != null)
-        msgs = ((InternalEObject)newEnd).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_BEFORE__END, null, msgs);
-      msgs = basicSetEnd(newEnd, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_BEFORE__END, newEnd, newEnd));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_BEFORE__REF1:
-        return basicSetRef1(null, msgs);
-      case SensinactPackage.DSL_CEP_BEFORE__REF2:
-        return basicSetRef2(null, msgs);
-      case SensinactPackage.DSL_CEP_BEFORE__START:
-        return basicSetStart(null, msgs);
-      case SensinactPackage.DSL_CEP_BEFORE__END:
-        return basicSetEnd(null, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_BEFORE__REF1:
-        return getRef1();
-      case SensinactPackage.DSL_CEP_BEFORE__REF2:
-        return getRef2();
-      case SensinactPackage.DSL_CEP_BEFORE__START:
-        return getStart();
-      case SensinactPackage.DSL_CEP_BEFORE__END:
-        return getEnd();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_BEFORE__REF1:
-        setRef1((DSL_REF_CONDITION)newValue);
-        return;
-      case SensinactPackage.DSL_CEP_BEFORE__REF2:
-        setRef2((DSL_REF_CONDITION)newValue);
-        return;
-      case SensinactPackage.DSL_CEP_BEFORE__START:
-        setStart((DSL_CEP_DURATION)newValue);
-        return;
-      case SensinactPackage.DSL_CEP_BEFORE__END:
-        setEnd((DSL_CEP_DURATION)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_BEFORE__REF1:
-        setRef1((DSL_REF_CONDITION)null);
-        return;
-      case SensinactPackage.DSL_CEP_BEFORE__REF2:
-        setRef2((DSL_REF_CONDITION)null);
-        return;
-      case SensinactPackage.DSL_CEP_BEFORE__START:
-        setStart((DSL_CEP_DURATION)null);
-        return;
-      case SensinactPackage.DSL_CEP_BEFORE__END:
-        setEnd((DSL_CEP_DURATION)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_BEFORE__REF1:
-        return ref1 != null;
-      case SensinactPackage.DSL_CEP_BEFORE__REF2:
-        return ref2 != null;
-      case SensinactPackage.DSL_CEP_BEFORE__START:
-        return start != null;
-      case SensinactPackage.DSL_CEP_BEFORE__END:
-        return end != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_CEP_BEFOREImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_COINCIDEImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_COINCIDEImpl.java
deleted file mode 100644
index 493fbf9..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_COINCIDEImpl.java
+++ /dev/null
@@ -1,348 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COINCIDE;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_REF_CONDITION;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL CEP COINCIDE</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_COINCIDEImpl#getRef1 <em>Ref1</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_COINCIDEImpl#getRef2 <em>Ref2</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_COINCIDEImpl#getWindow <em>Window</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_CEP_COINCIDEImpl extends MinimalEObjectImpl.Container implements DSL_CEP_COINCIDE
-{
-  /**
-   * The cached value of the '{@link #getRef1() <em>Ref1</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRef1()
-   * @generated
-   * @ordered
-   */
-  protected DSL_REF_CONDITION ref1;
-
-  /**
-   * The cached value of the '{@link #getRef2() <em>Ref2</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRef2()
-   * @generated
-   * @ordered
-   */
-  protected DSL_REF_CONDITION ref2;
-
-  /**
-   * The cached value of the '{@link #getWindow() <em>Window</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getWindow()
-   * @generated
-   * @ordered
-   */
-  protected DSL_CEP_DURATION window;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_CEP_COINCIDEImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_CEP_COINCIDE;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_REF_CONDITION getRef1()
-  {
-    return ref1;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetRef1(DSL_REF_CONDITION newRef1, NotificationChain msgs)
-  {
-    DSL_REF_CONDITION oldRef1 = ref1;
-    ref1 = newRef1;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_COINCIDE__REF1, oldRef1, newRef1);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setRef1(DSL_REF_CONDITION newRef1)
-  {
-    if (newRef1 != ref1)
-    {
-      NotificationChain msgs = null;
-      if (ref1 != null)
-        msgs = ((InternalEObject)ref1).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_COINCIDE__REF1, null, msgs);
-      if (newRef1 != null)
-        msgs = ((InternalEObject)newRef1).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_COINCIDE__REF1, null, msgs);
-      msgs = basicSetRef1(newRef1, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_COINCIDE__REF1, newRef1, newRef1));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_REF_CONDITION getRef2()
-  {
-    return ref2;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetRef2(DSL_REF_CONDITION newRef2, NotificationChain msgs)
-  {
-    DSL_REF_CONDITION oldRef2 = ref2;
-    ref2 = newRef2;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_COINCIDE__REF2, oldRef2, newRef2);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setRef2(DSL_REF_CONDITION newRef2)
-  {
-    if (newRef2 != ref2)
-    {
-      NotificationChain msgs = null;
-      if (ref2 != null)
-        msgs = ((InternalEObject)ref2).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_COINCIDE__REF2, null, msgs);
-      if (newRef2 != null)
-        msgs = ((InternalEObject)newRef2).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_COINCIDE__REF2, null, msgs);
-      msgs = basicSetRef2(newRef2, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_COINCIDE__REF2, newRef2, newRef2));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_CEP_DURATION getWindow()
-  {
-    return window;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetWindow(DSL_CEP_DURATION newWindow, NotificationChain msgs)
-  {
-    DSL_CEP_DURATION oldWindow = window;
-    window = newWindow;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_COINCIDE__WINDOW, oldWindow, newWindow);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setWindow(DSL_CEP_DURATION newWindow)
-  {
-    if (newWindow != window)
-    {
-      NotificationChain msgs = null;
-      if (window != null)
-        msgs = ((InternalEObject)window).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_COINCIDE__WINDOW, null, msgs);
-      if (newWindow != null)
-        msgs = ((InternalEObject)newWindow).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_COINCIDE__WINDOW, null, msgs);
-      msgs = basicSetWindow(newWindow, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_COINCIDE__WINDOW, newWindow, newWindow));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_COINCIDE__REF1:
-        return basicSetRef1(null, msgs);
-      case SensinactPackage.DSL_CEP_COINCIDE__REF2:
-        return basicSetRef2(null, msgs);
-      case SensinactPackage.DSL_CEP_COINCIDE__WINDOW:
-        return basicSetWindow(null, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_COINCIDE__REF1:
-        return getRef1();
-      case SensinactPackage.DSL_CEP_COINCIDE__REF2:
-        return getRef2();
-      case SensinactPackage.DSL_CEP_COINCIDE__WINDOW:
-        return getWindow();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_COINCIDE__REF1:
-        setRef1((DSL_REF_CONDITION)newValue);
-        return;
-      case SensinactPackage.DSL_CEP_COINCIDE__REF2:
-        setRef2((DSL_REF_CONDITION)newValue);
-        return;
-      case SensinactPackage.DSL_CEP_COINCIDE__WINDOW:
-        setWindow((DSL_CEP_DURATION)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_COINCIDE__REF1:
-        setRef1((DSL_REF_CONDITION)null);
-        return;
-      case SensinactPackage.DSL_CEP_COINCIDE__REF2:
-        setRef2((DSL_REF_CONDITION)null);
-        return;
-      case SensinactPackage.DSL_CEP_COINCIDE__WINDOW:
-        setWindow((DSL_CEP_DURATION)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_COINCIDE__REF1:
-        return ref1 != null;
-      case SensinactPackage.DSL_CEP_COINCIDE__REF2:
-        return ref2 != null;
-      case SensinactPackage.DSL_CEP_COINCIDE__WINDOW:
-        return window != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_CEP_COINCIDEImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_COUNTImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_COUNTImpl.java
deleted file mode 100644
index 24cbb02..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_COUNTImpl.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COUNT;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_REF_CONDITION;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL CEP COUNT</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_COUNTImpl#getRef <em>Ref</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_COUNTImpl#getWindow <em>Window</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_CEP_COUNTImpl extends MinimalEObjectImpl.Container implements DSL_CEP_COUNT
-{
-  /**
-   * The cached value of the '{@link #getRef() <em>Ref</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRef()
-   * @generated
-   * @ordered
-   */
-  protected DSL_REF_CONDITION ref;
-
-  /**
-   * The cached value of the '{@link #getWindow() <em>Window</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getWindow()
-   * @generated
-   * @ordered
-   */
-  protected DSL_CEP_DURATION window;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_CEP_COUNTImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_CEP_COUNT;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_REF_CONDITION getRef()
-  {
-    return ref;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetRef(DSL_REF_CONDITION newRef, NotificationChain msgs)
-  {
-    DSL_REF_CONDITION oldRef = ref;
-    ref = newRef;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_COUNT__REF, oldRef, newRef);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setRef(DSL_REF_CONDITION newRef)
-  {
-    if (newRef != ref)
-    {
-      NotificationChain msgs = null;
-      if (ref != null)
-        msgs = ((InternalEObject)ref).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_COUNT__REF, null, msgs);
-      if (newRef != null)
-        msgs = ((InternalEObject)newRef).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_COUNT__REF, null, msgs);
-      msgs = basicSetRef(newRef, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_COUNT__REF, newRef, newRef));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_CEP_DURATION getWindow()
-  {
-    return window;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetWindow(DSL_CEP_DURATION newWindow, NotificationChain msgs)
-  {
-    DSL_CEP_DURATION oldWindow = window;
-    window = newWindow;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_COUNT__WINDOW, oldWindow, newWindow);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setWindow(DSL_CEP_DURATION newWindow)
-  {
-    if (newWindow != window)
-    {
-      NotificationChain msgs = null;
-      if (window != null)
-        msgs = ((InternalEObject)window).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_COUNT__WINDOW, null, msgs);
-      if (newWindow != null)
-        msgs = ((InternalEObject)newWindow).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_COUNT__WINDOW, null, msgs);
-      msgs = basicSetWindow(newWindow, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_COUNT__WINDOW, newWindow, newWindow));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_COUNT__REF:
-        return basicSetRef(null, msgs);
-      case SensinactPackage.DSL_CEP_COUNT__WINDOW:
-        return basicSetWindow(null, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_COUNT__REF:
-        return getRef();
-      case SensinactPackage.DSL_CEP_COUNT__WINDOW:
-        return getWindow();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_COUNT__REF:
-        setRef((DSL_REF_CONDITION)newValue);
-        return;
-      case SensinactPackage.DSL_CEP_COUNT__WINDOW:
-        setWindow((DSL_CEP_DURATION)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_COUNT__REF:
-        setRef((DSL_REF_CONDITION)null);
-        return;
-      case SensinactPackage.DSL_CEP_COUNT__WINDOW:
-        setWindow((DSL_CEP_DURATION)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_COUNT__REF:
-        return ref != null;
-      case SensinactPackage.DSL_CEP_COUNT__WINDOW:
-        return window != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_CEP_COUNTImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_DURATIONImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_DURATIONImpl.java
deleted file mode 100644
index 20f666a..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_DURATIONImpl.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL CEP DURATION</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_DURATIONImpl#getUnits <em>Units</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_CEP_DURATIONImpl extends MinimalEObjectImpl.Container implements DSL_CEP_DURATION
-{
-  /**
-   * The cached value of the '{@link #getUnits() <em>Units</em>}' containment reference list.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getUnits()
-   * @generated
-   * @ordered
-   */
-  protected EList<EObject> units;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_CEP_DURATIONImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_CEP_DURATION;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EList<EObject> getUnits()
-  {
-    if (units == null)
-    {
-      units = new EObjectContainmentEList<EObject>(EObject.class, this, SensinactPackage.DSL_CEP_DURATION__UNITS);
-    }
-    return units;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_DURATION__UNITS:
-        return ((InternalEList<?>)getUnits()).basicRemove(otherEnd, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_DURATION__UNITS:
-        return getUnits();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @SuppressWarnings("unchecked")
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_DURATION__UNITS:
-        getUnits().clear();
-        getUnits().addAll((Collection<? extends EObject>)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_DURATION__UNITS:
-        getUnits().clear();
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_DURATION__UNITS:
-        return units != null && !units.isEmpty();
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_CEP_DURATIONImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_DURATION_MINImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_DURATION_MINImpl.java
deleted file mode 100644
index 2fd2862..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_DURATION_MINImpl.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import java.math.BigDecimal;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION_MIN;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL CEP DURATION MIN</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_DURATION_MINImpl#getMin <em>Min</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_CEP_DURATION_MINImpl extends MinimalEObjectImpl.Container implements DSL_CEP_DURATION_MIN
-{
-  /**
-   * The default value of the '{@link #getMin() <em>Min</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getMin()
-   * @generated
-   * @ordered
-   */
-  protected static final BigDecimal MIN_EDEFAULT = null;
-
-  /**
-   * The cached value of the '{@link #getMin() <em>Min</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getMin()
-   * @generated
-   * @ordered
-   */
-  protected BigDecimal min = MIN_EDEFAULT;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_CEP_DURATION_MINImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_CEP_DURATION_MIN;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public BigDecimal getMin()
-  {
-    return min;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setMin(BigDecimal newMin)
-  {
-    BigDecimal oldMin = min;
-    min = newMin;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_DURATION_MIN__MIN, oldMin, min));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_DURATION_MIN__MIN:
-        return getMin();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_DURATION_MIN__MIN:
-        setMin((BigDecimal)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_DURATION_MIN__MIN:
-        setMin(MIN_EDEFAULT);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_DURATION_MIN__MIN:
-        return MIN_EDEFAULT == null ? min != null : !MIN_EDEFAULT.equals(min);
-    }
-    return super.eIsSet(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public String toString()
-  {
-    if (eIsProxy()) return super.toString();
-
-    StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (min: ");
-    result.append(min);
-    result.append(')');
-    return result.toString();
-  }
-
-} //DSL_CEP_DURATION_MINImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_DURATION_SECImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_DURATION_SECImpl.java
deleted file mode 100644
index d28b6b7..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_DURATION_SECImpl.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import java.math.BigDecimal;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION_SEC;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL CEP DURATION SEC</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_DURATION_SECImpl#getSec <em>Sec</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_CEP_DURATION_SECImpl extends MinimalEObjectImpl.Container implements DSL_CEP_DURATION_SEC
-{
-  /**
-   * The default value of the '{@link #getSec() <em>Sec</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getSec()
-   * @generated
-   * @ordered
-   */
-  protected static final BigDecimal SEC_EDEFAULT = null;
-
-  /**
-   * The cached value of the '{@link #getSec() <em>Sec</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getSec()
-   * @generated
-   * @ordered
-   */
-  protected BigDecimal sec = SEC_EDEFAULT;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_CEP_DURATION_SECImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_CEP_DURATION_SEC;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public BigDecimal getSec()
-  {
-    return sec;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setSec(BigDecimal newSec)
-  {
-    BigDecimal oldSec = sec;
-    sec = newSec;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_DURATION_SEC__SEC, oldSec, sec));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_DURATION_SEC__SEC:
-        return getSec();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_DURATION_SEC__SEC:
-        setSec((BigDecimal)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_DURATION_SEC__SEC:
-        setSec(SEC_EDEFAULT);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_DURATION_SEC__SEC:
-        return SEC_EDEFAULT == null ? sec != null : !SEC_EDEFAULT.equals(sec);
-    }
-    return super.eIsSet(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public String toString()
-  {
-    if (eIsProxy()) return super.toString();
-
-    StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (sec: ");
-    result.append(sec);
-    result.append(')');
-    return result.toString();
-  }
-
-} //DSL_CEP_DURATION_SECImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_MAXImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_MAXImpl.java
deleted file mode 100644
index 12efeb3..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_MAXImpl.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_MAX;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_REF_CONDITION;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL CEP MAX</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_MAXImpl#getRef <em>Ref</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_MAXImpl#getWindow <em>Window</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_CEP_MAXImpl extends MinimalEObjectImpl.Container implements DSL_CEP_MAX
-{
-  /**
-   * The cached value of the '{@link #getRef() <em>Ref</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRef()
-   * @generated
-   * @ordered
-   */
-  protected DSL_REF_CONDITION ref;
-
-  /**
-   * The cached value of the '{@link #getWindow() <em>Window</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getWindow()
-   * @generated
-   * @ordered
-   */
-  protected DSL_CEP_DURATION window;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_CEP_MAXImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_CEP_MAX;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_REF_CONDITION getRef()
-  {
-    return ref;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetRef(DSL_REF_CONDITION newRef, NotificationChain msgs)
-  {
-    DSL_REF_CONDITION oldRef = ref;
-    ref = newRef;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_MAX__REF, oldRef, newRef);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setRef(DSL_REF_CONDITION newRef)
-  {
-    if (newRef != ref)
-    {
-      NotificationChain msgs = null;
-      if (ref != null)
-        msgs = ((InternalEObject)ref).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_MAX__REF, null, msgs);
-      if (newRef != null)
-        msgs = ((InternalEObject)newRef).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_MAX__REF, null, msgs);
-      msgs = basicSetRef(newRef, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_MAX__REF, newRef, newRef));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_CEP_DURATION getWindow()
-  {
-    return window;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetWindow(DSL_CEP_DURATION newWindow, NotificationChain msgs)
-  {
-    DSL_CEP_DURATION oldWindow = window;
-    window = newWindow;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_MAX__WINDOW, oldWindow, newWindow);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setWindow(DSL_CEP_DURATION newWindow)
-  {
-    if (newWindow != window)
-    {
-      NotificationChain msgs = null;
-      if (window != null)
-        msgs = ((InternalEObject)window).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_MAX__WINDOW, null, msgs);
-      if (newWindow != null)
-        msgs = ((InternalEObject)newWindow).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_MAX__WINDOW, null, msgs);
-      msgs = basicSetWindow(newWindow, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_MAX__WINDOW, newWindow, newWindow));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_MAX__REF:
-        return basicSetRef(null, msgs);
-      case SensinactPackage.DSL_CEP_MAX__WINDOW:
-        return basicSetWindow(null, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_MAX__REF:
-        return getRef();
-      case SensinactPackage.DSL_CEP_MAX__WINDOW:
-        return getWindow();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_MAX__REF:
-        setRef((DSL_REF_CONDITION)newValue);
-        return;
-      case SensinactPackage.DSL_CEP_MAX__WINDOW:
-        setWindow((DSL_CEP_DURATION)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_MAX__REF:
-        setRef((DSL_REF_CONDITION)null);
-        return;
-      case SensinactPackage.DSL_CEP_MAX__WINDOW:
-        setWindow((DSL_CEP_DURATION)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_MAX__REF:
-        return ref != null;
-      case SensinactPackage.DSL_CEP_MAX__WINDOW:
-        return window != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_CEP_MAXImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_MINImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_MINImpl.java
deleted file mode 100644
index a469cb6..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_MINImpl.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_MIN;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_REF_CONDITION;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL CEP MIN</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_MINImpl#getRef <em>Ref</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_MINImpl#getWindow <em>Window</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_CEP_MINImpl extends MinimalEObjectImpl.Container implements DSL_CEP_MIN
-{
-  /**
-   * The cached value of the '{@link #getRef() <em>Ref</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRef()
-   * @generated
-   * @ordered
-   */
-  protected DSL_REF_CONDITION ref;
-
-  /**
-   * The cached value of the '{@link #getWindow() <em>Window</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getWindow()
-   * @generated
-   * @ordered
-   */
-  protected DSL_CEP_DURATION window;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_CEP_MINImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_CEP_MIN;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_REF_CONDITION getRef()
-  {
-    return ref;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetRef(DSL_REF_CONDITION newRef, NotificationChain msgs)
-  {
-    DSL_REF_CONDITION oldRef = ref;
-    ref = newRef;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_MIN__REF, oldRef, newRef);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setRef(DSL_REF_CONDITION newRef)
-  {
-    if (newRef != ref)
-    {
-      NotificationChain msgs = null;
-      if (ref != null)
-        msgs = ((InternalEObject)ref).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_MIN__REF, null, msgs);
-      if (newRef != null)
-        msgs = ((InternalEObject)newRef).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_MIN__REF, null, msgs);
-      msgs = basicSetRef(newRef, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_MIN__REF, newRef, newRef));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_CEP_DURATION getWindow()
-  {
-    return window;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetWindow(DSL_CEP_DURATION newWindow, NotificationChain msgs)
-  {
-    DSL_CEP_DURATION oldWindow = window;
-    window = newWindow;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_MIN__WINDOW, oldWindow, newWindow);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setWindow(DSL_CEP_DURATION newWindow)
-  {
-    if (newWindow != window)
-    {
-      NotificationChain msgs = null;
-      if (window != null)
-        msgs = ((InternalEObject)window).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_MIN__WINDOW, null, msgs);
-      if (newWindow != null)
-        msgs = ((InternalEObject)newWindow).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_MIN__WINDOW, null, msgs);
-      msgs = basicSetWindow(newWindow, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_MIN__WINDOW, newWindow, newWindow));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_MIN__REF:
-        return basicSetRef(null, msgs);
-      case SensinactPackage.DSL_CEP_MIN__WINDOW:
-        return basicSetWindow(null, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_MIN__REF:
-        return getRef();
-      case SensinactPackage.DSL_CEP_MIN__WINDOW:
-        return getWindow();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_MIN__REF:
-        setRef((DSL_REF_CONDITION)newValue);
-        return;
-      case SensinactPackage.DSL_CEP_MIN__WINDOW:
-        setWindow((DSL_CEP_DURATION)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_MIN__REF:
-        setRef((DSL_REF_CONDITION)null);
-        return;
-      case SensinactPackage.DSL_CEP_MIN__WINDOW:
-        setWindow((DSL_CEP_DURATION)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_MIN__REF:
-        return ref != null;
-      case SensinactPackage.DSL_CEP_MIN__WINDOW:
-        return window != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_CEP_MINImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_STATEMENTImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_STATEMENTImpl.java
deleted file mode 100644
index 04c0400..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_STATEMENTImpl.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_STATEMENT;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL CEP STATEMENT</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_STATEMENTImpl#getOperation <em>Operation</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_CEP_STATEMENTImpl extends DSL_REFImpl implements DSL_CEP_STATEMENT
-{
-  /**
-   * The cached value of the '{@link #getOperation() <em>Operation</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getOperation()
-   * @generated
-   * @ordered
-   */
-  protected EObject operation;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_CEP_STATEMENTImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_CEP_STATEMENT;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EObject getOperation()
-  {
-    return operation;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetOperation(EObject newOperation, NotificationChain msgs)
-  {
-    EObject oldOperation = operation;
-    operation = newOperation;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_STATEMENT__OPERATION, oldOperation, newOperation);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setOperation(EObject newOperation)
-  {
-    if (newOperation != operation)
-    {
-      NotificationChain msgs = null;
-      if (operation != null)
-        msgs = ((InternalEObject)operation).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_STATEMENT__OPERATION, null, msgs);
-      if (newOperation != null)
-        msgs = ((InternalEObject)newOperation).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_STATEMENT__OPERATION, null, msgs);
-      msgs = basicSetOperation(newOperation, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_STATEMENT__OPERATION, newOperation, newOperation));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_STATEMENT__OPERATION:
-        return basicSetOperation(null, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_STATEMENT__OPERATION:
-        return getOperation();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_STATEMENT__OPERATION:
-        setOperation((EObject)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_STATEMENT__OPERATION:
-        setOperation((EObject)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_STATEMENT__OPERATION:
-        return operation != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_CEP_STATEMENTImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_SUMImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_SUMImpl.java
deleted file mode 100644
index 42e59a4..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_CEP_SUMImpl.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_SUM;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_REF_CONDITION;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL CEP SUM</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_SUMImpl#getRef <em>Ref</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_CEP_SUMImpl#getWindow <em>Window</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_CEP_SUMImpl extends MinimalEObjectImpl.Container implements DSL_CEP_SUM
-{
-  /**
-   * The cached value of the '{@link #getRef() <em>Ref</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRef()
-   * @generated
-   * @ordered
-   */
-  protected DSL_REF_CONDITION ref;
-
-  /**
-   * The cached value of the '{@link #getWindow() <em>Window</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getWindow()
-   * @generated
-   * @ordered
-   */
-  protected DSL_CEP_DURATION window;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_CEP_SUMImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_CEP_SUM;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_REF_CONDITION getRef()
-  {
-    return ref;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetRef(DSL_REF_CONDITION newRef, NotificationChain msgs)
-  {
-    DSL_REF_CONDITION oldRef = ref;
-    ref = newRef;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_SUM__REF, oldRef, newRef);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setRef(DSL_REF_CONDITION newRef)
-  {
-    if (newRef != ref)
-    {
-      NotificationChain msgs = null;
-      if (ref != null)
-        msgs = ((InternalEObject)ref).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_SUM__REF, null, msgs);
-      if (newRef != null)
-        msgs = ((InternalEObject)newRef).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_SUM__REF, null, msgs);
-      msgs = basicSetRef(newRef, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_SUM__REF, newRef, newRef));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_CEP_DURATION getWindow()
-  {
-    return window;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetWindow(DSL_CEP_DURATION newWindow, NotificationChain msgs)
-  {
-    DSL_CEP_DURATION oldWindow = window;
-    window = newWindow;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_SUM__WINDOW, oldWindow, newWindow);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setWindow(DSL_CEP_DURATION newWindow)
-  {
-    if (newWindow != window)
-    {
-      NotificationChain msgs = null;
-      if (window != null)
-        msgs = ((InternalEObject)window).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_SUM__WINDOW, null, msgs);
-      if (newWindow != null)
-        msgs = ((InternalEObject)newWindow).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_CEP_SUM__WINDOW, null, msgs);
-      msgs = basicSetWindow(newWindow, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_CEP_SUM__WINDOW, newWindow, newWindow));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_SUM__REF:
-        return basicSetRef(null, msgs);
-      case SensinactPackage.DSL_CEP_SUM__WINDOW:
-        return basicSetWindow(null, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_SUM__REF:
-        return getRef();
-      case SensinactPackage.DSL_CEP_SUM__WINDOW:
-        return getWindow();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_SUM__REF:
-        setRef((DSL_REF_CONDITION)newValue);
-        return;
-      case SensinactPackage.DSL_CEP_SUM__WINDOW:
-        setWindow((DSL_CEP_DURATION)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_SUM__REF:
-        setRef((DSL_REF_CONDITION)null);
-        return;
-      case SensinactPackage.DSL_CEP_SUM__WINDOW:
-        setWindow((DSL_CEP_DURATION)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_CEP_SUM__REF:
-        return ref != null;
-      case SensinactPackage.DSL_CEP_SUM__WINDOW:
-        return window != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_CEP_SUMImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_ECA_STATEMENTImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_ECA_STATEMENTImpl.java
deleted file mode 100644
index 1717e55..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_ECA_STATEMENTImpl.java
+++ /dev/null
@@ -1,324 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_ECA_STATEMENT;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_ElseDo;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_ElseIfDo;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_IfDo;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL ECA STATEMENT</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ECA_STATEMENTImpl#getIfdo <em>Ifdo</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ECA_STATEMENTImpl#getElseIfdo <em>Else Ifdo</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ECA_STATEMENTImpl#getElsedo <em>Elsedo</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_ECA_STATEMENTImpl extends MinimalEObjectImpl.Container implements DSL_ECA_STATEMENT
-{
-  /**
-   * The cached value of the '{@link #getIfdo() <em>Ifdo</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getIfdo()
-   * @generated
-   * @ordered
-   */
-  protected DSL_IfDo ifdo;
-
-  /**
-   * The cached value of the '{@link #getElseIfdo() <em>Else Ifdo</em>}' containment reference list.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getElseIfdo()
-   * @generated
-   * @ordered
-   */
-  protected EList<DSL_ElseIfDo> elseIfdo;
-
-  /**
-   * The cached value of the '{@link #getElsedo() <em>Elsedo</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getElsedo()
-   * @generated
-   * @ordered
-   */
-  protected DSL_ElseDo elsedo;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_ECA_STATEMENTImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_ECA_STATEMENT;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_IfDo getIfdo()
-  {
-    return ifdo;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetIfdo(DSL_IfDo newIfdo, NotificationChain msgs)
-  {
-    DSL_IfDo oldIfdo = ifdo;
-    ifdo = newIfdo;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_ECA_STATEMENT__IFDO, oldIfdo, newIfdo);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setIfdo(DSL_IfDo newIfdo)
-  {
-    if (newIfdo != ifdo)
-    {
-      NotificationChain msgs = null;
-      if (ifdo != null)
-        msgs = ((InternalEObject)ifdo).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_ECA_STATEMENT__IFDO, null, msgs);
-      if (newIfdo != null)
-        msgs = ((InternalEObject)newIfdo).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_ECA_STATEMENT__IFDO, null, msgs);
-      msgs = basicSetIfdo(newIfdo, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_ECA_STATEMENT__IFDO, newIfdo, newIfdo));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EList<DSL_ElseIfDo> getElseIfdo()
-  {
-    if (elseIfdo == null)
-    {
-      elseIfdo = new EObjectContainmentEList<DSL_ElseIfDo>(DSL_ElseIfDo.class, this, SensinactPackage.DSL_ECA_STATEMENT__ELSE_IFDO);
-    }
-    return elseIfdo;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_ElseDo getElsedo()
-  {
-    return elsedo;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetElsedo(DSL_ElseDo newElsedo, NotificationChain msgs)
-  {
-    DSL_ElseDo oldElsedo = elsedo;
-    elsedo = newElsedo;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_ECA_STATEMENT__ELSEDO, oldElsedo, newElsedo);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setElsedo(DSL_ElseDo newElsedo)
-  {
-    if (newElsedo != elsedo)
-    {
-      NotificationChain msgs = null;
-      if (elsedo != null)
-        msgs = ((InternalEObject)elsedo).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_ECA_STATEMENT__ELSEDO, null, msgs);
-      if (newElsedo != null)
-        msgs = ((InternalEObject)newElsedo).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_ECA_STATEMENT__ELSEDO, null, msgs);
-      msgs = basicSetElsedo(newElsedo, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_ECA_STATEMENT__ELSEDO, newElsedo, newElsedo));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_ECA_STATEMENT__IFDO:
-        return basicSetIfdo(null, msgs);
-      case SensinactPackage.DSL_ECA_STATEMENT__ELSE_IFDO:
-        return ((InternalEList<?>)getElseIfdo()).basicRemove(otherEnd, msgs);
-      case SensinactPackage.DSL_ECA_STATEMENT__ELSEDO:
-        return basicSetElsedo(null, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_ECA_STATEMENT__IFDO:
-        return getIfdo();
-      case SensinactPackage.DSL_ECA_STATEMENT__ELSE_IFDO:
-        return getElseIfdo();
-      case SensinactPackage.DSL_ECA_STATEMENT__ELSEDO:
-        return getElsedo();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @SuppressWarnings("unchecked")
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_ECA_STATEMENT__IFDO:
-        setIfdo((DSL_IfDo)newValue);
-        return;
-      case SensinactPackage.DSL_ECA_STATEMENT__ELSE_IFDO:
-        getElseIfdo().clear();
-        getElseIfdo().addAll((Collection<? extends DSL_ElseIfDo>)newValue);
-        return;
-      case SensinactPackage.DSL_ECA_STATEMENT__ELSEDO:
-        setElsedo((DSL_ElseDo)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_ECA_STATEMENT__IFDO:
-        setIfdo((DSL_IfDo)null);
-        return;
-      case SensinactPackage.DSL_ECA_STATEMENT__ELSE_IFDO:
-        getElseIfdo().clear();
-        return;
-      case SensinactPackage.DSL_ECA_STATEMENT__ELSEDO:
-        setElsedo((DSL_ElseDo)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_ECA_STATEMENT__IFDO:
-        return ifdo != null;
-      case SensinactPackage.DSL_ECA_STATEMENT__ELSE_IFDO:
-        return elseIfdo != null && !elseIfdo.isEmpty();
-      case SensinactPackage.DSL_ECA_STATEMENT__ELSEDO:
-        return elsedo != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_ECA_STATEMENTImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_ElseDoImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_ElseDoImpl.java
deleted file mode 100644
index bca6fbc..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_ElseDoImpl.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_ElseDo;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_ListActions;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL Else Do</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ElseDoImpl#getActions <em>Actions</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_ElseDoImpl extends MinimalEObjectImpl.Container implements DSL_ElseDo
-{
-  /**
-   * The cached value of the '{@link #getActions() <em>Actions</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getActions()
-   * @generated
-   * @ordered
-   */
-  protected DSL_ListActions actions;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_ElseDoImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_ELSE_DO;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_ListActions getActions()
-  {
-    return actions;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetActions(DSL_ListActions newActions, NotificationChain msgs)
-  {
-    DSL_ListActions oldActions = actions;
-    actions = newActions;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_ELSE_DO__ACTIONS, oldActions, newActions);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setActions(DSL_ListActions newActions)
-  {
-    if (newActions != actions)
-    {
-      NotificationChain msgs = null;
-      if (actions != null)
-        msgs = ((InternalEObject)actions).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_ELSE_DO__ACTIONS, null, msgs);
-      if (newActions != null)
-        msgs = ((InternalEObject)newActions).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_ELSE_DO__ACTIONS, null, msgs);
-      msgs = basicSetActions(newActions, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_ELSE_DO__ACTIONS, newActions, newActions));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_ELSE_DO__ACTIONS:
-        return basicSetActions(null, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_ELSE_DO__ACTIONS:
-        return getActions();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_ELSE_DO__ACTIONS:
-        setActions((DSL_ListActions)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_ELSE_DO__ACTIONS:
-        setActions((DSL_ListActions)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_ELSE_DO__ACTIONS:
-        return actions != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_ElseDoImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_ElseIfDoImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_ElseIfDoImpl.java
deleted file mode 100644
index a9ca6fa..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_ElseIfDoImpl.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_ElseIfDo;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_ListActions;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL Else If Do</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ElseIfDoImpl#getCondition <em>Condition</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ElseIfDoImpl#getActions <em>Actions</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_ElseIfDoImpl extends MinimalEObjectImpl.Container implements DSL_ElseIfDo
-{
-  /**
-   * The cached value of the '{@link #getCondition() <em>Condition</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getCondition()
-   * @generated
-   * @ordered
-   */
-  protected DSL_Expression condition;
-
-  /**
-   * The cached value of the '{@link #getActions() <em>Actions</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getActions()
-   * @generated
-   * @ordered
-   */
-  protected DSL_ListActions actions;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_ElseIfDoImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_ELSE_IF_DO;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression getCondition()
-  {
-    return condition;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetCondition(DSL_Expression newCondition, NotificationChain msgs)
-  {
-    DSL_Expression oldCondition = condition;
-    condition = newCondition;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_ELSE_IF_DO__CONDITION, oldCondition, newCondition);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setCondition(DSL_Expression newCondition)
-  {
-    if (newCondition != condition)
-    {
-      NotificationChain msgs = null;
-      if (condition != null)
-        msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_ELSE_IF_DO__CONDITION, null, msgs);
-      if (newCondition != null)
-        msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_ELSE_IF_DO__CONDITION, null, msgs);
-      msgs = basicSetCondition(newCondition, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_ELSE_IF_DO__CONDITION, newCondition, newCondition));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_ListActions getActions()
-  {
-    return actions;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetActions(DSL_ListActions newActions, NotificationChain msgs)
-  {
-    DSL_ListActions oldActions = actions;
-    actions = newActions;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_ELSE_IF_DO__ACTIONS, oldActions, newActions);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setActions(DSL_ListActions newActions)
-  {
-    if (newActions != actions)
-    {
-      NotificationChain msgs = null;
-      if (actions != null)
-        msgs = ((InternalEObject)actions).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_ELSE_IF_DO__ACTIONS, null, msgs);
-      if (newActions != null)
-        msgs = ((InternalEObject)newActions).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_ELSE_IF_DO__ACTIONS, null, msgs);
-      msgs = basicSetActions(newActions, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_ELSE_IF_DO__ACTIONS, newActions, newActions));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_ELSE_IF_DO__CONDITION:
-        return basicSetCondition(null, msgs);
-      case SensinactPackage.DSL_ELSE_IF_DO__ACTIONS:
-        return basicSetActions(null, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_ELSE_IF_DO__CONDITION:
-        return getCondition();
-      case SensinactPackage.DSL_ELSE_IF_DO__ACTIONS:
-        return getActions();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_ELSE_IF_DO__CONDITION:
-        setCondition((DSL_Expression)newValue);
-        return;
-      case SensinactPackage.DSL_ELSE_IF_DO__ACTIONS:
-        setActions((DSL_ListActions)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_ELSE_IF_DO__CONDITION:
-        setCondition((DSL_Expression)null);
-        return;
-      case SensinactPackage.DSL_ELSE_IF_DO__ACTIONS:
-        setActions((DSL_ListActions)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_ELSE_IF_DO__CONDITION:
-        return condition != null;
-      case SensinactPackage.DSL_ELSE_IF_DO__ACTIONS:
-        return actions != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_ElseIfDoImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_ExpressionImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_ExpressionImpl.java
deleted file mode 100644
index 6187620..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_ExpressionImpl.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL Expression</b></em>'.
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class DSL_ExpressionImpl extends MinimalEObjectImpl.Container implements DSL_Expression
-{
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_ExpressionImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_EXPRESSION;
-  }
-
-} //DSL_ExpressionImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_AndImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_AndImpl.java
deleted file mode 100644
index c488b27..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_AndImpl.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_And;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL Expression And</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_AndImpl#getLeft <em>Left</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_AndImpl#getRight <em>Right</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_Expression_AndImpl extends DSL_ExpressionImpl implements DSL_Expression_And
-{
-  /**
-   * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getLeft()
-   * @generated
-   * @ordered
-   */
-  protected DSL_Expression left;
-
-  /**
-   * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRight()
-   * @generated
-   * @ordered
-   */
-  protected DSL_Expression right;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_Expression_AndImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_EXPRESSION_AND;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression getLeft()
-  {
-    return left;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetLeft(DSL_Expression newLeft, NotificationChain msgs)
-  {
-    DSL_Expression oldLeft = left;
-    left = newLeft;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_AND__LEFT, oldLeft, newLeft);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setLeft(DSL_Expression newLeft)
-  {
-    if (newLeft != left)
-    {
-      NotificationChain msgs = null;
-      if (left != null)
-        msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_AND__LEFT, null, msgs);
-      if (newLeft != null)
-        msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_AND__LEFT, null, msgs);
-      msgs = basicSetLeft(newLeft, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_AND__LEFT, newLeft, newLeft));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression getRight()
-  {
-    return right;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetRight(DSL_Expression newRight, NotificationChain msgs)
-  {
-    DSL_Expression oldRight = right;
-    right = newRight;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_AND__RIGHT, oldRight, newRight);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setRight(DSL_Expression newRight)
-  {
-    if (newRight != right)
-    {
-      NotificationChain msgs = null;
-      if (right != null)
-        msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_AND__RIGHT, null, msgs);
-      if (newRight != null)
-        msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_AND__RIGHT, null, msgs);
-      msgs = basicSetRight(newRight, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_AND__RIGHT, newRight, newRight));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_AND__LEFT:
-        return basicSetLeft(null, msgs);
-      case SensinactPackage.DSL_EXPRESSION_AND__RIGHT:
-        return basicSetRight(null, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_AND__LEFT:
-        return getLeft();
-      case SensinactPackage.DSL_EXPRESSION_AND__RIGHT:
-        return getRight();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_AND__LEFT:
-        setLeft((DSL_Expression)newValue);
-        return;
-      case SensinactPackage.DSL_EXPRESSION_AND__RIGHT:
-        setRight((DSL_Expression)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_AND__LEFT:
-        setLeft((DSL_Expression)null);
-        return;
-      case SensinactPackage.DSL_EXPRESSION_AND__RIGHT:
-        setRight((DSL_Expression)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_AND__LEFT:
-        return left != null;
-      case SensinactPackage.DSL_EXPRESSION_AND__RIGHT:
-        return right != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_Expression_AndImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_DiffImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_DiffImpl.java
deleted file mode 100644
index 63866cc..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_DiffImpl.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Diff;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL Expression Diff</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_DiffImpl#getLeft <em>Left</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_DiffImpl#getRight <em>Right</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_Expression_DiffImpl extends DSL_ExpressionImpl implements DSL_Expression_Diff
-{
-  /**
-   * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getLeft()
-   * @generated
-   * @ordered
-   */
-  protected DSL_Expression left;
-
-  /**
-   * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRight()
-   * @generated
-   * @ordered
-   */
-  protected DSL_Expression right;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_Expression_DiffImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_EXPRESSION_DIFF;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression getLeft()
-  {
-    return left;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetLeft(DSL_Expression newLeft, NotificationChain msgs)
-  {
-    DSL_Expression oldLeft = left;
-    left = newLeft;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_DIFF__LEFT, oldLeft, newLeft);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setLeft(DSL_Expression newLeft)
-  {
-    if (newLeft != left)
-    {
-      NotificationChain msgs = null;
-      if (left != null)
-        msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_DIFF__LEFT, null, msgs);
-      if (newLeft != null)
-        msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_DIFF__LEFT, null, msgs);
-      msgs = basicSetLeft(newLeft, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_DIFF__LEFT, newLeft, newLeft));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression getRight()
-  {
-    return right;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetRight(DSL_Expression newRight, NotificationChain msgs)
-  {
-    DSL_Expression oldRight = right;
-    right = newRight;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_DIFF__RIGHT, oldRight, newRight);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setRight(DSL_Expression newRight)
-  {
-    if (newRight != right)
-    {
-      NotificationChain msgs = null;
-      if (right != null)
-        msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_DIFF__RIGHT, null, msgs);
-      if (newRight != null)
-        msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_DIFF__RIGHT, null, msgs);
-      msgs = basicSetRight(newRight, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_DIFF__RIGHT, newRight, newRight));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_DIFF__LEFT:
-        return basicSetLeft(null, msgs);
-      case SensinactPackage.DSL_EXPRESSION_DIFF__RIGHT:
-        return basicSetRight(null, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_DIFF__LEFT:
-        return getLeft();
-      case SensinactPackage.DSL_EXPRESSION_DIFF__RIGHT:
-        return getRight();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_DIFF__LEFT:
-        setLeft((DSL_Expression)newValue);
-        return;
-      case SensinactPackage.DSL_EXPRESSION_DIFF__RIGHT:
-        setRight((DSL_Expression)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_DIFF__LEFT:
-        setLeft((DSL_Expression)null);
-        return;
-      case SensinactPackage.DSL_EXPRESSION_DIFF__RIGHT:
-        setRight((DSL_Expression)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_DIFF__LEFT:
-        return left != null;
-      case SensinactPackage.DSL_EXPRESSION_DIFF__RIGHT:
-        return right != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_Expression_DiffImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_DivisionImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_DivisionImpl.java
deleted file mode 100644
index 957033e..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_DivisionImpl.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Division;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL Expression Division</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_DivisionImpl#getLeft <em>Left</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_DivisionImpl#getRight <em>Right</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_Expression_DivisionImpl extends DSL_ExpressionImpl implements DSL_Expression_Division
-{
-  /**
-   * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getLeft()
-   * @generated
-   * @ordered
-   */
-  protected DSL_Expression left;
-
-  /**
-   * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRight()
-   * @generated
-   * @ordered
-   */
-  protected DSL_Expression right;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_Expression_DivisionImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_EXPRESSION_DIVISION;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression getLeft()
-  {
-    return left;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetLeft(DSL_Expression newLeft, NotificationChain msgs)
-  {
-    DSL_Expression oldLeft = left;
-    left = newLeft;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_DIVISION__LEFT, oldLeft, newLeft);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setLeft(DSL_Expression newLeft)
-  {
-    if (newLeft != left)
-    {
-      NotificationChain msgs = null;
-      if (left != null)
-        msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_DIVISION__LEFT, null, msgs);
-      if (newLeft != null)
-        msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_DIVISION__LEFT, null, msgs);
-      msgs = basicSetLeft(newLeft, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_DIVISION__LEFT, newLeft, newLeft));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression getRight()
-  {
-    return right;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetRight(DSL_Expression newRight, NotificationChain msgs)
-  {
-    DSL_Expression oldRight = right;
-    right = newRight;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_DIVISION__RIGHT, oldRight, newRight);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setRight(DSL_Expression newRight)
-  {
-    if (newRight != right)
-    {
-      NotificationChain msgs = null;
-      if (right != null)
-        msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_DIVISION__RIGHT, null, msgs);
-      if (newRight != null)
-        msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_DIVISION__RIGHT, null, msgs);
-      msgs = basicSetRight(newRight, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_DIVISION__RIGHT, newRight, newRight));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_DIVISION__LEFT:
-        return basicSetLeft(null, msgs);
-      case SensinactPackage.DSL_EXPRESSION_DIVISION__RIGHT:
-        return basicSetRight(null, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_DIVISION__LEFT:
-        return getLeft();
-      case SensinactPackage.DSL_EXPRESSION_DIVISION__RIGHT:
-        return getRight();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_DIVISION__LEFT:
-        setLeft((DSL_Expression)newValue);
-        return;
-      case SensinactPackage.DSL_EXPRESSION_DIVISION__RIGHT:
-        setRight((DSL_Expression)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_DIVISION__LEFT:
-        setLeft((DSL_Expression)null);
-        return;
-      case SensinactPackage.DSL_EXPRESSION_DIVISION__RIGHT:
-        setRight((DSL_Expression)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_DIVISION__LEFT:
-        return left != null;
-      case SensinactPackage.DSL_EXPRESSION_DIVISION__RIGHT:
-        return right != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_Expression_DivisionImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_EqualImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_EqualImpl.java
deleted file mode 100644
index 9ad08c3..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_EqualImpl.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Equal;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL Expression Equal</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_EqualImpl#getLeft <em>Left</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_EqualImpl#getRight <em>Right</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_Expression_EqualImpl extends DSL_ExpressionImpl implements DSL_Expression_Equal
-{
-  /**
-   * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getLeft()
-   * @generated
-   * @ordered
-   */
-  protected DSL_Expression left;
-
-  /**
-   * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRight()
-   * @generated
-   * @ordered
-   */
-  protected DSL_Expression right;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_Expression_EqualImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_EXPRESSION_EQUAL;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression getLeft()
-  {
-    return left;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetLeft(DSL_Expression newLeft, NotificationChain msgs)
-  {
-    DSL_Expression oldLeft = left;
-    left = newLeft;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_EQUAL__LEFT, oldLeft, newLeft);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setLeft(DSL_Expression newLeft)
-  {
-    if (newLeft != left)
-    {
-      NotificationChain msgs = null;
-      if (left != null)
-        msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_EQUAL__LEFT, null, msgs);
-      if (newLeft != null)
-        msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_EQUAL__LEFT, null, msgs);
-      msgs = basicSetLeft(newLeft, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_EQUAL__LEFT, newLeft, newLeft));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression getRight()
-  {
-    return right;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetRight(DSL_Expression newRight, NotificationChain msgs)
-  {
-    DSL_Expression oldRight = right;
-    right = newRight;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_EQUAL__RIGHT, oldRight, newRight);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setRight(DSL_Expression newRight)
-  {
-    if (newRight != right)
-    {
-      NotificationChain msgs = null;
-      if (right != null)
-        msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_EQUAL__RIGHT, null, msgs);
-      if (newRight != null)
-        msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_EQUAL__RIGHT, null, msgs);
-      msgs = basicSetRight(newRight, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_EQUAL__RIGHT, newRight, newRight));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_EQUAL__LEFT:
-        return basicSetLeft(null, msgs);
-      case SensinactPackage.DSL_EXPRESSION_EQUAL__RIGHT:
-        return basicSetRight(null, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_EQUAL__LEFT:
-        return getLeft();
-      case SensinactPackage.DSL_EXPRESSION_EQUAL__RIGHT:
-        return getRight();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_EQUAL__LEFT:
-        setLeft((DSL_Expression)newValue);
-        return;
-      case SensinactPackage.DSL_EXPRESSION_EQUAL__RIGHT:
-        setRight((DSL_Expression)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_EQUAL__LEFT:
-        setLeft((DSL_Expression)null);
-        return;
-      case SensinactPackage.DSL_EXPRESSION_EQUAL__RIGHT:
-        setRight((DSL_Expression)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_EQUAL__LEFT:
-        return left != null;
-      case SensinactPackage.DSL_EXPRESSION_EQUAL__RIGHT:
-        return right != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_Expression_EqualImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_LargerImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_LargerImpl.java
deleted file mode 100644
index 887cd4d..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_LargerImpl.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Larger;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL Expression Larger</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_LargerImpl#getLeft <em>Left</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_LargerImpl#getRight <em>Right</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_Expression_LargerImpl extends DSL_ExpressionImpl implements DSL_Expression_Larger
-{
-  /**
-   * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getLeft()
-   * @generated
-   * @ordered
-   */
-  protected DSL_Expression left;
-
-  /**
-   * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRight()
-   * @generated
-   * @ordered
-   */
-  protected DSL_Expression right;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_Expression_LargerImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_EXPRESSION_LARGER;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression getLeft()
-  {
-    return left;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetLeft(DSL_Expression newLeft, NotificationChain msgs)
-  {
-    DSL_Expression oldLeft = left;
-    left = newLeft;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_LARGER__LEFT, oldLeft, newLeft);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setLeft(DSL_Expression newLeft)
-  {
-    if (newLeft != left)
-    {
-      NotificationChain msgs = null;
-      if (left != null)
-        msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_LARGER__LEFT, null, msgs);
-      if (newLeft != null)
-        msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_LARGER__LEFT, null, msgs);
-      msgs = basicSetLeft(newLeft, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_LARGER__LEFT, newLeft, newLeft));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression getRight()
-  {
-    return right;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetRight(DSL_Expression newRight, NotificationChain msgs)
-  {
-    DSL_Expression oldRight = right;
-    right = newRight;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_LARGER__RIGHT, oldRight, newRight);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setRight(DSL_Expression newRight)
-  {
-    if (newRight != right)
-    {
-      NotificationChain msgs = null;
-      if (right != null)
-        msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_LARGER__RIGHT, null, msgs);
-      if (newRight != null)
-        msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_LARGER__RIGHT, null, msgs);
-      msgs = basicSetRight(newRight, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_LARGER__RIGHT, newRight, newRight));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_LARGER__LEFT:
-        return basicSetLeft(null, msgs);
-      case SensinactPackage.DSL_EXPRESSION_LARGER__RIGHT:
-        return basicSetRight(null, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_LARGER__LEFT:
-        return getLeft();
-      case SensinactPackage.DSL_EXPRESSION_LARGER__RIGHT:
-        return getRight();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_LARGER__LEFT:
-        setLeft((DSL_Expression)newValue);
-        return;
-      case SensinactPackage.DSL_EXPRESSION_LARGER__RIGHT:
-        setRight((DSL_Expression)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_LARGER__LEFT:
-        setLeft((DSL_Expression)null);
-        return;
-      case SensinactPackage.DSL_EXPRESSION_LARGER__RIGHT:
-        setRight((DSL_Expression)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_LARGER__LEFT:
-        return left != null;
-      case SensinactPackage.DSL_EXPRESSION_LARGER__RIGHT:
-        return right != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_Expression_LargerImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_Larger_EqualImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_Larger_EqualImpl.java
deleted file mode 100644
index 6da250a..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_Larger_EqualImpl.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Larger_Equal;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL Expression Larger Equal</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_Larger_EqualImpl#getLeft <em>Left</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_Larger_EqualImpl#getRight <em>Right</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_Expression_Larger_EqualImpl extends DSL_ExpressionImpl implements DSL_Expression_Larger_Equal
-{
-  /**
-   * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getLeft()
-   * @generated
-   * @ordered
-   */
-  protected DSL_Expression left;
-
-  /**
-   * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRight()
-   * @generated
-   * @ordered
-   */
-  protected DSL_Expression right;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_Expression_Larger_EqualImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_EXPRESSION_LARGER_EQUAL;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression getLeft()
-  {
-    return left;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetLeft(DSL_Expression newLeft, NotificationChain msgs)
-  {
-    DSL_Expression oldLeft = left;
-    left = newLeft;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_LARGER_EQUAL__LEFT, oldLeft, newLeft);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setLeft(DSL_Expression newLeft)
-  {
-    if (newLeft != left)
-    {
-      NotificationChain msgs = null;
-      if (left != null)
-        msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_LARGER_EQUAL__LEFT, null, msgs);
-      if (newLeft != null)
-        msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_LARGER_EQUAL__LEFT, null, msgs);
-      msgs = basicSetLeft(newLeft, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_LARGER_EQUAL__LEFT, newLeft, newLeft));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression getRight()
-  {
-    return right;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetRight(DSL_Expression newRight, NotificationChain msgs)
-  {
-    DSL_Expression oldRight = right;
-    right = newRight;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_LARGER_EQUAL__RIGHT, oldRight, newRight);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setRight(DSL_Expression newRight)
-  {
-    if (newRight != right)
-    {
-      NotificationChain msgs = null;
-      if (right != null)
-        msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_LARGER_EQUAL__RIGHT, null, msgs);
-      if (newRight != null)
-        msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_LARGER_EQUAL__RIGHT, null, msgs);
-      msgs = basicSetRight(newRight, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_LARGER_EQUAL__RIGHT, newRight, newRight));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_LARGER_EQUAL__LEFT:
-        return basicSetLeft(null, msgs);
-      case SensinactPackage.DSL_EXPRESSION_LARGER_EQUAL__RIGHT:
-        return basicSetRight(null, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_LARGER_EQUAL__LEFT:
-        return getLeft();
-      case SensinactPackage.DSL_EXPRESSION_LARGER_EQUAL__RIGHT:
-        return getRight();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_LARGER_EQUAL__LEFT:
-        setLeft((DSL_Expression)newValue);
-        return;
-      case SensinactPackage.DSL_EXPRESSION_LARGER_EQUAL__RIGHT:
-        setRight((DSL_Expression)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_LARGER_EQUAL__LEFT:
-        setLeft((DSL_Expression)null);
-        return;
-      case SensinactPackage.DSL_EXPRESSION_LARGER_EQUAL__RIGHT:
-        setRight((DSL_Expression)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_LARGER_EQUAL__LEFT:
-        return left != null;
-      case SensinactPackage.DSL_EXPRESSION_LARGER_EQUAL__RIGHT:
-        return right != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_Expression_Larger_EqualImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_MinusImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_MinusImpl.java
deleted file mode 100644
index e7f5f7d..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_MinusImpl.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Minus;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL Expression Minus</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_MinusImpl#getLeft <em>Left</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_MinusImpl#getRight <em>Right</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_Expression_MinusImpl extends DSL_ExpressionImpl implements DSL_Expression_Minus
-{
-  /**
-   * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getLeft()
-   * @generated
-   * @ordered
-   */
-  protected DSL_Expression left;
-
-  /**
-   * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRight()
-   * @generated
-   * @ordered
-   */
-  protected DSL_Expression right;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_Expression_MinusImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_EXPRESSION_MINUS;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression getLeft()
-  {
-    return left;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetLeft(DSL_Expression newLeft, NotificationChain msgs)
-  {
-    DSL_Expression oldLeft = left;
-    left = newLeft;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_MINUS__LEFT, oldLeft, newLeft);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setLeft(DSL_Expression newLeft)
-  {
-    if (newLeft != left)
-    {
-      NotificationChain msgs = null;
-      if (left != null)
-        msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_MINUS__LEFT, null, msgs);
-      if (newLeft != null)
-        msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_MINUS__LEFT, null, msgs);
-      msgs = basicSetLeft(newLeft, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_MINUS__LEFT, newLeft, newLeft));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression getRight()
-  {
-    return right;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetRight(DSL_Expression newRight, NotificationChain msgs)
-  {
-    DSL_Expression oldRight = right;
-    right = newRight;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_MINUS__RIGHT, oldRight, newRight);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setRight(DSL_Expression newRight)
-  {
-    if (newRight != right)
-    {
-      NotificationChain msgs = null;
-      if (right != null)
-        msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_MINUS__RIGHT, null, msgs);
-      if (newRight != null)
-        msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_MINUS__RIGHT, null, msgs);
-      msgs = basicSetRight(newRight, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_MINUS__RIGHT, newRight, newRight));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_MINUS__LEFT:
-        return basicSetLeft(null, msgs);
-      case SensinactPackage.DSL_EXPRESSION_MINUS__RIGHT:
-        return basicSetRight(null, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_MINUS__LEFT:
-        return getLeft();
-      case SensinactPackage.DSL_EXPRESSION_MINUS__RIGHT:
-        return getRight();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_MINUS__LEFT:
-        setLeft((DSL_Expression)newValue);
-        return;
-      case SensinactPackage.DSL_EXPRESSION_MINUS__RIGHT:
-        setRight((DSL_Expression)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_MINUS__LEFT:
-        setLeft((DSL_Expression)null);
-        return;
-      case SensinactPackage.DSL_EXPRESSION_MINUS__RIGHT:
-        setRight((DSL_Expression)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_MINUS__LEFT:
-        return left != null;
-      case SensinactPackage.DSL_EXPRESSION_MINUS__RIGHT:
-        return right != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_Expression_MinusImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_ModuloImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_ModuloImpl.java
deleted file mode 100644
index 45b2e38..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_ModuloImpl.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Modulo;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL Expression Modulo</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_ModuloImpl#getLeft <em>Left</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_ModuloImpl#getRight <em>Right</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_Expression_ModuloImpl extends DSL_ExpressionImpl implements DSL_Expression_Modulo
-{
-  /**
-   * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getLeft()
-   * @generated
-   * @ordered
-   */
-  protected DSL_Expression left;
-
-  /**
-   * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRight()
-   * @generated
-   * @ordered
-   */
-  protected DSL_Expression right;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_Expression_ModuloImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_EXPRESSION_MODULO;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression getLeft()
-  {
-    return left;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetLeft(DSL_Expression newLeft, NotificationChain msgs)
-  {
-    DSL_Expression oldLeft = left;
-    left = newLeft;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_MODULO__LEFT, oldLeft, newLeft);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setLeft(DSL_Expression newLeft)
-  {
-    if (newLeft != left)
-    {
-      NotificationChain msgs = null;
-      if (left != null)
-        msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_MODULO__LEFT, null, msgs);
-      if (newLeft != null)
-        msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_MODULO__LEFT, null, msgs);
-      msgs = basicSetLeft(newLeft, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_MODULO__LEFT, newLeft, newLeft));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression getRight()
-  {
-    return right;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetRight(DSL_Expression newRight, NotificationChain msgs)
-  {
-    DSL_Expression oldRight = right;
-    right = newRight;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_MODULO__RIGHT, oldRight, newRight);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setRight(DSL_Expression newRight)
-  {
-    if (newRight != right)
-    {
-      NotificationChain msgs = null;
-      if (right != null)
-        msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_MODULO__RIGHT, null, msgs);
-      if (newRight != null)
-        msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_MODULO__RIGHT, null, msgs);
-      msgs = basicSetRight(newRight, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_MODULO__RIGHT, newRight, newRight));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_MODULO__LEFT:
-        return basicSetLeft(null, msgs);
-      case SensinactPackage.DSL_EXPRESSION_MODULO__RIGHT:
-        return basicSetRight(null, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_MODULO__LEFT:
-        return getLeft();
-      case SensinactPackage.DSL_EXPRESSION_MODULO__RIGHT:
-        return getRight();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_MODULO__LEFT:
-        setLeft((DSL_Expression)newValue);
-        return;
-      case SensinactPackage.DSL_EXPRESSION_MODULO__RIGHT:
-        setRight((DSL_Expression)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_MODULO__LEFT:
-        setLeft((DSL_Expression)null);
-        return;
-      case SensinactPackage.DSL_EXPRESSION_MODULO__RIGHT:
-        setRight((DSL_Expression)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_MODULO__LEFT:
-        return left != null;
-      case SensinactPackage.DSL_EXPRESSION_MODULO__RIGHT:
-        return right != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_Expression_ModuloImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_MultiplicationImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_MultiplicationImpl.java
deleted file mode 100644
index ea744c6..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_MultiplicationImpl.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Multiplication;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL Expression Multiplication</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_MultiplicationImpl#getLeft <em>Left</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_MultiplicationImpl#getRight <em>Right</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_Expression_MultiplicationImpl extends DSL_ExpressionImpl implements DSL_Expression_Multiplication
-{
-  /**
-   * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getLeft()
-   * @generated
-   * @ordered
-   */
-  protected DSL_Expression left;
-
-  /**
-   * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRight()
-   * @generated
-   * @ordered
-   */
-  protected DSL_Expression right;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_Expression_MultiplicationImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_EXPRESSION_MULTIPLICATION;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression getLeft()
-  {
-    return left;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetLeft(DSL_Expression newLeft, NotificationChain msgs)
-  {
-    DSL_Expression oldLeft = left;
-    left = newLeft;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_MULTIPLICATION__LEFT, oldLeft, newLeft);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setLeft(DSL_Expression newLeft)
-  {
-    if (newLeft != left)
-    {
-      NotificationChain msgs = null;
-      if (left != null)
-        msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_MULTIPLICATION__LEFT, null, msgs);
-      if (newLeft != null)
-        msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_MULTIPLICATION__LEFT, null, msgs);
-      msgs = basicSetLeft(newLeft, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_MULTIPLICATION__LEFT, newLeft, newLeft));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression getRight()
-  {
-    return right;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetRight(DSL_Expression newRight, NotificationChain msgs)
-  {
-    DSL_Expression oldRight = right;
-    right = newRight;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_MULTIPLICATION__RIGHT, oldRight, newRight);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setRight(DSL_Expression newRight)
-  {
-    if (newRight != right)
-    {
-      NotificationChain msgs = null;
-      if (right != null)
-        msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_MULTIPLICATION__RIGHT, null, msgs);
-      if (newRight != null)
-        msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_MULTIPLICATION__RIGHT, null, msgs);
-      msgs = basicSetRight(newRight, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_MULTIPLICATION__RIGHT, newRight, newRight));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_MULTIPLICATION__LEFT:
-        return basicSetLeft(null, msgs);
-      case SensinactPackage.DSL_EXPRESSION_MULTIPLICATION__RIGHT:
-        return basicSetRight(null, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_MULTIPLICATION__LEFT:
-        return getLeft();
-      case SensinactPackage.DSL_EXPRESSION_MULTIPLICATION__RIGHT:
-        return getRight();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_MULTIPLICATION__LEFT:
-        setLeft((DSL_Expression)newValue);
-        return;
-      case SensinactPackage.DSL_EXPRESSION_MULTIPLICATION__RIGHT:
-        setRight((DSL_Expression)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_MULTIPLICATION__LEFT:
-        setLeft((DSL_Expression)null);
-        return;
-      case SensinactPackage.DSL_EXPRESSION_MULTIPLICATION__RIGHT:
-        setRight((DSL_Expression)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_MULTIPLICATION__LEFT:
-        return left != null;
-      case SensinactPackage.DSL_EXPRESSION_MULTIPLICATION__RIGHT:
-        return right != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_Expression_MultiplicationImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_NegateImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_NegateImpl.java
deleted file mode 100644
index b8861d5..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_NegateImpl.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Negate;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL Expression Negate</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_NegateImpl#getExp <em>Exp</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_Expression_NegateImpl extends DSL_ExpressionImpl implements DSL_Expression_Negate
-{
-  /**
-   * The cached value of the '{@link #getExp() <em>Exp</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getExp()
-   * @generated
-   * @ordered
-   */
-  protected DSL_Expression exp;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_Expression_NegateImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_EXPRESSION_NEGATE;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression getExp()
-  {
-    return exp;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetExp(DSL_Expression newExp, NotificationChain msgs)
-  {
-    DSL_Expression oldExp = exp;
-    exp = newExp;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_NEGATE__EXP, oldExp, newExp);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setExp(DSL_Expression newExp)
-  {
-    if (newExp != exp)
-    {
-      NotificationChain msgs = null;
-      if (exp != null)
-        msgs = ((InternalEObject)exp).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_NEGATE__EXP, null, msgs);
-      if (newExp != null)
-        msgs = ((InternalEObject)newExp).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_NEGATE__EXP, null, msgs);
-      msgs = basicSetExp(newExp, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_NEGATE__EXP, newExp, newExp));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_NEGATE__EXP:
-        return basicSetExp(null, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_NEGATE__EXP:
-        return getExp();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_NEGATE__EXP:
-        setExp((DSL_Expression)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_NEGATE__EXP:
-        setExp((DSL_Expression)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_NEGATE__EXP:
-        return exp != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_Expression_NegateImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_OrImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_OrImpl.java
deleted file mode 100644
index 07ac0cb..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_OrImpl.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Or;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL Expression Or</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_OrImpl#getLeft <em>Left</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_OrImpl#getRight <em>Right</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_Expression_OrImpl extends DSL_ExpressionImpl implements DSL_Expression_Or
-{
-  /**
-   * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getLeft()
-   * @generated
-   * @ordered
-   */
-  protected DSL_Expression left;
-
-  /**
-   * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRight()
-   * @generated
-   * @ordered
-   */
-  protected DSL_Expression right;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_Expression_OrImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_EXPRESSION_OR;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression getLeft()
-  {
-    return left;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetLeft(DSL_Expression newLeft, NotificationChain msgs)
-  {
-    DSL_Expression oldLeft = left;
-    left = newLeft;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_OR__LEFT, oldLeft, newLeft);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setLeft(DSL_Expression newLeft)
-  {
-    if (newLeft != left)
-    {
-      NotificationChain msgs = null;
-      if (left != null)
-        msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_OR__LEFT, null, msgs);
-      if (newLeft != null)
-        msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_OR__LEFT, null, msgs);
-      msgs = basicSetLeft(newLeft, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_OR__LEFT, newLeft, newLeft));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression getRight()
-  {
-    return right;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetRight(DSL_Expression newRight, NotificationChain msgs)
-  {
-    DSL_Expression oldRight = right;
-    right = newRight;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_OR__RIGHT, oldRight, newRight);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setRight(DSL_Expression newRight)
-  {
-    if (newRight != right)
-    {
-      NotificationChain msgs = null;
-      if (right != null)
-        msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_OR__RIGHT, null, msgs);
-      if (newRight != null)
-        msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_OR__RIGHT, null, msgs);
-      msgs = basicSetRight(newRight, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_OR__RIGHT, newRight, newRight));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_OR__LEFT:
-        return basicSetLeft(null, msgs);
-      case SensinactPackage.DSL_EXPRESSION_OR__RIGHT:
-        return basicSetRight(null, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_OR__LEFT:
-        return getLeft();
-      case SensinactPackage.DSL_EXPRESSION_OR__RIGHT:
-        return getRight();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_OR__LEFT:
-        setLeft((DSL_Expression)newValue);
-        return;
-      case SensinactPackage.DSL_EXPRESSION_OR__RIGHT:
-        setRight((DSL_Expression)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_OR__LEFT:
-        setLeft((DSL_Expression)null);
-        return;
-      case SensinactPackage.DSL_EXPRESSION_OR__RIGHT:
-        setRight((DSL_Expression)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_OR__LEFT:
-        return left != null;
-      case SensinactPackage.DSL_EXPRESSION_OR__RIGHT:
-        return right != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_Expression_OrImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_PlusImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_PlusImpl.java
deleted file mode 100644
index 96266a4..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_PlusImpl.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Plus;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL Expression Plus</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_PlusImpl#getLeft <em>Left</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_PlusImpl#getRight <em>Right</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_Expression_PlusImpl extends DSL_ExpressionImpl implements DSL_Expression_Plus
-{
-  /**
-   * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getLeft()
-   * @generated
-   * @ordered
-   */
-  protected DSL_Expression left;
-
-  /**
-   * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRight()
-   * @generated
-   * @ordered
-   */
-  protected DSL_Expression right;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_Expression_PlusImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_EXPRESSION_PLUS;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression getLeft()
-  {
-    return left;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetLeft(DSL_Expression newLeft, NotificationChain msgs)
-  {
-    DSL_Expression oldLeft = left;
-    left = newLeft;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_PLUS__LEFT, oldLeft, newLeft);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setLeft(DSL_Expression newLeft)
-  {
-    if (newLeft != left)
-    {
-      NotificationChain msgs = null;
-      if (left != null)
-        msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_PLUS__LEFT, null, msgs);
-      if (newLeft != null)
-        msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_PLUS__LEFT, null, msgs);
-      msgs = basicSetLeft(newLeft, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_PLUS__LEFT, newLeft, newLeft));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression getRight()
-  {
-    return right;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetRight(DSL_Expression newRight, NotificationChain msgs)
-  {
-    DSL_Expression oldRight = right;
-    right = newRight;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_PLUS__RIGHT, oldRight, newRight);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setRight(DSL_Expression newRight)
-  {
-    if (newRight != right)
-    {
-      NotificationChain msgs = null;
-      if (right != null)
-        msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_PLUS__RIGHT, null, msgs);
-      if (newRight != null)
-        msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_PLUS__RIGHT, null, msgs);
-      msgs = basicSetRight(newRight, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_PLUS__RIGHT, newRight, newRight));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_PLUS__LEFT:
-        return basicSetLeft(null, msgs);
-      case SensinactPackage.DSL_EXPRESSION_PLUS__RIGHT:
-        return basicSetRight(null, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_PLUS__LEFT:
-        return getLeft();
-      case SensinactPackage.DSL_EXPRESSION_PLUS__RIGHT:
-        return getRight();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_PLUS__LEFT:
-        setLeft((DSL_Expression)newValue);
-        return;
-      case SensinactPackage.DSL_EXPRESSION_PLUS__RIGHT:
-        setRight((DSL_Expression)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_PLUS__LEFT:
-        setLeft((DSL_Expression)null);
-        return;
-      case SensinactPackage.DSL_EXPRESSION_PLUS__RIGHT:
-        setRight((DSL_Expression)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_PLUS__LEFT:
-        return left != null;
-      case SensinactPackage.DSL_EXPRESSION_PLUS__RIGHT:
-        return right != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_Expression_PlusImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_SmallerImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_SmallerImpl.java
deleted file mode 100644
index fed7e21..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_SmallerImpl.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Smaller;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL Expression Smaller</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_SmallerImpl#getLeft <em>Left</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_SmallerImpl#getRight <em>Right</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_Expression_SmallerImpl extends DSL_ExpressionImpl implements DSL_Expression_Smaller
-{
-  /**
-   * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getLeft()
-   * @generated
-   * @ordered
-   */
-  protected DSL_Expression left;
-
-  /**
-   * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRight()
-   * @generated
-   * @ordered
-   */
-  protected DSL_Expression right;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_Expression_SmallerImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_EXPRESSION_SMALLER;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression getLeft()
-  {
-    return left;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetLeft(DSL_Expression newLeft, NotificationChain msgs)
-  {
-    DSL_Expression oldLeft = left;
-    left = newLeft;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_SMALLER__LEFT, oldLeft, newLeft);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setLeft(DSL_Expression newLeft)
-  {
-    if (newLeft != left)
-    {
-      NotificationChain msgs = null;
-      if (left != null)
-        msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_SMALLER__LEFT, null, msgs);
-      if (newLeft != null)
-        msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_SMALLER__LEFT, null, msgs);
-      msgs = basicSetLeft(newLeft, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_SMALLER__LEFT, newLeft, newLeft));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression getRight()
-  {
-    return right;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetRight(DSL_Expression newRight, NotificationChain msgs)
-  {
-    DSL_Expression oldRight = right;
-    right = newRight;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_SMALLER__RIGHT, oldRight, newRight);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setRight(DSL_Expression newRight)
-  {
-    if (newRight != right)
-    {
-      NotificationChain msgs = null;
-      if (right != null)
-        msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_SMALLER__RIGHT, null, msgs);
-      if (newRight != null)
-        msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_SMALLER__RIGHT, null, msgs);
-      msgs = basicSetRight(newRight, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_SMALLER__RIGHT, newRight, newRight));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_SMALLER__LEFT:
-        return basicSetLeft(null, msgs);
-      case SensinactPackage.DSL_EXPRESSION_SMALLER__RIGHT:
-        return basicSetRight(null, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_SMALLER__LEFT:
-        return getLeft();
-      case SensinactPackage.DSL_EXPRESSION_SMALLER__RIGHT:
-        return getRight();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_SMALLER__LEFT:
-        setLeft((DSL_Expression)newValue);
-        return;
-      case SensinactPackage.DSL_EXPRESSION_SMALLER__RIGHT:
-        setRight((DSL_Expression)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_SMALLER__LEFT:
-        setLeft((DSL_Expression)null);
-        return;
-      case SensinactPackage.DSL_EXPRESSION_SMALLER__RIGHT:
-        setRight((DSL_Expression)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_SMALLER__LEFT:
-        return left != null;
-      case SensinactPackage.DSL_EXPRESSION_SMALLER__RIGHT:
-        return right != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_Expression_SmallerImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_Smaller_EqualImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_Smaller_EqualImpl.java
deleted file mode 100644
index 36c515f..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Expression_Smaller_EqualImpl.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Smaller_Equal;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL Expression Smaller Equal</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_Smaller_EqualImpl#getLeft <em>Left</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Expression_Smaller_EqualImpl#getRight <em>Right</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_Expression_Smaller_EqualImpl extends DSL_ExpressionImpl implements DSL_Expression_Smaller_Equal
-{
-  /**
-   * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getLeft()
-   * @generated
-   * @ordered
-   */
-  protected DSL_Expression left;
-
-  /**
-   * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRight()
-   * @generated
-   * @ordered
-   */
-  protected DSL_Expression right;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_Expression_Smaller_EqualImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_EXPRESSION_SMALLER_EQUAL;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression getLeft()
-  {
-    return left;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetLeft(DSL_Expression newLeft, NotificationChain msgs)
-  {
-    DSL_Expression oldLeft = left;
-    left = newLeft;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_SMALLER_EQUAL__LEFT, oldLeft, newLeft);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setLeft(DSL_Expression newLeft)
-  {
-    if (newLeft != left)
-    {
-      NotificationChain msgs = null;
-      if (left != null)
-        msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_SMALLER_EQUAL__LEFT, null, msgs);
-      if (newLeft != null)
-        msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_SMALLER_EQUAL__LEFT, null, msgs);
-      msgs = basicSetLeft(newLeft, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_SMALLER_EQUAL__LEFT, newLeft, newLeft));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression getRight()
-  {
-    return right;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetRight(DSL_Expression newRight, NotificationChain msgs)
-  {
-    DSL_Expression oldRight = right;
-    right = newRight;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_SMALLER_EQUAL__RIGHT, oldRight, newRight);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setRight(DSL_Expression newRight)
-  {
-    if (newRight != right)
-    {
-      NotificationChain msgs = null;
-      if (right != null)
-        msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_SMALLER_EQUAL__RIGHT, null, msgs);
-      if (newRight != null)
-        msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_EXPRESSION_SMALLER_EQUAL__RIGHT, null, msgs);
-      msgs = basicSetRight(newRight, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_EXPRESSION_SMALLER_EQUAL__RIGHT, newRight, newRight));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_SMALLER_EQUAL__LEFT:
-        return basicSetLeft(null, msgs);
-      case SensinactPackage.DSL_EXPRESSION_SMALLER_EQUAL__RIGHT:
-        return basicSetRight(null, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_SMALLER_EQUAL__LEFT:
-        return getLeft();
-      case SensinactPackage.DSL_EXPRESSION_SMALLER_EQUAL__RIGHT:
-        return getRight();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_SMALLER_EQUAL__LEFT:
-        setLeft((DSL_Expression)newValue);
-        return;
-      case SensinactPackage.DSL_EXPRESSION_SMALLER_EQUAL__RIGHT:
-        setRight((DSL_Expression)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_SMALLER_EQUAL__LEFT:
-        setLeft((DSL_Expression)null);
-        return;
-      case SensinactPackage.DSL_EXPRESSION_SMALLER_EQUAL__RIGHT:
-        setRight((DSL_Expression)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_EXPRESSION_SMALLER_EQUAL__LEFT:
-        return left != null;
-      case SensinactPackage.DSL_EXPRESSION_SMALLER_EQUAL__RIGHT:
-        return right != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_Expression_Smaller_EqualImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_IfDoImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_IfDoImpl.java
deleted file mode 100644
index bddce82..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_IfDoImpl.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_IfDo;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_ListActions;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL If Do</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_IfDoImpl#getCondition <em>Condition</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_IfDoImpl#getActions <em>Actions</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_IfDoImpl extends MinimalEObjectImpl.Container implements DSL_IfDo
-{
-  /**
-   * The cached value of the '{@link #getCondition() <em>Condition</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getCondition()
-   * @generated
-   * @ordered
-   */
-  protected DSL_Expression condition;
-
-  /**
-   * The cached value of the '{@link #getActions() <em>Actions</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getActions()
-   * @generated
-   * @ordered
-   */
-  protected DSL_ListActions actions;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_IfDoImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_IF_DO;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression getCondition()
-  {
-    return condition;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetCondition(DSL_Expression newCondition, NotificationChain msgs)
-  {
-    DSL_Expression oldCondition = condition;
-    condition = newCondition;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_IF_DO__CONDITION, oldCondition, newCondition);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setCondition(DSL_Expression newCondition)
-  {
-    if (newCondition != condition)
-    {
-      NotificationChain msgs = null;
-      if (condition != null)
-        msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_IF_DO__CONDITION, null, msgs);
-      if (newCondition != null)
-        msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_IF_DO__CONDITION, null, msgs);
-      msgs = basicSetCondition(newCondition, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_IF_DO__CONDITION, newCondition, newCondition));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_ListActions getActions()
-  {
-    return actions;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetActions(DSL_ListActions newActions, NotificationChain msgs)
-  {
-    DSL_ListActions oldActions = actions;
-    actions = newActions;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_IF_DO__ACTIONS, oldActions, newActions);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setActions(DSL_ListActions newActions)
-  {
-    if (newActions != actions)
-    {
-      NotificationChain msgs = null;
-      if (actions != null)
-        msgs = ((InternalEObject)actions).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_IF_DO__ACTIONS, null, msgs);
-      if (newActions != null)
-        msgs = ((InternalEObject)newActions).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_IF_DO__ACTIONS, null, msgs);
-      msgs = basicSetActions(newActions, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_IF_DO__ACTIONS, newActions, newActions));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_IF_DO__CONDITION:
-        return basicSetCondition(null, msgs);
-      case SensinactPackage.DSL_IF_DO__ACTIONS:
-        return basicSetActions(null, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_IF_DO__CONDITION:
-        return getCondition();
-      case SensinactPackage.DSL_IF_DO__ACTIONS:
-        return getActions();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_IF_DO__CONDITION:
-        setCondition((DSL_Expression)newValue);
-        return;
-      case SensinactPackage.DSL_IF_DO__ACTIONS:
-        setActions((DSL_ListActions)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_IF_DO__CONDITION:
-        setCondition((DSL_Expression)null);
-        return;
-      case SensinactPackage.DSL_IF_DO__ACTIONS:
-        setActions((DSL_ListActions)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_IF_DO__CONDITION:
-        return condition != null;
-      case SensinactPackage.DSL_IF_DO__ACTIONS:
-        return actions != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_IfDoImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_ListActionsImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_ListActionsImpl.java
deleted file mode 100644
index 86230e2..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_ListActionsImpl.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_ListActions;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_ResourceAction;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL List Actions</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ListActionsImpl#getActionList <em>Action List</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_ListActionsImpl extends MinimalEObjectImpl.Container implements DSL_ListActions
-{
-  /**
-   * The cached value of the '{@link #getActionList() <em>Action List</em>}' containment reference list.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getActionList()
-   * @generated
-   * @ordered
-   */
-  protected EList<DSL_ResourceAction> actionList;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_ListActionsImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_LIST_ACTIONS;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EList<DSL_ResourceAction> getActionList()
-  {
-    if (actionList == null)
-    {
-      actionList = new EObjectContainmentEList<DSL_ResourceAction>(DSL_ResourceAction.class, this, SensinactPackage.DSL_LIST_ACTIONS__ACTION_LIST);
-    }
-    return actionList;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_LIST_ACTIONS__ACTION_LIST:
-        return ((InternalEList<?>)getActionList()).basicRemove(otherEnd, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_LIST_ACTIONS__ACTION_LIST:
-        return getActionList();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @SuppressWarnings("unchecked")
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_LIST_ACTIONS__ACTION_LIST:
-        getActionList().clear();
-        getActionList().addAll((Collection<? extends DSL_ResourceAction>)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_LIST_ACTIONS__ACTION_LIST:
-        getActionList().clear();
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_LIST_ACTIONS__ACTION_LIST:
-        return actionList != null && !actionList.isEmpty();
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_ListActionsImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_ListParamImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_ListParamImpl.java
deleted file mode 100644
index 3b8fb94..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_ListParamImpl.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_ListParam;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL List Param</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ListParamImpl#getParam <em>Param</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_ListParamImpl extends MinimalEObjectImpl.Container implements DSL_ListParam
-{
-  /**
-   * The cached value of the '{@link #getParam() <em>Param</em>}' containment reference list.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getParam()
-   * @generated
-   * @ordered
-   */
-  protected EList<DSL_Expression> param;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_ListParamImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_LIST_PARAM;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EList<DSL_Expression> getParam()
-  {
-    if (param == null)
-    {
-      param = new EObjectContainmentEList<DSL_Expression>(DSL_Expression.class, this, SensinactPackage.DSL_LIST_PARAM__PARAM);
-    }
-    return param;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_LIST_PARAM__PARAM:
-        return ((InternalEList<?>)getParam()).basicRemove(otherEnd, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_LIST_PARAM__PARAM:
-        return getParam();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @SuppressWarnings("unchecked")
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_LIST_PARAM__PARAM:
-        getParam().clear();
-        getParam().addAll((Collection<? extends DSL_Expression>)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_LIST_PARAM__PARAM:
-        getParam().clear();
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_LIST_PARAM__PARAM:
-        return param != null && !param.isEmpty();
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_ListParamImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Object_BooleanImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Object_BooleanImpl.java
deleted file mode 100644
index 9dd6346..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Object_BooleanImpl.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Object_Boolean;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL Object Boolean</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Object_BooleanImpl#isValue <em>Value</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_Object_BooleanImpl extends DSL_ExpressionImpl implements DSL_Object_Boolean
-{
-  /**
-   * The default value of the '{@link #isValue() <em>Value</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #isValue()
-   * @generated
-   * @ordered
-   */
-  protected static final boolean VALUE_EDEFAULT = false;
-
-  /**
-   * The cached value of the '{@link #isValue() <em>Value</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #isValue()
-   * @generated
-   * @ordered
-   */
-  protected boolean value = VALUE_EDEFAULT;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_Object_BooleanImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_OBJECT_BOOLEAN;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public boolean isValue()
-  {
-    return value;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setValue(boolean newValue)
-  {
-    boolean oldValue = value;
-    value = newValue;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_OBJECT_BOOLEAN__VALUE, oldValue, value));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_OBJECT_BOOLEAN__VALUE:
-        return isValue();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_OBJECT_BOOLEAN__VALUE:
-        setValue((Boolean)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_OBJECT_BOOLEAN__VALUE:
-        setValue(VALUE_EDEFAULT);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_OBJECT_BOOLEAN__VALUE:
-        return value != VALUE_EDEFAULT;
-    }
-    return super.eIsSet(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public String toString()
-  {
-    if (eIsProxy()) return super.toString();
-
-    StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (value: ");
-    result.append(value);
-    result.append(')');
-    return result.toString();
-  }
-
-} //DSL_Object_BooleanImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Object_NumberImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Object_NumberImpl.java
deleted file mode 100644
index 01e5f6f..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Object_NumberImpl.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import java.math.BigDecimal;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Object_Number;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL Object Number</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Object_NumberImpl#getValue <em>Value</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_Object_NumberImpl extends DSL_ExpressionImpl implements DSL_Object_Number
-{
-  /**
-   * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getValue()
-   * @generated
-   * @ordered
-   */
-  protected static final BigDecimal VALUE_EDEFAULT = null;
-
-  /**
-   * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getValue()
-   * @generated
-   * @ordered
-   */
-  protected BigDecimal value = VALUE_EDEFAULT;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_Object_NumberImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_OBJECT_NUMBER;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public BigDecimal getValue()
-  {
-    return value;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setValue(BigDecimal newValue)
-  {
-    BigDecimal oldValue = value;
-    value = newValue;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_OBJECT_NUMBER__VALUE, oldValue, value));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_OBJECT_NUMBER__VALUE:
-        return getValue();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_OBJECT_NUMBER__VALUE:
-        setValue((BigDecimal)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_OBJECT_NUMBER__VALUE:
-        setValue(VALUE_EDEFAULT);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_OBJECT_NUMBER__VALUE:
-        return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
-    }
-    return super.eIsSet(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public String toString()
-  {
-    if (eIsProxy()) return super.toString();
-
-    StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (value: ");
-    result.append(value);
-    result.append(')');
-    return result.toString();
-  }
-
-} //DSL_Object_NumberImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Object_RefImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Object_RefImpl.java
deleted file mode 100644
index 7e260ee..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Object_RefImpl.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Object_Ref;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_REF;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL Object Ref</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Object_RefImpl#getValue <em>Value</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_Object_RefImpl extends DSL_ExpressionImpl implements DSL_Object_Ref
-{
-  /**
-   * The cached value of the '{@link #getValue() <em>Value</em>}' reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getValue()
-   * @generated
-   * @ordered
-   */
-  protected DSL_REF value;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_Object_RefImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_OBJECT_REF;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_REF getValue()
-  {
-    if (value != null && value.eIsProxy())
-    {
-      InternalEObject oldValue = (InternalEObject)value;
-      value = (DSL_REF)eResolveProxy(oldValue);
-      if (value != oldValue)
-      {
-        if (eNotificationRequired())
-          eNotify(new ENotificationImpl(this, Notification.RESOLVE, SensinactPackage.DSL_OBJECT_REF__VALUE, oldValue, value));
-      }
-    }
-    return value;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_REF basicGetValue()
-  {
-    return value;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setValue(DSL_REF newValue)
-  {
-    DSL_REF oldValue = value;
-    value = newValue;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_OBJECT_REF__VALUE, oldValue, value));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_OBJECT_REF__VALUE:
-        if (resolve) return getValue();
-        return basicGetValue();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_OBJECT_REF__VALUE:
-        setValue((DSL_REF)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_OBJECT_REF__VALUE:
-        setValue((DSL_REF)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_OBJECT_REF__VALUE:
-        return value != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_Object_RefImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Object_StringImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Object_StringImpl.java
deleted file mode 100644
index b37c7c3..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_Object_StringImpl.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Object_String;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL Object String</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_Object_StringImpl#getValue <em>Value</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_Object_StringImpl extends DSL_ExpressionImpl implements DSL_Object_String
-{
-  /**
-   * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getValue()
-   * @generated
-   * @ordered
-   */
-  protected static final String VALUE_EDEFAULT = null;
-
-  /**
-   * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getValue()
-   * @generated
-   * @ordered
-   */
-  protected String value = VALUE_EDEFAULT;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_Object_StringImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_OBJECT_STRING;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public String getValue()
-  {
-    return value;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setValue(String newValue)
-  {
-    String oldValue = value;
-    value = newValue;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_OBJECT_STRING__VALUE, oldValue, value));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_OBJECT_STRING__VALUE:
-        return getValue();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_OBJECT_STRING__VALUE:
-        setValue((String)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_OBJECT_STRING__VALUE:
-        setValue(VALUE_EDEFAULT);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_OBJECT_STRING__VALUE:
-        return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
-    }
-    return super.eIsSet(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public String toString()
-  {
-    if (eIsProxy()) return super.toString();
-
-    StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (value: ");
-    result.append(value);
-    result.append(')');
-    return result.toString();
-  }
-
-} //DSL_Object_StringImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_OnImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_OnImpl.java
deleted file mode 100644
index c3c8456..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_OnImpl.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_On;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_REF_CONDITION;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL On</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_OnImpl#getTriggers <em>Triggers</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_OnImpl extends MinimalEObjectImpl.Container implements DSL_On
-{
-  /**
-   * The cached value of the '{@link #getTriggers() <em>Triggers</em>}' containment reference list.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getTriggers()
-   * @generated
-   * @ordered
-   */
-  protected EList<DSL_REF_CONDITION> triggers;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_OnImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_ON;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EList<DSL_REF_CONDITION> getTriggers()
-  {
-    if (triggers == null)
-    {
-      triggers = new EObjectContainmentEList<DSL_REF_CONDITION>(DSL_REF_CONDITION.class, this, SensinactPackage.DSL_ON__TRIGGERS);
-    }
-    return triggers;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_ON__TRIGGERS:
-        return ((InternalEList<?>)getTriggers()).basicRemove(otherEnd, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_ON__TRIGGERS:
-        return getTriggers();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @SuppressWarnings("unchecked")
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_ON__TRIGGERS:
-        getTriggers().clear();
-        getTriggers().addAll((Collection<? extends DSL_REF_CONDITION>)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_ON__TRIGGERS:
-        getTriggers().clear();
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_ON__TRIGGERS:
-        return triggers != null && !triggers.isEmpty();
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_OnImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_REFImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_REFImpl.java
deleted file mode 100644
index f57d148..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_REFImpl.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_REF;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL REF</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_REFImpl#getName <em>Name</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_REFImpl extends MinimalEObjectImpl.Container implements DSL_REF
-{
-  /**
-   * The default value of the '{@link #getName() <em>Name</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getName()
-   * @generated
-   * @ordered
-   */
-  protected static final String NAME_EDEFAULT = null;
-
-  /**
-   * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getName()
-   * @generated
-   * @ordered
-   */
-  protected String name = NAME_EDEFAULT;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_REFImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_REF;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public String getName()
-  {
-    return name;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setName(String newName)
-  {
-    String oldName = name;
-    name = newName;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_REF__NAME, oldName, name));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_REF__NAME:
-        return getName();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_REF__NAME:
-        setName((String)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_REF__NAME:
-        setName(NAME_EDEFAULT);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_REF__NAME:
-        return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-    }
-    return super.eIsSet(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public String toString()
-  {
-    if (eIsProxy()) return super.toString();
-
-    StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (name: ");
-    result.append(name);
-    result.append(')');
-    return result.toString();
-  }
-
-} //DSL_REFImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_REF_CONDITIONImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_REF_CONDITIONImpl.java
deleted file mode 100644
index ba70c34..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_REF_CONDITIONImpl.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_REF;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_REF_CONDITION;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL REF CONDITION</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_REF_CONDITIONImpl#getRef <em>Ref</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_REF_CONDITIONImpl extends MinimalEObjectImpl.Container implements DSL_REF_CONDITION
-{
-  /**
-   * The cached value of the '{@link #getRef() <em>Ref</em>}' reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRef()
-   * @generated
-   * @ordered
-   */
-  protected DSL_REF ref;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_REF_CONDITIONImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_REF_CONDITION;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_REF getRef()
-  {
-    if (ref != null && ref.eIsProxy())
-    {
-      InternalEObject oldRef = (InternalEObject)ref;
-      ref = (DSL_REF)eResolveProxy(oldRef);
-      if (ref != oldRef)
-      {
-        if (eNotificationRequired())
-          eNotify(new ENotificationImpl(this, Notification.RESOLVE, SensinactPackage.DSL_REF_CONDITION__REF, oldRef, ref));
-      }
-    }
-    return ref;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_REF basicGetRef()
-  {
-    return ref;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setRef(DSL_REF newRef)
-  {
-    DSL_REF oldRef = ref;
-    ref = newRef;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_REF_CONDITION__REF, oldRef, ref));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_REF_CONDITION__REF:
-        if (resolve) return getRef();
-        return basicGetRef();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_REF_CONDITION__REF:
-        setRef((DSL_REF)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_REF_CONDITION__REF:
-        setRef((DSL_REF)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_REF_CONDITION__REF:
-        return ref != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_REF_CONDITIONImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_ResourceActionImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_ResourceActionImpl.java
deleted file mode 100644
index 9030821..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_ResourceActionImpl.java
+++ /dev/null
@@ -1,398 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_ListParam;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_REF;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_ResourceAction;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL Resource Action</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ResourceActionImpl#getVariable <em>Variable</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ResourceActionImpl#getRef <em>Ref</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ResourceActionImpl#getActiontype <em>Actiontype</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ResourceActionImpl#getListParam <em>List Param</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_ResourceActionImpl extends MinimalEObjectImpl.Container implements DSL_ResourceAction
-{
-  /**
-   * The default value of the '{@link #getVariable() <em>Variable</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getVariable()
-   * @generated
-   * @ordered
-   */
-  protected static final String VARIABLE_EDEFAULT = null;
-
-  /**
-   * The cached value of the '{@link #getVariable() <em>Variable</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getVariable()
-   * @generated
-   * @ordered
-   */
-  protected String variable = VARIABLE_EDEFAULT;
-
-  /**
-   * The cached value of the '{@link #getRef() <em>Ref</em>}' reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRef()
-   * @generated
-   * @ordered
-   */
-  protected DSL_REF ref;
-
-  /**
-   * The default value of the '{@link #getActiontype() <em>Actiontype</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getActiontype()
-   * @generated
-   * @ordered
-   */
-  protected static final String ACTIONTYPE_EDEFAULT = null;
-
-  /**
-   * The cached value of the '{@link #getActiontype() <em>Actiontype</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getActiontype()
-   * @generated
-   * @ordered
-   */
-  protected String actiontype = ACTIONTYPE_EDEFAULT;
-
-  /**
-   * The cached value of the '{@link #getListParam() <em>List Param</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getListParam()
-   * @generated
-   * @ordered
-   */
-  protected DSL_ListParam listParam;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_ResourceActionImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_RESOURCE_ACTION;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public String getVariable()
-  {
-    return variable;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setVariable(String newVariable)
-  {
-    String oldVariable = variable;
-    variable = newVariable;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_RESOURCE_ACTION__VARIABLE, oldVariable, variable));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_REF getRef()
-  {
-    if (ref != null && ref.eIsProxy())
-    {
-      InternalEObject oldRef = (InternalEObject)ref;
-      ref = (DSL_REF)eResolveProxy(oldRef);
-      if (ref != oldRef)
-      {
-        if (eNotificationRequired())
-          eNotify(new ENotificationImpl(this, Notification.RESOLVE, SensinactPackage.DSL_RESOURCE_ACTION__REF, oldRef, ref));
-      }
-    }
-    return ref;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_REF basicGetRef()
-  {
-    return ref;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setRef(DSL_REF newRef)
-  {
-    DSL_REF oldRef = ref;
-    ref = newRef;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_RESOURCE_ACTION__REF, oldRef, ref));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public String getActiontype()
-  {
-    return actiontype;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setActiontype(String newActiontype)
-  {
-    String oldActiontype = actiontype;
-    actiontype = newActiontype;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_RESOURCE_ACTION__ACTIONTYPE, oldActiontype, actiontype));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_ListParam getListParam()
-  {
-    return listParam;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetListParam(DSL_ListParam newListParam, NotificationChain msgs)
-  {
-    DSL_ListParam oldListParam = listParam;
-    listParam = newListParam;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_RESOURCE_ACTION__LIST_PARAM, oldListParam, newListParam);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setListParam(DSL_ListParam newListParam)
-  {
-    if (newListParam != listParam)
-    {
-      NotificationChain msgs = null;
-      if (listParam != null)
-        msgs = ((InternalEObject)listParam).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_RESOURCE_ACTION__LIST_PARAM, null, msgs);
-      if (newListParam != null)
-        msgs = ((InternalEObject)newListParam).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_RESOURCE_ACTION__LIST_PARAM, null, msgs);
-      msgs = basicSetListParam(newListParam, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_RESOURCE_ACTION__LIST_PARAM, newListParam, newListParam));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_RESOURCE_ACTION__LIST_PARAM:
-        return basicSetListParam(null, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_RESOURCE_ACTION__VARIABLE:
-        return getVariable();
-      case SensinactPackage.DSL_RESOURCE_ACTION__REF:
-        if (resolve) return getRef();
-        return basicGetRef();
-      case SensinactPackage.DSL_RESOURCE_ACTION__ACTIONTYPE:
-        return getActiontype();
-      case SensinactPackage.DSL_RESOURCE_ACTION__LIST_PARAM:
-        return getListParam();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_RESOURCE_ACTION__VARIABLE:
-        setVariable((String)newValue);
-        return;
-      case SensinactPackage.DSL_RESOURCE_ACTION__REF:
-        setRef((DSL_REF)newValue);
-        return;
-      case SensinactPackage.DSL_RESOURCE_ACTION__ACTIONTYPE:
-        setActiontype((String)newValue);
-        return;
-      case SensinactPackage.DSL_RESOURCE_ACTION__LIST_PARAM:
-        setListParam((DSL_ListParam)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_RESOURCE_ACTION__VARIABLE:
-        setVariable(VARIABLE_EDEFAULT);
-        return;
-      case SensinactPackage.DSL_RESOURCE_ACTION__REF:
-        setRef((DSL_REF)null);
-        return;
-      case SensinactPackage.DSL_RESOURCE_ACTION__ACTIONTYPE:
-        setActiontype(ACTIONTYPE_EDEFAULT);
-        return;
-      case SensinactPackage.DSL_RESOURCE_ACTION__LIST_PARAM:
-        setListParam((DSL_ListParam)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_RESOURCE_ACTION__VARIABLE:
-        return VARIABLE_EDEFAULT == null ? variable != null : !VARIABLE_EDEFAULT.equals(variable);
-      case SensinactPackage.DSL_RESOURCE_ACTION__REF:
-        return ref != null;
-      case SensinactPackage.DSL_RESOURCE_ACTION__ACTIONTYPE:
-        return ACTIONTYPE_EDEFAULT == null ? actiontype != null : !ACTIONTYPE_EDEFAULT.equals(actiontype);
-      case SensinactPackage.DSL_RESOURCE_ACTION__LIST_PARAM:
-        return listParam != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public String toString()
-  {
-    if (eIsProxy()) return super.toString();
-
-    StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (variable: ");
-    result.append(variable);
-    result.append(", actiontype: ");
-    result.append(actiontype);
-    result.append(')');
-    return result.toString();
-  }
-
-} //DSL_ResourceActionImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_ResourceImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_ResourceImpl.java
deleted file mode 100644
index ff4d103..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_ResourceImpl.java
+++ /dev/null
@@ -1,355 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Resource;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL Resource</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ResourceImpl#getGatewayID <em>Gateway ID</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ResourceImpl#getDeviceID <em>Device ID</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ResourceImpl#getServiceID <em>Service ID</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_ResourceImpl#getResourceID <em>Resource ID</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_ResourceImpl extends DSL_REFImpl implements DSL_Resource
-{
-  /**
-   * The default value of the '{@link #getGatewayID() <em>Gateway ID</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getGatewayID()
-   * @generated
-   * @ordered
-   */
-  protected static final String GATEWAY_ID_EDEFAULT = null;
-
-  /**
-   * The cached value of the '{@link #getGatewayID() <em>Gateway ID</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getGatewayID()
-   * @generated
-   * @ordered
-   */
-  protected String gatewayID = GATEWAY_ID_EDEFAULT;
-
-  /**
-   * The default value of the '{@link #getDeviceID() <em>Device ID</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getDeviceID()
-   * @generated
-   * @ordered
-   */
-  protected static final String DEVICE_ID_EDEFAULT = null;
-
-  /**
-   * The cached value of the '{@link #getDeviceID() <em>Device ID</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getDeviceID()
-   * @generated
-   * @ordered
-   */
-  protected String deviceID = DEVICE_ID_EDEFAULT;
-
-  /**
-   * The default value of the '{@link #getServiceID() <em>Service ID</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getServiceID()
-   * @generated
-   * @ordered
-   */
-  protected static final String SERVICE_ID_EDEFAULT = null;
-
-  /**
-   * The cached value of the '{@link #getServiceID() <em>Service ID</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getServiceID()
-   * @generated
-   * @ordered
-   */
-  protected String serviceID = SERVICE_ID_EDEFAULT;
-
-  /**
-   * The default value of the '{@link #getResourceID() <em>Resource ID</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getResourceID()
-   * @generated
-   * @ordered
-   */
-  protected static final String RESOURCE_ID_EDEFAULT = null;
-
-  /**
-   * The cached value of the '{@link #getResourceID() <em>Resource ID</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getResourceID()
-   * @generated
-   * @ordered
-   */
-  protected String resourceID = RESOURCE_ID_EDEFAULT;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_ResourceImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_RESOURCE;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public String getGatewayID()
-  {
-    return gatewayID;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setGatewayID(String newGatewayID)
-  {
-    String oldGatewayID = gatewayID;
-    gatewayID = newGatewayID;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_RESOURCE__GATEWAY_ID, oldGatewayID, gatewayID));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public String getDeviceID()
-  {
-    return deviceID;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setDeviceID(String newDeviceID)
-  {
-    String oldDeviceID = deviceID;
-    deviceID = newDeviceID;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_RESOURCE__DEVICE_ID, oldDeviceID, deviceID));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public String getServiceID()
-  {
-    return serviceID;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setServiceID(String newServiceID)
-  {
-    String oldServiceID = serviceID;
-    serviceID = newServiceID;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_RESOURCE__SERVICE_ID, oldServiceID, serviceID));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public String getResourceID()
-  {
-    return resourceID;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setResourceID(String newResourceID)
-  {
-    String oldResourceID = resourceID;
-    resourceID = newResourceID;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_RESOURCE__RESOURCE_ID, oldResourceID, resourceID));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_RESOURCE__GATEWAY_ID:
-        return getGatewayID();
-      case SensinactPackage.DSL_RESOURCE__DEVICE_ID:
-        return getDeviceID();
-      case SensinactPackage.DSL_RESOURCE__SERVICE_ID:
-        return getServiceID();
-      case SensinactPackage.DSL_RESOURCE__RESOURCE_ID:
-        return getResourceID();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_RESOURCE__GATEWAY_ID:
-        setGatewayID((String)newValue);
-        return;
-      case SensinactPackage.DSL_RESOURCE__DEVICE_ID:
-        setDeviceID((String)newValue);
-        return;
-      case SensinactPackage.DSL_RESOURCE__SERVICE_ID:
-        setServiceID((String)newValue);
-        return;
-      case SensinactPackage.DSL_RESOURCE__RESOURCE_ID:
-        setResourceID((String)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_RESOURCE__GATEWAY_ID:
-        setGatewayID(GATEWAY_ID_EDEFAULT);
-        return;
-      case SensinactPackage.DSL_RESOURCE__DEVICE_ID:
-        setDeviceID(DEVICE_ID_EDEFAULT);
-        return;
-      case SensinactPackage.DSL_RESOURCE__SERVICE_ID:
-        setServiceID(SERVICE_ID_EDEFAULT);
-        return;
-      case SensinactPackage.DSL_RESOURCE__RESOURCE_ID:
-        setResourceID(RESOURCE_ID_EDEFAULT);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_RESOURCE__GATEWAY_ID:
-        return GATEWAY_ID_EDEFAULT == null ? gatewayID != null : !GATEWAY_ID_EDEFAULT.equals(gatewayID);
-      case SensinactPackage.DSL_RESOURCE__DEVICE_ID:
-        return DEVICE_ID_EDEFAULT == null ? deviceID != null : !DEVICE_ID_EDEFAULT.equals(deviceID);
-      case SensinactPackage.DSL_RESOURCE__SERVICE_ID:
-        return SERVICE_ID_EDEFAULT == null ? serviceID != null : !SERVICE_ID_EDEFAULT.equals(serviceID);
-      case SensinactPackage.DSL_RESOURCE__RESOURCE_ID:
-        return RESOURCE_ID_EDEFAULT == null ? resourceID != null : !RESOURCE_ID_EDEFAULT.equals(resourceID);
-    }
-    return super.eIsSet(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public String toString()
-  {
-    if (eIsProxy()) return super.toString();
-
-    StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (gatewayID: ");
-    result.append(gatewayID);
-    result.append(", deviceID: ");
-    result.append(deviceID);
-    result.append(", serviceID: ");
-    result.append(serviceID);
-    result.append(", resourceID: ");
-    result.append(resourceID);
-    result.append(')');
-    return result.toString();
-  }
-
-} //DSL_ResourceImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_SENSINACTImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_SENSINACTImpl.java
deleted file mode 100644
index 7010963..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/DSL_SENSINACTImpl.java
+++ /dev/null
@@ -1,363 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_STATEMENT;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_ECA_STATEMENT;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_On;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Resource;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_SENSINACT;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DSL SENSINACT</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_SENSINACTImpl#getResources <em>Resources</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_SENSINACTImpl#getCep <em>Cep</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_SENSINACTImpl#getOn <em>On</em>}</li>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.DSL_SENSINACTImpl#getEca <em>Eca</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class DSL_SENSINACTImpl extends MinimalEObjectImpl.Container implements DSL_SENSINACT
-{
-  /**
-   * The cached value of the '{@link #getResources() <em>Resources</em>}' containment reference list.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getResources()
-   * @generated
-   * @ordered
-   */
-  protected EList<DSL_Resource> resources;
-
-  /**
-   * The cached value of the '{@link #getCep() <em>Cep</em>}' containment reference list.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getCep()
-   * @generated
-   * @ordered
-   */
-  protected EList<DSL_CEP_STATEMENT> cep;
-
-  /**
-   * The cached value of the '{@link #getOn() <em>On</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getOn()
-   * @generated
-   * @ordered
-   */
-  protected DSL_On on;
-
-  /**
-   * The cached value of the '{@link #getEca() <em>Eca</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getEca()
-   * @generated
-   * @ordered
-   */
-  protected DSL_ECA_STATEMENT eca;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected DSL_SENSINACTImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.DSL_SENSINACT;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EList<DSL_Resource> getResources()
-  {
-    if (resources == null)
-    {
-      resources = new EObjectContainmentEList<DSL_Resource>(DSL_Resource.class, this, SensinactPackage.DSL_SENSINACT__RESOURCES);
-    }
-    return resources;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EList<DSL_CEP_STATEMENT> getCep()
-  {
-    if (cep == null)
-    {
-      cep = new EObjectContainmentEList<DSL_CEP_STATEMENT>(DSL_CEP_STATEMENT.class, this, SensinactPackage.DSL_SENSINACT__CEP);
-    }
-    return cep;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_On getOn()
-  {
-    return on;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetOn(DSL_On newOn, NotificationChain msgs)
-  {
-    DSL_On oldOn = on;
-    on = newOn;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_SENSINACT__ON, oldOn, newOn);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setOn(DSL_On newOn)
-  {
-    if (newOn != on)
-    {
-      NotificationChain msgs = null;
-      if (on != null)
-        msgs = ((InternalEObject)on).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_SENSINACT__ON, null, msgs);
-      if (newOn != null)
-        msgs = ((InternalEObject)newOn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_SENSINACT__ON, null, msgs);
-      msgs = basicSetOn(newOn, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_SENSINACT__ON, newOn, newOn));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_ECA_STATEMENT getEca()
-  {
-    return eca;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetEca(DSL_ECA_STATEMENT newEca, NotificationChain msgs)
-  {
-    DSL_ECA_STATEMENT oldEca = eca;
-    eca = newEca;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_SENSINACT__ECA, oldEca, newEca);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setEca(DSL_ECA_STATEMENT newEca)
-  {
-    if (newEca != eca)
-    {
-      NotificationChain msgs = null;
-      if (eca != null)
-        msgs = ((InternalEObject)eca).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_SENSINACT__ECA, null, msgs);
-      if (newEca != null)
-        msgs = ((InternalEObject)newEca).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.DSL_SENSINACT__ECA, null, msgs);
-      msgs = basicSetEca(newEca, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.DSL_SENSINACT__ECA, newEca, newEca));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_SENSINACT__RESOURCES:
-        return ((InternalEList<?>)getResources()).basicRemove(otherEnd, msgs);
-      case SensinactPackage.DSL_SENSINACT__CEP:
-        return ((InternalEList<?>)getCep()).basicRemove(otherEnd, msgs);
-      case SensinactPackage.DSL_SENSINACT__ON:
-        return basicSetOn(null, msgs);
-      case SensinactPackage.DSL_SENSINACT__ECA:
-        return basicSetEca(null, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_SENSINACT__RESOURCES:
-        return getResources();
-      case SensinactPackage.DSL_SENSINACT__CEP:
-        return getCep();
-      case SensinactPackage.DSL_SENSINACT__ON:
-        return getOn();
-      case SensinactPackage.DSL_SENSINACT__ECA:
-        return getEca();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @SuppressWarnings("unchecked")
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_SENSINACT__RESOURCES:
-        getResources().clear();
-        getResources().addAll((Collection<? extends DSL_Resource>)newValue);
-        return;
-      case SensinactPackage.DSL_SENSINACT__CEP:
-        getCep().clear();
-        getCep().addAll((Collection<? extends DSL_CEP_STATEMENT>)newValue);
-        return;
-      case SensinactPackage.DSL_SENSINACT__ON:
-        setOn((DSL_On)newValue);
-        return;
-      case SensinactPackage.DSL_SENSINACT__ECA:
-        setEca((DSL_ECA_STATEMENT)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_SENSINACT__RESOURCES:
-        getResources().clear();
-        return;
-      case SensinactPackage.DSL_SENSINACT__CEP:
-        getCep().clear();
-        return;
-      case SensinactPackage.DSL_SENSINACT__ON:
-        setOn((DSL_On)null);
-        return;
-      case SensinactPackage.DSL_SENSINACT__ECA:
-        setEca((DSL_ECA_STATEMENT)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.DSL_SENSINACT__RESOURCES:
-        return resources != null && !resources.isEmpty();
-      case SensinactPackage.DSL_SENSINACT__CEP:
-        return cep != null && !cep.isEmpty();
-      case SensinactPackage.DSL_SENSINACT__ON:
-        return on != null;
-      case SensinactPackage.DSL_SENSINACT__ECA:
-        return eca != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //DSL_SENSINACTImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/SensinactFactoryImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/SensinactFactoryImpl.java
deleted file mode 100644
index 49ca89f..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/SensinactFactoryImpl.java
+++ /dev/null
@@ -1,633 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-
-import org.eclipse.emf.ecore.impl.EFactoryImpl;
-
-import org.eclipse.emf.ecore.plugin.EcorePlugin;
-
-import org.eclipse.sensinact.studio.language.sensinact.*;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Factory</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class SensinactFactoryImpl extends EFactoryImpl implements SensinactFactory
-{
-  /**
-   * Creates the default factory implementation.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public static SensinactFactory init()
-  {
-    try
-    {
-      SensinactFactory theSensinactFactory = (SensinactFactory)EPackage.Registry.INSTANCE.getEFactory(SensinactPackage.eNS_URI);
-      if (theSensinactFactory != null)
-      {
-        return theSensinactFactory;
-      }
-    }
-    catch (Exception exception)
-    {
-      EcorePlugin.INSTANCE.log(exception);
-    }
-    return new SensinactFactoryImpl();
-  }
-
-  /**
-   * Creates an instance of the factory.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public SensinactFactoryImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public EObject create(EClass eClass)
-  {
-    switch (eClass.getClassifierID())
-    {
-      case SensinactPackage.SENSINACT: return createSensinact();
-      case SensinactPackage.DSL_SENSINACT: return createDSL_SENSINACT();
-      case SensinactPackage.DSL_RESOURCE: return createDSL_Resource();
-      case SensinactPackage.DSL_ON: return createDSL_On();
-      case SensinactPackage.DSL_ECA_STATEMENT: return createDSL_ECA_STATEMENT();
-      case SensinactPackage.DSL_IF_DO: return createDSL_IfDo();
-      case SensinactPackage.DSL_ELSE_IF_DO: return createDSL_ElseIfDo();
-      case SensinactPackage.DSL_ELSE_DO: return createDSL_ElseDo();
-      case SensinactPackage.DSL_REF: return createDSL_REF();
-      case SensinactPackage.DSL_REF_CONDITION: return createDSL_REF_CONDITION();
-      case SensinactPackage.DSL_CEP_STATEMENT: return createDSL_CEP_STATEMENT();
-      case SensinactPackage.DSL_CEP_AFTER: return createDSL_CEP_AFTER();
-      case SensinactPackage.DSL_CEP_BEFORE: return createDSL_CEP_BEFORE();
-      case SensinactPackage.DSL_CEP_COINCIDE: return createDSL_CEP_COINCIDE();
-      case SensinactPackage.DSL_CEP_MIN: return createDSL_CEP_MIN();
-      case SensinactPackage.DSL_CEP_MAX: return createDSL_CEP_MAX();
-      case SensinactPackage.DSL_CEP_AVG: return createDSL_CEP_AVG();
-      case SensinactPackage.DSL_CEP_SUM: return createDSL_CEP_SUM();
-      case SensinactPackage.DSL_CEP_COUNT: return createDSL_CEP_COUNT();
-      case SensinactPackage.DSL_CEP_DURATION: return createDSL_CEP_DURATION();
-      case SensinactPackage.DSL_CEP_DURATION_MIN: return createDSL_CEP_DURATION_MIN();
-      case SensinactPackage.DSL_CEP_DURATION_SEC: return createDSL_CEP_DURATION_SEC();
-      case SensinactPackage.DSL_LIST_ACTIONS: return createDSL_ListActions();
-      case SensinactPackage.DSL_RESOURCE_ACTION: return createDSL_ResourceAction();
-      case SensinactPackage.DSL_LIST_PARAM: return createDSL_ListParam();
-      case SensinactPackage.DSL_EXPRESSION: return createDSL_Expression();
-      case SensinactPackage.DSL_EXPRESSION_OR: return createDSL_Expression_Or();
-      case SensinactPackage.DSL_EXPRESSION_AND: return createDSL_Expression_And();
-      case SensinactPackage.DSL_EXPRESSION_DIFF: return createDSL_Expression_Diff();
-      case SensinactPackage.DSL_EXPRESSION_EQUAL: return createDSL_Expression_Equal();
-      case SensinactPackage.DSL_EXPRESSION_LARGER: return createDSL_Expression_Larger();
-      case SensinactPackage.DSL_EXPRESSION_LARGER_EQUAL: return createDSL_Expression_Larger_Equal();
-      case SensinactPackage.DSL_EXPRESSION_SMALLER: return createDSL_Expression_Smaller();
-      case SensinactPackage.DSL_EXPRESSION_SMALLER_EQUAL: return createDSL_Expression_Smaller_Equal();
-      case SensinactPackage.DSL_EXPRESSION_PLUS: return createDSL_Expression_Plus();
-      case SensinactPackage.DSL_EXPRESSION_MINUS: return createDSL_Expression_Minus();
-      case SensinactPackage.DSL_EXPRESSION_MULTIPLICATION: return createDSL_Expression_Multiplication();
-      case SensinactPackage.DSL_EXPRESSION_DIVISION: return createDSL_Expression_Division();
-      case SensinactPackage.DSL_EXPRESSION_MODULO: return createDSL_Expression_Modulo();
-      case SensinactPackage.DSL_OBJECT_NUMBER: return createDSL_Object_Number();
-      case SensinactPackage.DSL_OBJECT_STRING: return createDSL_Object_String();
-      case SensinactPackage.DSL_OBJECT_BOOLEAN: return createDSL_Object_Boolean();
-      case SensinactPackage.DSL_OBJECT_REF: return createDSL_Object_Ref();
-      case SensinactPackage.DSL_EXPRESSION_NEGATE: return createDSL_Expression_Negate();
-      default:
-        throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
-    }
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public Sensinact createSensinact()
-  {
-    SensinactImpl sensinact = new SensinactImpl();
-    return sensinact;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_SENSINACT createDSL_SENSINACT()
-  {
-    DSL_SENSINACTImpl dsL_SENSINACT = new DSL_SENSINACTImpl();
-    return dsL_SENSINACT;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Resource createDSL_Resource()
-  {
-    DSL_ResourceImpl dsL_Resource = new DSL_ResourceImpl();
-    return dsL_Resource;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_On createDSL_On()
-  {
-    DSL_OnImpl dsL_On = new DSL_OnImpl();
-    return dsL_On;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_ECA_STATEMENT createDSL_ECA_STATEMENT()
-  {
-    DSL_ECA_STATEMENTImpl dsL_ECA_STATEMENT = new DSL_ECA_STATEMENTImpl();
-    return dsL_ECA_STATEMENT;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_IfDo createDSL_IfDo()
-  {
-    DSL_IfDoImpl dsL_IfDo = new DSL_IfDoImpl();
-    return dsL_IfDo;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_ElseIfDo createDSL_ElseIfDo()
-  {
-    DSL_ElseIfDoImpl dsL_ElseIfDo = new DSL_ElseIfDoImpl();
-    return dsL_ElseIfDo;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_ElseDo createDSL_ElseDo()
-  {
-    DSL_ElseDoImpl dsL_ElseDo = new DSL_ElseDoImpl();
-    return dsL_ElseDo;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_REF createDSL_REF()
-  {
-    DSL_REFImpl dsL_REF = new DSL_REFImpl();
-    return dsL_REF;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_REF_CONDITION createDSL_REF_CONDITION()
-  {
-    DSL_REF_CONDITIONImpl dsL_REF_CONDITION = new DSL_REF_CONDITIONImpl();
-    return dsL_REF_CONDITION;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_CEP_STATEMENT createDSL_CEP_STATEMENT()
-  {
-    DSL_CEP_STATEMENTImpl dsL_CEP_STATEMENT = new DSL_CEP_STATEMENTImpl();
-    return dsL_CEP_STATEMENT;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_CEP_AFTER createDSL_CEP_AFTER()
-  {
-    DSL_CEP_AFTERImpl dsL_CEP_AFTER = new DSL_CEP_AFTERImpl();
-    return dsL_CEP_AFTER;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_CEP_BEFORE createDSL_CEP_BEFORE()
-  {
-    DSL_CEP_BEFOREImpl dsL_CEP_BEFORE = new DSL_CEP_BEFOREImpl();
-    return dsL_CEP_BEFORE;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_CEP_COINCIDE createDSL_CEP_COINCIDE()
-  {
-    DSL_CEP_COINCIDEImpl dsL_CEP_COINCIDE = new DSL_CEP_COINCIDEImpl();
-    return dsL_CEP_COINCIDE;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_CEP_MIN createDSL_CEP_MIN()
-  {
-    DSL_CEP_MINImpl dsL_CEP_MIN = new DSL_CEP_MINImpl();
-    return dsL_CEP_MIN;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_CEP_MAX createDSL_CEP_MAX()
-  {
-    DSL_CEP_MAXImpl dsL_CEP_MAX = new DSL_CEP_MAXImpl();
-    return dsL_CEP_MAX;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_CEP_AVG createDSL_CEP_AVG()
-  {
-    DSL_CEP_AVGImpl dsL_CEP_AVG = new DSL_CEP_AVGImpl();
-    return dsL_CEP_AVG;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_CEP_SUM createDSL_CEP_SUM()
-  {
-    DSL_CEP_SUMImpl dsL_CEP_SUM = new DSL_CEP_SUMImpl();
-    return dsL_CEP_SUM;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_CEP_COUNT createDSL_CEP_COUNT()
-  {
-    DSL_CEP_COUNTImpl dsL_CEP_COUNT = new DSL_CEP_COUNTImpl();
-    return dsL_CEP_COUNT;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_CEP_DURATION createDSL_CEP_DURATION()
-  {
-    DSL_CEP_DURATIONImpl dsL_CEP_DURATION = new DSL_CEP_DURATIONImpl();
-    return dsL_CEP_DURATION;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_CEP_DURATION_MIN createDSL_CEP_DURATION_MIN()
-  {
-    DSL_CEP_DURATION_MINImpl dsL_CEP_DURATION_MIN = new DSL_CEP_DURATION_MINImpl();
-    return dsL_CEP_DURATION_MIN;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_CEP_DURATION_SEC createDSL_CEP_DURATION_SEC()
-  {
-    DSL_CEP_DURATION_SECImpl dsL_CEP_DURATION_SEC = new DSL_CEP_DURATION_SECImpl();
-    return dsL_CEP_DURATION_SEC;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_ListActions createDSL_ListActions()
-  {
-    DSL_ListActionsImpl dsL_ListActions = new DSL_ListActionsImpl();
-    return dsL_ListActions;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_ResourceAction createDSL_ResourceAction()
-  {
-    DSL_ResourceActionImpl dsL_ResourceAction = new DSL_ResourceActionImpl();
-    return dsL_ResourceAction;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_ListParam createDSL_ListParam()
-  {
-    DSL_ListParamImpl dsL_ListParam = new DSL_ListParamImpl();
-    return dsL_ListParam;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression createDSL_Expression()
-  {
-    DSL_ExpressionImpl dsL_Expression = new DSL_ExpressionImpl();
-    return dsL_Expression;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression_Or createDSL_Expression_Or()
-  {
-    DSL_Expression_OrImpl dsL_Expression_Or = new DSL_Expression_OrImpl();
-    return dsL_Expression_Or;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression_And createDSL_Expression_And()
-  {
-    DSL_Expression_AndImpl dsL_Expression_And = new DSL_Expression_AndImpl();
-    return dsL_Expression_And;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression_Diff createDSL_Expression_Diff()
-  {
-    DSL_Expression_DiffImpl dsL_Expression_Diff = new DSL_Expression_DiffImpl();
-    return dsL_Expression_Diff;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression_Equal createDSL_Expression_Equal()
-  {
-    DSL_Expression_EqualImpl dsL_Expression_Equal = new DSL_Expression_EqualImpl();
-    return dsL_Expression_Equal;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression_Larger createDSL_Expression_Larger()
-  {
-    DSL_Expression_LargerImpl dsL_Expression_Larger = new DSL_Expression_LargerImpl();
-    return dsL_Expression_Larger;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression_Larger_Equal createDSL_Expression_Larger_Equal()
-  {
-    DSL_Expression_Larger_EqualImpl dsL_Expression_Larger_Equal = new DSL_Expression_Larger_EqualImpl();
-    return dsL_Expression_Larger_Equal;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression_Smaller createDSL_Expression_Smaller()
-  {
-    DSL_Expression_SmallerImpl dsL_Expression_Smaller = new DSL_Expression_SmallerImpl();
-    return dsL_Expression_Smaller;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression_Smaller_Equal createDSL_Expression_Smaller_Equal()
-  {
-    DSL_Expression_Smaller_EqualImpl dsL_Expression_Smaller_Equal = new DSL_Expression_Smaller_EqualImpl();
-    return dsL_Expression_Smaller_Equal;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression_Plus createDSL_Expression_Plus()
-  {
-    DSL_Expression_PlusImpl dsL_Expression_Plus = new DSL_Expression_PlusImpl();
-    return dsL_Expression_Plus;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression_Minus createDSL_Expression_Minus()
-  {
-    DSL_Expression_MinusImpl dsL_Expression_Minus = new DSL_Expression_MinusImpl();
-    return dsL_Expression_Minus;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression_Multiplication createDSL_Expression_Multiplication()
-  {
-    DSL_Expression_MultiplicationImpl dsL_Expression_Multiplication = new DSL_Expression_MultiplicationImpl();
-    return dsL_Expression_Multiplication;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression_Division createDSL_Expression_Division()
-  {
-    DSL_Expression_DivisionImpl dsL_Expression_Division = new DSL_Expression_DivisionImpl();
-    return dsL_Expression_Division;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression_Modulo createDSL_Expression_Modulo()
-  {
-    DSL_Expression_ModuloImpl dsL_Expression_Modulo = new DSL_Expression_ModuloImpl();
-    return dsL_Expression_Modulo;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Object_Number createDSL_Object_Number()
-  {
-    DSL_Object_NumberImpl dsL_Object_Number = new DSL_Object_NumberImpl();
-    return dsL_Object_Number;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Object_String createDSL_Object_String()
-  {
-    DSL_Object_StringImpl dsL_Object_String = new DSL_Object_StringImpl();
-    return dsL_Object_String;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Object_Boolean createDSL_Object_Boolean()
-  {
-    DSL_Object_BooleanImpl dsL_Object_Boolean = new DSL_Object_BooleanImpl();
-    return dsL_Object_Boolean;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Object_Ref createDSL_Object_Ref()
-  {
-    DSL_Object_RefImpl dsL_Object_Ref = new DSL_Object_RefImpl();
-    return dsL_Object_Ref;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_Expression_Negate createDSL_Expression_Negate()
-  {
-    DSL_Expression_NegateImpl dsL_Expression_Negate = new DSL_Expression_NegateImpl();
-    return dsL_Expression_Negate;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public SensinactPackage getSensinactPackage()
-  {
-    return (SensinactPackage)getEPackage();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @deprecated
-   * @generated
-   */
-  @Deprecated
-  public static SensinactPackage getPackage()
-  {
-    return SensinactPackage.eINSTANCE;
-  }
-
-} //SensinactFactoryImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/SensinactImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/SensinactImpl.java
deleted file mode 100644
index e9a7ffd..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/SensinactImpl.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_SENSINACT;
-import org.eclipse.sensinact.studio.language.sensinact.Sensinact;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Sensinact</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.sensinact.studio.language.sensinact.impl.SensinactImpl#getEca <em>Eca</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class SensinactImpl extends MinimalEObjectImpl.Container implements Sensinact
-{
-  /**
-   * The cached value of the '{@link #getEca() <em>Eca</em>}' containment reference.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getEca()
-   * @generated
-   * @ordered
-   */
-  protected DSL_SENSINACT eca;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected SensinactImpl()
-  {
-    super();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  protected EClass eStaticClass()
-  {
-    return SensinactPackage.Literals.SENSINACT;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public DSL_SENSINACT getEca()
-  {
-    return eca;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public NotificationChain basicSetEca(DSL_SENSINACT newEca, NotificationChain msgs)
-  {
-    DSL_SENSINACT oldEca = eca;
-    eca = newEca;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SensinactPackage.SENSINACT__ECA, oldEca, newEca);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setEca(DSL_SENSINACT newEca)
-  {
-    if (newEca != eca)
-    {
-      NotificationChain msgs = null;
-      if (eca != null)
-        msgs = ((InternalEObject)eca).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.SENSINACT__ECA, null, msgs);
-      if (newEca != null)
-        msgs = ((InternalEObject)newEca).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SensinactPackage.SENSINACT__ECA, null, msgs);
-      msgs = basicSetEca(newEca, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, SensinactPackage.SENSINACT__ECA, newEca, newEca));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.SENSINACT__ECA:
-        return basicSetEca(null, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public Object eGet(int featureID, boolean resolve, boolean coreType)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.SENSINACT__ECA:
-        return getEca();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eSet(int featureID, Object newValue)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.SENSINACT__ECA:
-        setEca((DSL_SENSINACT)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public void eUnset(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.SENSINACT__ECA:
-        setEca((DSL_SENSINACT)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  @Override
-  public boolean eIsSet(int featureID)
-  {
-    switch (featureID)
-    {
-      case SensinactPackage.SENSINACT__ECA:
-        return eca != null;
-    }
-    return super.eIsSet(featureID);
-  }
-
-} //SensinactImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/SensinactPackageImpl.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/SensinactPackageImpl.java
deleted file mode 100644
index 115ca65..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/impl/SensinactPackageImpl.java
+++ /dev/null
@@ -1,2119 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.impl;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-
-import org.eclipse.sensinact.studio.language.sensinact.DSL_ElseDo;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_ElseIfDo;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_And;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Diff;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Division;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Equal;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Larger;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Larger_Equal;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Minus;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Modulo;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Multiplication;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Negate;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Or;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Plus;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Smaller;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Smaller_Equal;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_IfDo;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_ListActions;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_ListParam;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Object_Boolean;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Object_Number;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Object_Ref;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Object_String;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_On;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Resource;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_ResourceAction;
-import org.eclipse.sensinact.studio.language.sensinact.Sensinact;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactFactory;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Package</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class SensinactPackageImpl extends EPackageImpl implements SensinactPackage
-{
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass sensinactEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_SENSINACTEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_ResourceEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_OnEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_ECA_STATEMENTEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_IfDoEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_ElseIfDoEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_ElseDoEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_REFEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_REF_CONDITIONEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_CEP_STATEMENTEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_CEP_AFTEREClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_CEP_BEFOREEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_CEP_COINCIDEEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_CEP_MINEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_CEP_MAXEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_CEP_AVGEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_CEP_SUMEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_CEP_COUNTEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_CEP_DURATIONEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_CEP_DURATION_MINEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_CEP_DURATION_SECEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_ListActionsEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_ResourceActionEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_ListParamEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_ExpressionEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_Expression_OrEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_Expression_AndEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_Expression_DiffEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_Expression_EqualEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_Expression_LargerEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_Expression_Larger_EqualEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_Expression_SmallerEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_Expression_Smaller_EqualEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_Expression_PlusEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_Expression_MinusEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_Expression_MultiplicationEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_Expression_DivisionEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_Expression_ModuloEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_Object_NumberEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_Object_StringEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_Object_BooleanEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_Object_RefEClass = null;
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private EClass dsL_Expression_NegateEClass = null;
-
-  /**
-   * Creates an instance of the model <b>Package</b>, registered with
-   * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
-   * package URI value.
-   * <p>Note: the correct way to create the package is via the static
-   * factory method {@link #init init()}, which also performs
-   * initialization of the package, or returns the registered package,
-   * if one already exists.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see org.eclipse.emf.ecore.EPackage.Registry
-   * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage#eNS_URI
-   * @see #init()
-   * @generated
-   */
-  private SensinactPackageImpl()
-  {
-    super(eNS_URI, SensinactFactory.eINSTANCE);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private static boolean isInited = false;
-
-  /**
-   * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
-   * 
-   * <p>This method is used to initialize {@link SensinactPackage#eINSTANCE} when that field is accessed.
-   * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #eNS_URI
-   * @see #createPackageContents()
-   * @see #initializePackageContents()
-   * @generated
-   */
-  public static SensinactPackage init()
-  {
-    if (isInited) return (SensinactPackage)EPackage.Registry.INSTANCE.getEPackage(SensinactPackage.eNS_URI);
-
-    // Obtain or create and register package
-    SensinactPackageImpl theSensinactPackage = (SensinactPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof SensinactPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new SensinactPackageImpl());
-
-    isInited = true;
-
-    // Create package meta-data objects
-    theSensinactPackage.createPackageContents();
-
-    // Initialize created meta-data
-    theSensinactPackage.initializePackageContents();
-
-    // Mark meta-data to indicate it can't be changed
-    theSensinactPackage.freeze();
-
-  
-    // Update the registry and return the package
-    EPackage.Registry.INSTANCE.put(SensinactPackage.eNS_URI, theSensinactPackage);
-    return theSensinactPackage;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getSensinact()
-  {
-    return sensinactEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getSensinact_Eca()
-  {
-    return (EReference)sensinactEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_SENSINACT()
-  {
-    return dsL_SENSINACTEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_SENSINACT_Resources()
-  {
-    return (EReference)dsL_SENSINACTEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_SENSINACT_Cep()
-  {
-    return (EReference)dsL_SENSINACTEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_SENSINACT_On()
-  {
-    return (EReference)dsL_SENSINACTEClass.getEStructuralFeatures().get(2);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_SENSINACT_Eca()
-  {
-    return (EReference)dsL_SENSINACTEClass.getEStructuralFeatures().get(3);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_Resource()
-  {
-    return dsL_ResourceEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EAttribute getDSL_Resource_GatewayID()
-  {
-    return (EAttribute)dsL_ResourceEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EAttribute getDSL_Resource_DeviceID()
-  {
-    return (EAttribute)dsL_ResourceEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EAttribute getDSL_Resource_ServiceID()
-  {
-    return (EAttribute)dsL_ResourceEClass.getEStructuralFeatures().get(2);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EAttribute getDSL_Resource_ResourceID()
-  {
-    return (EAttribute)dsL_ResourceEClass.getEStructuralFeatures().get(3);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_On()
-  {
-    return dsL_OnEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_On_Triggers()
-  {
-    return (EReference)dsL_OnEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_ECA_STATEMENT()
-  {
-    return dsL_ECA_STATEMENTEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_ECA_STATEMENT_Ifdo()
-  {
-    return (EReference)dsL_ECA_STATEMENTEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_ECA_STATEMENT_ElseIfdo()
-  {
-    return (EReference)dsL_ECA_STATEMENTEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_ECA_STATEMENT_Elsedo()
-  {
-    return (EReference)dsL_ECA_STATEMENTEClass.getEStructuralFeatures().get(2);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_IfDo()
-  {
-    return dsL_IfDoEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_IfDo_Condition()
-  {
-    return (EReference)dsL_IfDoEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_IfDo_Actions()
-  {
-    return (EReference)dsL_IfDoEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_ElseIfDo()
-  {
-    return dsL_ElseIfDoEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_ElseIfDo_Condition()
-  {
-    return (EReference)dsL_ElseIfDoEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_ElseIfDo_Actions()
-  {
-    return (EReference)dsL_ElseIfDoEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_ElseDo()
-  {
-    return dsL_ElseDoEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_ElseDo_Actions()
-  {
-    return (EReference)dsL_ElseDoEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_REF()
-  {
-    return dsL_REFEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EAttribute getDSL_REF_Name()
-  {
-    return (EAttribute)dsL_REFEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_REF_CONDITION()
-  {
-    return dsL_REF_CONDITIONEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_REF_CONDITION_Ref()
-  {
-    return (EReference)dsL_REF_CONDITIONEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_CEP_STATEMENT()
-  {
-    return dsL_CEP_STATEMENTEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_CEP_STATEMENT_Operation()
-  {
-    return (EReference)dsL_CEP_STATEMENTEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_CEP_AFTER()
-  {
-    return dsL_CEP_AFTEREClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_CEP_AFTER_Ref1()
-  {
-    return (EReference)dsL_CEP_AFTEREClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_CEP_AFTER_Ref2()
-  {
-    return (EReference)dsL_CEP_AFTEREClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_CEP_AFTER_Start()
-  {
-    return (EReference)dsL_CEP_AFTEREClass.getEStructuralFeatures().get(2);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_CEP_AFTER_End()
-  {
-    return (EReference)dsL_CEP_AFTEREClass.getEStructuralFeatures().get(3);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_CEP_BEFORE()
-  {
-    return dsL_CEP_BEFOREEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_CEP_BEFORE_Ref1()
-  {
-    return (EReference)dsL_CEP_BEFOREEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_CEP_BEFORE_Ref2()
-  {
-    return (EReference)dsL_CEP_BEFOREEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_CEP_BEFORE_Start()
-  {
-    return (EReference)dsL_CEP_BEFOREEClass.getEStructuralFeatures().get(2);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_CEP_BEFORE_End()
-  {
-    return (EReference)dsL_CEP_BEFOREEClass.getEStructuralFeatures().get(3);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_CEP_COINCIDE()
-  {
-    return dsL_CEP_COINCIDEEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_CEP_COINCIDE_Ref1()
-  {
-    return (EReference)dsL_CEP_COINCIDEEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_CEP_COINCIDE_Ref2()
-  {
-    return (EReference)dsL_CEP_COINCIDEEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_CEP_COINCIDE_Window()
-  {
-    return (EReference)dsL_CEP_COINCIDEEClass.getEStructuralFeatures().get(2);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_CEP_MIN()
-  {
-    return dsL_CEP_MINEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_CEP_MIN_Ref()
-  {
-    return (EReference)dsL_CEP_MINEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_CEP_MIN_Window()
-  {
-    return (EReference)dsL_CEP_MINEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_CEP_MAX()
-  {
-    return dsL_CEP_MAXEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_CEP_MAX_Ref()
-  {
-    return (EReference)dsL_CEP_MAXEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_CEP_MAX_Window()
-  {
-    return (EReference)dsL_CEP_MAXEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_CEP_AVG()
-  {
-    return dsL_CEP_AVGEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_CEP_AVG_Ref()
-  {
-    return (EReference)dsL_CEP_AVGEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_CEP_AVG_Window()
-  {
-    return (EReference)dsL_CEP_AVGEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_CEP_SUM()
-  {
-    return dsL_CEP_SUMEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_CEP_SUM_Ref()
-  {
-    return (EReference)dsL_CEP_SUMEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_CEP_SUM_Window()
-  {
-    return (EReference)dsL_CEP_SUMEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_CEP_COUNT()
-  {
-    return dsL_CEP_COUNTEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_CEP_COUNT_Ref()
-  {
-    return (EReference)dsL_CEP_COUNTEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_CEP_COUNT_Window()
-  {
-    return (EReference)dsL_CEP_COUNTEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_CEP_DURATION()
-  {
-    return dsL_CEP_DURATIONEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_CEP_DURATION_Units()
-  {
-    return (EReference)dsL_CEP_DURATIONEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_CEP_DURATION_MIN()
-  {
-    return dsL_CEP_DURATION_MINEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EAttribute getDSL_CEP_DURATION_MIN_Min()
-  {
-    return (EAttribute)dsL_CEP_DURATION_MINEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_CEP_DURATION_SEC()
-  {
-    return dsL_CEP_DURATION_SECEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EAttribute getDSL_CEP_DURATION_SEC_Sec()
-  {
-    return (EAttribute)dsL_CEP_DURATION_SECEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_ListActions()
-  {
-    return dsL_ListActionsEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_ListActions_ActionList()
-  {
-    return (EReference)dsL_ListActionsEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_ResourceAction()
-  {
-    return dsL_ResourceActionEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EAttribute getDSL_ResourceAction_Variable()
-  {
-    return (EAttribute)dsL_ResourceActionEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_ResourceAction_Ref()
-  {
-    return (EReference)dsL_ResourceActionEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EAttribute getDSL_ResourceAction_Actiontype()
-  {
-    return (EAttribute)dsL_ResourceActionEClass.getEStructuralFeatures().get(2);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_ResourceAction_ListParam()
-  {
-    return (EReference)dsL_ResourceActionEClass.getEStructuralFeatures().get(3);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_ListParam()
-  {
-    return dsL_ListParamEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_ListParam_Param()
-  {
-    return (EReference)dsL_ListParamEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_Expression()
-  {
-    return dsL_ExpressionEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_Expression_Or()
-  {
-    return dsL_Expression_OrEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_Expression_Or_Left()
-  {
-    return (EReference)dsL_Expression_OrEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_Expression_Or_Right()
-  {
-    return (EReference)dsL_Expression_OrEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_Expression_And()
-  {
-    return dsL_Expression_AndEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_Expression_And_Left()
-  {
-    return (EReference)dsL_Expression_AndEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_Expression_And_Right()
-  {
-    return (EReference)dsL_Expression_AndEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_Expression_Diff()
-  {
-    return dsL_Expression_DiffEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_Expression_Diff_Left()
-  {
-    return (EReference)dsL_Expression_DiffEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_Expression_Diff_Right()
-  {
-    return (EReference)dsL_Expression_DiffEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_Expression_Equal()
-  {
-    return dsL_Expression_EqualEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_Expression_Equal_Left()
-  {
-    return (EReference)dsL_Expression_EqualEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_Expression_Equal_Right()
-  {
-    return (EReference)dsL_Expression_EqualEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_Expression_Larger()
-  {
-    return dsL_Expression_LargerEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_Expression_Larger_Left()
-  {
-    return (EReference)dsL_Expression_LargerEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_Expression_Larger_Right()
-  {
-    return (EReference)dsL_Expression_LargerEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_Expression_Larger_Equal()
-  {
-    return dsL_Expression_Larger_EqualEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_Expression_Larger_Equal_Left()
-  {
-    return (EReference)dsL_Expression_Larger_EqualEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_Expression_Larger_Equal_Right()
-  {
-    return (EReference)dsL_Expression_Larger_EqualEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_Expression_Smaller()
-  {
-    return dsL_Expression_SmallerEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_Expression_Smaller_Left()
-  {
-    return (EReference)dsL_Expression_SmallerEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_Expression_Smaller_Right()
-  {
-    return (EReference)dsL_Expression_SmallerEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_Expression_Smaller_Equal()
-  {
-    return dsL_Expression_Smaller_EqualEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_Expression_Smaller_Equal_Left()
-  {
-    return (EReference)dsL_Expression_Smaller_EqualEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_Expression_Smaller_Equal_Right()
-  {
-    return (EReference)dsL_Expression_Smaller_EqualEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_Expression_Plus()
-  {
-    return dsL_Expression_PlusEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_Expression_Plus_Left()
-  {
-    return (EReference)dsL_Expression_PlusEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_Expression_Plus_Right()
-  {
-    return (EReference)dsL_Expression_PlusEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_Expression_Minus()
-  {
-    return dsL_Expression_MinusEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_Expression_Minus_Left()
-  {
-    return (EReference)dsL_Expression_MinusEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_Expression_Minus_Right()
-  {
-    return (EReference)dsL_Expression_MinusEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_Expression_Multiplication()
-  {
-    return dsL_Expression_MultiplicationEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_Expression_Multiplication_Left()
-  {
-    return (EReference)dsL_Expression_MultiplicationEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_Expression_Multiplication_Right()
-  {
-    return (EReference)dsL_Expression_MultiplicationEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_Expression_Division()
-  {
-    return dsL_Expression_DivisionEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_Expression_Division_Left()
-  {
-    return (EReference)dsL_Expression_DivisionEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_Expression_Division_Right()
-  {
-    return (EReference)dsL_Expression_DivisionEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_Expression_Modulo()
-  {
-    return dsL_Expression_ModuloEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_Expression_Modulo_Left()
-  {
-    return (EReference)dsL_Expression_ModuloEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_Expression_Modulo_Right()
-  {
-    return (EReference)dsL_Expression_ModuloEClass.getEStructuralFeatures().get(1);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_Object_Number()
-  {
-    return dsL_Object_NumberEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EAttribute getDSL_Object_Number_Value()
-  {
-    return (EAttribute)dsL_Object_NumberEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_Object_String()
-  {
-    return dsL_Object_StringEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EAttribute getDSL_Object_String_Value()
-  {
-    return (EAttribute)dsL_Object_StringEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_Object_Boolean()
-  {
-    return dsL_Object_BooleanEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EAttribute getDSL_Object_Boolean_Value()
-  {
-    return (EAttribute)dsL_Object_BooleanEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_Object_Ref()
-  {
-    return dsL_Object_RefEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_Object_Ref_Value()
-  {
-    return (EReference)dsL_Object_RefEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EClass getDSL_Expression_Negate()
-  {
-    return dsL_Expression_NegateEClass;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public EReference getDSL_Expression_Negate_Exp()
-  {
-    return (EReference)dsL_Expression_NegateEClass.getEStructuralFeatures().get(0);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public SensinactFactory getSensinactFactory()
-  {
-    return (SensinactFactory)getEFactoryInstance();
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private boolean isCreated = false;
-
-  /**
-   * Creates the meta-model objects for the package.  This method is
-   * guarded to have no affect on any invocation but its first.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void createPackageContents()
-  {
-    if (isCreated) return;
-    isCreated = true;
-
-    // Create classes and their features
-    sensinactEClass = createEClass(SENSINACT);
-    createEReference(sensinactEClass, SENSINACT__ECA);
-
-    dsL_SENSINACTEClass = createEClass(DSL_SENSINACT);
-    createEReference(dsL_SENSINACTEClass, DSL_SENSINACT__RESOURCES);
-    createEReference(dsL_SENSINACTEClass, DSL_SENSINACT__CEP);
-    createEReference(dsL_SENSINACTEClass, DSL_SENSINACT__ON);
-    createEReference(dsL_SENSINACTEClass, DSL_SENSINACT__ECA);
-
-    dsL_ResourceEClass = createEClass(DSL_RESOURCE);
-    createEAttribute(dsL_ResourceEClass, DSL_RESOURCE__GATEWAY_ID);
-    createEAttribute(dsL_ResourceEClass, DSL_RESOURCE__DEVICE_ID);
-    createEAttribute(dsL_ResourceEClass, DSL_RESOURCE__SERVICE_ID);
-    createEAttribute(dsL_ResourceEClass, DSL_RESOURCE__RESOURCE_ID);
-
-    dsL_OnEClass = createEClass(DSL_ON);
-    createEReference(dsL_OnEClass, DSL_ON__TRIGGERS);
-
-    dsL_ECA_STATEMENTEClass = createEClass(DSL_ECA_STATEMENT);
-    createEReference(dsL_ECA_STATEMENTEClass, DSL_ECA_STATEMENT__IFDO);
-    createEReference(dsL_ECA_STATEMENTEClass, DSL_ECA_STATEMENT__ELSE_IFDO);
-    createEReference(dsL_ECA_STATEMENTEClass, DSL_ECA_STATEMENT__ELSEDO);
-
-    dsL_IfDoEClass = createEClass(DSL_IF_DO);
-    createEReference(dsL_IfDoEClass, DSL_IF_DO__CONDITION);
-    createEReference(dsL_IfDoEClass, DSL_IF_DO__ACTIONS);
-
-    dsL_ElseIfDoEClass = createEClass(DSL_ELSE_IF_DO);
-    createEReference(dsL_ElseIfDoEClass, DSL_ELSE_IF_DO__CONDITION);
-    createEReference(dsL_ElseIfDoEClass, DSL_ELSE_IF_DO__ACTIONS);
-
-    dsL_ElseDoEClass = createEClass(DSL_ELSE_DO);
-    createEReference(dsL_ElseDoEClass, DSL_ELSE_DO__ACTIONS);
-
-    dsL_REFEClass = createEClass(DSL_REF);
-    createEAttribute(dsL_REFEClass, DSL_REF__NAME);
-
-    dsL_REF_CONDITIONEClass = createEClass(DSL_REF_CONDITION);
-    createEReference(dsL_REF_CONDITIONEClass, DSL_REF_CONDITION__REF);
-
-    dsL_CEP_STATEMENTEClass = createEClass(DSL_CEP_STATEMENT);
-    createEReference(dsL_CEP_STATEMENTEClass, DSL_CEP_STATEMENT__OPERATION);
-
-    dsL_CEP_AFTEREClass = createEClass(DSL_CEP_AFTER);
-    createEReference(dsL_CEP_AFTEREClass, DSL_CEP_AFTER__REF1);
-    createEReference(dsL_CEP_AFTEREClass, DSL_CEP_AFTER__REF2);
-    createEReference(dsL_CEP_AFTEREClass, DSL_CEP_AFTER__START);
-    createEReference(dsL_CEP_AFTEREClass, DSL_CEP_AFTER__END);
-
-    dsL_CEP_BEFOREEClass = createEClass(DSL_CEP_BEFORE);
-    createEReference(dsL_CEP_BEFOREEClass, DSL_CEP_BEFORE__REF1);
-    createEReference(dsL_CEP_BEFOREEClass, DSL_CEP_BEFORE__REF2);
-    createEReference(dsL_CEP_BEFOREEClass, DSL_CEP_BEFORE__START);
-    createEReference(dsL_CEP_BEFOREEClass, DSL_CEP_BEFORE__END);
-
-    dsL_CEP_COINCIDEEClass = createEClass(DSL_CEP_COINCIDE);
-    createEReference(dsL_CEP_COINCIDEEClass, DSL_CEP_COINCIDE__REF1);
-    createEReference(dsL_CEP_COINCIDEEClass, DSL_CEP_COINCIDE__REF2);
-    createEReference(dsL_CEP_COINCIDEEClass, DSL_CEP_COINCIDE__WINDOW);
-
-    dsL_CEP_MINEClass = createEClass(DSL_CEP_MIN);
-    createEReference(dsL_CEP_MINEClass, DSL_CEP_MIN__REF);
-    createEReference(dsL_CEP_MINEClass, DSL_CEP_MIN__WINDOW);
-
-    dsL_CEP_MAXEClass = createEClass(DSL_CEP_MAX);
-    createEReference(dsL_CEP_MAXEClass, DSL_CEP_MAX__REF);
-    createEReference(dsL_CEP_MAXEClass, DSL_CEP_MAX__WINDOW);
-
-    dsL_CEP_AVGEClass = createEClass(DSL_CEP_AVG);
-    createEReference(dsL_CEP_AVGEClass, DSL_CEP_AVG__REF);
-    createEReference(dsL_CEP_AVGEClass, DSL_CEP_AVG__WINDOW);
-
-    dsL_CEP_SUMEClass = createEClass(DSL_CEP_SUM);
-    createEReference(dsL_CEP_SUMEClass, DSL_CEP_SUM__REF);
-    createEReference(dsL_CEP_SUMEClass, DSL_CEP_SUM__WINDOW);
-
-    dsL_CEP_COUNTEClass = createEClass(DSL_CEP_COUNT);
-    createEReference(dsL_CEP_COUNTEClass, DSL_CEP_COUNT__REF);
-    createEReference(dsL_CEP_COUNTEClass, DSL_CEP_COUNT__WINDOW);
-
-    dsL_CEP_DURATIONEClass = createEClass(DSL_CEP_DURATION);
-    createEReference(dsL_CEP_DURATIONEClass, DSL_CEP_DURATION__UNITS);
-
-    dsL_CEP_DURATION_MINEClass = createEClass(DSL_CEP_DURATION_MIN);
-    createEAttribute(dsL_CEP_DURATION_MINEClass, DSL_CEP_DURATION_MIN__MIN);
-
-    dsL_CEP_DURATION_SECEClass = createEClass(DSL_CEP_DURATION_SEC);
-    createEAttribute(dsL_CEP_DURATION_SECEClass, DSL_CEP_DURATION_SEC__SEC);
-
-    dsL_ListActionsEClass = createEClass(DSL_LIST_ACTIONS);
-    createEReference(dsL_ListActionsEClass, DSL_LIST_ACTIONS__ACTION_LIST);
-
-    dsL_ResourceActionEClass = createEClass(DSL_RESOURCE_ACTION);
-    createEAttribute(dsL_ResourceActionEClass, DSL_RESOURCE_ACTION__VARIABLE);
-    createEReference(dsL_ResourceActionEClass, DSL_RESOURCE_ACTION__REF);
-    createEAttribute(dsL_ResourceActionEClass, DSL_RESOURCE_ACTION__ACTIONTYPE);
-    createEReference(dsL_ResourceActionEClass, DSL_RESOURCE_ACTION__LIST_PARAM);
-
-    dsL_ListParamEClass = createEClass(DSL_LIST_PARAM);
-    createEReference(dsL_ListParamEClass, DSL_LIST_PARAM__PARAM);
-
-    dsL_ExpressionEClass = createEClass(DSL_EXPRESSION);
-
-    dsL_Expression_OrEClass = createEClass(DSL_EXPRESSION_OR);
-    createEReference(dsL_Expression_OrEClass, DSL_EXPRESSION_OR__LEFT);
-    createEReference(dsL_Expression_OrEClass, DSL_EXPRESSION_OR__RIGHT);
-
-    dsL_Expression_AndEClass = createEClass(DSL_EXPRESSION_AND);
-    createEReference(dsL_Expression_AndEClass, DSL_EXPRESSION_AND__LEFT);
-    createEReference(dsL_Expression_AndEClass, DSL_EXPRESSION_AND__RIGHT);
-
-    dsL_Expression_DiffEClass = createEClass(DSL_EXPRESSION_DIFF);
-    createEReference(dsL_Expression_DiffEClass, DSL_EXPRESSION_DIFF__LEFT);
-    createEReference(dsL_Expression_DiffEClass, DSL_EXPRESSION_DIFF__RIGHT);
-
-    dsL_Expression_EqualEClass = createEClass(DSL_EXPRESSION_EQUAL);
-    createEReference(dsL_Expression_EqualEClass, DSL_EXPRESSION_EQUAL__LEFT);
-    createEReference(dsL_Expression_EqualEClass, DSL_EXPRESSION_EQUAL__RIGHT);
-
-    dsL_Expression_LargerEClass = createEClass(DSL_EXPRESSION_LARGER);
-    createEReference(dsL_Expression_LargerEClass, DSL_EXPRESSION_LARGER__LEFT);
-    createEReference(dsL_Expression_LargerEClass, DSL_EXPRESSION_LARGER__RIGHT);
-
-    dsL_Expression_Larger_EqualEClass = createEClass(DSL_EXPRESSION_LARGER_EQUAL);
-    createEReference(dsL_Expression_Larger_EqualEClass, DSL_EXPRESSION_LARGER_EQUAL__LEFT);
-    createEReference(dsL_Expression_Larger_EqualEClass, DSL_EXPRESSION_LARGER_EQUAL__RIGHT);
-
-    dsL_Expression_SmallerEClass = createEClass(DSL_EXPRESSION_SMALLER);
-    createEReference(dsL_Expression_SmallerEClass, DSL_EXPRESSION_SMALLER__LEFT);
-    createEReference(dsL_Expression_SmallerEClass, DSL_EXPRESSION_SMALLER__RIGHT);
-
-    dsL_Expression_Smaller_EqualEClass = createEClass(DSL_EXPRESSION_SMALLER_EQUAL);
-    createEReference(dsL_Expression_Smaller_EqualEClass, DSL_EXPRESSION_SMALLER_EQUAL__LEFT);
-    createEReference(dsL_Expression_Smaller_EqualEClass, DSL_EXPRESSION_SMALLER_EQUAL__RIGHT);
-
-    dsL_Expression_PlusEClass = createEClass(DSL_EXPRESSION_PLUS);
-    createEReference(dsL_Expression_PlusEClass, DSL_EXPRESSION_PLUS__LEFT);
-    createEReference(dsL_Expression_PlusEClass, DSL_EXPRESSION_PLUS__RIGHT);
-
-    dsL_Expression_MinusEClass = createEClass(DSL_EXPRESSION_MINUS);
-    createEReference(dsL_Expression_MinusEClass, DSL_EXPRESSION_MINUS__LEFT);
-    createEReference(dsL_Expression_MinusEClass, DSL_EXPRESSION_MINUS__RIGHT);
-
-    dsL_Expression_MultiplicationEClass = createEClass(DSL_EXPRESSION_MULTIPLICATION);
-    createEReference(dsL_Expression_MultiplicationEClass, DSL_EXPRESSION_MULTIPLICATION__LEFT);
-    createEReference(dsL_Expression_MultiplicationEClass, DSL_EXPRESSION_MULTIPLICATION__RIGHT);
-
-    dsL_Expression_DivisionEClass = createEClass(DSL_EXPRESSION_DIVISION);
-    createEReference(dsL_Expression_DivisionEClass, DSL_EXPRESSION_DIVISION__LEFT);
-    createEReference(dsL_Expression_DivisionEClass, DSL_EXPRESSION_DIVISION__RIGHT);
-
-    dsL_Expression_ModuloEClass = createEClass(DSL_EXPRESSION_MODULO);
-    createEReference(dsL_Expression_ModuloEClass, DSL_EXPRESSION_MODULO__LEFT);
-    createEReference(dsL_Expression_ModuloEClass, DSL_EXPRESSION_MODULO__RIGHT);
-
-    dsL_Object_NumberEClass = createEClass(DSL_OBJECT_NUMBER);
-    createEAttribute(dsL_Object_NumberEClass, DSL_OBJECT_NUMBER__VALUE);
-
-    dsL_Object_StringEClass = createEClass(DSL_OBJECT_STRING);
-    createEAttribute(dsL_Object_StringEClass, DSL_OBJECT_STRING__VALUE);
-
-    dsL_Object_BooleanEClass = createEClass(DSL_OBJECT_BOOLEAN);
-    createEAttribute(dsL_Object_BooleanEClass, DSL_OBJECT_BOOLEAN__VALUE);
-
-    dsL_Object_RefEClass = createEClass(DSL_OBJECT_REF);
-    createEReference(dsL_Object_RefEClass, DSL_OBJECT_REF__VALUE);
-
-    dsL_Expression_NegateEClass = createEClass(DSL_EXPRESSION_NEGATE);
-    createEReference(dsL_Expression_NegateEClass, DSL_EXPRESSION_NEGATE__EXP);
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private boolean isInitialized = false;
-
-  /**
-   * Complete the initialization of the package and its meta-model.  This
-   * method is guarded to have no affect on any invocation but its first.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void initializePackageContents()
-  {
-    if (isInitialized) return;
-    isInitialized = true;
-
-    // Initialize package
-    setName(eNAME);
-    setNsPrefix(eNS_PREFIX);
-    setNsURI(eNS_URI);
-
-    // Create type parameters
-
-    // Set bounds for type parameters
-
-    // Add supertypes to classes
-    dsL_ResourceEClass.getESuperTypes().add(this.getDSL_REF());
-    dsL_CEP_STATEMENTEClass.getESuperTypes().add(this.getDSL_REF());
-    dsL_Expression_OrEClass.getESuperTypes().add(this.getDSL_Expression());
-    dsL_Expression_AndEClass.getESuperTypes().add(this.getDSL_Expression());
-    dsL_Expression_DiffEClass.getESuperTypes().add(this.getDSL_Expression());
-    dsL_Expression_EqualEClass.getESuperTypes().add(this.getDSL_Expression());
-    dsL_Expression_LargerEClass.getESuperTypes().add(this.getDSL_Expression());
-    dsL_Expression_Larger_EqualEClass.getESuperTypes().add(this.getDSL_Expression());
-    dsL_Expression_SmallerEClass.getESuperTypes().add(this.getDSL_Expression());
-    dsL_Expression_Smaller_EqualEClass.getESuperTypes().add(this.getDSL_Expression());
-    dsL_Expression_PlusEClass.getESuperTypes().add(this.getDSL_Expression());
-    dsL_Expression_MinusEClass.getESuperTypes().add(this.getDSL_Expression());
-    dsL_Expression_MultiplicationEClass.getESuperTypes().add(this.getDSL_Expression());
-    dsL_Expression_DivisionEClass.getESuperTypes().add(this.getDSL_Expression());
-    dsL_Expression_ModuloEClass.getESuperTypes().add(this.getDSL_Expression());
-    dsL_Object_NumberEClass.getESuperTypes().add(this.getDSL_Expression());
-    dsL_Object_StringEClass.getESuperTypes().add(this.getDSL_Expression());
-    dsL_Object_BooleanEClass.getESuperTypes().add(this.getDSL_Expression());
-    dsL_Object_RefEClass.getESuperTypes().add(this.getDSL_Expression());
-    dsL_Expression_NegateEClass.getESuperTypes().add(this.getDSL_Expression());
-
-    // Initialize classes and features; add operations and parameters
-    initEClass(sensinactEClass, Sensinact.class, "Sensinact", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getSensinact_Eca(), this.getDSL_SENSINACT(), null, "eca", null, 0, 1, Sensinact.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_SENSINACTEClass, org.eclipse.sensinact.studio.language.sensinact.DSL_SENSINACT.class, "DSL_SENSINACT", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_SENSINACT_Resources(), this.getDSL_Resource(), null, "resources", null, 0, -1, org.eclipse.sensinact.studio.language.sensinact.DSL_SENSINACT.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_SENSINACT_Cep(), this.getDSL_CEP_STATEMENT(), null, "cep", null, 0, -1, org.eclipse.sensinact.studio.language.sensinact.DSL_SENSINACT.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_SENSINACT_On(), this.getDSL_On(), null, "on", null, 0, 1, org.eclipse.sensinact.studio.language.sensinact.DSL_SENSINACT.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_SENSINACT_Eca(), this.getDSL_ECA_STATEMENT(), null, "eca", null, 0, 1, org.eclipse.sensinact.studio.language.sensinact.DSL_SENSINACT.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_ResourceEClass, DSL_Resource.class, "DSL_Resource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEAttribute(getDSL_Resource_GatewayID(), ecorePackage.getEString(), "gatewayID", null, 0, 1, DSL_Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEAttribute(getDSL_Resource_DeviceID(), ecorePackage.getEString(), "deviceID", null, 0, 1, DSL_Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEAttribute(getDSL_Resource_ServiceID(), ecorePackage.getEString(), "serviceID", null, 0, 1, DSL_Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEAttribute(getDSL_Resource_ResourceID(), ecorePackage.getEString(), "resourceID", null, 0, 1, DSL_Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_OnEClass, DSL_On.class, "DSL_On", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_On_Triggers(), this.getDSL_REF_CONDITION(), null, "triggers", null, 0, -1, DSL_On.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_ECA_STATEMENTEClass, org.eclipse.sensinact.studio.language.sensinact.DSL_ECA_STATEMENT.class, "DSL_ECA_STATEMENT", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_ECA_STATEMENT_Ifdo(), this.getDSL_IfDo(), null, "ifdo", null, 0, 1, org.eclipse.sensinact.studio.language.sensinact.DSL_ECA_STATEMENT.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_ECA_STATEMENT_ElseIfdo(), this.getDSL_ElseIfDo(), null, "elseIfdo", null, 0, -1, org.eclipse.sensinact.studio.language.sensinact.DSL_ECA_STATEMENT.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_ECA_STATEMENT_Elsedo(), this.getDSL_ElseDo(), null, "elsedo", null, 0, 1, org.eclipse.sensinact.studio.language.sensinact.DSL_ECA_STATEMENT.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_IfDoEClass, DSL_IfDo.class, "DSL_IfDo", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_IfDo_Condition(), this.getDSL_Expression(), null, "condition", null, 0, 1, DSL_IfDo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_IfDo_Actions(), this.getDSL_ListActions(), null, "actions", null, 0, 1, DSL_IfDo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_ElseIfDoEClass, DSL_ElseIfDo.class, "DSL_ElseIfDo", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_ElseIfDo_Condition(), this.getDSL_Expression(), null, "condition", null, 0, 1, DSL_ElseIfDo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_ElseIfDo_Actions(), this.getDSL_ListActions(), null, "actions", null, 0, 1, DSL_ElseIfDo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_ElseDoEClass, DSL_ElseDo.class, "DSL_ElseDo", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_ElseDo_Actions(), this.getDSL_ListActions(), null, "actions", null, 0, 1, DSL_ElseDo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_REFEClass, org.eclipse.sensinact.studio.language.sensinact.DSL_REF.class, "DSL_REF", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEAttribute(getDSL_REF_Name(), ecorePackage.getEString(), "name", null, 0, 1, org.eclipse.sensinact.studio.language.sensinact.DSL_REF.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_REF_CONDITIONEClass, org.eclipse.sensinact.studio.language.sensinact.DSL_REF_CONDITION.class, "DSL_REF_CONDITION", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_REF_CONDITION_Ref(), this.getDSL_REF(), null, "ref", null, 0, 1, org.eclipse.sensinact.studio.language.sensinact.DSL_REF_CONDITION.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_CEP_STATEMENTEClass, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_STATEMENT.class, "DSL_CEP_STATEMENT", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_CEP_STATEMENT_Operation(), ecorePackage.getEObject(), null, "operation", null, 0, 1, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_STATEMENT.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_CEP_AFTEREClass, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AFTER.class, "DSL_CEP_AFTER", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_CEP_AFTER_Ref1(), this.getDSL_REF_CONDITION(), null, "ref1", null, 0, 1, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AFTER.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_CEP_AFTER_Ref2(), this.getDSL_REF_CONDITION(), null, "ref2", null, 0, 1, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AFTER.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_CEP_AFTER_Start(), this.getDSL_CEP_DURATION(), null, "start", null, 0, 1, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AFTER.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_CEP_AFTER_End(), this.getDSL_CEP_DURATION(), null, "end", null, 0, 1, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AFTER.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_CEP_BEFOREEClass, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_BEFORE.class, "DSL_CEP_BEFORE", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_CEP_BEFORE_Ref1(), this.getDSL_REF_CONDITION(), null, "ref1", null, 0, 1, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_BEFORE.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_CEP_BEFORE_Ref2(), this.getDSL_REF_CONDITION(), null, "ref2", null, 0, 1, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_BEFORE.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_CEP_BEFORE_Start(), this.getDSL_CEP_DURATION(), null, "start", null, 0, 1, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_BEFORE.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_CEP_BEFORE_End(), this.getDSL_CEP_DURATION(), null, "end", null, 0, 1, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_BEFORE.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_CEP_COINCIDEEClass, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COINCIDE.class, "DSL_CEP_COINCIDE", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_CEP_COINCIDE_Ref1(), this.getDSL_REF_CONDITION(), null, "ref1", null, 0, 1, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COINCIDE.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_CEP_COINCIDE_Ref2(), this.getDSL_REF_CONDITION(), null, "ref2", null, 0, 1, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COINCIDE.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_CEP_COINCIDE_Window(), this.getDSL_CEP_DURATION(), null, "window", null, 0, 1, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COINCIDE.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_CEP_MINEClass, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_MIN.class, "DSL_CEP_MIN", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_CEP_MIN_Ref(), this.getDSL_REF_CONDITION(), null, "ref", null, 0, 1, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_MIN.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_CEP_MIN_Window(), this.getDSL_CEP_DURATION(), null, "window", null, 0, 1, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_MIN.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_CEP_MAXEClass, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_MAX.class, "DSL_CEP_MAX", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_CEP_MAX_Ref(), this.getDSL_REF_CONDITION(), null, "ref", null, 0, 1, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_MAX.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_CEP_MAX_Window(), this.getDSL_CEP_DURATION(), null, "window", null, 0, 1, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_MAX.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_CEP_AVGEClass, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AVG.class, "DSL_CEP_AVG", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_CEP_AVG_Ref(), this.getDSL_REF_CONDITION(), null, "ref", null, 0, 1, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AVG.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_CEP_AVG_Window(), this.getDSL_CEP_DURATION(), null, "window", null, 0, 1, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AVG.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_CEP_SUMEClass, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_SUM.class, "DSL_CEP_SUM", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_CEP_SUM_Ref(), this.getDSL_REF_CONDITION(), null, "ref", null, 0, 1, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_SUM.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_CEP_SUM_Window(), this.getDSL_CEP_DURATION(), null, "window", null, 0, 1, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_SUM.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_CEP_COUNTEClass, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COUNT.class, "DSL_CEP_COUNT", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_CEP_COUNT_Ref(), this.getDSL_REF_CONDITION(), null, "ref", null, 0, 1, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COUNT.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_CEP_COUNT_Window(), this.getDSL_CEP_DURATION(), null, "window", null, 0, 1, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COUNT.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_CEP_DURATIONEClass, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION.class, "DSL_CEP_DURATION", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_CEP_DURATION_Units(), ecorePackage.getEObject(), null, "units", null, 0, -1, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_CEP_DURATION_MINEClass, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION_MIN.class, "DSL_CEP_DURATION_MIN", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEAttribute(getDSL_CEP_DURATION_MIN_Min(), ecorePackage.getEBigDecimal(), "min", null, 0, 1, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION_MIN.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_CEP_DURATION_SECEClass, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION_SEC.class, "DSL_CEP_DURATION_SEC", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEAttribute(getDSL_CEP_DURATION_SEC_Sec(), ecorePackage.getEBigDecimal(), "sec", null, 0, 1, org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION_SEC.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_ListActionsEClass, DSL_ListActions.class, "DSL_ListActions", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_ListActions_ActionList(), this.getDSL_ResourceAction(), null, "actionList", null, 0, -1, DSL_ListActions.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_ResourceActionEClass, DSL_ResourceAction.class, "DSL_ResourceAction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEAttribute(getDSL_ResourceAction_Variable(), ecorePackage.getEString(), "variable", null, 0, 1, DSL_ResourceAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_ResourceAction_Ref(), this.getDSL_REF(), null, "ref", null, 0, 1, DSL_ResourceAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEAttribute(getDSL_ResourceAction_Actiontype(), ecorePackage.getEString(), "actiontype", null, 0, 1, DSL_ResourceAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_ResourceAction_ListParam(), this.getDSL_ListParam(), null, "listParam", null, 0, 1, DSL_ResourceAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_ListParamEClass, DSL_ListParam.class, "DSL_ListParam", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_ListParam_Param(), this.getDSL_Expression(), null, "param", null, 0, -1, DSL_ListParam.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_ExpressionEClass, DSL_Expression.class, "DSL_Expression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-
-    initEClass(dsL_Expression_OrEClass, DSL_Expression_Or.class, "DSL_Expression_Or", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_Expression_Or_Left(), this.getDSL_Expression(), null, "left", null, 0, 1, DSL_Expression_Or.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_Expression_Or_Right(), this.getDSL_Expression(), null, "right", null, 0, 1, DSL_Expression_Or.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_Expression_AndEClass, DSL_Expression_And.class, "DSL_Expression_And", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_Expression_And_Left(), this.getDSL_Expression(), null, "left", null, 0, 1, DSL_Expression_And.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_Expression_And_Right(), this.getDSL_Expression(), null, "right", null, 0, 1, DSL_Expression_And.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_Expression_DiffEClass, DSL_Expression_Diff.class, "DSL_Expression_Diff", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_Expression_Diff_Left(), this.getDSL_Expression(), null, "left", null, 0, 1, DSL_Expression_Diff.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_Expression_Diff_Right(), this.getDSL_Expression(), null, "right", null, 0, 1, DSL_Expression_Diff.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_Expression_EqualEClass, DSL_Expression_Equal.class, "DSL_Expression_Equal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_Expression_Equal_Left(), this.getDSL_Expression(), null, "left", null, 0, 1, DSL_Expression_Equal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_Expression_Equal_Right(), this.getDSL_Expression(), null, "right", null, 0, 1, DSL_Expression_Equal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_Expression_LargerEClass, DSL_Expression_Larger.class, "DSL_Expression_Larger", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_Expression_Larger_Left(), this.getDSL_Expression(), null, "left", null, 0, 1, DSL_Expression_Larger.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_Expression_Larger_Right(), this.getDSL_Expression(), null, "right", null, 0, 1, DSL_Expression_Larger.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_Expression_Larger_EqualEClass, DSL_Expression_Larger_Equal.class, "DSL_Expression_Larger_Equal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_Expression_Larger_Equal_Left(), this.getDSL_Expression(), null, "left", null, 0, 1, DSL_Expression_Larger_Equal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_Expression_Larger_Equal_Right(), this.getDSL_Expression(), null, "right", null, 0, 1, DSL_Expression_Larger_Equal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_Expression_SmallerEClass, DSL_Expression_Smaller.class, "DSL_Expression_Smaller", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_Expression_Smaller_Left(), this.getDSL_Expression(), null, "left", null, 0, 1, DSL_Expression_Smaller.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_Expression_Smaller_Right(), this.getDSL_Expression(), null, "right", null, 0, 1, DSL_Expression_Smaller.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_Expression_Smaller_EqualEClass, DSL_Expression_Smaller_Equal.class, "DSL_Expression_Smaller_Equal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_Expression_Smaller_Equal_Left(), this.getDSL_Expression(), null, "left", null, 0, 1, DSL_Expression_Smaller_Equal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_Expression_Smaller_Equal_Right(), this.getDSL_Expression(), null, "right", null, 0, 1, DSL_Expression_Smaller_Equal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_Expression_PlusEClass, DSL_Expression_Plus.class, "DSL_Expression_Plus", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_Expression_Plus_Left(), this.getDSL_Expression(), null, "left", null, 0, 1, DSL_Expression_Plus.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_Expression_Plus_Right(), this.getDSL_Expression(), null, "right", null, 0, 1, DSL_Expression_Plus.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_Expression_MinusEClass, DSL_Expression_Minus.class, "DSL_Expression_Minus", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_Expression_Minus_Left(), this.getDSL_Expression(), null, "left", null, 0, 1, DSL_Expression_Minus.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_Expression_Minus_Right(), this.getDSL_Expression(), null, "right", null, 0, 1, DSL_Expression_Minus.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_Expression_MultiplicationEClass, DSL_Expression_Multiplication.class, "DSL_Expression_Multiplication", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_Expression_Multiplication_Left(), this.getDSL_Expression(), null, "left", null, 0, 1, DSL_Expression_Multiplication.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_Expression_Multiplication_Right(), this.getDSL_Expression(), null, "right", null, 0, 1, DSL_Expression_Multiplication.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_Expression_DivisionEClass, DSL_Expression_Division.class, "DSL_Expression_Division", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_Expression_Division_Left(), this.getDSL_Expression(), null, "left", null, 0, 1, DSL_Expression_Division.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_Expression_Division_Right(), this.getDSL_Expression(), null, "right", null, 0, 1, DSL_Expression_Division.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_Expression_ModuloEClass, DSL_Expression_Modulo.class, "DSL_Expression_Modulo", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_Expression_Modulo_Left(), this.getDSL_Expression(), null, "left", null, 0, 1, DSL_Expression_Modulo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getDSL_Expression_Modulo_Right(), this.getDSL_Expression(), null, "right", null, 0, 1, DSL_Expression_Modulo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_Object_NumberEClass, DSL_Object_Number.class, "DSL_Object_Number", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEAttribute(getDSL_Object_Number_Value(), ecorePackage.getEBigDecimal(), "value", null, 0, 1, DSL_Object_Number.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_Object_StringEClass, DSL_Object_String.class, "DSL_Object_String", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEAttribute(getDSL_Object_String_Value(), ecorePackage.getEString(), "value", null, 0, 1, DSL_Object_String.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_Object_BooleanEClass, DSL_Object_Boolean.class, "DSL_Object_Boolean", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEAttribute(getDSL_Object_Boolean_Value(), ecorePackage.getEBoolean(), "value", null, 0, 1, DSL_Object_Boolean.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_Object_RefEClass, DSL_Object_Ref.class, "DSL_Object_Ref", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_Object_Ref_Value(), this.getDSL_REF(), null, "value", null, 0, 1, DSL_Object_Ref.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    initEClass(dsL_Expression_NegateEClass, DSL_Expression_Negate.class, "DSL_Expression_Negate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEReference(getDSL_Expression_Negate_Exp(), this.getDSL_Expression(), null, "exp", null, 0, 1, DSL_Expression_Negate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-    // Create resource
-    createResource(eNS_URI);
-  }
-
-} //SensinactPackageImpl
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/util/SensinactAdapterFactory.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/util/SensinactAdapterFactory.java
deleted file mode 100644
index 9546018..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/util/SensinactAdapterFactory.java
+++ /dev/null
@@ -1,1003 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.util;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notifier;
-
-import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.sensinact.studio.language.sensinact.*;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Adapter Factory</b> for the model.
- * It provides an adapter <code>createXXX</code> method for each class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage
- * @generated
- */
-public class SensinactAdapterFactory extends AdapterFactoryImpl
-{
-  /**
-   * The cached model package.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected static SensinactPackage modelPackage;
-
-  /**
-   * Creates an instance of the adapter factory.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public SensinactAdapterFactory()
-  {
-    if (modelPackage == null)
-    {
-      modelPackage = SensinactPackage.eINSTANCE;
-    }
-  }
-
-  /**
-   * Returns whether this factory is applicable for the type of the object.
-   * <!-- begin-user-doc -->
-   * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
-   * <!-- end-user-doc -->
-   * @return whether this factory is applicable for the type of the object.
-   * @generated
-   */
-  @Override
-  public boolean isFactoryForType(Object object)
-  {
-    if (object == modelPackage)
-    {
-      return true;
-    }
-    if (object instanceof EObject)
-    {
-      return ((EObject)object).eClass().getEPackage() == modelPackage;
-    }
-    return false;
-  }
-
-  /**
-   * The switch that delegates to the <code>createXXX</code> methods.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected SensinactSwitch<Adapter> modelSwitch =
-    new SensinactSwitch<Adapter>()
-    {
-      @Override
-      public Adapter caseSensinact(Sensinact object)
-      {
-        return createSensinactAdapter();
-      }
-      @Override
-      public Adapter caseDSL_SENSINACT(DSL_SENSINACT object)
-      {
-        return createDSL_SENSINACTAdapter();
-      }
-      @Override
-      public Adapter caseDSL_Resource(DSL_Resource object)
-      {
-        return createDSL_ResourceAdapter();
-      }
-      @Override
-      public Adapter caseDSL_On(DSL_On object)
-      {
-        return createDSL_OnAdapter();
-      }
-      @Override
-      public Adapter caseDSL_ECA_STATEMENT(DSL_ECA_STATEMENT object)
-      {
-        return createDSL_ECA_STATEMENTAdapter();
-      }
-      @Override
-      public Adapter caseDSL_IfDo(DSL_IfDo object)
-      {
-        return createDSL_IfDoAdapter();
-      }
-      @Override
-      public Adapter caseDSL_ElseIfDo(DSL_ElseIfDo object)
-      {
-        return createDSL_ElseIfDoAdapter();
-      }
-      @Override
-      public Adapter caseDSL_ElseDo(DSL_ElseDo object)
-      {
-        return createDSL_ElseDoAdapter();
-      }
-      @Override
-      public Adapter caseDSL_REF(DSL_REF object)
-      {
-        return createDSL_REFAdapter();
-      }
-      @Override
-      public Adapter caseDSL_REF_CONDITION(DSL_REF_CONDITION object)
-      {
-        return createDSL_REF_CONDITIONAdapter();
-      }
-      @Override
-      public Adapter caseDSL_CEP_STATEMENT(DSL_CEP_STATEMENT object)
-      {
-        return createDSL_CEP_STATEMENTAdapter();
-      }
-      @Override
-      public Adapter caseDSL_CEP_AFTER(DSL_CEP_AFTER object)
-      {
-        return createDSL_CEP_AFTERAdapter();
-      }
-      @Override
-      public Adapter caseDSL_CEP_BEFORE(DSL_CEP_BEFORE object)
-      {
-        return createDSL_CEP_BEFOREAdapter();
-      }
-      @Override
-      public Adapter caseDSL_CEP_COINCIDE(DSL_CEP_COINCIDE object)
-      {
-        return createDSL_CEP_COINCIDEAdapter();
-      }
-      @Override
-      public Adapter caseDSL_CEP_MIN(DSL_CEP_MIN object)
-      {
-        return createDSL_CEP_MINAdapter();
-      }
-      @Override
-      public Adapter caseDSL_CEP_MAX(DSL_CEP_MAX object)
-      {
-        return createDSL_CEP_MAXAdapter();
-      }
-      @Override
-      public Adapter caseDSL_CEP_AVG(DSL_CEP_AVG object)
-      {
-        return createDSL_CEP_AVGAdapter();
-      }
-      @Override
-      public Adapter caseDSL_CEP_SUM(DSL_CEP_SUM object)
-      {
-        return createDSL_CEP_SUMAdapter();
-      }
-      @Override
-      public Adapter caseDSL_CEP_COUNT(DSL_CEP_COUNT object)
-      {
-        return createDSL_CEP_COUNTAdapter();
-      }
-      @Override
-      public Adapter caseDSL_CEP_DURATION(DSL_CEP_DURATION object)
-      {
-        return createDSL_CEP_DURATIONAdapter();
-      }
-      @Override
-      public Adapter caseDSL_CEP_DURATION_MIN(DSL_CEP_DURATION_MIN object)
-      {
-        return createDSL_CEP_DURATION_MINAdapter();
-      }
-      @Override
-      public Adapter caseDSL_CEP_DURATION_SEC(DSL_CEP_DURATION_SEC object)
-      {
-        return createDSL_CEP_DURATION_SECAdapter();
-      }
-      @Override
-      public Adapter caseDSL_ListActions(DSL_ListActions object)
-      {
-        return createDSL_ListActionsAdapter();
-      }
-      @Override
-      public Adapter caseDSL_ResourceAction(DSL_ResourceAction object)
-      {
-        return createDSL_ResourceActionAdapter();
-      }
-      @Override
-      public Adapter caseDSL_ListParam(DSL_ListParam object)
-      {
-        return createDSL_ListParamAdapter();
-      }
-      @Override
-      public Adapter caseDSL_Expression(DSL_Expression object)
-      {
-        return createDSL_ExpressionAdapter();
-      }
-      @Override
-      public Adapter caseDSL_Expression_Or(DSL_Expression_Or object)
-      {
-        return createDSL_Expression_OrAdapter();
-      }
-      @Override
-      public Adapter caseDSL_Expression_And(DSL_Expression_And object)
-      {
-        return createDSL_Expression_AndAdapter();
-      }
-      @Override
-      public Adapter caseDSL_Expression_Diff(DSL_Expression_Diff object)
-      {
-        return createDSL_Expression_DiffAdapter();
-      }
-      @Override
-      public Adapter caseDSL_Expression_Equal(DSL_Expression_Equal object)
-      {
-        return createDSL_Expression_EqualAdapter();
-      }
-      @Override
-      public Adapter caseDSL_Expression_Larger(DSL_Expression_Larger object)
-      {
-        return createDSL_Expression_LargerAdapter();
-      }
-      @Override
-      public Adapter caseDSL_Expression_Larger_Equal(DSL_Expression_Larger_Equal object)
-      {
-        return createDSL_Expression_Larger_EqualAdapter();
-      }
-      @Override
-      public Adapter caseDSL_Expression_Smaller(DSL_Expression_Smaller object)
-      {
-        return createDSL_Expression_SmallerAdapter();
-      }
-      @Override
-      public Adapter caseDSL_Expression_Smaller_Equal(DSL_Expression_Smaller_Equal object)
-      {
-        return createDSL_Expression_Smaller_EqualAdapter();
-      }
-      @Override
-      public Adapter caseDSL_Expression_Plus(DSL_Expression_Plus object)
-      {
-        return createDSL_Expression_PlusAdapter();
-      }
-      @Override
-      public Adapter caseDSL_Expression_Minus(DSL_Expression_Minus object)
-      {
-        return createDSL_Expression_MinusAdapter();
-      }
-      @Override
-      public Adapter caseDSL_Expression_Multiplication(DSL_Expression_Multiplication object)
-      {
-        return createDSL_Expression_MultiplicationAdapter();
-      }
-      @Override
-      public Adapter caseDSL_Expression_Division(DSL_Expression_Division object)
-      {
-        return createDSL_Expression_DivisionAdapter();
-      }
-      @Override
-      public Adapter caseDSL_Expression_Modulo(DSL_Expression_Modulo object)
-      {
-        return createDSL_Expression_ModuloAdapter();
-      }
-      @Override
-      public Adapter caseDSL_Object_Number(DSL_Object_Number object)
-      {
-        return createDSL_Object_NumberAdapter();
-      }
-      @Override
-      public Adapter caseDSL_Object_String(DSL_Object_String object)
-      {
-        return createDSL_Object_StringAdapter();
-      }
-      @Override
-      public Adapter caseDSL_Object_Boolean(DSL_Object_Boolean object)
-      {
-        return createDSL_Object_BooleanAdapter();
-      }
-      @Override
-      public Adapter caseDSL_Object_Ref(DSL_Object_Ref object)
-      {
-        return createDSL_Object_RefAdapter();
-      }
-      @Override
-      public Adapter caseDSL_Expression_Negate(DSL_Expression_Negate object)
-      {
-        return createDSL_Expression_NegateAdapter();
-      }
-      @Override
-      public Adapter defaultCase(EObject object)
-      {
-        return createEObjectAdapter();
-      }
-    };
-
-  /**
-   * Creates an adapter for the <code>target</code>.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param target the object to adapt.
-   * @return the adapter for the <code>target</code>.
-   * @generated
-   */
-  @Override
-  public Adapter createAdapter(Notifier target)
-  {
-    return modelSwitch.doSwitch((EObject)target);
-  }
-
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.Sensinact <em>Sensinact</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.sensinact.studio.language.sensinact.Sensinact
-   * @generated
-   */
-  public Adapter createSensinactAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_SENSINACT <em>DSL SENSINACT</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.sensinact.studio.language.sensinact.DSL_SENSINACT
-   * @generated
-   */
-  public Adapter createDSL_SENSINACTAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Resource <em>DSL Resource</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.sensinact.studio.language.sensinact.DSL_Resource
-   * @generated
-   */
-  public Adapter createDSL_ResourceAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_On <em>DSL On</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.sensinact.studio.language.sensinact.DSL_On
-   * @generated
-   */
-  public Adapter createDSL_OnAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ECA_STATEMENT <em>DSL ECA STATEMENT</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.sensinact.studio.language.sensinact.DSL_ECA_STATEMENT
-   * @generated
-   */
-  public Adapter createDSL_ECA_STATEMENTAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_IfDo <em>DSL If Do</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.sensinact.studio.language.sensinact.DSL_IfDo
-   * @generated
-   */
-  public Adapter createDSL_IfDoAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ElseIfDo <em>DSL Else If Do</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.sensinact.studio.language.sensinact.DSL_ElseIfDo
-   * @generated
-   */
-  public Adapter createDSL_ElseIfDoAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ElseDo <em>DSL Else Do</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.sensinact.studio.language.sensinact.DSL_ElseDo
-   * @generated
-   */
-  public Adapter createDSL_ElseDoAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_REF <em>DSL REF</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.sensinact.studio.language.sensinact.DSL_REF
-   * @generated
-   */
-  public Adapter createDSL_REFAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_REF_CONDITION <em>DSL REF 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.sensinact.studio.language.sensinact.DSL_REF_CONDITION
-   * @generated
-   */
-  public Adapter createDSL_REF_CONDITIONAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_STATEMENT <em>DSL CEP STATEMENT</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.sensinact.studio.language.sensinact.DSL_CEP_STATEMENT
-   * @generated
-   */
-  public Adapter createDSL_CEP_STATEMENTAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AFTER <em>DSL CEP AFTER</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.sensinact.studio.language.sensinact.DSL_CEP_AFTER
-   * @generated
-   */
-  public Adapter createDSL_CEP_AFTERAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_BEFORE <em>DSL CEP BEFORE</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.sensinact.studio.language.sensinact.DSL_CEP_BEFORE
-   * @generated
-   */
-  public Adapter createDSL_CEP_BEFOREAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COINCIDE <em>DSL CEP COINCIDE</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.sensinact.studio.language.sensinact.DSL_CEP_COINCIDE
-   * @generated
-   */
-  public Adapter createDSL_CEP_COINCIDEAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_MIN <em>DSL CEP MIN</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.sensinact.studio.language.sensinact.DSL_CEP_MIN
-   * @generated
-   */
-  public Adapter createDSL_CEP_MINAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_MAX <em>DSL CEP MAX</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.sensinact.studio.language.sensinact.DSL_CEP_MAX
-   * @generated
-   */
-  public Adapter createDSL_CEP_MAXAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AVG <em>DSL CEP AVG</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.sensinact.studio.language.sensinact.DSL_CEP_AVG
-   * @generated
-   */
-  public Adapter createDSL_CEP_AVGAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_SUM <em>DSL CEP SUM</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.sensinact.studio.language.sensinact.DSL_CEP_SUM
-   * @generated
-   */
-  public Adapter createDSL_CEP_SUMAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COUNT <em>DSL CEP COUNT</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.sensinact.studio.language.sensinact.DSL_CEP_COUNT
-   * @generated
-   */
-  public Adapter createDSL_CEP_COUNTAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION <em>DSL CEP DURATION</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.sensinact.studio.language.sensinact.DSL_CEP_DURATION
-   * @generated
-   */
-  public Adapter createDSL_CEP_DURATIONAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION_MIN <em>DSL CEP DURATION MIN</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.sensinact.studio.language.sensinact.DSL_CEP_DURATION_MIN
-   * @generated
-   */
-  public Adapter createDSL_CEP_DURATION_MINAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION_SEC <em>DSL CEP DURATION SEC</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.sensinact.studio.language.sensinact.DSL_CEP_DURATION_SEC
-   * @generated
-   */
-  public Adapter createDSL_CEP_DURATION_SECAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ListActions <em>DSL List Actions</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.sensinact.studio.language.sensinact.DSL_ListActions
-   * @generated
-   */
-  public Adapter createDSL_ListActionsAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ResourceAction <em>DSL Resource Action</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.sensinact.studio.language.sensinact.DSL_ResourceAction
-   * @generated
-   */
-  public Adapter createDSL_ResourceActionAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_ListParam <em>DSL List Param</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.sensinact.studio.language.sensinact.DSL_ListParam
-   * @generated
-   */
-  public Adapter createDSL_ListParamAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression <em>DSL Expression</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.sensinact.studio.language.sensinact.DSL_Expression
-   * @generated
-   */
-  public Adapter createDSL_ExpressionAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Or <em>DSL Expression Or</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.sensinact.studio.language.sensinact.DSL_Expression_Or
-   * @generated
-   */
-  public Adapter createDSL_Expression_OrAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_And <em>DSL Expression And</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.sensinact.studio.language.sensinact.DSL_Expression_And
-   * @generated
-   */
-  public Adapter createDSL_Expression_AndAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Diff <em>DSL Expression Diff</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.sensinact.studio.language.sensinact.DSL_Expression_Diff
-   * @generated
-   */
-  public Adapter createDSL_Expression_DiffAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Equal <em>DSL Expression Equal</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.sensinact.studio.language.sensinact.DSL_Expression_Equal
-   * @generated
-   */
-  public Adapter createDSL_Expression_EqualAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Larger <em>DSL Expression Larger</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.sensinact.studio.language.sensinact.DSL_Expression_Larger
-   * @generated
-   */
-  public Adapter createDSL_Expression_LargerAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Larger_Equal <em>DSL Expression Larger Equal</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.sensinact.studio.language.sensinact.DSL_Expression_Larger_Equal
-   * @generated
-   */
-  public Adapter createDSL_Expression_Larger_EqualAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Smaller <em>DSL Expression Smaller</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.sensinact.studio.language.sensinact.DSL_Expression_Smaller
-   * @generated
-   */
-  public Adapter createDSL_Expression_SmallerAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Smaller_Equal <em>DSL Expression Smaller Equal</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.sensinact.studio.language.sensinact.DSL_Expression_Smaller_Equal
-   * @generated
-   */
-  public Adapter createDSL_Expression_Smaller_EqualAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Plus <em>DSL Expression Plus</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.sensinact.studio.language.sensinact.DSL_Expression_Plus
-   * @generated
-   */
-  public Adapter createDSL_Expression_PlusAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Minus <em>DSL Expression Minus</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.sensinact.studio.language.sensinact.DSL_Expression_Minus
-   * @generated
-   */
-  public Adapter createDSL_Expression_MinusAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Multiplication <em>DSL Expression Multiplication</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.sensinact.studio.language.sensinact.DSL_Expression_Multiplication
-   * @generated
-   */
-  public Adapter createDSL_Expression_MultiplicationAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Division <em>DSL Expression Division</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.sensinact.studio.language.sensinact.DSL_Expression_Division
-   * @generated
-   */
-  public Adapter createDSL_Expression_DivisionAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Modulo <em>DSL Expression Modulo</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.sensinact.studio.language.sensinact.DSL_Expression_Modulo
-   * @generated
-   */
-  public Adapter createDSL_Expression_ModuloAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Object_Number <em>DSL Object Number</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.sensinact.studio.language.sensinact.DSL_Object_Number
-   * @generated
-   */
-  public Adapter createDSL_Object_NumberAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Object_String <em>DSL Object String</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.sensinact.studio.language.sensinact.DSL_Object_String
-   * @generated
-   */
-  public Adapter createDSL_Object_StringAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Object_Boolean <em>DSL Object Boolean</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.sensinact.studio.language.sensinact.DSL_Object_Boolean
-   * @generated
-   */
-  public Adapter createDSL_Object_BooleanAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Object_Ref <em>DSL Object Ref</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.sensinact.studio.language.sensinact.DSL_Object_Ref
-   * @generated
-   */
-  public Adapter createDSL_Object_RefAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Negate <em>DSL Expression Negate</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.sensinact.studio.language.sensinact.DSL_Expression_Negate
-   * @generated
-   */
-  public Adapter createDSL_Expression_NegateAdapter()
-  {
-    return null;
-  }
-
-  /**
-   * Creates a new adapter for the default case.
-   * <!-- begin-user-doc -->
-   * This default implementation returns null.
-   * <!-- end-user-doc -->
-   * @return the new adapter.
-   * @generated
-   */
-  public Adapter createEObjectAdapter()
-  {
-    return null;
-  }
-
-} //SensinactAdapterFactory
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/util/SensinactSwitch.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/util/SensinactSwitch.java
deleted file mode 100644
index fb3ee3f..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/sensinact/util/SensinactSwitch.java
+++ /dev/null
@@ -1,1139 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/**
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.sensinact.util;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-
-import org.eclipse.emf.ecore.util.Switch;
-
-import org.eclipse.sensinact.studio.language.sensinact.*;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
- * to invoke the <code>caseXXX</code> method for each class of the model,
- * starting with the actual class of the object
- * and proceeding up the inheritance hierarchy
- * until a non-null result is returned,
- * which is the result of the switch.
- * <!-- end-user-doc -->
- * @see org.eclipse.sensinact.studio.language.sensinact.SensinactPackage
- * @generated
- */
-public class SensinactSwitch<T> extends Switch<T>
-{
-  /**
-   * The cached model package
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected static SensinactPackage modelPackage;
-
-  /**
-   * Creates an instance of the switch.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public SensinactSwitch()
-  {
-    if (modelPackage == null)
-    {
-      modelPackage = SensinactPackage.eINSTANCE;
-    }
-  }
-
-  /**
-   * Checks whether this is a switch for the given package.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param ePackage the package in question.
-   * @return whether this is a switch for the given package.
-   * @generated
-   */
-  @Override
-  protected boolean isSwitchFor(EPackage ePackage)
-  {
-    return ePackage == modelPackage;
-  }
-
-  /**
-   * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the first non-null result returned by a <code>caseXXX</code> call.
-   * @generated
-   */
-  @Override
-  protected T doSwitch(int classifierID, EObject theEObject)
-  {
-    switch (classifierID)
-    {
-      case SensinactPackage.SENSINACT:
-      {
-        Sensinact sensinact = (Sensinact)theEObject;
-        T result = caseSensinact(sensinact);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_SENSINACT:
-      {
-        DSL_SENSINACT dsL_SENSINACT = (DSL_SENSINACT)theEObject;
-        T result = caseDSL_SENSINACT(dsL_SENSINACT);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_RESOURCE:
-      {
-        DSL_Resource dsL_Resource = (DSL_Resource)theEObject;
-        T result = caseDSL_Resource(dsL_Resource);
-        if (result == null) result = caseDSL_REF(dsL_Resource);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_ON:
-      {
-        DSL_On dsL_On = (DSL_On)theEObject;
-        T result = caseDSL_On(dsL_On);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_ECA_STATEMENT:
-      {
-        DSL_ECA_STATEMENT dsL_ECA_STATEMENT = (DSL_ECA_STATEMENT)theEObject;
-        T result = caseDSL_ECA_STATEMENT(dsL_ECA_STATEMENT);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_IF_DO:
-      {
-        DSL_IfDo dsL_IfDo = (DSL_IfDo)theEObject;
-        T result = caseDSL_IfDo(dsL_IfDo);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_ELSE_IF_DO:
-      {
-        DSL_ElseIfDo dsL_ElseIfDo = (DSL_ElseIfDo)theEObject;
-        T result = caseDSL_ElseIfDo(dsL_ElseIfDo);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_ELSE_DO:
-      {
-        DSL_ElseDo dsL_ElseDo = (DSL_ElseDo)theEObject;
-        T result = caseDSL_ElseDo(dsL_ElseDo);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_REF:
-      {
-        DSL_REF dsL_REF = (DSL_REF)theEObject;
-        T result = caseDSL_REF(dsL_REF);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_REF_CONDITION:
-      {
-        DSL_REF_CONDITION dsL_REF_CONDITION = (DSL_REF_CONDITION)theEObject;
-        T result = caseDSL_REF_CONDITION(dsL_REF_CONDITION);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_CEP_STATEMENT:
-      {
-        DSL_CEP_STATEMENT dsL_CEP_STATEMENT = (DSL_CEP_STATEMENT)theEObject;
-        T result = caseDSL_CEP_STATEMENT(dsL_CEP_STATEMENT);
-        if (result == null) result = caseDSL_REF(dsL_CEP_STATEMENT);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_CEP_AFTER:
-      {
-        DSL_CEP_AFTER dsL_CEP_AFTER = (DSL_CEP_AFTER)theEObject;
-        T result = caseDSL_CEP_AFTER(dsL_CEP_AFTER);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_CEP_BEFORE:
-      {
-        DSL_CEP_BEFORE dsL_CEP_BEFORE = (DSL_CEP_BEFORE)theEObject;
-        T result = caseDSL_CEP_BEFORE(dsL_CEP_BEFORE);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_CEP_COINCIDE:
-      {
-        DSL_CEP_COINCIDE dsL_CEP_COINCIDE = (DSL_CEP_COINCIDE)theEObject;
-        T result = caseDSL_CEP_COINCIDE(dsL_CEP_COINCIDE);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_CEP_MIN:
-      {
-        DSL_CEP_MIN dsL_CEP_MIN = (DSL_CEP_MIN)theEObject;
-        T result = caseDSL_CEP_MIN(dsL_CEP_MIN);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_CEP_MAX:
-      {
-        DSL_CEP_MAX dsL_CEP_MAX = (DSL_CEP_MAX)theEObject;
-        T result = caseDSL_CEP_MAX(dsL_CEP_MAX);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_CEP_AVG:
-      {
-        DSL_CEP_AVG dsL_CEP_AVG = (DSL_CEP_AVG)theEObject;
-        T result = caseDSL_CEP_AVG(dsL_CEP_AVG);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_CEP_SUM:
-      {
-        DSL_CEP_SUM dsL_CEP_SUM = (DSL_CEP_SUM)theEObject;
-        T result = caseDSL_CEP_SUM(dsL_CEP_SUM);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_CEP_COUNT:
-      {
-        DSL_CEP_COUNT dsL_CEP_COUNT = (DSL_CEP_COUNT)theEObject;
-        T result = caseDSL_CEP_COUNT(dsL_CEP_COUNT);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_CEP_DURATION:
-      {
-        DSL_CEP_DURATION dsL_CEP_DURATION = (DSL_CEP_DURATION)theEObject;
-        T result = caseDSL_CEP_DURATION(dsL_CEP_DURATION);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_CEP_DURATION_MIN:
-      {
-        DSL_CEP_DURATION_MIN dsL_CEP_DURATION_MIN = (DSL_CEP_DURATION_MIN)theEObject;
-        T result = caseDSL_CEP_DURATION_MIN(dsL_CEP_DURATION_MIN);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_CEP_DURATION_SEC:
-      {
-        DSL_CEP_DURATION_SEC dsL_CEP_DURATION_SEC = (DSL_CEP_DURATION_SEC)theEObject;
-        T result = caseDSL_CEP_DURATION_SEC(dsL_CEP_DURATION_SEC);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_LIST_ACTIONS:
-      {
-        DSL_ListActions dsL_ListActions = (DSL_ListActions)theEObject;
-        T result = caseDSL_ListActions(dsL_ListActions);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_RESOURCE_ACTION:
-      {
-        DSL_ResourceAction dsL_ResourceAction = (DSL_ResourceAction)theEObject;
-        T result = caseDSL_ResourceAction(dsL_ResourceAction);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_LIST_PARAM:
-      {
-        DSL_ListParam dsL_ListParam = (DSL_ListParam)theEObject;
-        T result = caseDSL_ListParam(dsL_ListParam);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_EXPRESSION:
-      {
-        DSL_Expression dsL_Expression = (DSL_Expression)theEObject;
-        T result = caseDSL_Expression(dsL_Expression);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_EXPRESSION_OR:
-      {
-        DSL_Expression_Or dsL_Expression_Or = (DSL_Expression_Or)theEObject;
-        T result = caseDSL_Expression_Or(dsL_Expression_Or);
-        if (result == null) result = caseDSL_Expression(dsL_Expression_Or);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_EXPRESSION_AND:
-      {
-        DSL_Expression_And dsL_Expression_And = (DSL_Expression_And)theEObject;
-        T result = caseDSL_Expression_And(dsL_Expression_And);
-        if (result == null) result = caseDSL_Expression(dsL_Expression_And);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_EXPRESSION_DIFF:
-      {
-        DSL_Expression_Diff dsL_Expression_Diff = (DSL_Expression_Diff)theEObject;
-        T result = caseDSL_Expression_Diff(dsL_Expression_Diff);
-        if (result == null) result = caseDSL_Expression(dsL_Expression_Diff);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_EXPRESSION_EQUAL:
-      {
-        DSL_Expression_Equal dsL_Expression_Equal = (DSL_Expression_Equal)theEObject;
-        T result = caseDSL_Expression_Equal(dsL_Expression_Equal);
-        if (result == null) result = caseDSL_Expression(dsL_Expression_Equal);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_EXPRESSION_LARGER:
-      {
-        DSL_Expression_Larger dsL_Expression_Larger = (DSL_Expression_Larger)theEObject;
-        T result = caseDSL_Expression_Larger(dsL_Expression_Larger);
-        if (result == null) result = caseDSL_Expression(dsL_Expression_Larger);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_EXPRESSION_LARGER_EQUAL:
-      {
-        DSL_Expression_Larger_Equal dsL_Expression_Larger_Equal = (DSL_Expression_Larger_Equal)theEObject;
-        T result = caseDSL_Expression_Larger_Equal(dsL_Expression_Larger_Equal);
-        if (result == null) result = caseDSL_Expression(dsL_Expression_Larger_Equal);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_EXPRESSION_SMALLER:
-      {
-        DSL_Expression_Smaller dsL_Expression_Smaller = (DSL_Expression_Smaller)theEObject;
-        T result = caseDSL_Expression_Smaller(dsL_Expression_Smaller);
-        if (result == null) result = caseDSL_Expression(dsL_Expression_Smaller);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_EXPRESSION_SMALLER_EQUAL:
-      {
-        DSL_Expression_Smaller_Equal dsL_Expression_Smaller_Equal = (DSL_Expression_Smaller_Equal)theEObject;
-        T result = caseDSL_Expression_Smaller_Equal(dsL_Expression_Smaller_Equal);
-        if (result == null) result = caseDSL_Expression(dsL_Expression_Smaller_Equal);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_EXPRESSION_PLUS:
-      {
-        DSL_Expression_Plus dsL_Expression_Plus = (DSL_Expression_Plus)theEObject;
-        T result = caseDSL_Expression_Plus(dsL_Expression_Plus);
-        if (result == null) result = caseDSL_Expression(dsL_Expression_Plus);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_EXPRESSION_MINUS:
-      {
-        DSL_Expression_Minus dsL_Expression_Minus = (DSL_Expression_Minus)theEObject;
-        T result = caseDSL_Expression_Minus(dsL_Expression_Minus);
-        if (result == null) result = caseDSL_Expression(dsL_Expression_Minus);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_EXPRESSION_MULTIPLICATION:
-      {
-        DSL_Expression_Multiplication dsL_Expression_Multiplication = (DSL_Expression_Multiplication)theEObject;
-        T result = caseDSL_Expression_Multiplication(dsL_Expression_Multiplication);
-        if (result == null) result = caseDSL_Expression(dsL_Expression_Multiplication);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_EXPRESSION_DIVISION:
-      {
-        DSL_Expression_Division dsL_Expression_Division = (DSL_Expression_Division)theEObject;
-        T result = caseDSL_Expression_Division(dsL_Expression_Division);
-        if (result == null) result = caseDSL_Expression(dsL_Expression_Division);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_EXPRESSION_MODULO:
-      {
-        DSL_Expression_Modulo dsL_Expression_Modulo = (DSL_Expression_Modulo)theEObject;
-        T result = caseDSL_Expression_Modulo(dsL_Expression_Modulo);
-        if (result == null) result = caseDSL_Expression(dsL_Expression_Modulo);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_OBJECT_NUMBER:
-      {
-        DSL_Object_Number dsL_Object_Number = (DSL_Object_Number)theEObject;
-        T result = caseDSL_Object_Number(dsL_Object_Number);
-        if (result == null) result = caseDSL_Expression(dsL_Object_Number);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_OBJECT_STRING:
-      {
-        DSL_Object_String dsL_Object_String = (DSL_Object_String)theEObject;
-        T result = caseDSL_Object_String(dsL_Object_String);
-        if (result == null) result = caseDSL_Expression(dsL_Object_String);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_OBJECT_BOOLEAN:
-      {
-        DSL_Object_Boolean dsL_Object_Boolean = (DSL_Object_Boolean)theEObject;
-        T result = caseDSL_Object_Boolean(dsL_Object_Boolean);
-        if (result == null) result = caseDSL_Expression(dsL_Object_Boolean);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_OBJECT_REF:
-      {
-        DSL_Object_Ref dsL_Object_Ref = (DSL_Object_Ref)theEObject;
-        T result = caseDSL_Object_Ref(dsL_Object_Ref);
-        if (result == null) result = caseDSL_Expression(dsL_Object_Ref);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case SensinactPackage.DSL_EXPRESSION_NEGATE:
-      {
-        DSL_Expression_Negate dsL_Expression_Negate = (DSL_Expression_Negate)theEObject;
-        T result = caseDSL_Expression_Negate(dsL_Expression_Negate);
-        if (result == null) result = caseDSL_Expression(dsL_Expression_Negate);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      default: return defaultCase(theEObject);
-    }
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>Sensinact</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>Sensinact</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseSensinact(Sensinact object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL SENSINACT</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>DSL SENSINACT</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_SENSINACT(DSL_SENSINACT object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL Resource</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>DSL Resource</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_Resource(DSL_Resource object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL On</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>DSL On</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_On(DSL_On object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL ECA STATEMENT</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>DSL ECA STATEMENT</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_ECA_STATEMENT(DSL_ECA_STATEMENT object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL If Do</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>DSL If Do</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_IfDo(DSL_IfDo object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL Else If Do</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>DSL Else If Do</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_ElseIfDo(DSL_ElseIfDo object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL Else Do</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>DSL Else Do</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_ElseDo(DSL_ElseDo object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL REF</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>DSL REF</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_REF(DSL_REF object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL REF 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>DSL REF CONDITION</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_REF_CONDITION(DSL_REF_CONDITION object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL CEP STATEMENT</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>DSL CEP STATEMENT</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_CEP_STATEMENT(DSL_CEP_STATEMENT object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL CEP AFTER</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>DSL CEP AFTER</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_CEP_AFTER(DSL_CEP_AFTER object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL CEP BEFORE</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>DSL CEP BEFORE</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_CEP_BEFORE(DSL_CEP_BEFORE object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL CEP COINCIDE</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>DSL CEP COINCIDE</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_CEP_COINCIDE(DSL_CEP_COINCIDE object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL CEP MIN</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>DSL CEP MIN</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_CEP_MIN(DSL_CEP_MIN object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL CEP MAX</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>DSL CEP MAX</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_CEP_MAX(DSL_CEP_MAX object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL CEP AVG</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>DSL CEP AVG</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_CEP_AVG(DSL_CEP_AVG object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL CEP SUM</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>DSL CEP SUM</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_CEP_SUM(DSL_CEP_SUM object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL CEP COUNT</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>DSL CEP COUNT</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_CEP_COUNT(DSL_CEP_COUNT object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL CEP DURATION</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>DSL CEP DURATION</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_CEP_DURATION(DSL_CEP_DURATION object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL CEP DURATION MIN</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>DSL CEP DURATION MIN</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_CEP_DURATION_MIN(DSL_CEP_DURATION_MIN object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL CEP DURATION SEC</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>DSL CEP DURATION SEC</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_CEP_DURATION_SEC(DSL_CEP_DURATION_SEC object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL List Actions</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>DSL List Actions</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_ListActions(DSL_ListActions object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL Resource Action</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>DSL Resource Action</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_ResourceAction(DSL_ResourceAction object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL List Param</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>DSL List Param</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_ListParam(DSL_ListParam object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL Expression</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>DSL Expression</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_Expression(DSL_Expression object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL Expression Or</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>DSL Expression Or</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_Expression_Or(DSL_Expression_Or object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL Expression And</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>DSL Expression And</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_Expression_And(DSL_Expression_And object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL Expression Diff</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>DSL Expression Diff</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_Expression_Diff(DSL_Expression_Diff object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL Expression Equal</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>DSL Expression Equal</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_Expression_Equal(DSL_Expression_Equal object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL Expression Larger</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>DSL Expression Larger</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_Expression_Larger(DSL_Expression_Larger object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL Expression Larger Equal</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>DSL Expression Larger Equal</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_Expression_Larger_Equal(DSL_Expression_Larger_Equal object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL Expression Smaller</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>DSL Expression Smaller</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_Expression_Smaller(DSL_Expression_Smaller object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL Expression Smaller Equal</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>DSL Expression Smaller Equal</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_Expression_Smaller_Equal(DSL_Expression_Smaller_Equal object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL Expression Plus</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>DSL Expression Plus</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_Expression_Plus(DSL_Expression_Plus object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL Expression Minus</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>DSL Expression Minus</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_Expression_Minus(DSL_Expression_Minus object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL Expression Multiplication</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>DSL Expression Multiplication</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_Expression_Multiplication(DSL_Expression_Multiplication object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL Expression Division</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>DSL Expression Division</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_Expression_Division(DSL_Expression_Division object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL Expression Modulo</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>DSL Expression Modulo</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_Expression_Modulo(DSL_Expression_Modulo object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL Object Number</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>DSL Object Number</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_Object_Number(DSL_Object_Number object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL Object String</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>DSL Object String</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_Object_String(DSL_Object_String object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL Object Boolean</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>DSL Object Boolean</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_Object_Boolean(DSL_Object_Boolean object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL Object Ref</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>DSL Object Ref</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_Object_Ref(DSL_Object_Ref object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>DSL Expression Negate</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>DSL Expression Negate</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
-  public T caseDSL_Expression_Negate(DSL_Expression_Negate object)
-  {
-    return null;
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
-   * <!-- begin-user-doc -->
-   * This implementation returns null;
-   * returning a non-null result will terminate the switch, but this is the last case anyway.
-   * <!-- end-user-doc -->
-   * @param object the target of the switch.
-   * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject)
-   * @generated
-   */
-  @Override
-  public T defaultCase(EObject object)
-  {
-    return null;
-  }
-
-} //SensinactSwitch
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/serializer/SensinactSemanticSequencer.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/serializer/SensinactSemanticSequencer.java
deleted file mode 100644
index 9b22c96..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/serializer/SensinactSemanticSequencer.java
+++ /dev/null
@@ -1,1347 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/*
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.serializer;
-
-import com.google.inject.Inject;
-import java.util.Set;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AFTER;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AVG;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_BEFORE;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COINCIDE;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_COUNT;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION_MIN;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION_SEC;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_MAX;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_MIN;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_STATEMENT;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_SUM;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_ECA_STATEMENT;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_ElseDo;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_ElseIfDo;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_And;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Diff;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Division;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Equal;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Larger;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Larger_Equal;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Minus;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Modulo;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Multiplication;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Negate;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Or;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Plus;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Smaller;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression_Smaller_Equal;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_IfDo;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_ListActions;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_ListParam;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Object_Boolean;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Object_Number;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Object_Ref;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Object_String;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_On;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_REF_CONDITION;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Resource;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_ResourceAction;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_SENSINACT;
-import org.eclipse.sensinact.studio.language.sensinact.Sensinact;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-import org.eclipse.sensinact.studio.language.services.SensinactGrammarAccess;
-import org.eclipse.xtext.Action;
-import org.eclipse.xtext.Parameter;
-import org.eclipse.xtext.ParserRule;
-import org.eclipse.xtext.serializer.ISerializationContext;
-import org.eclipse.xtext.serializer.acceptor.SequenceFeeder;
-import org.eclipse.xtext.serializer.sequencer.AbstractDelegatingSemanticSequencer;
-import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient;
-
-@SuppressWarnings("all")
-public class SensinactSemanticSequencer extends AbstractDelegatingSemanticSequencer {
-
-	@Inject
-	private SensinactGrammarAccess grammarAccess;
-	
-	@Override
-	public void sequence(ISerializationContext context, EObject semanticObject) {
-		EPackage epackage = semanticObject.eClass().getEPackage();
-		ParserRule rule = context.getParserRule();
-		Action action = context.getAssignedAction();
-		Set<Parameter> parameters = context.getEnabledBooleanParameters();
-		if (epackage == SensinactPackage.eINSTANCE)
-			switch (semanticObject.eClass().getClassifierID()) {
-			case SensinactPackage.DSL_CEP_AFTER:
-				sequence_DSL_CEP_AFTER(context, (DSL_CEP_AFTER) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_CEP_AVG:
-				sequence_DSL_CEP_AVG(context, (DSL_CEP_AVG) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_CEP_BEFORE:
-				sequence_DSL_CEP_BEFORE(context, (DSL_CEP_BEFORE) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_CEP_COINCIDE:
-				sequence_DSL_CEP_COINCIDE(context, (DSL_CEP_COINCIDE) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_CEP_COUNT:
-				sequence_DSL_CEP_COUNT(context, (DSL_CEP_COUNT) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_CEP_DURATION:
-				sequence_DSL_CEP_DURATION(context, (DSL_CEP_DURATION) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_CEP_DURATION_MIN:
-				sequence_DSL_CEP_DURATION_MIN(context, (DSL_CEP_DURATION_MIN) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_CEP_DURATION_SEC:
-				sequence_DSL_CEP_DURATION_SEC(context, (DSL_CEP_DURATION_SEC) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_CEP_MAX:
-				sequence_DSL_CEP_MAX(context, (DSL_CEP_MAX) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_CEP_MIN:
-				sequence_DSL_CEP_MIN(context, (DSL_CEP_MIN) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_CEP_STATEMENT:
-				sequence_DSL_CEP_STATEMENT(context, (DSL_CEP_STATEMENT) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_CEP_SUM:
-				sequence_DSL_CEP_SUM(context, (DSL_CEP_SUM) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_ECA_STATEMENT:
-				sequence_DSL_ECA_STATEMENT(context, (DSL_ECA_STATEMENT) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_ELSE_DO:
-				sequence_DSL_ElseDo(context, (DSL_ElseDo) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_ELSE_IF_DO:
-				sequence_DSL_ElseIfDo(context, (DSL_ElseIfDo) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_EXPRESSION_AND:
-				sequence_DSL_Expression_And(context, (DSL_Expression_And) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_EXPRESSION_DIFF:
-				sequence_DSL_Expression_DiffEqual(context, (DSL_Expression_Diff) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_EXPRESSION_DIVISION:
-				sequence_DSL_Expression_MultiplicationDivision(context, (DSL_Expression_Division) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_EXPRESSION_EQUAL:
-				sequence_DSL_Expression_DiffEqual(context, (DSL_Expression_Equal) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_EXPRESSION_LARGER:
-				sequence_DSL_Expression_Compare(context, (DSL_Expression_Larger) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_EXPRESSION_LARGER_EQUAL:
-				sequence_DSL_Expression_Compare(context, (DSL_Expression_Larger_Equal) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_EXPRESSION_MINUS:
-				sequence_DSL_Expression_PlusMinus(context, (DSL_Expression_Minus) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_EXPRESSION_MODULO:
-				sequence_DSL_Expression_MultiplicationDivision(context, (DSL_Expression_Modulo) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_EXPRESSION_MULTIPLICATION:
-				sequence_DSL_Expression_MultiplicationDivision(context, (DSL_Expression_Multiplication) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_EXPRESSION_NEGATE:
-				sequence_DSL_Expression_Unary(context, (DSL_Expression_Negate) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_EXPRESSION_OR:
-				sequence_DSL_Expression_Or(context, (DSL_Expression_Or) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_EXPRESSION_PLUS:
-				sequence_DSL_Expression_PlusMinus(context, (DSL_Expression_Plus) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_EXPRESSION_SMALLER:
-				sequence_DSL_Expression_Compare(context, (DSL_Expression_Smaller) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_EXPRESSION_SMALLER_EQUAL:
-				sequence_DSL_Expression_Compare(context, (DSL_Expression_Smaller_Equal) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_IF_DO:
-				sequence_DSL_IfDo(context, (DSL_IfDo) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_LIST_ACTIONS:
-				sequence_DSL_ListActions(context, (DSL_ListActions) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_LIST_PARAM:
-				sequence_DSL_ListParam(context, (DSL_ListParam) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_OBJECT_BOOLEAN:
-				sequence_DSL_Expression_Unary(context, (DSL_Object_Boolean) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_OBJECT_NUMBER:
-				sequence_DSL_Expression_Unary(context, (DSL_Object_Number) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_OBJECT_REF:
-				sequence_DSL_Expression_Unary(context, (DSL_Object_Ref) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_OBJECT_STRING:
-				sequence_DSL_Expression_Unary(context, (DSL_Object_String) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_ON:
-				sequence_DSL_On(context, (DSL_On) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_REF_CONDITION:
-				sequence_DSL_REF_CONDITION(context, (DSL_REF_CONDITION) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_RESOURCE:
-				sequence_DSL_Resource(context, (DSL_Resource) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_RESOURCE_ACTION:
-				sequence_DSL_ResourceAction(context, (DSL_ResourceAction) semanticObject); 
-				return; 
-			case SensinactPackage.DSL_SENSINACT:
-				sequence_DSL_SENSINACT(context, (DSL_SENSINACT) semanticObject); 
-				return; 
-			case SensinactPackage.SENSINACT:
-				sequence_Sensinact(context, (Sensinact) semanticObject); 
-				return; 
-			}
-		if (errorAcceptor != null)
-			errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
-	}
-	
-	/**
-	 * Contexts:
-	 *     DSL_CEP_AFTER returns DSL_CEP_AFTER
-	 *
-	 * Constraint:
-	 *     (ref1=DSL_REF_CONDITION ref2=DSL_REF_CONDITION start=DSL_CEP_DURATION? end=DSL_CEP_DURATION)
-	 */
-	protected void sequence_DSL_CEP_AFTER(ISerializationContext context, DSL_CEP_AFTER semanticObject) {
-		genericSequencer.createSequence(context, semanticObject);
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_CEP_AVG returns DSL_CEP_AVG
-	 *
-	 * Constraint:
-	 *     (ref=DSL_REF_CONDITION window=DSL_CEP_DURATION)
-	 */
-	protected void sequence_DSL_CEP_AVG(ISerializationContext context, DSL_CEP_AVG semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_CEP_AVG__REF) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_CEP_AVG__REF));
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_CEP_AVG__WINDOW) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_CEP_AVG__WINDOW));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getDSL_CEP_AVGAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0(), semanticObject.getRef());
-		feeder.accept(grammarAccess.getDSL_CEP_AVGAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0(), semanticObject.getWindow());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_CEP_BEFORE returns DSL_CEP_BEFORE
-	 *
-	 * Constraint:
-	 *     (ref1=DSL_REF_CONDITION ref2=DSL_REF_CONDITION start=DSL_CEP_DURATION? end=DSL_CEP_DURATION)
-	 */
-	protected void sequence_DSL_CEP_BEFORE(ISerializationContext context, DSL_CEP_BEFORE semanticObject) {
-		genericSequencer.createSequence(context, semanticObject);
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_CEP_COINCIDE returns DSL_CEP_COINCIDE
-	 *
-	 * Constraint:
-	 *     (ref1=DSL_REF_CONDITION ref2=DSL_REF_CONDITION window=DSL_CEP_DURATION)
-	 */
-	protected void sequence_DSL_CEP_COINCIDE(ISerializationContext context, DSL_CEP_COINCIDE semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_CEP_COINCIDE__REF1) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_CEP_COINCIDE__REF1));
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_CEP_COINCIDE__REF2) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_CEP_COINCIDE__REF2));
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_CEP_COINCIDE__WINDOW) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_CEP_COINCIDE__WINDOW));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getDSL_CEP_COINCIDEAccess().getRef1DSL_REF_CONDITIONParserRuleCall_2_0(), semanticObject.getRef1());
-		feeder.accept(grammarAccess.getDSL_CEP_COINCIDEAccess().getRef2DSL_REF_CONDITIONParserRuleCall_4_0(), semanticObject.getRef2());
-		feeder.accept(grammarAccess.getDSL_CEP_COINCIDEAccess().getWindowDSL_CEP_DURATIONParserRuleCall_6_0(), semanticObject.getWindow());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_CEP_COUNT returns DSL_CEP_COUNT
-	 *
-	 * Constraint:
-	 *     (ref=DSL_REF_CONDITION window=DSL_CEP_DURATION)
-	 */
-	protected void sequence_DSL_CEP_COUNT(ISerializationContext context, DSL_CEP_COUNT semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_CEP_COUNT__REF) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_CEP_COUNT__REF));
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_CEP_COUNT__WINDOW) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_CEP_COUNT__WINDOW));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getDSL_CEP_COUNTAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0(), semanticObject.getRef());
-		feeder.accept(grammarAccess.getDSL_CEP_COUNTAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0(), semanticObject.getWindow());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_CEP_DURATION returns DSL_CEP_DURATION
-	 *
-	 * Constraint:
-	 *     (units+=DSL_CEP_DURATION_MIN | units+=DSL_CEP_DURATION_SEC)+
-	 */
-	protected void sequence_DSL_CEP_DURATION(ISerializationContext context, DSL_CEP_DURATION semanticObject) {
-		genericSequencer.createSequence(context, semanticObject);
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_CEP_DURATION_MIN returns DSL_CEP_DURATION_MIN
-	 *
-	 * Constraint:
-	 *     min=NUMBER
-	 */
-	protected void sequence_DSL_CEP_DURATION_MIN(ISerializationContext context, DSL_CEP_DURATION_MIN semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_CEP_DURATION_MIN__MIN) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_CEP_DURATION_MIN__MIN));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getDSL_CEP_DURATION_MINAccess().getMinNUMBERParserRuleCall_0_0(), semanticObject.getMin());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_CEP_DURATION_SEC returns DSL_CEP_DURATION_SEC
-	 *
-	 * Constraint:
-	 *     sec=NUMBER
-	 */
-	protected void sequence_DSL_CEP_DURATION_SEC(ISerializationContext context, DSL_CEP_DURATION_SEC semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_CEP_DURATION_SEC__SEC) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_CEP_DURATION_SEC__SEC));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getDSL_CEP_DURATION_SECAccess().getSecNUMBERParserRuleCall_0_0(), semanticObject.getSec());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_CEP_MAX returns DSL_CEP_MAX
-	 *
-	 * Constraint:
-	 *     (ref=DSL_REF_CONDITION window=DSL_CEP_DURATION)
-	 */
-	protected void sequence_DSL_CEP_MAX(ISerializationContext context, DSL_CEP_MAX semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_CEP_MAX__REF) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_CEP_MAX__REF));
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_CEP_MAX__WINDOW) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_CEP_MAX__WINDOW));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getDSL_CEP_MAXAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0(), semanticObject.getRef());
-		feeder.accept(grammarAccess.getDSL_CEP_MAXAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0(), semanticObject.getWindow());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_CEP_MIN returns DSL_CEP_MIN
-	 *
-	 * Constraint:
-	 *     (ref=DSL_REF_CONDITION window=DSL_CEP_DURATION)
-	 */
-	protected void sequence_DSL_CEP_MIN(ISerializationContext context, DSL_CEP_MIN semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_CEP_MIN__REF) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_CEP_MIN__REF));
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_CEP_MIN__WINDOW) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_CEP_MIN__WINDOW));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getDSL_CEP_MINAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0(), semanticObject.getRef());
-		feeder.accept(grammarAccess.getDSL_CEP_MINAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0(), semanticObject.getWindow());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_REF returns DSL_CEP_STATEMENT
-	 *     DSL_CEP_STATEMENT returns DSL_CEP_STATEMENT
-	 *
-	 * Constraint:
-	 *     (
-	 *         name=ID 
-	 *         (
-	 *             operation=DSL_CEP_AFTER | 
-	 *             operation=DSL_CEP_BEFORE | 
-	 *             operation=DSL_CEP_COINCIDE | 
-	 *             operation=DSL_CEP_MIN | 
-	 *             operation=DSL_CEP_MAX | 
-	 *             operation=DSL_CEP_AVG | 
-	 *             operation=DSL_CEP_SUM | 
-	 *             operation=DSL_CEP_COUNT
-	 *         )
-	 *     )
-	 */
-	protected void sequence_DSL_CEP_STATEMENT(ISerializationContext context, DSL_CEP_STATEMENT semanticObject) {
-		genericSequencer.createSequence(context, semanticObject);
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_CEP_SUM returns DSL_CEP_SUM
-	 *
-	 * Constraint:
-	 *     (ref=DSL_REF_CONDITION window=DSL_CEP_DURATION)
-	 */
-	protected void sequence_DSL_CEP_SUM(ISerializationContext context, DSL_CEP_SUM semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_CEP_SUM__REF) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_CEP_SUM__REF));
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_CEP_SUM__WINDOW) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_CEP_SUM__WINDOW));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getDSL_CEP_SUMAccess().getRefDSL_REF_CONDITIONParserRuleCall_2_0(), semanticObject.getRef());
-		feeder.accept(grammarAccess.getDSL_CEP_SUMAccess().getWindowDSL_CEP_DURATIONParserRuleCall_4_0(), semanticObject.getWindow());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_ECA_STATEMENT returns DSL_ECA_STATEMENT
-	 *
-	 * Constraint:
-	 *     (ifdo=DSL_IfDo elseIfdo+=DSL_ElseIfDo* elsedo=DSL_ElseDo?)
-	 */
-	protected void sequence_DSL_ECA_STATEMENT(ISerializationContext context, DSL_ECA_STATEMENT semanticObject) {
-		genericSequencer.createSequence(context, semanticObject);
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_ElseDo returns DSL_ElseDo
-	 *
-	 * Constraint:
-	 *     actions=DSL_ListActions
-	 */
-	protected void sequence_DSL_ElseDo(ISerializationContext context, DSL_ElseDo semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_ELSE_DO__ACTIONS) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_ELSE_DO__ACTIONS));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getDSL_ElseDoAccess().getActionsDSL_ListActionsParserRuleCall_1_0(), semanticObject.getActions());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_ElseIfDo returns DSL_ElseIfDo
-	 *
-	 * Constraint:
-	 *     (condition=DSL_Expression_Or actions=DSL_ListActions)
-	 */
-	protected void sequence_DSL_ElseIfDo(ISerializationContext context, DSL_ElseIfDo semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_ELSE_IF_DO__CONDITION) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_ELSE_IF_DO__CONDITION));
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_ELSE_IF_DO__ACTIONS) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_ELSE_IF_DO__ACTIONS));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getDSL_ElseIfDoAccess().getConditionDSL_Expression_OrParserRuleCall_1_0(), semanticObject.getCondition());
-		feeder.accept(grammarAccess.getDSL_ElseIfDoAccess().getActionsDSL_ListActionsParserRuleCall_3_0(), semanticObject.getActions());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_Expression_Or returns DSL_Expression_And
-	 *     DSL_Expression_Or.DSL_Expression_Or_1_1 returns DSL_Expression_And
-	 *     DSL_Expression_And returns DSL_Expression_And
-	 *     DSL_Expression_And.DSL_Expression_And_1_1 returns DSL_Expression_And
-	 *     DSL_Expression_DiffEqual returns DSL_Expression_And
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Diff_1_0_1 returns DSL_Expression_And
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Equal_1_1_1 returns DSL_Expression_And
-	 *     DSL_Expression_Compare returns DSL_Expression_And
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_1_0_1 returns DSL_Expression_And
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_Equal_1_1_1 returns DSL_Expression_And
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_1_2_1 returns DSL_Expression_And
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_Equal_1_3_1 returns DSL_Expression_And
-	 *     DSL_Expression_PlusMinus returns DSL_Expression_And
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Plus_1_0_1 returns DSL_Expression_And
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Minus_1_1_1 returns DSL_Expression_And
-	 *     DSL_Expression_MultiplicationDivision returns DSL_Expression_And
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Multiplication_1_0_1 returns DSL_Expression_And
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Division_1_1_1 returns DSL_Expression_And
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Modulo_1_2_1 returns DSL_Expression_And
-	 *     DSL_Expression_Unary returns DSL_Expression_And
-	 *
-	 * Constraint:
-	 *     (left=DSL_Expression_And_DSL_Expression_And_1_1 right=DSL_Expression_DiffEqual)
-	 */
-	protected void sequence_DSL_Expression_And(ISerializationContext context, DSL_Expression_And semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_AND__LEFT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_AND__LEFT));
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_AND__RIGHT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_AND__RIGHT));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getDSL_Expression_AndAccess().getDSL_Expression_AndLeftAction_1_1(), semanticObject.getLeft());
-		feeder.accept(grammarAccess.getDSL_Expression_AndAccess().getRightDSL_Expression_DiffEqualParserRuleCall_1_2_0(), semanticObject.getRight());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_Expression_Or returns DSL_Expression_Larger
-	 *     DSL_Expression_Or.DSL_Expression_Or_1_1 returns DSL_Expression_Larger
-	 *     DSL_Expression_And returns DSL_Expression_Larger
-	 *     DSL_Expression_And.DSL_Expression_And_1_1 returns DSL_Expression_Larger
-	 *     DSL_Expression_DiffEqual returns DSL_Expression_Larger
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Diff_1_0_1 returns DSL_Expression_Larger
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Equal_1_1_1 returns DSL_Expression_Larger
-	 *     DSL_Expression_Compare returns DSL_Expression_Larger
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_1_0_1 returns DSL_Expression_Larger
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_Equal_1_1_1 returns DSL_Expression_Larger
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_1_2_1 returns DSL_Expression_Larger
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_Equal_1_3_1 returns DSL_Expression_Larger
-	 *     DSL_Expression_PlusMinus returns DSL_Expression_Larger
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Plus_1_0_1 returns DSL_Expression_Larger
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Minus_1_1_1 returns DSL_Expression_Larger
-	 *     DSL_Expression_MultiplicationDivision returns DSL_Expression_Larger
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Multiplication_1_0_1 returns DSL_Expression_Larger
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Division_1_1_1 returns DSL_Expression_Larger
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Modulo_1_2_1 returns DSL_Expression_Larger
-	 *     DSL_Expression_Unary returns DSL_Expression_Larger
-	 *
-	 * Constraint:
-	 *     (left=DSL_Expression_Compare_DSL_Expression_Larger_1_0_1 right=DSL_Expression_PlusMinus)
-	 */
-	protected void sequence_DSL_Expression_Compare(ISerializationContext context, DSL_Expression_Larger semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_LARGER__LEFT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_LARGER__LEFT));
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_LARGER__RIGHT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_LARGER__RIGHT));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_LargerLeftAction_1_0_1(), semanticObject.getLeft());
-		feeder.accept(grammarAccess.getDSL_Expression_CompareAccess().getRightDSL_Expression_PlusMinusParserRuleCall_1_0_2_0(), semanticObject.getRight());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_Expression_Or returns DSL_Expression_Larger_Equal
-	 *     DSL_Expression_Or.DSL_Expression_Or_1_1 returns DSL_Expression_Larger_Equal
-	 *     DSL_Expression_And returns DSL_Expression_Larger_Equal
-	 *     DSL_Expression_And.DSL_Expression_And_1_1 returns DSL_Expression_Larger_Equal
-	 *     DSL_Expression_DiffEqual returns DSL_Expression_Larger_Equal
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Diff_1_0_1 returns DSL_Expression_Larger_Equal
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Equal_1_1_1 returns DSL_Expression_Larger_Equal
-	 *     DSL_Expression_Compare returns DSL_Expression_Larger_Equal
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_1_0_1 returns DSL_Expression_Larger_Equal
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_Equal_1_1_1 returns DSL_Expression_Larger_Equal
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_1_2_1 returns DSL_Expression_Larger_Equal
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_Equal_1_3_1 returns DSL_Expression_Larger_Equal
-	 *     DSL_Expression_PlusMinus returns DSL_Expression_Larger_Equal
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Plus_1_0_1 returns DSL_Expression_Larger_Equal
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Minus_1_1_1 returns DSL_Expression_Larger_Equal
-	 *     DSL_Expression_MultiplicationDivision returns DSL_Expression_Larger_Equal
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Multiplication_1_0_1 returns DSL_Expression_Larger_Equal
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Division_1_1_1 returns DSL_Expression_Larger_Equal
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Modulo_1_2_1 returns DSL_Expression_Larger_Equal
-	 *     DSL_Expression_Unary returns DSL_Expression_Larger_Equal
-	 *
-	 * Constraint:
-	 *     (left=DSL_Expression_Compare_DSL_Expression_Larger_Equal_1_1_1 right=DSL_Expression_PlusMinus)
-	 */
-	protected void sequence_DSL_Expression_Compare(ISerializationContext context, DSL_Expression_Larger_Equal semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_LARGER_EQUAL__LEFT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_LARGER_EQUAL__LEFT));
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_LARGER_EQUAL__RIGHT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_LARGER_EQUAL__RIGHT));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_Larger_EqualLeftAction_1_1_1(), semanticObject.getLeft());
-		feeder.accept(grammarAccess.getDSL_Expression_CompareAccess().getRightDSL_Expression_PlusMinusParserRuleCall_1_1_2_0(), semanticObject.getRight());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_Expression_Or returns DSL_Expression_Smaller
-	 *     DSL_Expression_Or.DSL_Expression_Or_1_1 returns DSL_Expression_Smaller
-	 *     DSL_Expression_And returns DSL_Expression_Smaller
-	 *     DSL_Expression_And.DSL_Expression_And_1_1 returns DSL_Expression_Smaller
-	 *     DSL_Expression_DiffEqual returns DSL_Expression_Smaller
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Diff_1_0_1 returns DSL_Expression_Smaller
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Equal_1_1_1 returns DSL_Expression_Smaller
-	 *     DSL_Expression_Compare returns DSL_Expression_Smaller
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_1_0_1 returns DSL_Expression_Smaller
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_Equal_1_1_1 returns DSL_Expression_Smaller
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_1_2_1 returns DSL_Expression_Smaller
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_Equal_1_3_1 returns DSL_Expression_Smaller
-	 *     DSL_Expression_PlusMinus returns DSL_Expression_Smaller
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Plus_1_0_1 returns DSL_Expression_Smaller
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Minus_1_1_1 returns DSL_Expression_Smaller
-	 *     DSL_Expression_MultiplicationDivision returns DSL_Expression_Smaller
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Multiplication_1_0_1 returns DSL_Expression_Smaller
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Division_1_1_1 returns DSL_Expression_Smaller
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Modulo_1_2_1 returns DSL_Expression_Smaller
-	 *     DSL_Expression_Unary returns DSL_Expression_Smaller
-	 *
-	 * Constraint:
-	 *     (left=DSL_Expression_Compare_DSL_Expression_Smaller_1_2_1 right=DSL_Expression_PlusMinus)
-	 */
-	protected void sequence_DSL_Expression_Compare(ISerializationContext context, DSL_Expression_Smaller semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_SMALLER__LEFT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_SMALLER__LEFT));
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_SMALLER__RIGHT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_SMALLER__RIGHT));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_SmallerLeftAction_1_2_1(), semanticObject.getLeft());
-		feeder.accept(grammarAccess.getDSL_Expression_CompareAccess().getRightDSL_Expression_PlusMinusParserRuleCall_1_2_2_0(), semanticObject.getRight());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_Expression_Or returns DSL_Expression_Smaller_Equal
-	 *     DSL_Expression_Or.DSL_Expression_Or_1_1 returns DSL_Expression_Smaller_Equal
-	 *     DSL_Expression_And returns DSL_Expression_Smaller_Equal
-	 *     DSL_Expression_And.DSL_Expression_And_1_1 returns DSL_Expression_Smaller_Equal
-	 *     DSL_Expression_DiffEqual returns DSL_Expression_Smaller_Equal
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Diff_1_0_1 returns DSL_Expression_Smaller_Equal
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Equal_1_1_1 returns DSL_Expression_Smaller_Equal
-	 *     DSL_Expression_Compare returns DSL_Expression_Smaller_Equal
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_1_0_1 returns DSL_Expression_Smaller_Equal
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_Equal_1_1_1 returns DSL_Expression_Smaller_Equal
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_1_2_1 returns DSL_Expression_Smaller_Equal
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_Equal_1_3_1 returns DSL_Expression_Smaller_Equal
-	 *     DSL_Expression_PlusMinus returns DSL_Expression_Smaller_Equal
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Plus_1_0_1 returns DSL_Expression_Smaller_Equal
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Minus_1_1_1 returns DSL_Expression_Smaller_Equal
-	 *     DSL_Expression_MultiplicationDivision returns DSL_Expression_Smaller_Equal
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Multiplication_1_0_1 returns DSL_Expression_Smaller_Equal
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Division_1_1_1 returns DSL_Expression_Smaller_Equal
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Modulo_1_2_1 returns DSL_Expression_Smaller_Equal
-	 *     DSL_Expression_Unary returns DSL_Expression_Smaller_Equal
-	 *
-	 * Constraint:
-	 *     (left=DSL_Expression_Compare_DSL_Expression_Smaller_Equal_1_3_1 right=DSL_Expression_PlusMinus)
-	 */
-	protected void sequence_DSL_Expression_Compare(ISerializationContext context, DSL_Expression_Smaller_Equal semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_SMALLER_EQUAL__LEFT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_SMALLER_EQUAL__LEFT));
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_SMALLER_EQUAL__RIGHT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_SMALLER_EQUAL__RIGHT));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getDSL_Expression_CompareAccess().getDSL_Expression_Smaller_EqualLeftAction_1_3_1(), semanticObject.getLeft());
-		feeder.accept(grammarAccess.getDSL_Expression_CompareAccess().getRightDSL_Expression_PlusMinusParserRuleCall_1_3_2_0(), semanticObject.getRight());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_Expression_Or returns DSL_Expression_Diff
-	 *     DSL_Expression_Or.DSL_Expression_Or_1_1 returns DSL_Expression_Diff
-	 *     DSL_Expression_And returns DSL_Expression_Diff
-	 *     DSL_Expression_And.DSL_Expression_And_1_1 returns DSL_Expression_Diff
-	 *     DSL_Expression_DiffEqual returns DSL_Expression_Diff
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Diff_1_0_1 returns DSL_Expression_Diff
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Equal_1_1_1 returns DSL_Expression_Diff
-	 *     DSL_Expression_Compare returns DSL_Expression_Diff
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_1_0_1 returns DSL_Expression_Diff
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_Equal_1_1_1 returns DSL_Expression_Diff
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_1_2_1 returns DSL_Expression_Diff
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_Equal_1_3_1 returns DSL_Expression_Diff
-	 *     DSL_Expression_PlusMinus returns DSL_Expression_Diff
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Plus_1_0_1 returns DSL_Expression_Diff
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Minus_1_1_1 returns DSL_Expression_Diff
-	 *     DSL_Expression_MultiplicationDivision returns DSL_Expression_Diff
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Multiplication_1_0_1 returns DSL_Expression_Diff
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Division_1_1_1 returns DSL_Expression_Diff
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Modulo_1_2_1 returns DSL_Expression_Diff
-	 *     DSL_Expression_Unary returns DSL_Expression_Diff
-	 *
-	 * Constraint:
-	 *     (left=DSL_Expression_DiffEqual_DSL_Expression_Diff_1_0_1 right=DSL_Expression_Compare)
-	 */
-	protected void sequence_DSL_Expression_DiffEqual(ISerializationContext context, DSL_Expression_Diff semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_DIFF__LEFT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_DIFF__LEFT));
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_DIFF__RIGHT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_DIFF__RIGHT));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getDSL_Expression_DiffEqualAccess().getDSL_Expression_DiffLeftAction_1_0_1(), semanticObject.getLeft());
-		feeder.accept(grammarAccess.getDSL_Expression_DiffEqualAccess().getRightDSL_Expression_CompareParserRuleCall_1_0_2_0(), semanticObject.getRight());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_Expression_Or returns DSL_Expression_Equal
-	 *     DSL_Expression_Or.DSL_Expression_Or_1_1 returns DSL_Expression_Equal
-	 *     DSL_Expression_And returns DSL_Expression_Equal
-	 *     DSL_Expression_And.DSL_Expression_And_1_1 returns DSL_Expression_Equal
-	 *     DSL_Expression_DiffEqual returns DSL_Expression_Equal
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Diff_1_0_1 returns DSL_Expression_Equal
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Equal_1_1_1 returns DSL_Expression_Equal
-	 *     DSL_Expression_Compare returns DSL_Expression_Equal
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_1_0_1 returns DSL_Expression_Equal
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_Equal_1_1_1 returns DSL_Expression_Equal
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_1_2_1 returns DSL_Expression_Equal
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_Equal_1_3_1 returns DSL_Expression_Equal
-	 *     DSL_Expression_PlusMinus returns DSL_Expression_Equal
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Plus_1_0_1 returns DSL_Expression_Equal
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Minus_1_1_1 returns DSL_Expression_Equal
-	 *     DSL_Expression_MultiplicationDivision returns DSL_Expression_Equal
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Multiplication_1_0_1 returns DSL_Expression_Equal
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Division_1_1_1 returns DSL_Expression_Equal
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Modulo_1_2_1 returns DSL_Expression_Equal
-	 *     DSL_Expression_Unary returns DSL_Expression_Equal
-	 *
-	 * Constraint:
-	 *     (left=DSL_Expression_DiffEqual_DSL_Expression_Equal_1_1_1 right=DSL_Expression_Compare)
-	 */
-	protected void sequence_DSL_Expression_DiffEqual(ISerializationContext context, DSL_Expression_Equal semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_EQUAL__LEFT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_EQUAL__LEFT));
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_EQUAL__RIGHT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_EQUAL__RIGHT));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getDSL_Expression_DiffEqualAccess().getDSL_Expression_EqualLeftAction_1_1_1(), semanticObject.getLeft());
-		feeder.accept(grammarAccess.getDSL_Expression_DiffEqualAccess().getRightDSL_Expression_CompareParserRuleCall_1_1_2_0(), semanticObject.getRight());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_Expression_Or returns DSL_Expression_Division
-	 *     DSL_Expression_Or.DSL_Expression_Or_1_1 returns DSL_Expression_Division
-	 *     DSL_Expression_And returns DSL_Expression_Division
-	 *     DSL_Expression_And.DSL_Expression_And_1_1 returns DSL_Expression_Division
-	 *     DSL_Expression_DiffEqual returns DSL_Expression_Division
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Diff_1_0_1 returns DSL_Expression_Division
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Equal_1_1_1 returns DSL_Expression_Division
-	 *     DSL_Expression_Compare returns DSL_Expression_Division
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_1_0_1 returns DSL_Expression_Division
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_Equal_1_1_1 returns DSL_Expression_Division
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_1_2_1 returns DSL_Expression_Division
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_Equal_1_3_1 returns DSL_Expression_Division
-	 *     DSL_Expression_PlusMinus returns DSL_Expression_Division
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Plus_1_0_1 returns DSL_Expression_Division
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Minus_1_1_1 returns DSL_Expression_Division
-	 *     DSL_Expression_MultiplicationDivision returns DSL_Expression_Division
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Multiplication_1_0_1 returns DSL_Expression_Division
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Division_1_1_1 returns DSL_Expression_Division
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Modulo_1_2_1 returns DSL_Expression_Division
-	 *     DSL_Expression_Unary returns DSL_Expression_Division
-	 *
-	 * Constraint:
-	 *     (left=DSL_Expression_MultiplicationDivision_DSL_Expression_Division_1_1_1 right=DSL_Expression_Unary)
-	 */
-	protected void sequence_DSL_Expression_MultiplicationDivision(ISerializationContext context, DSL_Expression_Division semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_DIVISION__LEFT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_DIVISION__LEFT));
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_DIVISION__RIGHT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_DIVISION__RIGHT));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getDSL_Expression_DivisionLeftAction_1_1_1(), semanticObject.getLeft());
-		feeder.accept(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightDSL_Expression_UnaryParserRuleCall_1_1_2_0(), semanticObject.getRight());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_Expression_Or returns DSL_Expression_Modulo
-	 *     DSL_Expression_Or.DSL_Expression_Or_1_1 returns DSL_Expression_Modulo
-	 *     DSL_Expression_And returns DSL_Expression_Modulo
-	 *     DSL_Expression_And.DSL_Expression_And_1_1 returns DSL_Expression_Modulo
-	 *     DSL_Expression_DiffEqual returns DSL_Expression_Modulo
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Diff_1_0_1 returns DSL_Expression_Modulo
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Equal_1_1_1 returns DSL_Expression_Modulo
-	 *     DSL_Expression_Compare returns DSL_Expression_Modulo
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_1_0_1 returns DSL_Expression_Modulo
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_Equal_1_1_1 returns DSL_Expression_Modulo
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_1_2_1 returns DSL_Expression_Modulo
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_Equal_1_3_1 returns DSL_Expression_Modulo
-	 *     DSL_Expression_PlusMinus returns DSL_Expression_Modulo
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Plus_1_0_1 returns DSL_Expression_Modulo
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Minus_1_1_1 returns DSL_Expression_Modulo
-	 *     DSL_Expression_MultiplicationDivision returns DSL_Expression_Modulo
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Multiplication_1_0_1 returns DSL_Expression_Modulo
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Division_1_1_1 returns DSL_Expression_Modulo
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Modulo_1_2_1 returns DSL_Expression_Modulo
-	 *     DSL_Expression_Unary returns DSL_Expression_Modulo
-	 *
-	 * Constraint:
-	 *     (left=DSL_Expression_MultiplicationDivision_DSL_Expression_Modulo_1_2_1 right=DSL_Expression_Unary)
-	 */
-	protected void sequence_DSL_Expression_MultiplicationDivision(ISerializationContext context, DSL_Expression_Modulo semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_MODULO__LEFT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_MODULO__LEFT));
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_MODULO__RIGHT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_MODULO__RIGHT));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getDSL_Expression_ModuloLeftAction_1_2_1(), semanticObject.getLeft());
-		feeder.accept(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightDSL_Expression_UnaryParserRuleCall_1_2_2_0(), semanticObject.getRight());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_Expression_Or returns DSL_Expression_Multiplication
-	 *     DSL_Expression_Or.DSL_Expression_Or_1_1 returns DSL_Expression_Multiplication
-	 *     DSL_Expression_And returns DSL_Expression_Multiplication
-	 *     DSL_Expression_And.DSL_Expression_And_1_1 returns DSL_Expression_Multiplication
-	 *     DSL_Expression_DiffEqual returns DSL_Expression_Multiplication
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Diff_1_0_1 returns DSL_Expression_Multiplication
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Equal_1_1_1 returns DSL_Expression_Multiplication
-	 *     DSL_Expression_Compare returns DSL_Expression_Multiplication
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_1_0_1 returns DSL_Expression_Multiplication
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_Equal_1_1_1 returns DSL_Expression_Multiplication
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_1_2_1 returns DSL_Expression_Multiplication
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_Equal_1_3_1 returns DSL_Expression_Multiplication
-	 *     DSL_Expression_PlusMinus returns DSL_Expression_Multiplication
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Plus_1_0_1 returns DSL_Expression_Multiplication
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Minus_1_1_1 returns DSL_Expression_Multiplication
-	 *     DSL_Expression_MultiplicationDivision returns DSL_Expression_Multiplication
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Multiplication_1_0_1 returns DSL_Expression_Multiplication
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Division_1_1_1 returns DSL_Expression_Multiplication
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Modulo_1_2_1 returns DSL_Expression_Multiplication
-	 *     DSL_Expression_Unary returns DSL_Expression_Multiplication
-	 *
-	 * Constraint:
-	 *     (left=DSL_Expression_MultiplicationDivision_DSL_Expression_Multiplication_1_0_1 right=DSL_Expression_Unary)
-	 */
-	protected void sequence_DSL_Expression_MultiplicationDivision(ISerializationContext context, DSL_Expression_Multiplication semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_MULTIPLICATION__LEFT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_MULTIPLICATION__LEFT));
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_MULTIPLICATION__RIGHT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_MULTIPLICATION__RIGHT));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getDSL_Expression_MultiplicationLeftAction_1_0_1(), semanticObject.getLeft());
-		feeder.accept(grammarAccess.getDSL_Expression_MultiplicationDivisionAccess().getRightDSL_Expression_UnaryParserRuleCall_1_0_2_0(), semanticObject.getRight());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_Expression_Or returns DSL_Expression_Or
-	 *     DSL_Expression_Or.DSL_Expression_Or_1_1 returns DSL_Expression_Or
-	 *     DSL_Expression_And returns DSL_Expression_Or
-	 *     DSL_Expression_And.DSL_Expression_And_1_1 returns DSL_Expression_Or
-	 *     DSL_Expression_DiffEqual returns DSL_Expression_Or
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Diff_1_0_1 returns DSL_Expression_Or
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Equal_1_1_1 returns DSL_Expression_Or
-	 *     DSL_Expression_Compare returns DSL_Expression_Or
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_1_0_1 returns DSL_Expression_Or
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_Equal_1_1_1 returns DSL_Expression_Or
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_1_2_1 returns DSL_Expression_Or
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_Equal_1_3_1 returns DSL_Expression_Or
-	 *     DSL_Expression_PlusMinus returns DSL_Expression_Or
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Plus_1_0_1 returns DSL_Expression_Or
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Minus_1_1_1 returns DSL_Expression_Or
-	 *     DSL_Expression_MultiplicationDivision returns DSL_Expression_Or
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Multiplication_1_0_1 returns DSL_Expression_Or
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Division_1_1_1 returns DSL_Expression_Or
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Modulo_1_2_1 returns DSL_Expression_Or
-	 *     DSL_Expression_Unary returns DSL_Expression_Or
-	 *
-	 * Constraint:
-	 *     (left=DSL_Expression_Or_DSL_Expression_Or_1_1 right=DSL_Expression_And)
-	 */
-	protected void sequence_DSL_Expression_Or(ISerializationContext context, DSL_Expression_Or semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_OR__LEFT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_OR__LEFT));
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_OR__RIGHT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_OR__RIGHT));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getDSL_Expression_OrAccess().getDSL_Expression_OrLeftAction_1_1(), semanticObject.getLeft());
-		feeder.accept(grammarAccess.getDSL_Expression_OrAccess().getRightDSL_Expression_AndParserRuleCall_1_2_0(), semanticObject.getRight());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_Expression_Or returns DSL_Expression_Minus
-	 *     DSL_Expression_Or.DSL_Expression_Or_1_1 returns DSL_Expression_Minus
-	 *     DSL_Expression_And returns DSL_Expression_Minus
-	 *     DSL_Expression_And.DSL_Expression_And_1_1 returns DSL_Expression_Minus
-	 *     DSL_Expression_DiffEqual returns DSL_Expression_Minus
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Diff_1_0_1 returns DSL_Expression_Minus
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Equal_1_1_1 returns DSL_Expression_Minus
-	 *     DSL_Expression_Compare returns DSL_Expression_Minus
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_1_0_1 returns DSL_Expression_Minus
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_Equal_1_1_1 returns DSL_Expression_Minus
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_1_2_1 returns DSL_Expression_Minus
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_Equal_1_3_1 returns DSL_Expression_Minus
-	 *     DSL_Expression_PlusMinus returns DSL_Expression_Minus
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Plus_1_0_1 returns DSL_Expression_Minus
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Minus_1_1_1 returns DSL_Expression_Minus
-	 *     DSL_Expression_MultiplicationDivision returns DSL_Expression_Minus
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Multiplication_1_0_1 returns DSL_Expression_Minus
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Division_1_1_1 returns DSL_Expression_Minus
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Modulo_1_2_1 returns DSL_Expression_Minus
-	 *     DSL_Expression_Unary returns DSL_Expression_Minus
-	 *
-	 * Constraint:
-	 *     (left=DSL_Expression_PlusMinus_DSL_Expression_Minus_1_1_1 right=DSL_Expression_MultiplicationDivision)
-	 */
-	protected void sequence_DSL_Expression_PlusMinus(ISerializationContext context, DSL_Expression_Minus semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_MINUS__LEFT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_MINUS__LEFT));
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_MINUS__RIGHT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_MINUS__RIGHT));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getDSL_Expression_PlusMinusAccess().getDSL_Expression_MinusLeftAction_1_1_1(), semanticObject.getLeft());
-		feeder.accept(grammarAccess.getDSL_Expression_PlusMinusAccess().getRightDSL_Expression_MultiplicationDivisionParserRuleCall_1_1_2_0(), semanticObject.getRight());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_Expression_Or returns DSL_Expression_Plus
-	 *     DSL_Expression_Or.DSL_Expression_Or_1_1 returns DSL_Expression_Plus
-	 *     DSL_Expression_And returns DSL_Expression_Plus
-	 *     DSL_Expression_And.DSL_Expression_And_1_1 returns DSL_Expression_Plus
-	 *     DSL_Expression_DiffEqual returns DSL_Expression_Plus
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Diff_1_0_1 returns DSL_Expression_Plus
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Equal_1_1_1 returns DSL_Expression_Plus
-	 *     DSL_Expression_Compare returns DSL_Expression_Plus
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_1_0_1 returns DSL_Expression_Plus
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_Equal_1_1_1 returns DSL_Expression_Plus
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_1_2_1 returns DSL_Expression_Plus
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_Equal_1_3_1 returns DSL_Expression_Plus
-	 *     DSL_Expression_PlusMinus returns DSL_Expression_Plus
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Plus_1_0_1 returns DSL_Expression_Plus
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Minus_1_1_1 returns DSL_Expression_Plus
-	 *     DSL_Expression_MultiplicationDivision returns DSL_Expression_Plus
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Multiplication_1_0_1 returns DSL_Expression_Plus
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Division_1_1_1 returns DSL_Expression_Plus
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Modulo_1_2_1 returns DSL_Expression_Plus
-	 *     DSL_Expression_Unary returns DSL_Expression_Plus
-	 *
-	 * Constraint:
-	 *     (left=DSL_Expression_PlusMinus_DSL_Expression_Plus_1_0_1 right=DSL_Expression_MultiplicationDivision)
-	 */
-	protected void sequence_DSL_Expression_PlusMinus(ISerializationContext context, DSL_Expression_Plus semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_PLUS__LEFT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_PLUS__LEFT));
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_PLUS__RIGHT) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_PLUS__RIGHT));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getDSL_Expression_PlusMinusAccess().getDSL_Expression_PlusLeftAction_1_0_1(), semanticObject.getLeft());
-		feeder.accept(grammarAccess.getDSL_Expression_PlusMinusAccess().getRightDSL_Expression_MultiplicationDivisionParserRuleCall_1_0_2_0(), semanticObject.getRight());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_Expression_Or returns DSL_Expression_Negate
-	 *     DSL_Expression_Or.DSL_Expression_Or_1_1 returns DSL_Expression_Negate
-	 *     DSL_Expression_And returns DSL_Expression_Negate
-	 *     DSL_Expression_And.DSL_Expression_And_1_1 returns DSL_Expression_Negate
-	 *     DSL_Expression_DiffEqual returns DSL_Expression_Negate
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Diff_1_0_1 returns DSL_Expression_Negate
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Equal_1_1_1 returns DSL_Expression_Negate
-	 *     DSL_Expression_Compare returns DSL_Expression_Negate
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_1_0_1 returns DSL_Expression_Negate
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_Equal_1_1_1 returns DSL_Expression_Negate
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_1_2_1 returns DSL_Expression_Negate
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_Equal_1_3_1 returns DSL_Expression_Negate
-	 *     DSL_Expression_PlusMinus returns DSL_Expression_Negate
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Plus_1_0_1 returns DSL_Expression_Negate
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Minus_1_1_1 returns DSL_Expression_Negate
-	 *     DSL_Expression_MultiplicationDivision returns DSL_Expression_Negate
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Multiplication_1_0_1 returns DSL_Expression_Negate
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Division_1_1_1 returns DSL_Expression_Negate
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Modulo_1_2_1 returns DSL_Expression_Negate
-	 *     DSL_Expression_Unary returns DSL_Expression_Negate
-	 *
-	 * Constraint:
-	 *     exp=DSL_Expression_Unary
-	 */
-	protected void sequence_DSL_Expression_Unary(ISerializationContext context, DSL_Expression_Negate semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_NEGATE__EXP) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_EXPRESSION_NEGATE__EXP));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getDSL_Expression_UnaryAccess().getExpDSL_Expression_UnaryParserRuleCall_5_2_0(), semanticObject.getExp());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_Expression_Or returns DSL_Object_Boolean
-	 *     DSL_Expression_Or.DSL_Expression_Or_1_1 returns DSL_Object_Boolean
-	 *     DSL_Expression_And returns DSL_Object_Boolean
-	 *     DSL_Expression_And.DSL_Expression_And_1_1 returns DSL_Object_Boolean
-	 *     DSL_Expression_DiffEqual returns DSL_Object_Boolean
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Diff_1_0_1 returns DSL_Object_Boolean
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Equal_1_1_1 returns DSL_Object_Boolean
-	 *     DSL_Expression_Compare returns DSL_Object_Boolean
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_1_0_1 returns DSL_Object_Boolean
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_Equal_1_1_1 returns DSL_Object_Boolean
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_1_2_1 returns DSL_Object_Boolean
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_Equal_1_3_1 returns DSL_Object_Boolean
-	 *     DSL_Expression_PlusMinus returns DSL_Object_Boolean
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Plus_1_0_1 returns DSL_Object_Boolean
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Minus_1_1_1 returns DSL_Object_Boolean
-	 *     DSL_Expression_MultiplicationDivision returns DSL_Object_Boolean
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Multiplication_1_0_1 returns DSL_Object_Boolean
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Division_1_1_1 returns DSL_Object_Boolean
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Modulo_1_2_1 returns DSL_Object_Boolean
-	 *     DSL_Expression_Unary returns DSL_Object_Boolean
-	 *
-	 * Constraint:
-	 *     value=BOOLEAN
-	 */
-	protected void sequence_DSL_Expression_Unary(ISerializationContext context, DSL_Object_Boolean semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_OBJECT_BOOLEAN__VALUE) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_OBJECT_BOOLEAN__VALUE));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getDSL_Expression_UnaryAccess().getValueBOOLEANTerminalRuleCall_2_1_0(), semanticObject.isValue());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_Expression_Or returns DSL_Object_Number
-	 *     DSL_Expression_Or.DSL_Expression_Or_1_1 returns DSL_Object_Number
-	 *     DSL_Expression_And returns DSL_Object_Number
-	 *     DSL_Expression_And.DSL_Expression_And_1_1 returns DSL_Object_Number
-	 *     DSL_Expression_DiffEqual returns DSL_Object_Number
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Diff_1_0_1 returns DSL_Object_Number
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Equal_1_1_1 returns DSL_Object_Number
-	 *     DSL_Expression_Compare returns DSL_Object_Number
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_1_0_1 returns DSL_Object_Number
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_Equal_1_1_1 returns DSL_Object_Number
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_1_2_1 returns DSL_Object_Number
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_Equal_1_3_1 returns DSL_Object_Number
-	 *     DSL_Expression_PlusMinus returns DSL_Object_Number
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Plus_1_0_1 returns DSL_Object_Number
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Minus_1_1_1 returns DSL_Object_Number
-	 *     DSL_Expression_MultiplicationDivision returns DSL_Object_Number
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Multiplication_1_0_1 returns DSL_Object_Number
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Division_1_1_1 returns DSL_Object_Number
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Modulo_1_2_1 returns DSL_Object_Number
-	 *     DSL_Expression_Unary returns DSL_Object_Number
-	 *
-	 * Constraint:
-	 *     value=NUMBER
-	 */
-	protected void sequence_DSL_Expression_Unary(ISerializationContext context, DSL_Object_Number semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_OBJECT_NUMBER__VALUE) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_OBJECT_NUMBER__VALUE));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getDSL_Expression_UnaryAccess().getValueNUMBERParserRuleCall_0_1_0(), semanticObject.getValue());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_Expression_Or returns DSL_Object_Ref
-	 *     DSL_Expression_Or.DSL_Expression_Or_1_1 returns DSL_Object_Ref
-	 *     DSL_Expression_And returns DSL_Object_Ref
-	 *     DSL_Expression_And.DSL_Expression_And_1_1 returns DSL_Object_Ref
-	 *     DSL_Expression_DiffEqual returns DSL_Object_Ref
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Diff_1_0_1 returns DSL_Object_Ref
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Equal_1_1_1 returns DSL_Object_Ref
-	 *     DSL_Expression_Compare returns DSL_Object_Ref
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_1_0_1 returns DSL_Object_Ref
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_Equal_1_1_1 returns DSL_Object_Ref
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_1_2_1 returns DSL_Object_Ref
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_Equal_1_3_1 returns DSL_Object_Ref
-	 *     DSL_Expression_PlusMinus returns DSL_Object_Ref
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Plus_1_0_1 returns DSL_Object_Ref
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Minus_1_1_1 returns DSL_Object_Ref
-	 *     DSL_Expression_MultiplicationDivision returns DSL_Object_Ref
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Multiplication_1_0_1 returns DSL_Object_Ref
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Division_1_1_1 returns DSL_Object_Ref
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Modulo_1_2_1 returns DSL_Object_Ref
-	 *     DSL_Expression_Unary returns DSL_Object_Ref
-	 *
-	 * Constraint:
-	 *     value=[DSL_REF|ID]
-	 */
-	protected void sequence_DSL_Expression_Unary(ISerializationContext context, DSL_Object_Ref semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_OBJECT_REF__VALUE) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_OBJECT_REF__VALUE));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getDSL_Expression_UnaryAccess().getValueDSL_REFIDTerminalRuleCall_3_1_0_1(), semanticObject.getValue());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_Expression_Or returns DSL_Object_String
-	 *     DSL_Expression_Or.DSL_Expression_Or_1_1 returns DSL_Object_String
-	 *     DSL_Expression_And returns DSL_Object_String
-	 *     DSL_Expression_And.DSL_Expression_And_1_1 returns DSL_Object_String
-	 *     DSL_Expression_DiffEqual returns DSL_Object_String
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Diff_1_0_1 returns DSL_Object_String
-	 *     DSL_Expression_DiffEqual.DSL_Expression_Equal_1_1_1 returns DSL_Object_String
-	 *     DSL_Expression_Compare returns DSL_Object_String
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_1_0_1 returns DSL_Object_String
-	 *     DSL_Expression_Compare.DSL_Expression_Larger_Equal_1_1_1 returns DSL_Object_String
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_1_2_1 returns DSL_Object_String
-	 *     DSL_Expression_Compare.DSL_Expression_Smaller_Equal_1_3_1 returns DSL_Object_String
-	 *     DSL_Expression_PlusMinus returns DSL_Object_String
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Plus_1_0_1 returns DSL_Object_String
-	 *     DSL_Expression_PlusMinus.DSL_Expression_Minus_1_1_1 returns DSL_Object_String
-	 *     DSL_Expression_MultiplicationDivision returns DSL_Object_String
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Multiplication_1_0_1 returns DSL_Object_String
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Division_1_1_1 returns DSL_Object_String
-	 *     DSL_Expression_MultiplicationDivision.DSL_Expression_Modulo_1_2_1 returns DSL_Object_String
-	 *     DSL_Expression_Unary returns DSL_Object_String
-	 *
-	 * Constraint:
-	 *     value=STRING
-	 */
-	protected void sequence_DSL_Expression_Unary(ISerializationContext context, DSL_Object_String semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_OBJECT_STRING__VALUE) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_OBJECT_STRING__VALUE));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getDSL_Expression_UnaryAccess().getValueSTRINGTerminalRuleCall_1_1_0(), semanticObject.getValue());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_IfDo returns DSL_IfDo
-	 *
-	 * Constraint:
-	 *     (condition=DSL_Expression_Or actions=DSL_ListActions)
-	 */
-	protected void sequence_DSL_IfDo(ISerializationContext context, DSL_IfDo semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_IF_DO__CONDITION) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_IF_DO__CONDITION));
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_IF_DO__ACTIONS) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_IF_DO__ACTIONS));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getDSL_IfDoAccess().getConditionDSL_Expression_OrParserRuleCall_1_0(), semanticObject.getCondition());
-		feeder.accept(grammarAccess.getDSL_IfDoAccess().getActionsDSL_ListActionsParserRuleCall_3_0(), semanticObject.getActions());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_ListActions returns DSL_ListActions
-	 *
-	 * Constraint:
-	 *     (actionList+=DSL_ResourceAction actionList+=DSL_ResourceAction*)
-	 */
-	protected void sequence_DSL_ListActions(ISerializationContext context, DSL_ListActions semanticObject) {
-		genericSequencer.createSequence(context, semanticObject);
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_ListParam returns DSL_ListParam
-	 *
-	 * Constraint:
-	 *     (param+=DSL_Expression_Or param+=DSL_Expression_Or*)
-	 */
-	protected void sequence_DSL_ListParam(ISerializationContext context, DSL_ListParam semanticObject) {
-		genericSequencer.createSequence(context, semanticObject);
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_On returns DSL_On
-	 *
-	 * Constraint:
-	 *     (triggers+=DSL_REF_CONDITION triggers+=DSL_REF_CONDITION*)
-	 */
-	protected void sequence_DSL_On(ISerializationContext context, DSL_On semanticObject) {
-		genericSequencer.createSequence(context, semanticObject);
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_REF_CONDITION returns DSL_REF_CONDITION
-	 *
-	 * Constraint:
-	 *     ref=[DSL_REF|ID]
-	 */
-	protected void sequence_DSL_REF_CONDITION(ISerializationContext context, DSL_REF_CONDITION semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_REF_CONDITION__REF) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_REF_CONDITION__REF));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getDSL_REF_CONDITIONAccess().getRefDSL_REFIDTerminalRuleCall_0_0_1(), semanticObject.getRef());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_ResourceAction returns DSL_ResourceAction
-	 *
-	 * Constraint:
-	 *     (variable=ID? ref=[DSL_REF|ID] (actiontype='act' | actiontype='set') listParam=DSL_ListParam?)
-	 */
-	protected void sequence_DSL_ResourceAction(ISerializationContext context, DSL_ResourceAction semanticObject) {
-		genericSequencer.createSequence(context, semanticObject);
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_Resource returns DSL_Resource
-	 *     DSL_REF returns DSL_Resource
-	 *
-	 * Constraint:
-	 *     (name=ID gatewayID=EXTENDED_ID deviceID=EXTENDED_ID serviceID=EXTENDED_ID resourceID=EXTENDED_ID)
-	 */
-	protected void sequence_DSL_Resource(ISerializationContext context, DSL_Resource semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_REF__NAME) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_REF__NAME));
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_RESOURCE__GATEWAY_ID) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_RESOURCE__GATEWAY_ID));
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_RESOURCE__DEVICE_ID) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_RESOURCE__DEVICE_ID));
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_RESOURCE__SERVICE_ID) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_RESOURCE__SERVICE_ID));
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.DSL_RESOURCE__RESOURCE_ID) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.DSL_RESOURCE__RESOURCE_ID));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getDSL_ResourceAccess().getNameIDTerminalRuleCall_1_0(), semanticObject.getName());
-		feeder.accept(grammarAccess.getDSL_ResourceAccess().getGatewayIDEXTENDED_IDParserRuleCall_4_0(), semanticObject.getGatewayID());
-		feeder.accept(grammarAccess.getDSL_ResourceAccess().getDeviceIDEXTENDED_IDParserRuleCall_6_0(), semanticObject.getDeviceID());
-		feeder.accept(grammarAccess.getDSL_ResourceAccess().getServiceIDEXTENDED_IDParserRuleCall_8_0(), semanticObject.getServiceID());
-		feeder.accept(grammarAccess.getDSL_ResourceAccess().getResourceIDEXTENDED_IDParserRuleCall_10_0(), semanticObject.getResourceID());
-		feeder.finish();
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     DSL_SENSINACT returns DSL_SENSINACT
-	 *
-	 * Constraint:
-	 *     (resources+=DSL_Resource+ cep+=DSL_CEP_STATEMENT* on=DSL_On eca=DSL_ECA_STATEMENT)
-	 */
-	protected void sequence_DSL_SENSINACT(ISerializationContext context, DSL_SENSINACT semanticObject) {
-		genericSequencer.createSequence(context, semanticObject);
-	}
-	
-	
-	/**
-	 * Contexts:
-	 *     Sensinact returns Sensinact
-	 *
-	 * Constraint:
-	 *     eca=DSL_SENSINACT
-	 */
-	protected void sequence_Sensinact(ISerializationContext context, Sensinact semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SensinactPackage.Literals.SENSINACT__ECA) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SensinactPackage.Literals.SENSINACT__ECA));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getSensinactAccess().getEcaDSL_SENSINACTParserRuleCall_1_0(), semanticObject.getEca());
-		feeder.finish();
-	}
-	
-	
-}
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/serializer/SensinactSyntacticSequencer.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/serializer/SensinactSyntacticSequencer.java
deleted file mode 100644
index a330172..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/serializer/SensinactSyntacticSequencer.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/*
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.serializer;
-
-import com.google.inject.Inject;
-import java.util.List;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.sensinact.studio.language.services.SensinactGrammarAccess;
-import org.eclipse.xtext.IGrammarAccess;
-import org.eclipse.xtext.RuleCall;
-import org.eclipse.xtext.nodemodel.INode;
-import org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias;
-import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias;
-import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable;
-import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition;
-import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer;
-
-@SuppressWarnings("all")
-public class SensinactSyntacticSequencer extends AbstractSyntacticSequencer {
-
-	protected SensinactGrammarAccess grammarAccess;
-	protected AbstractElementAlias match_DSL_Expression_Unary_LeftParenthesisKeyword_4_0_a;
-	protected AbstractElementAlias match_DSL_Expression_Unary_LeftParenthesisKeyword_4_0_p;
-	
-	@Inject
-	protected void init(IGrammarAccess access) {
-		grammarAccess = (SensinactGrammarAccess) access;
-		match_DSL_Expression_Unary_LeftParenthesisKeyword_4_0_a = new TokenAlias(true, true, grammarAccess.getDSL_Expression_UnaryAccess().getLeftParenthesisKeyword_4_0());
-		match_DSL_Expression_Unary_LeftParenthesisKeyword_4_0_p = new TokenAlias(true, false, grammarAccess.getDSL_Expression_UnaryAccess().getLeftParenthesisKeyword_4_0());
-	}
-	
-	@Override
-	protected String getUnassignedRuleCallToken(EObject semanticObject, RuleCall ruleCall, INode node) {
-		return "";
-	}
-	
-	
-	@Override
-	protected void emitUnassignedTokens(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) {
-		if (transition.getAmbiguousSyntaxes().isEmpty()) return;
-		List<INode> transitionNodes = collectNodes(fromNode, toNode);
-		for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) {
-			List<INode> syntaxNodes = getNodesFor(transitionNodes, syntax);
-			if (match_DSL_Expression_Unary_LeftParenthesisKeyword_4_0_a.equals(syntax))
-				emit_DSL_Expression_Unary_LeftParenthesisKeyword_4_0_a(semanticObject, getLastNavigableState(), syntaxNodes);
-			else if (match_DSL_Expression_Unary_LeftParenthesisKeyword_4_0_p.equals(syntax))
-				emit_DSL_Expression_Unary_LeftParenthesisKeyword_4_0_p(semanticObject, getLastNavigableState(), syntaxNodes);
-			else acceptNodes(getLastNavigableState(), syntaxNodes);
-		}
-	}
-
-	/**
-	 * Ambiguous syntax:
-	 *     '('*
-	 *
-	 * This ambiguous syntax occurs at:
-	 *     (rule start) (ambiguity) 'not' exp=DSL_Expression_Unary
-	 *     (rule start) (ambiguity) value=BOOLEAN
-	 *     (rule start) (ambiguity) value=NUMBER
-	 *     (rule start) (ambiguity) value=STRING
-	 *     (rule start) (ambiguity) value=[DSL_REF|ID]
-	 *     (rule start) (ambiguity) {DSL_Expression_And.left=}
-	 *     (rule start) (ambiguity) {DSL_Expression_Diff.left=}
-	 *     (rule start) (ambiguity) {DSL_Expression_Division.left=}
-	 *     (rule start) (ambiguity) {DSL_Expression_Equal.left=}
-	 *     (rule start) (ambiguity) {DSL_Expression_Larger.left=}
-	 *     (rule start) (ambiguity) {DSL_Expression_Larger_Equal.left=}
-	 *     (rule start) (ambiguity) {DSL_Expression_Minus.left=}
-	 *     (rule start) (ambiguity) {DSL_Expression_Modulo.left=}
-	 *     (rule start) (ambiguity) {DSL_Expression_Multiplication.left=}
-	 *     (rule start) (ambiguity) {DSL_Expression_Or.left=}
-	 *     (rule start) (ambiguity) {DSL_Expression_Plus.left=}
-	 *     (rule start) (ambiguity) {DSL_Expression_Smaller.left=}
-	 *     (rule start) (ambiguity) {DSL_Expression_Smaller_Equal.left=}
-	 */
-	protected void emit_DSL_Expression_Unary_LeftParenthesisKeyword_4_0_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
-		acceptNodes(transition, nodes);
-	}
-	
-	/**
-	 * Ambiguous syntax:
-	 *     '('+
-	 *
-	 * This ambiguous syntax occurs at:
-	 *     (rule start) (ambiguity) {DSL_Expression_And.left=}
-	 *     (rule start) (ambiguity) {DSL_Expression_Diff.left=}
-	 *     (rule start) (ambiguity) {DSL_Expression_Division.left=}
-	 *     (rule start) (ambiguity) {DSL_Expression_Equal.left=}
-	 *     (rule start) (ambiguity) {DSL_Expression_Larger.left=}
-	 *     (rule start) (ambiguity) {DSL_Expression_Larger_Equal.left=}
-	 *     (rule start) (ambiguity) {DSL_Expression_Minus.left=}
-	 *     (rule start) (ambiguity) {DSL_Expression_Modulo.left=}
-	 *     (rule start) (ambiguity) {DSL_Expression_Multiplication.left=}
-	 *     (rule start) (ambiguity) {DSL_Expression_Or.left=}
-	 *     (rule start) (ambiguity) {DSL_Expression_Plus.left=}
-	 *     (rule start) (ambiguity) {DSL_Expression_Smaller.left=}
-	 *     (rule start) (ambiguity) {DSL_Expression_Smaller_Equal.left=}
-	 */
-	protected void emit_DSL_Expression_Unary_LeftParenthesisKeyword_4_0_p(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
-		acceptNodes(transition, nodes);
-	}
-	
-}
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/services/SensinactGrammarAccess.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/services/SensinactGrammarAccess.java
deleted file mode 100644
index 991743b..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/services/SensinactGrammarAccess.java
+++ /dev/null
@@ -1,2266 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/*
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.services;
-
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-import java.util.List;
-import org.eclipse.xtext.Action;
-import org.eclipse.xtext.Alternatives;
-import org.eclipse.xtext.Assignment;
-import org.eclipse.xtext.CrossReference;
-import org.eclipse.xtext.Grammar;
-import org.eclipse.xtext.GrammarUtil;
-import org.eclipse.xtext.Group;
-import org.eclipse.xtext.Keyword;
-import org.eclipse.xtext.ParserRule;
-import org.eclipse.xtext.RuleCall;
-import org.eclipse.xtext.TerminalRule;
-import org.eclipse.xtext.common.services.TerminalsGrammarAccess;
-import org.eclipse.xtext.service.AbstractElementFinder.AbstractGrammarElementFinder;
-import org.eclipse.xtext.service.GrammarProvider;
-
-@Singleton
-public class SensinactGrammarAccess extends AbstractGrammarElementFinder {
-	
-	public class SensinactElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.Sensinact");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Action cSensinactAction_0 = (Action)cGroup.eContents().get(0);
-		private final Assignment cEcaAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cEcaDSL_SENSINACTParserRuleCall_1_0 = (RuleCall)cEcaAssignment_1.eContents().get(0);
-		
-		//// ==============
-		//// Main structure
-		//// ==============
-		//Sensinact:
-		//	{Sensinact} eca=DSL_SENSINACT;
-		@Override public ParserRule getRule() { return rule; }
-		
-		//{Sensinact} eca=DSL_SENSINACT
-		public Group getGroup() { return cGroup; }
-		
-		//{Sensinact}
-		public Action getSensinactAction_0() { return cSensinactAction_0; }
-		
-		//eca=DSL_SENSINACT
-		public Assignment getEcaAssignment_1() { return cEcaAssignment_1; }
-		
-		//DSL_SENSINACT
-		public RuleCall getEcaDSL_SENSINACTParserRuleCall_1_0() { return cEcaDSL_SENSINACTParserRuleCall_1_0; }
-	}
-	public class DSL_SENSINACTElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.DSL_SENSINACT");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Assignment cResourcesAssignment_0 = (Assignment)cGroup.eContents().get(0);
-		private final RuleCall cResourcesDSL_ResourceParserRuleCall_0_0 = (RuleCall)cResourcesAssignment_0.eContents().get(0);
-		private final Assignment cCepAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cCepDSL_CEP_STATEMENTParserRuleCall_1_0 = (RuleCall)cCepAssignment_1.eContents().get(0);
-		private final Assignment cOnAssignment_2 = (Assignment)cGroup.eContents().get(2);
-		private final RuleCall cOnDSL_OnParserRuleCall_2_0 = (RuleCall)cOnAssignment_2.eContents().get(0);
-		private final Assignment cEcaAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final RuleCall cEcaDSL_ECA_STATEMENTParserRuleCall_3_0 = (RuleCall)cEcaAssignment_3.eContents().get(0);
-		
-		//DSL_SENSINACT:
-		//	resources+=DSL_Resource+ cep+=DSL_CEP_STATEMENT* on=DSL_On eca=DSL_ECA_STATEMENT;
-		@Override public ParserRule getRule() { return rule; }
-		
-		//resources+=DSL_Resource+ cep+=DSL_CEP_STATEMENT* on=DSL_On eca=DSL_ECA_STATEMENT
-		public Group getGroup() { return cGroup; }
-		
-		//resources+=DSL_Resource+
-		public Assignment getResourcesAssignment_0() { return cResourcesAssignment_0; }
-		
-		//DSL_Resource
-		public RuleCall getResourcesDSL_ResourceParserRuleCall_0_0() { return cResourcesDSL_ResourceParserRuleCall_0_0; }
-		
-		//cep+=DSL_CEP_STATEMENT*
-		public Assignment getCepAssignment_1() { return cCepAssignment_1; }
-		
-		//DSL_CEP_STATEMENT
-		public RuleCall getCepDSL_CEP_STATEMENTParserRuleCall_1_0() { return cCepDSL_CEP_STATEMENTParserRuleCall_1_0; }
-		
-		//on=DSL_On
-		public Assignment getOnAssignment_2() { return cOnAssignment_2; }
-		
-		//DSL_On
-		public RuleCall getOnDSL_OnParserRuleCall_2_0() { return cOnDSL_OnParserRuleCall_2_0; }
-		
-		//eca=DSL_ECA_STATEMENT
-		public Assignment getEcaAssignment_3() { return cEcaAssignment_3; }
-		
-		//DSL_ECA_STATEMENT
-		public RuleCall getEcaDSL_ECA_STATEMENTParserRuleCall_3_0() { return cEcaDSL_ECA_STATEMENTParserRuleCall_3_0; }
-	}
-	public class DSL_ResourceElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.DSL_Resource");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cResourceKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
-		private final Keyword cEqualsSignKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Keyword cLeftSquareBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cGatewayIDAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cGatewayIDEXTENDED_IDParserRuleCall_4_0 = (RuleCall)cGatewayIDAssignment_4.eContents().get(0);
-		private final Keyword cSolidusKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		private final Assignment cDeviceIDAssignment_6 = (Assignment)cGroup.eContents().get(6);
-		private final RuleCall cDeviceIDEXTENDED_IDParserRuleCall_6_0 = (RuleCall)cDeviceIDAssignment_6.eContents().get(0);
-		private final Keyword cSolidusKeyword_7 = (Keyword)cGroup.eContents().get(7);
-		private final Assignment cServiceIDAssignment_8 = (Assignment)cGroup.eContents().get(8);
-		private final RuleCall cServiceIDEXTENDED_IDParserRuleCall_8_0 = (RuleCall)cServiceIDAssignment_8.eContents().get(0);
-		private final Keyword cSolidusKeyword_9 = (Keyword)cGroup.eContents().get(9);
-		private final Assignment cResourceIDAssignment_10 = (Assignment)cGroup.eContents().get(10);
-		private final RuleCall cResourceIDEXTENDED_IDParserRuleCall_10_0 = (RuleCall)cResourceIDAssignment_10.eContents().get(0);
-		private final Keyword cRightSquareBracketKeyword_11 = (Keyword)cGroup.eContents().get(11);
-		
-		//DSL_Resource:
-		//	'resource' name=ID '=' '[' gatewayID=EXTENDED_ID '/' deviceID=EXTENDED_ID '/' serviceID=EXTENDED_ID '/'
-		//	resourceID=EXTENDED_ID ']';
-		@Override public ParserRule getRule() { return rule; }
-		
-		//'resource' name=ID '=' '[' gatewayID=EXTENDED_ID '/' deviceID=EXTENDED_ID '/' serviceID=EXTENDED_ID '/'
-		//resourceID=EXTENDED_ID ']'
-		public Group getGroup() { return cGroup; }
-		
-		//'resource'
-		public Keyword getResourceKeyword_0() { return cResourceKeyword_0; }
-		
-		//name=ID
-		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
-		
-		//ID
-		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
-		
-		//'='
-		public Keyword getEqualsSignKeyword_2() { return cEqualsSignKeyword_2; }
-		
-		//'['
-		public Keyword getLeftSquareBracketKeyword_3() { return cLeftSquareBracketKeyword_3; }
-		
-		//gatewayID=EXTENDED_ID
-		public Assignment getGatewayIDAssignment_4() { return cGatewayIDAssignment_4; }
-		
-		//EXTENDED_ID
-		public RuleCall getGatewayIDEXTENDED_IDParserRuleCall_4_0() { return cGatewayIDEXTENDED_IDParserRuleCall_4_0; }
-		
-		//'/'
-		public Keyword getSolidusKeyword_5() { return cSolidusKeyword_5; }
-		
-		//deviceID=EXTENDED_ID
-		public Assignment getDeviceIDAssignment_6() { return cDeviceIDAssignment_6; }
-		
-		//EXTENDED_ID
-		public RuleCall getDeviceIDEXTENDED_IDParserRuleCall_6_0() { return cDeviceIDEXTENDED_IDParserRuleCall_6_0; }
-		
-		//'/'
-		public Keyword getSolidusKeyword_7() { return cSolidusKeyword_7; }
-		
-		//serviceID=EXTENDED_ID
-		public Assignment getServiceIDAssignment_8() { return cServiceIDAssignment_8; }
-		
-		//EXTENDED_ID
-		public RuleCall getServiceIDEXTENDED_IDParserRuleCall_8_0() { return cServiceIDEXTENDED_IDParserRuleCall_8_0; }
-		
-		//'/'
-		public Keyword getSolidusKeyword_9() { return cSolidusKeyword_9; }
-		
-		//resourceID=EXTENDED_ID
-		public Assignment getResourceIDAssignment_10() { return cResourceIDAssignment_10; }
-		
-		//EXTENDED_ID
-		public RuleCall getResourceIDEXTENDED_IDParserRuleCall_10_0() { return cResourceIDEXTENDED_IDParserRuleCall_10_0; }
-		
-		//']'
-		public Keyword getRightSquareBracketKeyword_11() { return cRightSquareBracketKeyword_11; }
-	}
-	public class DSL_OnElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.DSL_On");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cOnKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cTriggersAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cTriggersDSL_REF_CONDITIONParserRuleCall_1_0 = (RuleCall)cTriggersAssignment_1.eContents().get(0);
-		private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
-		private final Keyword cCommaKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
-		private final Assignment cTriggersAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
-		private final RuleCall cTriggersDSL_REF_CONDITIONParserRuleCall_2_1_0 = (RuleCall)cTriggersAssignment_2_1.eContents().get(0);
-		
-		//DSL_On:
-		//	'on' triggers+=DSL_REF_CONDITION (',' triggers+=DSL_REF_CONDITION)*;
-		@Override public ParserRule getRule() { return rule; }
-		
-		//'on' triggers+=DSL_REF_CONDITION (',' triggers+=DSL_REF_CONDITION)*
-		public Group getGroup() { return cGroup; }
-		
-		//'on'
-		public Keyword getOnKeyword_0() { return cOnKeyword_0; }
-		
-		//triggers+=DSL_REF_CONDITION
-		public Assignment getTriggersAssignment_1() { return cTriggersAssignment_1; }
-		
-		//DSL_REF_CONDITION
-		public RuleCall getTriggersDSL_REF_CONDITIONParserRuleCall_1_0() { return cTriggersDSL_REF_CONDITIONParserRuleCall_1_0; }
-		
-		//(',' triggers+=DSL_REF_CONDITION)*
-		public Group getGroup_2() { return cGroup_2; }
-		
-		//','
-		public Keyword getCommaKeyword_2_0() { return cCommaKeyword_2_0; }
-		
-		//triggers+=DSL_REF_CONDITION
-		public Assignment getTriggersAssignment_2_1() { return cTriggersAssignment_2_1; }
-		
-		//DSL_REF_CONDITION
-		public RuleCall getTriggersDSL_REF_CONDITIONParserRuleCall_2_1_0() { return cTriggersDSL_REF_CONDITIONParserRuleCall_2_1_0; }
-	}
-	public class DSL_ECA_STATEMENTElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.DSL_ECA_STATEMENT");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Assignment cIfdoAssignment_0 = (Assignment)cGroup.eContents().get(0);
-		private final RuleCall cIfdoDSL_IfDoParserRuleCall_0_0 = (RuleCall)cIfdoAssignment_0.eContents().get(0);
-		private final Assignment cElseIfdoAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cElseIfdoDSL_ElseIfDoParserRuleCall_1_0 = (RuleCall)cElseIfdoAssignment_1.eContents().get(0);
-		private final Assignment cElsedoAssignment_2 = (Assignment)cGroup.eContents().get(2);
-		private final RuleCall cElsedoDSL_ElseDoParserRuleCall_2_0 = (RuleCall)cElsedoAssignment_2.eContents().get(0);
-		private final Keyword cEndIfKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		
-		//DSL_ECA_STATEMENT:
-		//	ifdo=DSL_IfDo elseIfdo+=DSL_ElseIfDo* elsedo=DSL_ElseDo? 'end if';
-		@Override public ParserRule getRule() { return rule; }
-		
-		//ifdo=DSL_IfDo elseIfdo+=DSL_ElseIfDo* elsedo=DSL_ElseDo? 'end if'
-		public Group getGroup() { return cGroup; }
-		
-		//ifdo=DSL_IfDo
-		public Assignment getIfdoAssignment_0() { return cIfdoAssignment_0; }
-		
-		//DSL_IfDo
-		public RuleCall getIfdoDSL_IfDoParserRuleCall_0_0() { return cIfdoDSL_IfDoParserRuleCall_0_0; }
-		
-		//elseIfdo+=DSL_ElseIfDo*
-		public Assignment getElseIfdoAssignment_1() { return cElseIfdoAssignment_1; }
-		
-		//DSL_ElseIfDo
-		public RuleCall getElseIfdoDSL_ElseIfDoParserRuleCall_1_0() { return cElseIfdoDSL_ElseIfDoParserRuleCall_1_0; }
-		
-		//elsedo=DSL_ElseDo?
-		public Assignment getElsedoAssignment_2() { return cElsedoAssignment_2; }
-		
-		//DSL_ElseDo
-		public RuleCall getElsedoDSL_ElseDoParserRuleCall_2_0() { return cElsedoDSL_ElseDoParserRuleCall_2_0; }
-		
-		//'end if'
-		public Keyword getEndIfKeyword_3() { return cEndIfKeyword_3; }
-	}
-	public class DSL_IfDoElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.DSL_IfDo");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cIfKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cConditionAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cConditionDSL_Expression_OrParserRuleCall_1_0 = (RuleCall)cConditionAssignment_1.eContents().get(0);
-		private final Keyword cDoKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cActionsAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final RuleCall cActionsDSL_ListActionsParserRuleCall_3_0 = (RuleCall)cActionsAssignment_3.eContents().get(0);
-		
-		//DSL_IfDo:
-		//	'if' condition=DSL_Expression_Or 'do' actions=DSL_ListActions;
-		@Override public ParserRule getRule() { return rule; }
-		
-		//'if' condition=DSL_Expression_Or 'do' actions=DSL_ListActions
-		public Group getGroup() { return cGroup; }
-		
-		//'if'
-		public Keyword getIfKeyword_0() { return cIfKeyword_0; }
-		
-		//condition=DSL_Expression_Or
-		public Assignment getConditionAssignment_1() { return cConditionAssignment_1; }
-		
-		//DSL_Expression_Or
-		public RuleCall getConditionDSL_Expression_OrParserRuleCall_1_0() { return cConditionDSL_Expression_OrParserRuleCall_1_0; }
-		
-		//'do'
-		public Keyword getDoKeyword_2() { return cDoKeyword_2; }
-		
-		//actions=DSL_ListActions
-		public Assignment getActionsAssignment_3() { return cActionsAssignment_3; }
-		
-		//DSL_ListActions
-		public RuleCall getActionsDSL_ListActionsParserRuleCall_3_0() { return cActionsDSL_ListActionsParserRuleCall_3_0; }
-	}
-	public class DSL_ElseIfDoElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.DSL_ElseIfDo");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cElseIfKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cConditionAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cConditionDSL_Expression_OrParserRuleCall_1_0 = (RuleCall)cConditionAssignment_1.eContents().get(0);
-		private final Keyword cDoKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cActionsAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final RuleCall cActionsDSL_ListActionsParserRuleCall_3_0 = (RuleCall)cActionsAssignment_3.eContents().get(0);
-		
-		//DSL_ElseIfDo:
-		//	'else if' condition=DSL_Expression_Or 'do' actions=DSL_ListActions;
-		@Override public ParserRule getRule() { return rule; }
-		
-		//'else if' condition=DSL_Expression_Or 'do' actions=DSL_ListActions
-		public Group getGroup() { return cGroup; }
-		
-		//'else if'
-		public Keyword getElseIfKeyword_0() { return cElseIfKeyword_0; }
-		
-		//condition=DSL_Expression_Or
-		public Assignment getConditionAssignment_1() { return cConditionAssignment_1; }
-		
-		//DSL_Expression_Or
-		public RuleCall getConditionDSL_Expression_OrParserRuleCall_1_0() { return cConditionDSL_Expression_OrParserRuleCall_1_0; }
-		
-		//'do'
-		public Keyword getDoKeyword_2() { return cDoKeyword_2; }
-		
-		//actions=DSL_ListActions
-		public Assignment getActionsAssignment_3() { return cActionsAssignment_3; }
-		
-		//DSL_ListActions
-		public RuleCall getActionsDSL_ListActionsParserRuleCall_3_0() { return cActionsDSL_ListActionsParserRuleCall_3_0; }
-	}
-	public class DSL_ElseDoElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.DSL_ElseDo");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cElseDoKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cActionsAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cActionsDSL_ListActionsParserRuleCall_1_0 = (RuleCall)cActionsAssignment_1.eContents().get(0);
-		
-		//DSL_ElseDo:
-		//	'else do' actions=DSL_ListActions;
-		@Override public ParserRule getRule() { return rule; }
-		
-		//'else do' actions=DSL_ListActions
-		public Group getGroup() { return cGroup; }
-		
-		//'else do'
-		public Keyword getElseDoKeyword_0() { return cElseDoKeyword_0; }
-		
-		//actions=DSL_ListActions
-		public Assignment getActionsAssignment_1() { return cActionsAssignment_1; }
-		
-		//DSL_ListActions
-		public RuleCall getActionsDSL_ListActionsParserRuleCall_1_0() { return cActionsDSL_ListActionsParserRuleCall_1_0; }
-	}
-	public class NUMBERElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.NUMBER");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final RuleCall cINTTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
-		private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
-		private final RuleCall cINTTerminalRuleCall_1_0 = (RuleCall)cGroup_1.eContents().get(0);
-		private final Keyword cFullStopKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
-		private final RuleCall cINTTerminalRuleCall_1_2 = (RuleCall)cGroup_1.eContents().get(2);
-		
-		//NUMBER ecore::EBigDecimal:
-		//	INT | INT '.' INT
-		@Override public ParserRule getRule() { return rule; }
-		
-		//INT | INT '.' INT
-		public Alternatives getAlternatives() { return cAlternatives; }
-		
-		//INT
-		public RuleCall getINTTerminalRuleCall_0() { return cINTTerminalRuleCall_0; }
-		
-		//INT '.' INT
-		public Group getGroup_1() { return cGroup_1; }
-		
-		//INT
-		public RuleCall getINTTerminalRuleCall_1_0() { return cINTTerminalRuleCall_1_0; }
-		
-		//'.'
-		public Keyword getFullStopKeyword_1_1() { return cFullStopKeyword_1_1; }
-		
-		//INT
-		public RuleCall getINTTerminalRuleCall_1_2() { return cINTTerminalRuleCall_1_2; }
-	}
-	public class EXTENDED_IDElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.EXTENDED_ID");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final RuleCall cIDTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
-		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
-		private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
-		private final RuleCall cIDTerminalRuleCall_1_1 = (RuleCall)cGroup_1.eContents().get(1);
-		
-		//EXTENDED_ID:
-		//	ID ('.' ID)*;
-		@Override public ParserRule getRule() { return rule; }
-		
-		//ID ('.' ID)*
-		public Group getGroup() { return cGroup; }
-		
-		//ID
-		public RuleCall getIDTerminalRuleCall_0() { return cIDTerminalRuleCall_0; }
-		
-		//('.' ID)*
-		public Group getGroup_1() { return cGroup_1; }
-		
-		//'.'
-		public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; }
-		
-		//ID
-		public RuleCall getIDTerminalRuleCall_1_1() { return cIDTerminalRuleCall_1_1; }
-	}
-	public class DSL_REFElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.DSL_REF");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final RuleCall cDSL_CEP_STATEMENTParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
-		private final RuleCall cDSL_ResourceParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
-		
-		//// ================
-		//// Basic structures 
-		//// ================
-		//DSL_REF:
-		//	DSL_CEP_STATEMENT | DSL_Resource;
-		@Override public ParserRule getRule() { return rule; }
-		
-		//DSL_CEP_STATEMENT | DSL_Resource
-		public Alternatives getAlternatives() { return cAlternatives; }
-		
-		//DSL_CEP_STATEMENT
-		public RuleCall getDSL_CEP_STATEMENTParserRuleCall_0() { return cDSL_CEP_STATEMENTParserRuleCall_0; }
-		
-		//DSL_Resource
-		public RuleCall getDSL_ResourceParserRuleCall_1() { return cDSL_ResourceParserRuleCall_1; }
-	}
-	public class DSL_REF_CONDITIONElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.DSL_REF_CONDITION");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Assignment cRefAssignment_0 = (Assignment)cGroup.eContents().get(0);
-		private final CrossReference cRefDSL_REFCrossReference_0_0 = (CrossReference)cRefAssignment_0.eContents().get(0);
-		private final RuleCall cRefDSL_REFIDTerminalRuleCall_0_0_1 = (RuleCall)cRefDSL_REFCrossReference_0_0.eContents().get(1);
-		private final Keyword cFullStopKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Keyword cSubscribeKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Keyword cLeftParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		
-		//// =============
-		//// REF condition
-		//// =============
-		//DSL_REF_CONDITION:
-		//	ref=[DSL_REF] '.' 'subscribe' '(' ')';
-		@Override public ParserRule getRule() { return rule; }
-		
-		//ref=[DSL_REF] '.' 'subscribe' '(' ')'
-		public Group getGroup() { return cGroup; }
-		
-		//ref=[DSL_REF]
-		public Assignment getRefAssignment_0() { return cRefAssignment_0; }
-		
-		//[DSL_REF]
-		public CrossReference getRefDSL_REFCrossReference_0_0() { return cRefDSL_REFCrossReference_0_0; }
-		
-		//ID
-		public RuleCall getRefDSL_REFIDTerminalRuleCall_0_0_1() { return cRefDSL_REFIDTerminalRuleCall_0_0_1; }
-		
-		//'.'
-		public Keyword getFullStopKeyword_1() { return cFullStopKeyword_1; }
-		
-		//'subscribe'
-		public Keyword getSubscribeKeyword_2() { return cSubscribeKeyword_2; }
-		
-		//'('
-		public Keyword getLeftParenthesisKeyword_3() { return cLeftParenthesisKeyword_3; }
-		
-		//')'
-		public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; }
-	}
-	public class DSL_CEP_STATEMENTElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_STATEMENT");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cDefineKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
-		private final Keyword cEqualsSignKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cOperationAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final Alternatives cOperationAlternatives_3_0 = (Alternatives)cOperationAssignment_3.eContents().get(0);
-		private final RuleCall cOperationDSL_CEP_AFTERParserRuleCall_3_0_0 = (RuleCall)cOperationAlternatives_3_0.eContents().get(0);
-		private final RuleCall cOperationDSL_CEP_BEFOREParserRuleCall_3_0_1 = (RuleCall)cOperationAlternatives_3_0.eContents().get(1);
-		private final RuleCall cOperationDSL_CEP_COINCIDEParserRuleCall_3_0_2 = (RuleCall)cOperationAlternatives_3_0.eContents().get(2);
-		private final RuleCall cOperationDSL_CEP_MINParserRuleCall_3_0_3 = (RuleCall)cOperationAlternatives_3_0.eContents().get(3);
-		private final RuleCall cOperationDSL_CEP_MAXParserRuleCall_3_0_4 = (RuleCall)cOperationAlternatives_3_0.eContents().get(4);
-		private final RuleCall cOperationDSL_CEP_AVGParserRuleCall_3_0_5 = (RuleCall)cOperationAlternatives_3_0.eContents().get(5);
-		private final RuleCall cOperationDSL_CEP_SUMParserRuleCall_3_0_6 = (RuleCall)cOperationAlternatives_3_0.eContents().get(6);
-		private final RuleCall cOperationDSL_CEP_COUNTParserRuleCall_3_0_7 = (RuleCall)cOperationAlternatives_3_0.eContents().get(7);
-		
-		//// ==========
-		//// CEP engine
-		//// ==========
-		//DSL_CEP_STATEMENT:
-		//	'define' name=ID '=' operation=(DSL_CEP_AFTER | DSL_CEP_BEFORE | DSL_CEP_COINCIDE | DSL_CEP_MIN | DSL_CEP_MAX |
-		//	DSL_CEP_AVG | DSL_CEP_SUM | DSL_CEP_COUNT);
-		@Override public ParserRule getRule() { return rule; }
-		
-		//'define' name=ID '=' operation=(DSL_CEP_AFTER | DSL_CEP_BEFORE | DSL_CEP_COINCIDE | DSL_CEP_MIN | DSL_CEP_MAX |
-		//DSL_CEP_AVG | DSL_CEP_SUM | DSL_CEP_COUNT)
-		public Group getGroup() { return cGroup; }
-		
-		//'define'
-		public Keyword getDefineKeyword_0() { return cDefineKeyword_0; }
-		
-		//name=ID
-		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
-		
-		//ID
-		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
-		
-		//'='
-		public Keyword getEqualsSignKeyword_2() { return cEqualsSignKeyword_2; }
-		
-		//operation=(DSL_CEP_AFTER | DSL_CEP_BEFORE | DSL_CEP_COINCIDE | DSL_CEP_MIN | DSL_CEP_MAX | DSL_CEP_AVG | DSL_CEP_SUM |
-		//DSL_CEP_COUNT)
-		public Assignment getOperationAssignment_3() { return cOperationAssignment_3; }
-		
-		//(DSL_CEP_AFTER | DSL_CEP_BEFORE | DSL_CEP_COINCIDE | DSL_CEP_MIN | DSL_CEP_MAX | DSL_CEP_AVG | DSL_CEP_SUM |
-		//DSL_CEP_COUNT)
-		public Alternatives getOperationAlternatives_3_0() { return cOperationAlternatives_3_0; }
-		
-		//DSL_CEP_AFTER
-		public RuleCall getOperationDSL_CEP_AFTERParserRuleCall_3_0_0() { return cOperationDSL_CEP_AFTERParserRuleCall_3_0_0; }
-		
-		//DSL_CEP_BEFORE
-		public RuleCall getOperationDSL_CEP_BEFOREParserRuleCall_3_0_1() { return cOperationDSL_CEP_BEFOREParserRuleCall_3_0_1; }
-		
-		//DSL_CEP_COINCIDE
-		public RuleCall getOperationDSL_CEP_COINCIDEParserRuleCall_3_0_2() { return cOperationDSL_CEP_COINCIDEParserRuleCall_3_0_2; }
-		
-		//DSL_CEP_MIN
-		public RuleCall getOperationDSL_CEP_MINParserRuleCall_3_0_3() { return cOperationDSL_CEP_MINParserRuleCall_3_0_3; }
-		
-		//DSL_CEP_MAX
-		public RuleCall getOperationDSL_CEP_MAXParserRuleCall_3_0_4() { return cOperationDSL_CEP_MAXParserRuleCall_3_0_4; }
-		
-		//DSL_CEP_AVG
-		public RuleCall getOperationDSL_CEP_AVGParserRuleCall_3_0_5() { return cOperationDSL_CEP_AVGParserRuleCall_3_0_5; }
-		
-		//DSL_CEP_SUM
-		public RuleCall getOperationDSL_CEP_SUMParserRuleCall_3_0_6() { return cOperationDSL_CEP_SUMParserRuleCall_3_0_6; }
-		
-		//DSL_CEP_COUNT
-		public RuleCall getOperationDSL_CEP_COUNTParserRuleCall_3_0_7() { return cOperationDSL_CEP_COUNTParserRuleCall_3_0_7; }
-	}
-	public class DSL_CEP_AFTERElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_AFTER");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cAfterKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Assignment cRef1Assignment_2 = (Assignment)cGroup.eContents().get(2);
-		private final RuleCall cRef1DSL_REF_CONDITIONParserRuleCall_2_0 = (RuleCall)cRef1Assignment_2.eContents().get(0);
-		private final Keyword cCommaKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cRef2Assignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cRef2DSL_REF_CONDITIONParserRuleCall_4_0 = (RuleCall)cRef2Assignment_4.eContents().get(0);
-		private final Keyword cCommaKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		private final Group cGroup_6 = (Group)cGroup.eContents().get(6);
-		private final Assignment cStartAssignment_6_0 = (Assignment)cGroup_6.eContents().get(0);
-		private final RuleCall cStartDSL_CEP_DURATIONParserRuleCall_6_0_0 = (RuleCall)cStartAssignment_6_0.eContents().get(0);
-		private final Keyword cCommaKeyword_6_1 = (Keyword)cGroup_6.eContents().get(1);
-		private final Assignment cEndAssignment_7 = (Assignment)cGroup.eContents().get(7);
-		private final RuleCall cEndDSL_CEP_DURATIONParserRuleCall_7_0 = (RuleCall)cEndAssignment_7.eContents().get(0);
-		private final Keyword cRightParenthesisKeyword_8 = (Keyword)cGroup.eContents().get(8);
-		
-		//DSL_CEP_AFTER:
-		//	'after' '(' ref1=DSL_REF_CONDITION ',' ref2=DSL_REF_CONDITION ',' (start=DSL_CEP_DURATION ',')? end=DSL_CEP_DURATION
-		//	')';
-		@Override public ParserRule getRule() { return rule; }
-		
-		//'after' '(' ref1=DSL_REF_CONDITION ',' ref2=DSL_REF_CONDITION ',' (start=DSL_CEP_DURATION ',')? end=DSL_CEP_DURATION ')'
-		public Group getGroup() { return cGroup; }
-		
-		//'after'
-		public Keyword getAfterKeyword_0() { return cAfterKeyword_0; }
-		
-		//'('
-		public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; }
-		
-		//ref1=DSL_REF_CONDITION
-		public Assignment getRef1Assignment_2() { return cRef1Assignment_2; }
-		
-		//DSL_REF_CONDITION
-		public RuleCall getRef1DSL_REF_CONDITIONParserRuleCall_2_0() { return cRef1DSL_REF_CONDITIONParserRuleCall_2_0; }
-		
-		//','
-		public Keyword getCommaKeyword_3() { return cCommaKeyword_3; }
-		
-		//ref2=DSL_REF_CONDITION
-		public Assignment getRef2Assignment_4() { return cRef2Assignment_4; }
-		
-		//DSL_REF_CONDITION
-		public RuleCall getRef2DSL_REF_CONDITIONParserRuleCall_4_0() { return cRef2DSL_REF_CONDITIONParserRuleCall_4_0; }
-		
-		//','
-		public Keyword getCommaKeyword_5() { return cCommaKeyword_5; }
-		
-		//(start=DSL_CEP_DURATION ',')?
-		public Group getGroup_6() { return cGroup_6; }
-		
-		//start=DSL_CEP_DURATION
-		public Assignment getStartAssignment_6_0() { return cStartAssignment_6_0; }
-		
-		//DSL_CEP_DURATION
-		public RuleCall getStartDSL_CEP_DURATIONParserRuleCall_6_0_0() { return cStartDSL_CEP_DURATIONParserRuleCall_6_0_0; }
-		
-		//','
-		public Keyword getCommaKeyword_6_1() { return cCommaKeyword_6_1; }
-		
-		//end=DSL_CEP_DURATION
-		public Assignment getEndAssignment_7() { return cEndAssignment_7; }
-		
-		//DSL_CEP_DURATION
-		public RuleCall getEndDSL_CEP_DURATIONParserRuleCall_7_0() { return cEndDSL_CEP_DURATIONParserRuleCall_7_0; }
-		
-		//')'
-		public Keyword getRightParenthesisKeyword_8() { return cRightParenthesisKeyword_8; }
-	}
-	public class DSL_CEP_BEFOREElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_BEFORE");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cBeforeKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Assignment cRef1Assignment_2 = (Assignment)cGroup.eContents().get(2);
-		private final RuleCall cRef1DSL_REF_CONDITIONParserRuleCall_2_0 = (RuleCall)cRef1Assignment_2.eContents().get(0);
-		private final Keyword cCommaKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cRef2Assignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cRef2DSL_REF_CONDITIONParserRuleCall_4_0 = (RuleCall)cRef2Assignment_4.eContents().get(0);
-		private final Keyword cCommaKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		private final Group cGroup_6 = (Group)cGroup.eContents().get(6);
-		private final Assignment cStartAssignment_6_0 = (Assignment)cGroup_6.eContents().get(0);
-		private final RuleCall cStartDSL_CEP_DURATIONParserRuleCall_6_0_0 = (RuleCall)cStartAssignment_6_0.eContents().get(0);
-		private final Keyword cCommaKeyword_6_1 = (Keyword)cGroup_6.eContents().get(1);
-		private final Assignment cEndAssignment_7 = (Assignment)cGroup.eContents().get(7);
-		private final RuleCall cEndDSL_CEP_DURATIONParserRuleCall_7_0 = (RuleCall)cEndAssignment_7.eContents().get(0);
-		private final Keyword cRightParenthesisKeyword_8 = (Keyword)cGroup.eContents().get(8);
-		
-		//DSL_CEP_BEFORE:
-		//	'before' '(' ref1=DSL_REF_CONDITION ',' ref2=DSL_REF_CONDITION ',' (start=DSL_CEP_DURATION ',')? end=DSL_CEP_DURATION
-		//	')';
-		@Override public ParserRule getRule() { return rule; }
-		
-		//'before' '(' ref1=DSL_REF_CONDITION ',' ref2=DSL_REF_CONDITION ',' (start=DSL_CEP_DURATION ',')? end=DSL_CEP_DURATION
-		//')'
-		public Group getGroup() { return cGroup; }
-		
-		//'before'
-		public Keyword getBeforeKeyword_0() { return cBeforeKeyword_0; }
-		
-		//'('
-		public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; }
-		
-		//ref1=DSL_REF_CONDITION
-		public Assignment getRef1Assignment_2() { return cRef1Assignment_2; }
-		
-		//DSL_REF_CONDITION
-		public RuleCall getRef1DSL_REF_CONDITIONParserRuleCall_2_0() { return cRef1DSL_REF_CONDITIONParserRuleCall_2_0; }
-		
-		//','
-		public Keyword getCommaKeyword_3() { return cCommaKeyword_3; }
-		
-		//ref2=DSL_REF_CONDITION
-		public Assignment getRef2Assignment_4() { return cRef2Assignment_4; }
-		
-		//DSL_REF_CONDITION
-		public RuleCall getRef2DSL_REF_CONDITIONParserRuleCall_4_0() { return cRef2DSL_REF_CONDITIONParserRuleCall_4_0; }
-		
-		//','
-		public Keyword getCommaKeyword_5() { return cCommaKeyword_5; }
-		
-		//(start=DSL_CEP_DURATION ',')?
-		public Group getGroup_6() { return cGroup_6; }
-		
-		//start=DSL_CEP_DURATION
-		public Assignment getStartAssignment_6_0() { return cStartAssignment_6_0; }
-		
-		//DSL_CEP_DURATION
-		public RuleCall getStartDSL_CEP_DURATIONParserRuleCall_6_0_0() { return cStartDSL_CEP_DURATIONParserRuleCall_6_0_0; }
-		
-		//','
-		public Keyword getCommaKeyword_6_1() { return cCommaKeyword_6_1; }
-		
-		//end=DSL_CEP_DURATION
-		public Assignment getEndAssignment_7() { return cEndAssignment_7; }
-		
-		//DSL_CEP_DURATION
-		public RuleCall getEndDSL_CEP_DURATIONParserRuleCall_7_0() { return cEndDSL_CEP_DURATIONParserRuleCall_7_0; }
-		
-		//')'
-		public Keyword getRightParenthesisKeyword_8() { return cRightParenthesisKeyword_8; }
-	}
-	public class DSL_CEP_COINCIDEElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_COINCIDE");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cCoincideKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Assignment cRef1Assignment_2 = (Assignment)cGroup.eContents().get(2);
-		private final RuleCall cRef1DSL_REF_CONDITIONParserRuleCall_2_0 = (RuleCall)cRef1Assignment_2.eContents().get(0);
-		private final Keyword cCommaKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cRef2Assignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cRef2DSL_REF_CONDITIONParserRuleCall_4_0 = (RuleCall)cRef2Assignment_4.eContents().get(0);
-		private final Keyword cCommaKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		private final Assignment cWindowAssignment_6 = (Assignment)cGroup.eContents().get(6);
-		private final RuleCall cWindowDSL_CEP_DURATIONParserRuleCall_6_0 = (RuleCall)cWindowAssignment_6.eContents().get(0);
-		private final Keyword cRightParenthesisKeyword_7 = (Keyword)cGroup.eContents().get(7);
-		
-		//DSL_CEP_COINCIDE:
-		//	'coincide' '(' ref1=DSL_REF_CONDITION ',' ref2=DSL_REF_CONDITION ',' window=DSL_CEP_DURATION ')';
-		@Override public ParserRule getRule() { return rule; }
-		
-		//'coincide' '(' ref1=DSL_REF_CONDITION ',' ref2=DSL_REF_CONDITION ',' window=DSL_CEP_DURATION ')'
-		public Group getGroup() { return cGroup; }
-		
-		//'coincide'
-		public Keyword getCoincideKeyword_0() { return cCoincideKeyword_0; }
-		
-		//'('
-		public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; }
-		
-		//ref1=DSL_REF_CONDITION
-		public Assignment getRef1Assignment_2() { return cRef1Assignment_2; }
-		
-		//DSL_REF_CONDITION
-		public RuleCall getRef1DSL_REF_CONDITIONParserRuleCall_2_0() { return cRef1DSL_REF_CONDITIONParserRuleCall_2_0; }
-		
-		//','
-		public Keyword getCommaKeyword_3() { return cCommaKeyword_3; }
-		
-		//ref2=DSL_REF_CONDITION
-		public Assignment getRef2Assignment_4() { return cRef2Assignment_4; }
-		
-		//DSL_REF_CONDITION
-		public RuleCall getRef2DSL_REF_CONDITIONParserRuleCall_4_0() { return cRef2DSL_REF_CONDITIONParserRuleCall_4_0; }
-		
-		//','
-		public Keyword getCommaKeyword_5() { return cCommaKeyword_5; }
-		
-		//window=DSL_CEP_DURATION
-		public Assignment getWindowAssignment_6() { return cWindowAssignment_6; }
-		
-		//DSL_CEP_DURATION
-		public RuleCall getWindowDSL_CEP_DURATIONParserRuleCall_6_0() { return cWindowDSL_CEP_DURATIONParserRuleCall_6_0; }
-		
-		//')'
-		public Keyword getRightParenthesisKeyword_7() { return cRightParenthesisKeyword_7; }
-	}
-	public class DSL_CEP_MINElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_MIN");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cMinKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Assignment cRefAssignment_2 = (Assignment)cGroup.eContents().get(2);
-		private final RuleCall cRefDSL_REF_CONDITIONParserRuleCall_2_0 = (RuleCall)cRefAssignment_2.eContents().get(0);
-		private final Keyword cCommaKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cWindowAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cWindowDSL_CEP_DURATIONParserRuleCall_4_0 = (RuleCall)cWindowAssignment_4.eContents().get(0);
-		private final Keyword cRightParenthesisKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		
-		//DSL_CEP_MIN:
-		//	'min' '(' ref=DSL_REF_CONDITION ',' window=DSL_CEP_DURATION ')';
-		@Override public ParserRule getRule() { return rule; }
-		
-		//'min' '(' ref=DSL_REF_CONDITION ',' window=DSL_CEP_DURATION ')'
-		public Group getGroup() { return cGroup; }
-		
-		//'min'
-		public Keyword getMinKeyword_0() { return cMinKeyword_0; }
-		
-		//'('
-		public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; }
-		
-		//ref=DSL_REF_CONDITION
-		public Assignment getRefAssignment_2() { return cRefAssignment_2; }
-		
-		//DSL_REF_CONDITION
-		public RuleCall getRefDSL_REF_CONDITIONParserRuleCall_2_0() { return cRefDSL_REF_CONDITIONParserRuleCall_2_0; }
-		
-		//','
-		public Keyword getCommaKeyword_3() { return cCommaKeyword_3; }
-		
-		//window=DSL_CEP_DURATION
-		public Assignment getWindowAssignment_4() { return cWindowAssignment_4; }
-		
-		//DSL_CEP_DURATION
-		public RuleCall getWindowDSL_CEP_DURATIONParserRuleCall_4_0() { return cWindowDSL_CEP_DURATIONParserRuleCall_4_0; }
-		
-		//')'
-		public Keyword getRightParenthesisKeyword_5() { return cRightParenthesisKeyword_5; }
-	}
-	public class DSL_CEP_MAXElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_MAX");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cMaxKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Assignment cRefAssignment_2 = (Assignment)cGroup.eContents().get(2);
-		private final RuleCall cRefDSL_REF_CONDITIONParserRuleCall_2_0 = (RuleCall)cRefAssignment_2.eContents().get(0);
-		private final Keyword cCommaKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cWindowAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cWindowDSL_CEP_DURATIONParserRuleCall_4_0 = (RuleCall)cWindowAssignment_4.eContents().get(0);
-		private final Keyword cRightParenthesisKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		
-		//DSL_CEP_MAX:
-		//	'max' '(' ref=DSL_REF_CONDITION ',' window=DSL_CEP_DURATION ')';
-		@Override public ParserRule getRule() { return rule; }
-		
-		//'max' '(' ref=DSL_REF_CONDITION ',' window=DSL_CEP_DURATION ')'
-		public Group getGroup() { return cGroup; }
-		
-		//'max'
-		public Keyword getMaxKeyword_0() { return cMaxKeyword_0; }
-		
-		//'('
-		public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; }
-		
-		//ref=DSL_REF_CONDITION
-		public Assignment getRefAssignment_2() { return cRefAssignment_2; }
-		
-		//DSL_REF_CONDITION
-		public RuleCall getRefDSL_REF_CONDITIONParserRuleCall_2_0() { return cRefDSL_REF_CONDITIONParserRuleCall_2_0; }
-		
-		//','
-		public Keyword getCommaKeyword_3() { return cCommaKeyword_3; }
-		
-		//window=DSL_CEP_DURATION
-		public Assignment getWindowAssignment_4() { return cWindowAssignment_4; }
-		
-		//DSL_CEP_DURATION
-		public RuleCall getWindowDSL_CEP_DURATIONParserRuleCall_4_0() { return cWindowDSL_CEP_DURATIONParserRuleCall_4_0; }
-		
-		//')'
-		public Keyword getRightParenthesisKeyword_5() { return cRightParenthesisKeyword_5; }
-	}
-	public class DSL_CEP_AVGElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_AVG");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cAvgKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Assignment cRefAssignment_2 = (Assignment)cGroup.eContents().get(2);
-		private final RuleCall cRefDSL_REF_CONDITIONParserRuleCall_2_0 = (RuleCall)cRefAssignment_2.eContents().get(0);
-		private final Keyword cCommaKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cWindowAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cWindowDSL_CEP_DURATIONParserRuleCall_4_0 = (RuleCall)cWindowAssignment_4.eContents().get(0);
-		private final Keyword cRightParenthesisKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		
-		//DSL_CEP_AVG:
-		//	'avg' '(' ref=DSL_REF_CONDITION ',' window=DSL_CEP_DURATION ')';
-		@Override public ParserRule getRule() { return rule; }
-		
-		//'avg' '(' ref=DSL_REF_CONDITION ',' window=DSL_CEP_DURATION ')'
-		public Group getGroup() { return cGroup; }
-		
-		//'avg'
-		public Keyword getAvgKeyword_0() { return cAvgKeyword_0; }
-		
-		//'('
-		public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; }
-		
-		//ref=DSL_REF_CONDITION
-		public Assignment getRefAssignment_2() { return cRefAssignment_2; }
-		
-		//DSL_REF_CONDITION
-		public RuleCall getRefDSL_REF_CONDITIONParserRuleCall_2_0() { return cRefDSL_REF_CONDITIONParserRuleCall_2_0; }
-		
-		//','
-		public Keyword getCommaKeyword_3() { return cCommaKeyword_3; }
-		
-		//window=DSL_CEP_DURATION
-		public Assignment getWindowAssignment_4() { return cWindowAssignment_4; }
-		
-		//DSL_CEP_DURATION
-		public RuleCall getWindowDSL_CEP_DURATIONParserRuleCall_4_0() { return cWindowDSL_CEP_DURATIONParserRuleCall_4_0; }
-		
-		//')'
-		public Keyword getRightParenthesisKeyword_5() { return cRightParenthesisKeyword_5; }
-	}
-	public class DSL_CEP_SUMElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_SUM");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cSumKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Assignment cRefAssignment_2 = (Assignment)cGroup.eContents().get(2);
-		private final RuleCall cRefDSL_REF_CONDITIONParserRuleCall_2_0 = (RuleCall)cRefAssignment_2.eContents().get(0);
-		private final Keyword cCommaKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cWindowAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cWindowDSL_CEP_DURATIONParserRuleCall_4_0 = (RuleCall)cWindowAssignment_4.eContents().get(0);
-		private final Keyword cRightParenthesisKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		
-		//DSL_CEP_SUM:
-		//	'sum' '(' ref=DSL_REF_CONDITION ',' window=DSL_CEP_DURATION ')';
-		@Override public ParserRule getRule() { return rule; }
-		
-		//'sum' '(' ref=DSL_REF_CONDITION ',' window=DSL_CEP_DURATION ')'
-		public Group getGroup() { return cGroup; }
-		
-		//'sum'
-		public Keyword getSumKeyword_0() { return cSumKeyword_0; }
-		
-		//'('
-		public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; }
-		
-		//ref=DSL_REF_CONDITION
-		public Assignment getRefAssignment_2() { return cRefAssignment_2; }
-		
-		//DSL_REF_CONDITION
-		public RuleCall getRefDSL_REF_CONDITIONParserRuleCall_2_0() { return cRefDSL_REF_CONDITIONParserRuleCall_2_0; }
-		
-		//','
-		public Keyword getCommaKeyword_3() { return cCommaKeyword_3; }
-		
-		//window=DSL_CEP_DURATION
-		public Assignment getWindowAssignment_4() { return cWindowAssignment_4; }
-		
-		//DSL_CEP_DURATION
-		public RuleCall getWindowDSL_CEP_DURATIONParserRuleCall_4_0() { return cWindowDSL_CEP_DURATIONParserRuleCall_4_0; }
-		
-		//')'
-		public Keyword getRightParenthesisKeyword_5() { return cRightParenthesisKeyword_5; }
-	}
-	public class DSL_CEP_COUNTElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_COUNT");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Keyword cCountKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Assignment cRefAssignment_2 = (Assignment)cGroup.eContents().get(2);
-		private final RuleCall cRefDSL_REF_CONDITIONParserRuleCall_2_0 = (RuleCall)cRefAssignment_2.eContents().get(0);
-		private final Keyword cCommaKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cWindowAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cWindowDSL_CEP_DURATIONParserRuleCall_4_0 = (RuleCall)cWindowAssignment_4.eContents().get(0);
-		private final Keyword cRightParenthesisKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		
-		//DSL_CEP_COUNT:
-		//	'count' '(' ref=DSL_REF_CONDITION ',' window=DSL_CEP_DURATION ')';
-		@Override public ParserRule getRule() { return rule; }
-		
-		//'count' '(' ref=DSL_REF_CONDITION ',' window=DSL_CEP_DURATION ')'
-		public Group getGroup() { return cGroup; }
-		
-		//'count'
-		public Keyword getCountKeyword_0() { return cCountKeyword_0; }
-		
-		//'('
-		public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; }
-		
-		//ref=DSL_REF_CONDITION
-		public Assignment getRefAssignment_2() { return cRefAssignment_2; }
-		
-		//DSL_REF_CONDITION
-		public RuleCall getRefDSL_REF_CONDITIONParserRuleCall_2_0() { return cRefDSL_REF_CONDITIONParserRuleCall_2_0; }
-		
-		//','
-		public Keyword getCommaKeyword_3() { return cCommaKeyword_3; }
-		
-		//window=DSL_CEP_DURATION
-		public Assignment getWindowAssignment_4() { return cWindowAssignment_4; }
-		
-		//DSL_CEP_DURATION
-		public RuleCall getWindowDSL_CEP_DURATIONParserRuleCall_4_0() { return cWindowDSL_CEP_DURATIONParserRuleCall_4_0; }
-		
-		//')'
-		public Keyword getRightParenthesisKeyword_5() { return cRightParenthesisKeyword_5; }
-	}
-	public class DSL_CEP_DURATIONElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION");
-		private final Assignment cUnitsAssignment = (Assignment)rule.eContents().get(1);
-		private final Alternatives cUnitsAlternatives_0 = (Alternatives)cUnitsAssignment.eContents().get(0);
-		private final RuleCall cUnitsDSL_CEP_DURATION_MINParserRuleCall_0_0 = (RuleCall)cUnitsAlternatives_0.eContents().get(0);
-		private final RuleCall cUnitsDSL_CEP_DURATION_SECParserRuleCall_0_1 = (RuleCall)cUnitsAlternatives_0.eContents().get(1);
-		
-		//DSL_CEP_DURATION:
-		//	units+=(DSL_CEP_DURATION_MIN | DSL_CEP_DURATION_SEC)+;
-		@Override public ParserRule getRule() { return rule; }
-		
-		//units+=(DSL_CEP_DURATION_MIN | DSL_CEP_DURATION_SEC)+
-		public Assignment getUnitsAssignment() { return cUnitsAssignment; }
-		
-		//(DSL_CEP_DURATION_MIN | DSL_CEP_DURATION_SEC)
-		public Alternatives getUnitsAlternatives_0() { return cUnitsAlternatives_0; }
-		
-		//DSL_CEP_DURATION_MIN
-		public RuleCall getUnitsDSL_CEP_DURATION_MINParserRuleCall_0_0() { return cUnitsDSL_CEP_DURATION_MINParserRuleCall_0_0; }
-		
-		//DSL_CEP_DURATION_SEC
-		public RuleCall getUnitsDSL_CEP_DURATION_SECParserRuleCall_0_1() { return cUnitsDSL_CEP_DURATION_SECParserRuleCall_0_1; }
-	}
-	public class DSL_CEP_DURATION_MINElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION_MIN");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Assignment cMinAssignment_0 = (Assignment)cGroup.eContents().get(0);
-		private final RuleCall cMinNUMBERParserRuleCall_0_0 = (RuleCall)cMinAssignment_0.eContents().get(0);
-		private final Keyword cMinKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		
-		//DSL_CEP_DURATION_MIN:
-		//	min=NUMBER 'min';
-		@Override public ParserRule getRule() { return rule; }
-		
-		//min=NUMBER 'min'
-		public Group getGroup() { return cGroup; }
-		
-		//min=NUMBER
-		public Assignment getMinAssignment_0() { return cMinAssignment_0; }
-		
-		//NUMBER
-		public RuleCall getMinNUMBERParserRuleCall_0_0() { return cMinNUMBERParserRuleCall_0_0; }
-		
-		//'min'
-		public Keyword getMinKeyword_1() { return cMinKeyword_1; }
-	}
-	public class DSL_CEP_DURATION_SECElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.DSL_CEP_DURATION_SEC");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Assignment cSecAssignment_0 = (Assignment)cGroup.eContents().get(0);
-		private final RuleCall cSecNUMBERParserRuleCall_0_0 = (RuleCall)cSecAssignment_0.eContents().get(0);
-		private final Keyword cSecKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		
-		//DSL_CEP_DURATION_SEC:
-		//	sec=NUMBER 'sec';
-		@Override public ParserRule getRule() { return rule; }
-		
-		//sec=NUMBER 'sec'
-		public Group getGroup() { return cGroup; }
-		
-		//sec=NUMBER
-		public Assignment getSecAssignment_0() { return cSecAssignment_0; }
-		
-		//NUMBER
-		public RuleCall getSecNUMBERParserRuleCall_0_0() { return cSecNUMBERParserRuleCall_0_0; }
-		
-		//'sec'
-		public Keyword getSecKeyword_1() { return cSecKeyword_1; }
-	}
-	public class DSL_ListActionsElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.DSL_ListActions");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Assignment cActionListAssignment_0 = (Assignment)cGroup.eContents().get(0);
-		private final RuleCall cActionListDSL_ResourceActionParserRuleCall_0_0 = (RuleCall)cActionListAssignment_0.eContents().get(0);
-		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
-		private final Keyword cCommaKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
-		private final Assignment cActionListAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
-		private final RuleCall cActionListDSL_ResourceActionParserRuleCall_1_1_0 = (RuleCall)cActionListAssignment_1_1.eContents().get(0);
-		
-		//// ============================
-		//// ECA engine : DSL_ListActions 
-		//// ============================
-		//DSL_ListActions:
-		//	actionList+=DSL_ResourceAction (',' actionList+=DSL_ResourceAction)*;
-		@Override public ParserRule getRule() { return rule; }
-		
-		//actionList+=DSL_ResourceAction (',' actionList+=DSL_ResourceAction)*
-		public Group getGroup() { return cGroup; }
-		
-		//actionList+=DSL_ResourceAction
-		public Assignment getActionListAssignment_0() { return cActionListAssignment_0; }
-		
-		//DSL_ResourceAction
-		public RuleCall getActionListDSL_ResourceActionParserRuleCall_0_0() { return cActionListDSL_ResourceActionParserRuleCall_0_0; }
-		
-		//(',' actionList+=DSL_ResourceAction)*
-		public Group getGroup_1() { return cGroup_1; }
-		
-		//','
-		public Keyword getCommaKeyword_1_0() { return cCommaKeyword_1_0; }
-		
-		//actionList+=DSL_ResourceAction
-		public Assignment getActionListAssignment_1_1() { return cActionListAssignment_1_1; }
-		
-		//DSL_ResourceAction
-		public RuleCall getActionListDSL_ResourceActionParserRuleCall_1_1_0() { return cActionListDSL_ResourceActionParserRuleCall_1_1_0; }
-	}
-	public class DSL_ResourceActionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.DSL_ResourceAction");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Group cGroup_0 = (Group)cGroup.eContents().get(0);
-		private final Assignment cVariableAssignment_0_0 = (Assignment)cGroup_0.eContents().get(0);
-		private final RuleCall cVariableIDTerminalRuleCall_0_0_0 = (RuleCall)cVariableAssignment_0_0.eContents().get(0);
-		private final Keyword cEqualsSignKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1);
-		private final Assignment cRefAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final CrossReference cRefDSL_REFCrossReference_1_0 = (CrossReference)cRefAssignment_1.eContents().get(0);
-		private final RuleCall cRefDSL_REFIDTerminalRuleCall_1_0_1 = (RuleCall)cRefDSL_REFCrossReference_1_0.eContents().get(1);
-		private final Keyword cFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Assignment cActiontypeAssignment_3 = (Assignment)cGroup.eContents().get(3);
-		private final Alternatives cActiontypeAlternatives_3_0 = (Alternatives)cActiontypeAssignment_3.eContents().get(0);
-		private final Keyword cActiontypeActKeyword_3_0_0 = (Keyword)cActiontypeAlternatives_3_0.eContents().get(0);
-		private final Keyword cActiontypeSetKeyword_3_0_1 = (Keyword)cActiontypeAlternatives_3_0.eContents().get(1);
-		private final Keyword cLeftParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4);
-		private final Assignment cListParamAssignment_5 = (Assignment)cGroup.eContents().get(5);
-		private final RuleCall cListParamDSL_ListParamParserRuleCall_5_0 = (RuleCall)cListParamAssignment_5.eContents().get(0);
-		private final Keyword cRightParenthesisKeyword_6 = (Keyword)cGroup.eContents().get(6);
-		
-		//DSL_ResourceAction:
-		//	(variable=ID '=')? ref=[DSL_REF] '.' actiontype=('act' | 'set') '(' listParam=DSL_ListParam? ')';
-		@Override public ParserRule getRule() { return rule; }
-		
-		//(variable=ID '=')? ref=[DSL_REF] '.' actiontype=('act' | 'set') '(' listParam=DSL_ListParam? ')'
-		public Group getGroup() { return cGroup; }
-		
-		//(variable=ID '=')?
-		public Group getGroup_0() { return cGroup_0; }
-		
-		//variable=ID
-		public Assignment getVariableAssignment_0_0() { return cVariableAssignment_0_0; }
-		
-		//ID
-		public RuleCall getVariableIDTerminalRuleCall_0_0_0() { return cVariableIDTerminalRuleCall_0_0_0; }
-		
-		//'='
-		public Keyword getEqualsSignKeyword_0_1() { return cEqualsSignKeyword_0_1; }
-		
-		//ref=[DSL_REF]
-		public Assignment getRefAssignment_1() { return cRefAssignment_1; }
-		
-		//[DSL_REF]
-		public CrossReference getRefDSL_REFCrossReference_1_0() { return cRefDSL_REFCrossReference_1_0; }
-		
-		//ID
-		public RuleCall getRefDSL_REFIDTerminalRuleCall_1_0_1() { return cRefDSL_REFIDTerminalRuleCall_1_0_1; }
-		
-		//'.'
-		public Keyword getFullStopKeyword_2() { return cFullStopKeyword_2; }
-		
-		//actiontype=('act' | 'set')
-		public Assignment getActiontypeAssignment_3() { return cActiontypeAssignment_3; }
-		
-		//('act' | 'set')
-		public Alternatives getActiontypeAlternatives_3_0() { return cActiontypeAlternatives_3_0; }
-		
-		//'act'
-		public Keyword getActiontypeActKeyword_3_0_0() { return cActiontypeActKeyword_3_0_0; }
-		
-		//'set'
-		public Keyword getActiontypeSetKeyword_3_0_1() { return cActiontypeSetKeyword_3_0_1; }
-		
-		//'('
-		public Keyword getLeftParenthesisKeyword_4() { return cLeftParenthesisKeyword_4; }
-		
-		//listParam=DSL_ListParam?
-		public Assignment getListParamAssignment_5() { return cListParamAssignment_5; }
-		
-		//DSL_ListParam
-		public RuleCall getListParamDSL_ListParamParserRuleCall_5_0() { return cListParamDSL_ListParamParserRuleCall_5_0; }
-		
-		//')'
-		public Keyword getRightParenthesisKeyword_6() { return cRightParenthesisKeyword_6; }
-	}
-	public class DSL_ListParamElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.DSL_ListParam");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Assignment cParamAssignment_0 = (Assignment)cGroup.eContents().get(0);
-		private final RuleCall cParamDSL_Expression_OrParserRuleCall_0_0 = (RuleCall)cParamAssignment_0.eContents().get(0);
-		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
-		private final Keyword cCommaKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
-		private final Assignment cParamAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
-		private final RuleCall cParamDSL_Expression_OrParserRuleCall_1_1_0 = (RuleCall)cParamAssignment_1_1.eContents().get(0);
-		
-		//DSL_ListParam:
-		//	param+=DSL_Expression_Or (',' param+=DSL_Expression_Or)*;
-		@Override public ParserRule getRule() { return rule; }
-		
-		//param+=DSL_Expression_Or (',' param+=DSL_Expression_Or)*
-		public Group getGroup() { return cGroup; }
-		
-		//param+=DSL_Expression_Or
-		public Assignment getParamAssignment_0() { return cParamAssignment_0; }
-		
-		//DSL_Expression_Or
-		public RuleCall getParamDSL_Expression_OrParserRuleCall_0_0() { return cParamDSL_Expression_OrParserRuleCall_0_0; }
-		
-		//(',' param+=DSL_Expression_Or)*
-		public Group getGroup_1() { return cGroup_1; }
-		
-		//','
-		public Keyword getCommaKeyword_1_0() { return cCommaKeyword_1_0; }
-		
-		//param+=DSL_Expression_Or
-		public Assignment getParamAssignment_1_1() { return cParamAssignment_1_1; }
-		
-		//DSL_Expression_Or
-		public RuleCall getParamDSL_Expression_OrParserRuleCall_1_1_0() { return cParamDSL_Expression_OrParserRuleCall_1_1_0; }
-	}
-	public class DSL_Expression_OrElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Or");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final RuleCall cDSL_Expression_AndParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
-		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
-		private final Keyword cOrKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
-		private final Action cDSL_Expression_OrLeftAction_1_1 = (Action)cGroup_1.eContents().get(1);
-		private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
-		private final RuleCall cRightDSL_Expression_AndParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0);
-		
-		//// ===========
-		//// Expressions
-		//// ===========
-		//// 
-		//// 7  ()   functions : not, concatenate 
-		//// 6  *    /    %
-		//// 5  +    -
-		//// 4  <    >    <=   >=
-		//// 3  ==   !=
-		//// 2  and
-		//// 1  or
-		//// 
-		//// Or: left associative, priority 1
-		//DSL_Expression_Or DSL_Expression:
-		//	DSL_Expression_And ('or' {DSL_Expression_Or.left=current} right=DSL_Expression_And)*
-		@Override public ParserRule getRule() { return rule; }
-		
-		//DSL_Expression_And ('or' {DSL_Expression_Or.left=current} right=DSL_Expression_And)*
-		public Group getGroup() { return cGroup; }
-		
-		//DSL_Expression_And
-		public RuleCall getDSL_Expression_AndParserRuleCall_0() { return cDSL_Expression_AndParserRuleCall_0; }
-		
-		//('or' {DSL_Expression_Or.left=current} right=DSL_Expression_And)*
-		public Group getGroup_1() { return cGroup_1; }
-		
-		//'or'
-		public Keyword getOrKeyword_1_0() { return cOrKeyword_1_0; }
-		
-		//{DSL_Expression_Or.left=current}
-		public Action getDSL_Expression_OrLeftAction_1_1() { return cDSL_Expression_OrLeftAction_1_1; }
-		
-		//right=DSL_Expression_And
-		public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; }
-		
-		//DSL_Expression_And
-		public RuleCall getRightDSL_Expression_AndParserRuleCall_1_2_0() { return cRightDSL_Expression_AndParserRuleCall_1_2_0; }
-	}
-	public class DSL_Expression_AndElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_And");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final RuleCall cDSL_Expression_DiffEqualParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
-		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
-		private final Keyword cAndKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
-		private final Action cDSL_Expression_AndLeftAction_1_1 = (Action)cGroup_1.eContents().get(1);
-		private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
-		private final RuleCall cRightDSL_Expression_DiffEqualParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0);
-		
-		//// And: left associative, priority 2
-		//DSL_Expression_And DSL_Expression:
-		//	DSL_Expression_DiffEqual ('and' {DSL_Expression_And.left=current} right=DSL_Expression_DiffEqual)*
-		@Override public ParserRule getRule() { return rule; }
-		
-		//DSL_Expression_DiffEqual ('and' {DSL_Expression_And.left=current} right=DSL_Expression_DiffEqual)*
-		public Group getGroup() { return cGroup; }
-		
-		//DSL_Expression_DiffEqual
-		public RuleCall getDSL_Expression_DiffEqualParserRuleCall_0() { return cDSL_Expression_DiffEqualParserRuleCall_0; }
-		
-		//('and' {DSL_Expression_And.left=current} right=DSL_Expression_DiffEqual)*
-		public Group getGroup_1() { return cGroup_1; }
-		
-		//'and'
-		public Keyword getAndKeyword_1_0() { return cAndKeyword_1_0; }
-		
-		//{DSL_Expression_And.left=current}
-		public Action getDSL_Expression_AndLeftAction_1_1() { return cDSL_Expression_AndLeftAction_1_1; }
-		
-		//right=DSL_Expression_DiffEqual
-		public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; }
-		
-		//DSL_Expression_DiffEqual
-		public RuleCall getRightDSL_Expression_DiffEqualParserRuleCall_1_2_0() { return cRightDSL_Expression_DiffEqualParserRuleCall_1_2_0; }
-	}
-	public class DSL_Expression_DiffEqualElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_DiffEqual");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final RuleCall cDSL_Expression_CompareParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
-		private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
-		private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
-		private final Keyword cExclamationMarkEqualsSignKeyword_1_0_0 = (Keyword)cGroup_1_0.eContents().get(0);
-		private final Action cDSL_Expression_DiffLeftAction_1_0_1 = (Action)cGroup_1_0.eContents().get(1);
-		private final Assignment cRightAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2);
-		private final RuleCall cRightDSL_Expression_CompareParserRuleCall_1_0_2_0 = (RuleCall)cRightAssignment_1_0_2.eContents().get(0);
-		private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1);
-		private final Keyword cEqualsSignEqualsSignKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0);
-		private final Action cDSL_Expression_EqualLeftAction_1_1_1 = (Action)cGroup_1_1.eContents().get(1);
-		private final Assignment cRightAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2);
-		private final RuleCall cRightDSL_Expression_CompareParserRuleCall_1_1_2_0 = (RuleCall)cRightAssignment_1_1_2.eContents().get(0);
-		
-		//// different/equal: left associative, priority 3
-		//DSL_Expression_DiffEqual DSL_Expression:
-		//	DSL_Expression_Compare ('!=' {DSL_Expression_Diff.left=current} right=DSL_Expression_Compare | '=='
-		//	{DSL_Expression_Equal.left=current} right=DSL_Expression_Compare)*
-		@Override public ParserRule getRule() { return rule; }
-		
-		//DSL_Expression_Compare ('!=' {DSL_Expression_Diff.left=current} right=DSL_Expression_Compare | '=='
-		//{DSL_Expression_Equal.left=current} right=DSL_Expression_Compare)*
-		public Group getGroup() { return cGroup; }
-		
-		//DSL_Expression_Compare
-		public RuleCall getDSL_Expression_CompareParserRuleCall_0() { return cDSL_Expression_CompareParserRuleCall_0; }
-		
-		//('!=' {DSL_Expression_Diff.left=current} right=DSL_Expression_Compare | '==' {DSL_Expression_Equal.left=current}
-		//right=DSL_Expression_Compare)*
-		public Alternatives getAlternatives_1() { return cAlternatives_1; }
-		
-		//'!=' {DSL_Expression_Diff.left=current} right=DSL_Expression_Compare
-		public Group getGroup_1_0() { return cGroup_1_0; }
-		
-		//'!='
-		public Keyword getExclamationMarkEqualsSignKeyword_1_0_0() { return cExclamationMarkEqualsSignKeyword_1_0_0; }
-		
-		//{DSL_Expression_Diff.left=current}
-		public Action getDSL_Expression_DiffLeftAction_1_0_1() { return cDSL_Expression_DiffLeftAction_1_0_1; }
-		
-		//right=DSL_Expression_Compare
-		public Assignment getRightAssignment_1_0_2() { return cRightAssignment_1_0_2; }
-		
-		//DSL_Expression_Compare
-		public RuleCall getRightDSL_Expression_CompareParserRuleCall_1_0_2_0() { return cRightDSL_Expression_CompareParserRuleCall_1_0_2_0; }
-		
-		//'==' {DSL_Expression_Equal.left=current} right=DSL_Expression_Compare
-		public Group getGroup_1_1() { return cGroup_1_1; }
-		
-		//'=='
-		public Keyword getEqualsSignEqualsSignKeyword_1_1_0() { return cEqualsSignEqualsSignKeyword_1_1_0; }
-		
-		//{DSL_Expression_Equal.left=current}
-		public Action getDSL_Expression_EqualLeftAction_1_1_1() { return cDSL_Expression_EqualLeftAction_1_1_1; }
-		
-		//right=DSL_Expression_Compare
-		public Assignment getRightAssignment_1_1_2() { return cRightAssignment_1_1_2; }
-		
-		//DSL_Expression_Compare
-		public RuleCall getRightDSL_Expression_CompareParserRuleCall_1_1_2_0() { return cRightDSL_Expression_CompareParserRuleCall_1_1_2_0; }
-	}
-	public class DSL_Expression_CompareElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Compare");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final RuleCall cDSL_Expression_PlusMinusParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
-		private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
-		private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
-		private final Keyword cGreaterThanSignKeyword_1_0_0 = (Keyword)cGroup_1_0.eContents().get(0);
-		private final Action cDSL_Expression_LargerLeftAction_1_0_1 = (Action)cGroup_1_0.eContents().get(1);
-		private final Assignment cRightAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2);
-		private final RuleCall cRightDSL_Expression_PlusMinusParserRuleCall_1_0_2_0 = (RuleCall)cRightAssignment_1_0_2.eContents().get(0);
-		private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1);
-		private final Keyword cGreaterThanSignEqualsSignKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0);
-		private final Action cDSL_Expression_Larger_EqualLeftAction_1_1_1 = (Action)cGroup_1_1.eContents().get(1);
-		private final Assignment cRightAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2);
-		private final RuleCall cRightDSL_Expression_PlusMinusParserRuleCall_1_1_2_0 = (RuleCall)cRightAssignment_1_1_2.eContents().get(0);
-		private final Group cGroup_1_2 = (Group)cAlternatives_1.eContents().get(2);
-		private final Keyword cLessThanSignKeyword_1_2_0 = (Keyword)cGroup_1_2.eContents().get(0);
-		private final Action cDSL_Expression_SmallerLeftAction_1_2_1 = (Action)cGroup_1_2.eContents().get(1);
-		private final Assignment cRightAssignment_1_2_2 = (Assignment)cGroup_1_2.eContents().get(2);
-		private final RuleCall cRightDSL_Expression_PlusMinusParserRuleCall_1_2_2_0 = (RuleCall)cRightAssignment_1_2_2.eContents().get(0);
-		private final Group cGroup_1_3 = (Group)cAlternatives_1.eContents().get(3);
-		private final Keyword cLessThanSignEqualsSignKeyword_1_3_0 = (Keyword)cGroup_1_3.eContents().get(0);
-		private final Action cDSL_Expression_Smaller_EqualLeftAction_1_3_1 = (Action)cGroup_1_3.eContents().get(1);
-		private final Assignment cRightAssignment_1_3_2 = (Assignment)cGroup_1_3.eContents().get(2);
-		private final RuleCall cRightDSL_Expression_PlusMinusParserRuleCall_1_3_2_0 = (RuleCall)cRightAssignment_1_3_2.eContents().get(0);
-		
-		//// Comparisons: left associative, priority 4
-		//DSL_Expression_Compare DSL_Expression:
-		//	DSL_Expression_PlusMinus ('>' {DSL_Expression_Larger.left=current} right=DSL_Expression_PlusMinus | '>='
-		//	{DSL_Expression_Larger_Equal.left=current} right=DSL_Expression_PlusMinus | '<' {DSL_Expression_Smaller.left=current}
-		//	right=DSL_Expression_PlusMinus | '<=' {DSL_Expression_Smaller_Equal.left=current} right=DSL_Expression_PlusMinus)*
-		@Override public ParserRule getRule() { return rule; }
-		
-		//DSL_Expression_PlusMinus ('>' {DSL_Expression_Larger.left=current} right=DSL_Expression_PlusMinus | '>='
-		//{DSL_Expression_Larger_Equal.left=current} right=DSL_Expression_PlusMinus | '<' {DSL_Expression_Smaller.left=current}
-		//right=DSL_Expression_PlusMinus | '<=' {DSL_Expression_Smaller_Equal.left=current} right=DSL_Expression_PlusMinus)*
-		public Group getGroup() { return cGroup; }
-		
-		//DSL_Expression_PlusMinus
-		public RuleCall getDSL_Expression_PlusMinusParserRuleCall_0() { return cDSL_Expression_PlusMinusParserRuleCall_0; }
-		
-		//('>' {DSL_Expression_Larger.left=current} right=DSL_Expression_PlusMinus | '>='
-		//{DSL_Expression_Larger_Equal.left=current} right=DSL_Expression_PlusMinus | '<' {DSL_Expression_Smaller.left=current}
-		//right=DSL_Expression_PlusMinus | '<=' {DSL_Expression_Smaller_Equal.left=current} right=DSL_Expression_PlusMinus)*
-		public Alternatives getAlternatives_1() { return cAlternatives_1; }
-		
-		//'>' {DSL_Expression_Larger.left=current} right=DSL_Expression_PlusMinus
-		public Group getGroup_1_0() { return cGroup_1_0; }
-		
-		//'>'
-		public Keyword getGreaterThanSignKeyword_1_0_0() { return cGreaterThanSignKeyword_1_0_0; }
-		
-		//{DSL_Expression_Larger.left=current}
-		public Action getDSL_Expression_LargerLeftAction_1_0_1() { return cDSL_Expression_LargerLeftAction_1_0_1; }
-		
-		//right=DSL_Expression_PlusMinus
-		public Assignment getRightAssignment_1_0_2() { return cRightAssignment_1_0_2; }
-		
-		//DSL_Expression_PlusMinus
-		public RuleCall getRightDSL_Expression_PlusMinusParserRuleCall_1_0_2_0() { return cRightDSL_Expression_PlusMinusParserRuleCall_1_0_2_0; }
-		
-		//'>=' {DSL_Expression_Larger_Equal.left=current} right=DSL_Expression_PlusMinus
-		public Group getGroup_1_1() { return cGroup_1_1; }
-		
-		//'>='
-		public Keyword getGreaterThanSignEqualsSignKeyword_1_1_0() { return cGreaterThanSignEqualsSignKeyword_1_1_0; }
-		
-		//{DSL_Expression_Larger_Equal.left=current}
-		public Action getDSL_Expression_Larger_EqualLeftAction_1_1_1() { return cDSL_Expression_Larger_EqualLeftAction_1_1_1; }
-		
-		//right=DSL_Expression_PlusMinus
-		public Assignment getRightAssignment_1_1_2() { return cRightAssignment_1_1_2; }
-		
-		//DSL_Expression_PlusMinus
-		public RuleCall getRightDSL_Expression_PlusMinusParserRuleCall_1_1_2_0() { return cRightDSL_Expression_PlusMinusParserRuleCall_1_1_2_0; }
-		
-		//'<' {DSL_Expression_Smaller.left=current} right=DSL_Expression_PlusMinus
-		public Group getGroup_1_2() { return cGroup_1_2; }
-		
-		//'<'
-		public Keyword getLessThanSignKeyword_1_2_0() { return cLessThanSignKeyword_1_2_0; }
-		
-		//{DSL_Expression_Smaller.left=current}
-		public Action getDSL_Expression_SmallerLeftAction_1_2_1() { return cDSL_Expression_SmallerLeftAction_1_2_1; }
-		
-		//right=DSL_Expression_PlusMinus
-		public Assignment getRightAssignment_1_2_2() { return cRightAssignment_1_2_2; }
-		
-		//DSL_Expression_PlusMinus
-		public RuleCall getRightDSL_Expression_PlusMinusParserRuleCall_1_2_2_0() { return cRightDSL_Expression_PlusMinusParserRuleCall_1_2_2_0; }
-		
-		//'<=' {DSL_Expression_Smaller_Equal.left=current} right=DSL_Expression_PlusMinus
-		public Group getGroup_1_3() { return cGroup_1_3; }
-		
-		//'<='
-		public Keyword getLessThanSignEqualsSignKeyword_1_3_0() { return cLessThanSignEqualsSignKeyword_1_3_0; }
-		
-		//{DSL_Expression_Smaller_Equal.left=current}
-		public Action getDSL_Expression_Smaller_EqualLeftAction_1_3_1() { return cDSL_Expression_Smaller_EqualLeftAction_1_3_1; }
-		
-		//right=DSL_Expression_PlusMinus
-		public Assignment getRightAssignment_1_3_2() { return cRightAssignment_1_3_2; }
-		
-		//DSL_Expression_PlusMinus
-		public RuleCall getRightDSL_Expression_PlusMinusParserRuleCall_1_3_2_0() { return cRightDSL_Expression_PlusMinusParserRuleCall_1_3_2_0; }
-	}
-	public class DSL_Expression_PlusMinusElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_PlusMinus");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final RuleCall cDSL_Expression_MultiplicationDivisionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
-		private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
-		private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
-		private final Keyword cPlusSignKeyword_1_0_0 = (Keyword)cGroup_1_0.eContents().get(0);
-		private final Action cDSL_Expression_PlusLeftAction_1_0_1 = (Action)cGroup_1_0.eContents().get(1);
-		private final Assignment cRightAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2);
-		private final RuleCall cRightDSL_Expression_MultiplicationDivisionParserRuleCall_1_0_2_0 = (RuleCall)cRightAssignment_1_0_2.eContents().get(0);
-		private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1);
-		private final Keyword cHyphenMinusKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0);
-		private final Action cDSL_Expression_MinusLeftAction_1_1_1 = (Action)cGroup_1_1.eContents().get(1);
-		private final Assignment cRightAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2);
-		private final RuleCall cRightDSL_Expression_MultiplicationDivisionParserRuleCall_1_1_2_0 = (RuleCall)cRightAssignment_1_1_2.eContents().get(0);
-		
-		//// addition/subtraction: left associative, priority 5
-		//DSL_Expression_PlusMinus DSL_Expression:
-		//	DSL_Expression_MultiplicationDivision ('+' {DSL_Expression_Plus.left=current}
-		//	right=DSL_Expression_MultiplicationDivision | '-' {DSL_Expression_Minus.left=current}
-		//	right=DSL_Expression_MultiplicationDivision)*
-		@Override public ParserRule getRule() { return rule; }
-		
-		//DSL_Expression_MultiplicationDivision ('+' {DSL_Expression_Plus.left=current}
-		//right=DSL_Expression_MultiplicationDivision | '-' {DSL_Expression_Minus.left=current}
-		//right=DSL_Expression_MultiplicationDivision)*
-		public Group getGroup() { return cGroup; }
-		
-		//DSL_Expression_MultiplicationDivision
-		public RuleCall getDSL_Expression_MultiplicationDivisionParserRuleCall_0() { return cDSL_Expression_MultiplicationDivisionParserRuleCall_0; }
-		
-		//('+' {DSL_Expression_Plus.left=current} right=DSL_Expression_MultiplicationDivision | '-'
-		//{DSL_Expression_Minus.left=current} right=DSL_Expression_MultiplicationDivision)*
-		public Alternatives getAlternatives_1() { return cAlternatives_1; }
-		
-		//'+' {DSL_Expression_Plus.left=current} right=DSL_Expression_MultiplicationDivision
-		public Group getGroup_1_0() { return cGroup_1_0; }
-		
-		//'+'
-		public Keyword getPlusSignKeyword_1_0_0() { return cPlusSignKeyword_1_0_0; }
-		
-		//{DSL_Expression_Plus.left=current}
-		public Action getDSL_Expression_PlusLeftAction_1_0_1() { return cDSL_Expression_PlusLeftAction_1_0_1; }
-		
-		//right=DSL_Expression_MultiplicationDivision
-		public Assignment getRightAssignment_1_0_2() { return cRightAssignment_1_0_2; }
-		
-		//DSL_Expression_MultiplicationDivision
-		public RuleCall getRightDSL_Expression_MultiplicationDivisionParserRuleCall_1_0_2_0() { return cRightDSL_Expression_MultiplicationDivisionParserRuleCall_1_0_2_0; }
-		
-		//'-' {DSL_Expression_Minus.left=current} right=DSL_Expression_MultiplicationDivision
-		public Group getGroup_1_1() { return cGroup_1_1; }
-		
-		//'-'
-		public Keyword getHyphenMinusKeyword_1_1_0() { return cHyphenMinusKeyword_1_1_0; }
-		
-		//{DSL_Expression_Minus.left=current}
-		public Action getDSL_Expression_MinusLeftAction_1_1_1() { return cDSL_Expression_MinusLeftAction_1_1_1; }
-		
-		//right=DSL_Expression_MultiplicationDivision
-		public Assignment getRightAssignment_1_1_2() { return cRightAssignment_1_1_2; }
-		
-		//DSL_Expression_MultiplicationDivision
-		public RuleCall getRightDSL_Expression_MultiplicationDivisionParserRuleCall_1_1_2_0() { return cRightDSL_Expression_MultiplicationDivisionParserRuleCall_1_1_2_0; }
-	}
-	public class DSL_Expression_MultiplicationDivisionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_MultiplicationDivision");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final RuleCall cDSL_Expression_UnaryParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
-		private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
-		private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
-		private final Keyword cAsteriskKeyword_1_0_0 = (Keyword)cGroup_1_0.eContents().get(0);
-		private final Action cDSL_Expression_MultiplicationLeftAction_1_0_1 = (Action)cGroup_1_0.eContents().get(1);
-		private final Assignment cRightAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2);
-		private final RuleCall cRightDSL_Expression_UnaryParserRuleCall_1_0_2_0 = (RuleCall)cRightAssignment_1_0_2.eContents().get(0);
-		private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1);
-		private final Keyword cSolidusKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0);
-		private final Action cDSL_Expression_DivisionLeftAction_1_1_1 = (Action)cGroup_1_1.eContents().get(1);
-		private final Assignment cRightAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2);
-		private final RuleCall cRightDSL_Expression_UnaryParserRuleCall_1_1_2_0 = (RuleCall)cRightAssignment_1_1_2.eContents().get(0);
-		private final Group cGroup_1_2 = (Group)cAlternatives_1.eContents().get(2);
-		private final Keyword cPercentSignKeyword_1_2_0 = (Keyword)cGroup_1_2.eContents().get(0);
-		private final Action cDSL_Expression_ModuloLeftAction_1_2_1 = (Action)cGroup_1_2.eContents().get(1);
-		private final Assignment cRightAssignment_1_2_2 = (Assignment)cGroup_1_2.eContents().get(2);
-		private final RuleCall cRightDSL_Expression_UnaryParserRuleCall_1_2_2_0 = (RuleCall)cRightAssignment_1_2_2.eContents().get(0);
-		
-		//// multiplication/division, left associative, priority 6
-		//DSL_Expression_MultiplicationDivision DSL_Expression:
-		//	DSL_Expression_Unary ('*' {DSL_Expression_Multiplication.left=current} right=DSL_Expression_Unary | '/'
-		//	{DSL_Expression_Division.left=current} right=DSL_Expression_Unary | '%' {DSL_Expression_Modulo.left=current}
-		//	right=DSL_Expression_Unary)*
-		@Override public ParserRule getRule() { return rule; }
-		
-		//DSL_Expression_Unary ('*' {DSL_Expression_Multiplication.left=current} right=DSL_Expression_Unary | '/'
-		//{DSL_Expression_Division.left=current} right=DSL_Expression_Unary | '%' {DSL_Expression_Modulo.left=current}
-		//right=DSL_Expression_Unary)*
-		public Group getGroup() { return cGroup; }
-		
-		//DSL_Expression_Unary
-		public RuleCall getDSL_Expression_UnaryParserRuleCall_0() { return cDSL_Expression_UnaryParserRuleCall_0; }
-		
-		//('*' {DSL_Expression_Multiplication.left=current} right=DSL_Expression_Unary | '/'
-		//{DSL_Expression_Division.left=current} right=DSL_Expression_Unary | '%' {DSL_Expression_Modulo.left=current}
-		//right=DSL_Expression_Unary)*
-		public Alternatives getAlternatives_1() { return cAlternatives_1; }
-		
-		//'*' {DSL_Expression_Multiplication.left=current} right=DSL_Expression_Unary
-		public Group getGroup_1_0() { return cGroup_1_0; }
-		
-		//'*'
-		public Keyword getAsteriskKeyword_1_0_0() { return cAsteriskKeyword_1_0_0; }
-		
-		//{DSL_Expression_Multiplication.left=current}
-		public Action getDSL_Expression_MultiplicationLeftAction_1_0_1() { return cDSL_Expression_MultiplicationLeftAction_1_0_1; }
-		
-		//right=DSL_Expression_Unary
-		public Assignment getRightAssignment_1_0_2() { return cRightAssignment_1_0_2; }
-		
-		//DSL_Expression_Unary
-		public RuleCall getRightDSL_Expression_UnaryParserRuleCall_1_0_2_0() { return cRightDSL_Expression_UnaryParserRuleCall_1_0_2_0; }
-		
-		//'/' {DSL_Expression_Division.left=current} right=DSL_Expression_Unary
-		public Group getGroup_1_1() { return cGroup_1_1; }
-		
-		//'/'
-		public Keyword getSolidusKeyword_1_1_0() { return cSolidusKeyword_1_1_0; }
-		
-		//{DSL_Expression_Division.left=current}
-		public Action getDSL_Expression_DivisionLeftAction_1_1_1() { return cDSL_Expression_DivisionLeftAction_1_1_1; }
-		
-		//right=DSL_Expression_Unary
-		public Assignment getRightAssignment_1_1_2() { return cRightAssignment_1_1_2; }
-		
-		//DSL_Expression_Unary
-		public RuleCall getRightDSL_Expression_UnaryParserRuleCall_1_1_2_0() { return cRightDSL_Expression_UnaryParserRuleCall_1_1_2_0; }
-		
-		//'%' {DSL_Expression_Modulo.left=current} right=DSL_Expression_Unary
-		public Group getGroup_1_2() { return cGroup_1_2; }
-		
-		//'%'
-		public Keyword getPercentSignKeyword_1_2_0() { return cPercentSignKeyword_1_2_0; }
-		
-		//{DSL_Expression_Modulo.left=current}
-		public Action getDSL_Expression_ModuloLeftAction_1_2_1() { return cDSL_Expression_ModuloLeftAction_1_2_1; }
-		
-		//right=DSL_Expression_Unary
-		public Assignment getRightAssignment_1_2_2() { return cRightAssignment_1_2_2; }
-		
-		//DSL_Expression_Unary
-		public RuleCall getRightDSL_Expression_UnaryParserRuleCall_1_2_2_0() { return cRightDSL_Expression_UnaryParserRuleCall_1_2_2_0; }
-	}
-	public class DSL_Expression_UnaryElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.DSL_Expression_Unary");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0);
-		private final Action cDSL_Object_NumberAction_0_0 = (Action)cGroup_0.eContents().get(0);
-		private final Assignment cValueAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1);
-		private final RuleCall cValueNUMBERParserRuleCall_0_1_0 = (RuleCall)cValueAssignment_0_1.eContents().get(0);
-		private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
-		private final Action cDSL_Object_StringAction_1_0 = (Action)cGroup_1.eContents().get(0);
-		private final Assignment cValueAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
-		private final RuleCall cValueSTRINGTerminalRuleCall_1_1_0 = (RuleCall)cValueAssignment_1_1.eContents().get(0);
-		private final Group cGroup_2 = (Group)cAlternatives.eContents().get(2);
-		private final Action cDSL_Object_BooleanAction_2_0 = (Action)cGroup_2.eContents().get(0);
-		private final Assignment cValueAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
-		private final RuleCall cValueBOOLEANTerminalRuleCall_2_1_0 = (RuleCall)cValueAssignment_2_1.eContents().get(0);
-		private final Group cGroup_3 = (Group)cAlternatives.eContents().get(3);
-		private final Action cDSL_Object_RefAction_3_0 = (Action)cGroup_3.eContents().get(0);
-		private final Assignment cValueAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
-		private final CrossReference cValueDSL_REFCrossReference_3_1_0 = (CrossReference)cValueAssignment_3_1.eContents().get(0);
-		private final RuleCall cValueDSL_REFIDTerminalRuleCall_3_1_0_1 = (RuleCall)cValueDSL_REFCrossReference_3_1_0.eContents().get(1);
-		private final Keyword cGetKeyword_3_2 = (Keyword)cGroup_3.eContents().get(2);
-		private final Group cGroup_4 = (Group)cAlternatives.eContents().get(4);
-		private final Keyword cLeftParenthesisKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
-		private final RuleCall cDSL_Expression_OrParserRuleCall_4_1 = (RuleCall)cGroup_4.eContents().get(1);
-		private final Keyword cRightParenthesisKeyword_4_2 = (Keyword)cGroup_4.eContents().get(2);
-		private final Group cGroup_5 = (Group)cAlternatives.eContents().get(5);
-		private final Keyword cNotKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
-		private final Action cDSL_Expression_NegateAction_5_1 = (Action)cGroup_5.eContents().get(1);
-		private final Assignment cExpAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2);
-		private final RuleCall cExpDSL_Expression_UnaryParserRuleCall_5_2_0 = (RuleCall)cExpAssignment_5_2.eContents().get(0);
-		
-		//// Unary operators: right associative, priority 7
-		//DSL_Expression_Unary DSL_Expression:
-		//	{DSL_Object_Number} value=NUMBER | {DSL_Object_String} value=STRING | {DSL_Object_Boolean} value=BOOLEAN |
-		//	{DSL_Object_Ref} value=[DSL_REF] '.get()' |
-		//	'(' DSL_Expression_Or ')' |
-		//	'not' {DSL_Expression_Negate} exp=DSL_Expression_Unary
-		@Override public ParserRule getRule() { return rule; }
-		
-		//{DSL_Object_Number} value=NUMBER | {DSL_Object_String} value=STRING | {DSL_Object_Boolean} value=BOOLEAN |
-		//{DSL_Object_Ref} value=[DSL_REF] '.get()' | '(' DSL_Expression_Or ')' | 'not' {DSL_Expression_Negate}
-		//exp=DSL_Expression_Unary
-		public Alternatives getAlternatives() { return cAlternatives; }
-		
-		//{DSL_Object_Number} value=NUMBER
-		public Group getGroup_0() { return cGroup_0; }
-		
-		//{DSL_Object_Number}
-		public Action getDSL_Object_NumberAction_0_0() { return cDSL_Object_NumberAction_0_0; }
-		
-		//value=NUMBER
-		public Assignment getValueAssignment_0_1() { return cValueAssignment_0_1; }
-		
-		//NUMBER
-		public RuleCall getValueNUMBERParserRuleCall_0_1_0() { return cValueNUMBERParserRuleCall_0_1_0; }
-		
-		//{DSL_Object_String} value=STRING
-		public Group getGroup_1() { return cGroup_1; }
-		
-		//{DSL_Object_String}
-		public Action getDSL_Object_StringAction_1_0() { return cDSL_Object_StringAction_1_0; }
-		
-		//value=STRING
-		public Assignment getValueAssignment_1_1() { return cValueAssignment_1_1; }
-		
-		//STRING
-		public RuleCall getValueSTRINGTerminalRuleCall_1_1_0() { return cValueSTRINGTerminalRuleCall_1_1_0; }
-		
-		//{DSL_Object_Boolean} value=BOOLEAN
-		public Group getGroup_2() { return cGroup_2; }
-		
-		//{DSL_Object_Boolean}
-		public Action getDSL_Object_BooleanAction_2_0() { return cDSL_Object_BooleanAction_2_0; }
-		
-		//value=BOOLEAN
-		public Assignment getValueAssignment_2_1() { return cValueAssignment_2_1; }
-		
-		//BOOLEAN
-		public RuleCall getValueBOOLEANTerminalRuleCall_2_1_0() { return cValueBOOLEANTerminalRuleCall_2_1_0; }
-		
-		//{DSL_Object_Ref} value=[DSL_REF] '.get()'
-		public Group getGroup_3() { return cGroup_3; }
-		
-		//{DSL_Object_Ref}
-		public Action getDSL_Object_RefAction_3_0() { return cDSL_Object_RefAction_3_0; }
-		
-		//value=[DSL_REF]
-		public Assignment getValueAssignment_3_1() { return cValueAssignment_3_1; }
-		
-		//[DSL_REF]
-		public CrossReference getValueDSL_REFCrossReference_3_1_0() { return cValueDSL_REFCrossReference_3_1_0; }
-		
-		//ID
-		public RuleCall getValueDSL_REFIDTerminalRuleCall_3_1_0_1() { return cValueDSL_REFIDTerminalRuleCall_3_1_0_1; }
-		
-		//'.get()'
-		public Keyword getGetKeyword_3_2() { return cGetKeyword_3_2; }
-		
-		//'(' DSL_Expression_Or ')'
-		public Group getGroup_4() { return cGroup_4; }
-		
-		//'('
-		public Keyword getLeftParenthesisKeyword_4_0() { return cLeftParenthesisKeyword_4_0; }
-		
-		//DSL_Expression_Or
-		public RuleCall getDSL_Expression_OrParserRuleCall_4_1() { return cDSL_Expression_OrParserRuleCall_4_1; }
-		
-		//')'
-		public Keyword getRightParenthesisKeyword_4_2() { return cRightParenthesisKeyword_4_2; }
-		
-		//'not' {DSL_Expression_Negate} exp=DSL_Expression_Unary
-		public Group getGroup_5() { return cGroup_5; }
-		
-		//'not'
-		public Keyword getNotKeyword_5_0() { return cNotKeyword_5_0; }
-		
-		//{DSL_Expression_Negate}
-		public Action getDSL_Expression_NegateAction_5_1() { return cDSL_Expression_NegateAction_5_1; }
-		
-		//exp=DSL_Expression_Unary
-		public Assignment getExpAssignment_5_2() { return cExpAssignment_5_2; }
-		
-		//DSL_Expression_Unary
-		public RuleCall getExpDSL_Expression_UnaryParserRuleCall_5_2_0() { return cExpDSL_Expression_UnaryParserRuleCall_5_2_0; }
-	}
-	
-	
-	private final SensinactElements pSensinact;
-	private final DSL_SENSINACTElements pDSL_SENSINACT;
-	private final DSL_ResourceElements pDSL_Resource;
-	private final DSL_OnElements pDSL_On;
-	private final DSL_ECA_STATEMENTElements pDSL_ECA_STATEMENT;
-	private final DSL_IfDoElements pDSL_IfDo;
-	private final DSL_ElseIfDoElements pDSL_ElseIfDo;
-	private final DSL_ElseDoElements pDSL_ElseDo;
-	private final TerminalRule tBOOLEAN;
-	private final TerminalRule tINT;
-	private final NUMBERElements pNUMBER;
-	private final TerminalRule tID;
-	private final EXTENDED_IDElements pEXTENDED_ID;
-	private final DSL_REFElements pDSL_REF;
-	private final DSL_REF_CONDITIONElements pDSL_REF_CONDITION;
-	private final DSL_CEP_STATEMENTElements pDSL_CEP_STATEMENT;
-	private final DSL_CEP_AFTERElements pDSL_CEP_AFTER;
-	private final DSL_CEP_BEFOREElements pDSL_CEP_BEFORE;
-	private final DSL_CEP_COINCIDEElements pDSL_CEP_COINCIDE;
-	private final DSL_CEP_MINElements pDSL_CEP_MIN;
-	private final DSL_CEP_MAXElements pDSL_CEP_MAX;
-	private final DSL_CEP_AVGElements pDSL_CEP_AVG;
-	private final DSL_CEP_SUMElements pDSL_CEP_SUM;
-	private final DSL_CEP_COUNTElements pDSL_CEP_COUNT;
-	private final DSL_CEP_DURATIONElements pDSL_CEP_DURATION;
-	private final DSL_CEP_DURATION_MINElements pDSL_CEP_DURATION_MIN;
-	private final DSL_CEP_DURATION_SECElements pDSL_CEP_DURATION_SEC;
-	private final DSL_ListActionsElements pDSL_ListActions;
-	private final DSL_ResourceActionElements pDSL_ResourceAction;
-	private final DSL_ListParamElements pDSL_ListParam;
-	private final DSL_Expression_OrElements pDSL_Expression_Or;
-	private final DSL_Expression_AndElements pDSL_Expression_And;
-	private final DSL_Expression_DiffEqualElements pDSL_Expression_DiffEqual;
-	private final DSL_Expression_CompareElements pDSL_Expression_Compare;
-	private final DSL_Expression_PlusMinusElements pDSL_Expression_PlusMinus;
-	private final DSL_Expression_MultiplicationDivisionElements pDSL_Expression_MultiplicationDivision;
-	private final DSL_Expression_UnaryElements pDSL_Expression_Unary;
-	
-	private final Grammar grammar;
-	
-	private final TerminalsGrammarAccess gaTerminals;
-
-	@Inject
-	public SensinactGrammarAccess(GrammarProvider grammarProvider,
-			TerminalsGrammarAccess gaTerminals) {
-		this.grammar = internalFindGrammar(grammarProvider);
-		this.gaTerminals = gaTerminals;
-		this.pSensinact = new SensinactElements();
-		this.pDSL_SENSINACT = new DSL_SENSINACTElements();
-		this.pDSL_Resource = new DSL_ResourceElements();
-		this.pDSL_On = new DSL_OnElements();
-		this.pDSL_ECA_STATEMENT = new DSL_ECA_STATEMENTElements();
-		this.pDSL_IfDo = new DSL_IfDoElements();
-		this.pDSL_ElseIfDo = new DSL_ElseIfDoElements();
-		this.pDSL_ElseDo = new DSL_ElseDoElements();
-		this.tBOOLEAN = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.BOOLEAN");
-		this.tINT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.INT");
-		this.pNUMBER = new NUMBERElements();
-		this.tID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.sensinact.studio.language.Sensinact.ID");
-		this.pEXTENDED_ID = new EXTENDED_IDElements();
-		this.pDSL_REF = new DSL_REFElements();
-		this.pDSL_REF_CONDITION = new DSL_REF_CONDITIONElements();
-		this.pDSL_CEP_STATEMENT = new DSL_CEP_STATEMENTElements();
-		this.pDSL_CEP_AFTER = new DSL_CEP_AFTERElements();
-		this.pDSL_CEP_BEFORE = new DSL_CEP_BEFOREElements();
-		this.pDSL_CEP_COINCIDE = new DSL_CEP_COINCIDEElements();
-		this.pDSL_CEP_MIN = new DSL_CEP_MINElements();
-		this.pDSL_CEP_MAX = new DSL_CEP_MAXElements();
-		this.pDSL_CEP_AVG = new DSL_CEP_AVGElements();
-		this.pDSL_CEP_SUM = new DSL_CEP_SUMElements();
-		this.pDSL_CEP_COUNT = new DSL_CEP_COUNTElements();
-		this.pDSL_CEP_DURATION = new DSL_CEP_DURATIONElements();
-		this.pDSL_CEP_DURATION_MIN = new DSL_CEP_DURATION_MINElements();
-		this.pDSL_CEP_DURATION_SEC = new DSL_CEP_DURATION_SECElements();
-		this.pDSL_ListActions = new DSL_ListActionsElements();
-		this.pDSL_ResourceAction = new DSL_ResourceActionElements();
-		this.pDSL_ListParam = new DSL_ListParamElements();
-		this.pDSL_Expression_Or = new DSL_Expression_OrElements();
-		this.pDSL_Expression_And = new DSL_Expression_AndElements();
-		this.pDSL_Expression_DiffEqual = new DSL_Expression_DiffEqualElements();
-		this.pDSL_Expression_Compare = new DSL_Expression_CompareElements();
-		this.pDSL_Expression_PlusMinus = new DSL_Expression_PlusMinusElements();
-		this.pDSL_Expression_MultiplicationDivision = new DSL_Expression_MultiplicationDivisionElements();
-		this.pDSL_Expression_Unary = new DSL_Expression_UnaryElements();
-	}
-	
-	protected Grammar internalFindGrammar(GrammarProvider grammarProvider) {
-		Grammar grammar = grammarProvider.getGrammar(this);
-		while (grammar != null) {
-			if ("org.eclipse.sensinact.studio.language.Sensinact".equals(grammar.getName())) {
-				return grammar;
-			}
-			List<Grammar> grammars = grammar.getUsedGrammars();
-			if (!grammars.isEmpty()) {
-				grammar = grammars.iterator().next();
-			} else {
-				return null;
-			}
-		}
-		return grammar;
-	}
-	
-	@Override
-	public Grammar getGrammar() {
-		return grammar;
-	}
-	
-	
-	public TerminalsGrammarAccess getTerminalsGrammarAccess() {
-		return gaTerminals;
-	}
-
-	
-	//// ==============
-	//// Main structure
-	//// ==============
-	//Sensinact:
-	//	{Sensinact} eca=DSL_SENSINACT;
-	public SensinactElements getSensinactAccess() {
-		return pSensinact;
-	}
-	
-	public ParserRule getSensinactRule() {
-		return getSensinactAccess().getRule();
-	}
-	
-	//DSL_SENSINACT:
-	//	resources+=DSL_Resource+ cep+=DSL_CEP_STATEMENT* on=DSL_On eca=DSL_ECA_STATEMENT;
-	public DSL_SENSINACTElements getDSL_SENSINACTAccess() {
-		return pDSL_SENSINACT;
-	}
-	
-	public ParserRule getDSL_SENSINACTRule() {
-		return getDSL_SENSINACTAccess().getRule();
-	}
-	
-	//DSL_Resource:
-	//	'resource' name=ID '=' '[' gatewayID=EXTENDED_ID '/' deviceID=EXTENDED_ID '/' serviceID=EXTENDED_ID '/'
-	//	resourceID=EXTENDED_ID ']';
-	public DSL_ResourceElements getDSL_ResourceAccess() {
-		return pDSL_Resource;
-	}
-	
-	public ParserRule getDSL_ResourceRule() {
-		return getDSL_ResourceAccess().getRule();
-	}
-	
-	//DSL_On:
-	//	'on' triggers+=DSL_REF_CONDITION (',' triggers+=DSL_REF_CONDITION)*;
-	public DSL_OnElements getDSL_OnAccess() {
-		return pDSL_On;
-	}
-	
-	public ParserRule getDSL_OnRule() {
-		return getDSL_OnAccess().getRule();
-	}
-	
-	//DSL_ECA_STATEMENT:
-	//	ifdo=DSL_IfDo elseIfdo+=DSL_ElseIfDo* elsedo=DSL_ElseDo? 'end if';
-	public DSL_ECA_STATEMENTElements getDSL_ECA_STATEMENTAccess() {
-		return pDSL_ECA_STATEMENT;
-	}
-	
-	public ParserRule getDSL_ECA_STATEMENTRule() {
-		return getDSL_ECA_STATEMENTAccess().getRule();
-	}
-	
-	//DSL_IfDo:
-	//	'if' condition=DSL_Expression_Or 'do' actions=DSL_ListActions;
-	public DSL_IfDoElements getDSL_IfDoAccess() {
-		return pDSL_IfDo;
-	}
-	
-	public ParserRule getDSL_IfDoRule() {
-		return getDSL_IfDoAccess().getRule();
-	}
-	
-	//DSL_ElseIfDo:
-	//	'else if' condition=DSL_Expression_Or 'do' actions=DSL_ListActions;
-	public DSL_ElseIfDoElements getDSL_ElseIfDoAccess() {
-		return pDSL_ElseIfDo;
-	}
-	
-	public ParserRule getDSL_ElseIfDoRule() {
-		return getDSL_ElseIfDoAccess().getRule();
-	}
-	
-	//DSL_ElseDo:
-	//	'else do' actions=DSL_ListActions;
-	public DSL_ElseDoElements getDSL_ElseDoAccess() {
-		return pDSL_ElseDo;
-	}
-	
-	public ParserRule getDSL_ElseDoRule() {
-		return getDSL_ElseDoAccess().getRule();
-	}
-	
-	//terminal BOOLEAN returns ecore::EBoolean:
-	//	'true' | 'false';
-	public TerminalRule getBOOLEANRule() {
-		return tBOOLEAN;
-	}
-	
-	//terminal INT returns ecore::EInt:
-	//	'0'..'9'+;
-	public TerminalRule getINTRule() {
-		return tINT;
-	}
-	
-	//NUMBER ecore::EBigDecimal:
-	//	INT | INT '.' INT
-	public NUMBERElements getNUMBERAccess() {
-		return pNUMBER;
-	}
-	
-	public ParserRule getNUMBERRule() {
-		return getNUMBERAccess().getRule();
-	}
-	
-	//terminal ID:
-	//	'a'..'z' | 'A'..'Z' | '_' | '0'..'9' | ':' | '-'+;
-	public TerminalRule getIDRule() {
-		return tID;
-	}
-	
-	//EXTENDED_ID:
-	//	ID ('.' ID)*;
-	public EXTENDED_IDElements getEXTENDED_IDAccess() {
-		return pEXTENDED_ID;
-	}
-	
-	public ParserRule getEXTENDED_IDRule() {
-		return getEXTENDED_IDAccess().getRule();
-	}
-	
-	//// ================
-	//// Basic structures 
-	//// ================
-	//DSL_REF:
-	//	DSL_CEP_STATEMENT | DSL_Resource;
-	public DSL_REFElements getDSL_REFAccess() {
-		return pDSL_REF;
-	}
-	
-	public ParserRule getDSL_REFRule() {
-		return getDSL_REFAccess().getRule();
-	}
-	
-	//// =============
-	//// REF condition
-	//// =============
-	//DSL_REF_CONDITION:
-	//	ref=[DSL_REF] '.' 'subscribe' '(' ')';
-	public DSL_REF_CONDITIONElements getDSL_REF_CONDITIONAccess() {
-		return pDSL_REF_CONDITION;
-	}
-	
-	public ParserRule getDSL_REF_CONDITIONRule() {
-		return getDSL_REF_CONDITIONAccess().getRule();
-	}
-	
-	//// ==========
-	//// CEP engine
-	//// ==========
-	//DSL_CEP_STATEMENT:
-	//	'define' name=ID '=' operation=(DSL_CEP_AFTER | DSL_CEP_BEFORE | DSL_CEP_COINCIDE | DSL_CEP_MIN | DSL_CEP_MAX |
-	//	DSL_CEP_AVG | DSL_CEP_SUM | DSL_CEP_COUNT);
-	public DSL_CEP_STATEMENTElements getDSL_CEP_STATEMENTAccess() {
-		return pDSL_CEP_STATEMENT;
-	}
-	
-	public ParserRule getDSL_CEP_STATEMENTRule() {
-		return getDSL_CEP_STATEMENTAccess().getRule();
-	}
-	
-	//DSL_CEP_AFTER:
-	//	'after' '(' ref1=DSL_REF_CONDITION ',' ref2=DSL_REF_CONDITION ',' (start=DSL_CEP_DURATION ',')? end=DSL_CEP_DURATION
-	//	')';
-	public DSL_CEP_AFTERElements getDSL_CEP_AFTERAccess() {
-		return pDSL_CEP_AFTER;
-	}
-	
-	public ParserRule getDSL_CEP_AFTERRule() {
-		return getDSL_CEP_AFTERAccess().getRule();
-	}
-	
-	//DSL_CEP_BEFORE:
-	//	'before' '(' ref1=DSL_REF_CONDITION ',' ref2=DSL_REF_CONDITION ',' (start=DSL_CEP_DURATION ',')? end=DSL_CEP_DURATION
-	//	')';
-	public DSL_CEP_BEFOREElements getDSL_CEP_BEFOREAccess() {
-		return pDSL_CEP_BEFORE;
-	}
-	
-	public ParserRule getDSL_CEP_BEFORERule() {
-		return getDSL_CEP_BEFOREAccess().getRule();
-	}
-	
-	//DSL_CEP_COINCIDE:
-	//	'coincide' '(' ref1=DSL_REF_CONDITION ',' ref2=DSL_REF_CONDITION ',' window=DSL_CEP_DURATION ')';
-	public DSL_CEP_COINCIDEElements getDSL_CEP_COINCIDEAccess() {
-		return pDSL_CEP_COINCIDE;
-	}
-	
-	public ParserRule getDSL_CEP_COINCIDERule() {
-		return getDSL_CEP_COINCIDEAccess().getRule();
-	}
-	
-	//DSL_CEP_MIN:
-	//	'min' '(' ref=DSL_REF_CONDITION ',' window=DSL_CEP_DURATION ')';
-	public DSL_CEP_MINElements getDSL_CEP_MINAccess() {
-		return pDSL_CEP_MIN;
-	}
-	
-	public ParserRule getDSL_CEP_MINRule() {
-		return getDSL_CEP_MINAccess().getRule();
-	}
-	
-	//DSL_CEP_MAX:
-	//	'max' '(' ref=DSL_REF_CONDITION ',' window=DSL_CEP_DURATION ')';
-	public DSL_CEP_MAXElements getDSL_CEP_MAXAccess() {
-		return pDSL_CEP_MAX;
-	}
-	
-	public ParserRule getDSL_CEP_MAXRule() {
-		return getDSL_CEP_MAXAccess().getRule();
-	}
-	
-	//DSL_CEP_AVG:
-	//	'avg' '(' ref=DSL_REF_CONDITION ',' window=DSL_CEP_DURATION ')';
-	public DSL_CEP_AVGElements getDSL_CEP_AVGAccess() {
-		return pDSL_CEP_AVG;
-	}
-	
-	public ParserRule getDSL_CEP_AVGRule() {
-		return getDSL_CEP_AVGAccess().getRule();
-	}
-	
-	//DSL_CEP_SUM:
-	//	'sum' '(' ref=DSL_REF_CONDITION ',' window=DSL_CEP_DURATION ')';
-	public DSL_CEP_SUMElements getDSL_CEP_SUMAccess() {
-		return pDSL_CEP_SUM;
-	}
-	
-	public ParserRule getDSL_CEP_SUMRule() {
-		return getDSL_CEP_SUMAccess().getRule();
-	}
-	
-	//DSL_CEP_COUNT:
-	//	'count' '(' ref=DSL_REF_CONDITION ',' window=DSL_CEP_DURATION ')';
-	public DSL_CEP_COUNTElements getDSL_CEP_COUNTAccess() {
-		return pDSL_CEP_COUNT;
-	}
-	
-	public ParserRule getDSL_CEP_COUNTRule() {
-		return getDSL_CEP_COUNTAccess().getRule();
-	}
-	
-	//DSL_CEP_DURATION:
-	//	units+=(DSL_CEP_DURATION_MIN | DSL_CEP_DURATION_SEC)+;
-	public DSL_CEP_DURATIONElements getDSL_CEP_DURATIONAccess() {
-		return pDSL_CEP_DURATION;
-	}
-	
-	public ParserRule getDSL_CEP_DURATIONRule() {
-		return getDSL_CEP_DURATIONAccess().getRule();
-	}
-	
-	//DSL_CEP_DURATION_MIN:
-	//	min=NUMBER 'min';
-	public DSL_CEP_DURATION_MINElements getDSL_CEP_DURATION_MINAccess() {
-		return pDSL_CEP_DURATION_MIN;
-	}
-	
-	public ParserRule getDSL_CEP_DURATION_MINRule() {
-		return getDSL_CEP_DURATION_MINAccess().getRule();
-	}
-	
-	//DSL_CEP_DURATION_SEC:
-	//	sec=NUMBER 'sec';
-	public DSL_CEP_DURATION_SECElements getDSL_CEP_DURATION_SECAccess() {
-		return pDSL_CEP_DURATION_SEC;
-	}
-	
-	public ParserRule getDSL_CEP_DURATION_SECRule() {
-		return getDSL_CEP_DURATION_SECAccess().getRule();
-	}
-	
-	//// ============================
-	//// ECA engine : DSL_ListActions 
-	//// ============================
-	//DSL_ListActions:
-	//	actionList+=DSL_ResourceAction (',' actionList+=DSL_ResourceAction)*;
-	public DSL_ListActionsElements getDSL_ListActionsAccess() {
-		return pDSL_ListActions;
-	}
-	
-	public ParserRule getDSL_ListActionsRule() {
-		return getDSL_ListActionsAccess().getRule();
-	}
-	
-	//DSL_ResourceAction:
-	//	(variable=ID '=')? ref=[DSL_REF] '.' actiontype=('act' | 'set') '(' listParam=DSL_ListParam? ')';
-	public DSL_ResourceActionElements getDSL_ResourceActionAccess() {
-		return pDSL_ResourceAction;
-	}
-	
-	public ParserRule getDSL_ResourceActionRule() {
-		return getDSL_ResourceActionAccess().getRule();
-	}
-	
-	//DSL_ListParam:
-	//	param+=DSL_Expression_Or (',' param+=DSL_Expression_Or)*;
-	public DSL_ListParamElements getDSL_ListParamAccess() {
-		return pDSL_ListParam;
-	}
-	
-	public ParserRule getDSL_ListParamRule() {
-		return getDSL_ListParamAccess().getRule();
-	}
-	
-	//// ===========
-	//// Expressions
-	//// ===========
-	//// 
-	//// 7  ()   functions : not, concatenate 
-	//// 6  *    /    %
-	//// 5  +    -
-	//// 4  <    >    <=   >=
-	//// 3  ==   !=
-	//// 2  and
-	//// 1  or
-	//// 
-	//// Or: left associative, priority 1
-	//DSL_Expression_Or DSL_Expression:
-	//	DSL_Expression_And ('or' {DSL_Expression_Or.left=current} right=DSL_Expression_And)*
-	public DSL_Expression_OrElements getDSL_Expression_OrAccess() {
-		return pDSL_Expression_Or;
-	}
-	
-	public ParserRule getDSL_Expression_OrRule() {
-		return getDSL_Expression_OrAccess().getRule();
-	}
-	
-	//// And: left associative, priority 2
-	//DSL_Expression_And DSL_Expression:
-	//	DSL_Expression_DiffEqual ('and' {DSL_Expression_And.left=current} right=DSL_Expression_DiffEqual)*
-	public DSL_Expression_AndElements getDSL_Expression_AndAccess() {
-		return pDSL_Expression_And;
-	}
-	
-	public ParserRule getDSL_Expression_AndRule() {
-		return getDSL_Expression_AndAccess().getRule();
-	}
-	
-	//// different/equal: left associative, priority 3
-	//DSL_Expression_DiffEqual DSL_Expression:
-	//	DSL_Expression_Compare ('!=' {DSL_Expression_Diff.left=current} right=DSL_Expression_Compare | '=='
-	//	{DSL_Expression_Equal.left=current} right=DSL_Expression_Compare)*
-	public DSL_Expression_DiffEqualElements getDSL_Expression_DiffEqualAccess() {
-		return pDSL_Expression_DiffEqual;
-	}
-	
-	public ParserRule getDSL_Expression_DiffEqualRule() {
-		return getDSL_Expression_DiffEqualAccess().getRule();
-	}
-	
-	//// Comparisons: left associative, priority 4
-	//DSL_Expression_Compare DSL_Expression:
-	//	DSL_Expression_PlusMinus ('>' {DSL_Expression_Larger.left=current} right=DSL_Expression_PlusMinus | '>='
-	//	{DSL_Expression_Larger_Equal.left=current} right=DSL_Expression_PlusMinus | '<' {DSL_Expression_Smaller.left=current}
-	//	right=DSL_Expression_PlusMinus | '<=' {DSL_Expression_Smaller_Equal.left=current} right=DSL_Expression_PlusMinus)*
-	public DSL_Expression_CompareElements getDSL_Expression_CompareAccess() {
-		return pDSL_Expression_Compare;
-	}
-	
-	public ParserRule getDSL_Expression_CompareRule() {
-		return getDSL_Expression_CompareAccess().getRule();
-	}
-	
-	//// addition/subtraction: left associative, priority 5
-	//DSL_Expression_PlusMinus DSL_Expression:
-	//	DSL_Expression_MultiplicationDivision ('+' {DSL_Expression_Plus.left=current}
-	//	right=DSL_Expression_MultiplicationDivision | '-' {DSL_Expression_Minus.left=current}
-	//	right=DSL_Expression_MultiplicationDivision)*
-	public DSL_Expression_PlusMinusElements getDSL_Expression_PlusMinusAccess() {
-		return pDSL_Expression_PlusMinus;
-	}
-	
-	public ParserRule getDSL_Expression_PlusMinusRule() {
-		return getDSL_Expression_PlusMinusAccess().getRule();
-	}
-	
-	//// multiplication/division, left associative, priority 6
-	//DSL_Expression_MultiplicationDivision DSL_Expression:
-	//	DSL_Expression_Unary ('*' {DSL_Expression_Multiplication.left=current} right=DSL_Expression_Unary | '/'
-	//	{DSL_Expression_Division.left=current} right=DSL_Expression_Unary | '%' {DSL_Expression_Modulo.left=current}
-	//	right=DSL_Expression_Unary)*
-	public DSL_Expression_MultiplicationDivisionElements getDSL_Expression_MultiplicationDivisionAccess() {
-		return pDSL_Expression_MultiplicationDivision;
-	}
-	
-	public ParserRule getDSL_Expression_MultiplicationDivisionRule() {
-		return getDSL_Expression_MultiplicationDivisionAccess().getRule();
-	}
-	
-	//// Unary operators: right associative, priority 7
-	//DSL_Expression_Unary DSL_Expression:
-	//	{DSL_Object_Number} value=NUMBER | {DSL_Object_String} value=STRING | {DSL_Object_Boolean} value=BOOLEAN |
-	//	{DSL_Object_Ref} value=[DSL_REF] '.get()' |
-	//	'(' DSL_Expression_Or ')' |
-	//	'not' {DSL_Expression_Negate} exp=DSL_Expression_Unary
-	public DSL_Expression_UnaryElements getDSL_Expression_UnaryAccess() {
-		return pDSL_Expression_Unary;
-	}
-	
-	public ParserRule getDSL_Expression_UnaryRule() {
-		return getDSL_Expression_UnaryAccess().getRule();
-	}
-	
-	//terminal STRING:
-	//	'"' ('\\' . | !('\\' | '"'))* '"' |
-	//	"'" ('\\' . | !('\\' | "'"))* "'";
-	public TerminalRule getSTRINGRule() {
-		return gaTerminals.getSTRINGRule();
-	}
-	
-	//terminal ML_COMMENT:
-	//	'/ *'->'* /';
-	public TerminalRule getML_COMMENTRule() {
-		return gaTerminals.getML_COMMENTRule();
-	}
-	
-	//terminal SL_COMMENT:
-	//	'//' !('\n' | '\r')* ('\r'? '\n')?;
-	public TerminalRule getSL_COMMENTRule() {
-		return gaTerminals.getSL_COMMENTRule();
-	}
-	
-	//terminal WS:
-	//	' ' | '\t' | '\r' | '\n'+;
-	public TerminalRule getWSRule() {
-		return gaTerminals.getWSRule();
-	}
-	
-	//terminal ANY_OTHER:
-	//	.;
-	public TerminalRule getANY_OTHERRule() {
-		return gaTerminals.getANY_OTHERRule();
-	}
-}
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/validation/AbstractSensinactValidator.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/validation/AbstractSensinactValidator.java
deleted file mode 100644
index 2eaf485..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/src-gen/org/eclipse/sensinact/studio/language/validation/AbstractSensinactValidator.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-/*
- * generated by Xtext 2.9.1
- */
-package org.eclipse.sensinact.studio.language.validation;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.xtext.validation.AbstractDeclarativeValidator;
-
-public abstract class AbstractSensinactValidator extends AbstractDeclarativeValidator {
-	
-	@Override
-	protected List<EPackage> getEPackages() {
-	    List<EPackage> result = new ArrayList<EPackage>();
-	    result.add(org.eclipse.sensinact.studio.language.sensinact.SensinactPackage.eINSTANCE);
-		return result;
-	}
-	
-}
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/.SensinactRuntimeModule.java._trace b/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/.SensinactRuntimeModule.java._trace
deleted file mode 100644
index 92ab29c..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/.SensinactRuntimeModule.java._trace
+++ /dev/null
Binary files differ
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/.SensinactRuntimeModule.xtendbin b/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/.SensinactRuntimeModule.xtendbin
deleted file mode 100644
index 15baf96..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/.SensinactRuntimeModule.xtendbin
+++ /dev/null
Binary files differ
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/.SensinactStandaloneSetup.java._trace b/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/.SensinactStandaloneSetup.java._trace
deleted file mode 100644
index 6c46f97..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/.SensinactStandaloneSetup.java._trace
+++ /dev/null
Binary files differ
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/.SensinactStandaloneSetup.xtendbin b/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/.SensinactStandaloneSetup.xtendbin
deleted file mode 100644
index 8ee1b7c..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/.SensinactStandaloneSetup.xtendbin
+++ /dev/null
Binary files differ
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/SensinactRuntimeModule.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/SensinactRuntimeModule.java
deleted file mode 100644
index 0bc7135..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/SensinactRuntimeModule.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-package org.eclipse.sensinact.studio.language;
-
-import org.eclipse.sensinact.studio.language.AbstractSensinactRuntimeModule;
-
-/**
- * Use this class to register components to be used at runtime / without the Equinox extension registry.
- */
-@SuppressWarnings("all")
-public class SensinactRuntimeModule extends AbstractSensinactRuntimeModule {
-}
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/SensinactStandaloneSetup.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/SensinactStandaloneSetup.java
deleted file mode 100644
index 3162f5a..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/SensinactStandaloneSetup.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-package org.eclipse.sensinact.studio.language;
-
-import org.eclipse.sensinact.studio.language.SensinactStandaloneSetupGenerated;
-
-/**
- * Initialization support for running Xtext languages without Equinox extension registry.
- */
-@SuppressWarnings("all")
-public class SensinactStandaloneSetup extends SensinactStandaloneSetupGenerated {
-  public static void doSetup() {
-    SensinactStandaloneSetup _sensinactStandaloneSetup = new SensinactStandaloneSetup();
-    _sensinactStandaloneSetup.createInjectorAndDoEMFRegistration();
-  }
-}
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/generator/.SensinactGenerator.java._trace b/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/generator/.SensinactGenerator.java._trace
deleted file mode 100644
index 2318fed..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/generator/.SensinactGenerator.java._trace
+++ /dev/null
Binary files differ
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/generator/.SensinactGenerator.xtendbin b/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/generator/.SensinactGenerator.xtendbin
deleted file mode 100644
index f94b80e..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/generator/.SensinactGenerator.xtendbin
+++ /dev/null
Binary files differ
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/generator/SensinactGenerator.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/generator/SensinactGenerator.java
deleted file mode 100644
index ef6983b..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/generator/SensinactGenerator.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-package org.eclipse.sensinact.studio.language.generator;
-
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.xtext.generator.AbstractGenerator;
-import org.eclipse.xtext.generator.IFileSystemAccess2;
-import org.eclipse.xtext.generator.IGeneratorContext;
-
-/**
- * Generates code from your model files on save.
- * 
- * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#code-generation
- */
-@SuppressWarnings("all")
-public class SensinactGenerator extends AbstractGenerator {
-  @Override
-  public void doGenerate(final Resource resource, final IFileSystemAccess2 fsa, final IGeneratorContext context) {
-  }
-}
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/scoping/.SensinactScopeProvider.java._trace b/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/scoping/.SensinactScopeProvider.java._trace
deleted file mode 100644
index 017d851..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/scoping/.SensinactScopeProvider.java._trace
+++ /dev/null
Binary files differ
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/scoping/.SensinactScopeProvider.xtendbin b/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/scoping/.SensinactScopeProvider.xtendbin
deleted file mode 100644
index 8f4748d..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/scoping/.SensinactScopeProvider.xtendbin
+++ /dev/null
Binary files differ
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/scoping/SensinactScopeProvider.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/scoping/SensinactScopeProvider.java
deleted file mode 100644
index 8063909..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/scoping/SensinactScopeProvider.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-package org.eclipse.sensinact.studio.language.scoping;
-
-import com.google.common.base.Objects;
-import com.google.common.base.Predicate;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.sensinact.studio.language.scoping.AbstractSensinactScopeProvider;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_SENSINACT;
-import org.eclipse.xtext.resource.IEObjectDescription;
-import org.eclipse.xtext.scoping.IScope;
-import org.eclipse.xtext.scoping.impl.FilteringScope;
-
-/**
- * Filer elements to "stay" in the current file.
- * 
- * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#scoping
- * on how and when to use it.
- */
-@SuppressWarnings("all")
-public class SensinactScopeProvider extends AbstractSensinactScopeProvider {
-  @Override
-  public IScope getScope(final EObject context, final EReference reference) {
-    IScope _scope = super.getScope(context, reference);
-    return new FilteringScope(_scope, new Predicate<IEObjectDescription>() {
-      @Override
-      public boolean apply(final IEObjectDescription input) {
-        EObject _eObjectOrProxy = input.getEObjectOrProxy();
-        DSL_SENSINACT curECA = SensinactScopeProvider.this.getEca(_eObjectOrProxy);
-        DSL_SENSINACT contextEca = SensinactScopeProvider.this.getEca(context);
-        return Objects.equal(curECA, contextEca);
-      }
-    });
-  }
-  
-  public DSL_SENSINACT getEca(final EObject object) {
-    boolean _equals = Objects.equal(object, null);
-    if (_equals) {
-      return null;
-    }
-    if ((object instanceof DSL_SENSINACT)) {
-      return ((DSL_SENSINACT) object);
-    }
-    EObject _eContainer = object.eContainer();
-    return this.getEca(_eContainer);
-  }
-}
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/validation/.SensinactValidator.java._trace b/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/validation/.SensinactValidator.java._trace
deleted file mode 100644
index 402f465..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/validation/.SensinactValidator.java._trace
+++ /dev/null
Binary files differ
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/validation/.SensinactValidator.xtendbin b/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/validation/.SensinactValidator.xtendbin
deleted file mode 100644
index a094dd7..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/validation/.SensinactValidator.xtendbin
+++ /dev/null
Binary files differ
diff --git a/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/validation/SensinactValidator.java b/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/validation/SensinactValidator.java
deleted file mode 100644
index 38b7d0d..0000000
--- a/xtext/org.eclipse.sensinact.studio.language.sensinact/xtend-gen/org/eclipse/sensinact/studio/language/validation/SensinactValidator.java
+++ /dev/null
@@ -1,301 +0,0 @@
-/**
- * Copyright (c) 2017 CEA.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- *  Contributors:
- *     CEA - initial API and implementation and/or initial documentation
- */
-package org.eclipse.sensinact.studio.language.validation;
-
-import com.google.common.base.Objects;
-import java.math.BigDecimal;
-import java.util.List;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_AFTER;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_BEFORE;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION_MIN;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_DURATION_SEC;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_CEP_STATEMENT;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Expression;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_ListParam;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_REF;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_Resource;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_ResourceAction;
-import org.eclipse.sensinact.studio.language.sensinact.DSL_SENSINACT;
-import org.eclipse.sensinact.studio.language.sensinact.SensinactPackage;
-import org.eclipse.sensinact.studio.language.sensinact.impl.DSL_REFImpl;
-import org.eclipse.sensinact.studio.language.validation.AbstractSensinactValidator;
-import org.eclipse.sensinact.studio.model.manager.modelupdater.ModelEditor;
-import org.eclipse.sensinact.studio.model.resource.utils.ResourceDescriptor;
-import org.eclipse.sensinact.studio.resource.AccessMethod;
-import org.eclipse.sensinact.studio.resource.AccessMethodType;
-import org.eclipse.xtext.validation.Check;
-import org.eclipse.xtext.xbase.lib.Conversions;
-import org.eclipse.xtext.xbase.lib.Exceptions;
-
-/**
- * This class contains custom validation rules.
- * 
- * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#validation
- */
-@SuppressWarnings("all")
-public class SensinactValidator extends AbstractSensinactValidator {
-  public boolean isConnected() {
-    try {
-      ModelEditor _instance = ModelEditor.getInstance();
-      List<String> _gatewaysId = _instance.getGatewaysId();
-      int _length = ((Object[])Conversions.unwrapArray(_gatewaysId, Object.class)).length;
-      return (_length != 0);
-    } catch (Throwable _e) {
-      throw Exceptions.sneakyThrow(_e);
-    }
-  }
-  
-  @Check
-  public void checkGatewayIsConnected(final DSL_SENSINACT eca) {
-    boolean _isConnected = this.isConnected();
-    boolean _not = (!_isConnected);
-    if (_not) {
-      this.warning("Please connect the studio to your gateway", SensinactPackage.Literals.DSL_SENSINACT__RESOURCES);
-    }
-  }
-  
-  @Check
-  public void refNameIsUnique(final DSL_REF ref) {
-    int nameOccurences = 0;
-    String name = ref.getName();
-    EObject _eContainer = ref.eContainer();
-    DSL_SENSINACT superEntity = ((DSL_SENSINACT) _eContainer);
-    boolean _notEquals = (!Objects.equal(superEntity, null));
-    if (_notEquals) {
-      EList<DSL_Resource> _resources = superEntity.getResources();
-      for (final DSL_Resource other : _resources) {
-        String _name = other.getName();
-        boolean _equals = name.equals(_name);
-        if (_equals) {
-          nameOccurences++;
-        }
-      }
-      EList<DSL_CEP_STATEMENT> _cep = superEntity.getCep();
-      for (final DSL_CEP_STATEMENT other_1 : _cep) {
-        String _name_1 = other_1.getName();
-        boolean _equals_1 = name.equals(_name_1);
-        if (_equals_1) {
-          nameOccurences++;
-        }
-      }
-      if ((nameOccurences > 1)) {
-        String _name_2 = ref.getName();
-        this.error("Reference names names have to be unique", SensinactPackage.Literals.DSL_REF__NAME, _name_2);
-      }
-    }
-  }
-  
-  @Check
-  public void checkResourceExists(final DSL_Resource dslResource) {
-    try {
-      boolean _isConnected = this.isConnected();
-      if (_isConnected) {
-        String gatewayID = dslResource.getGatewayID();
-        String deviceID = dslResource.getDeviceID();
-        String serviceID = dslResource.getServiceID();
-        String resourceID = dslResource.getResourceID();
-        ModelEditor _instance = ModelEditor.getInstance();
-        boolean _existsGateway = _instance.existsGateway(gatewayID);
-        boolean _not = (!_existsGateway);
-        if (_not) {
-          this.warning((("The gateway " + gatewayID) + " does not exist"), 
-            SensinactPackage.Literals.DSL_RESOURCE__GATEWAY_ID, "INVALID_NAME");
-        } else {
-          ModelEditor _instance_1 = ModelEditor.getInstance();
-          boolean _existsDevice = _instance_1.existsDevice(gatewayID, deviceID);
-          boolean _not_1 = (!_existsDevice);
-          if (_not_1) {
-            this.warning(((("The device " + deviceID) + " does not exist in gateway ") + gatewayID), 
-              SensinactPackage.Literals.DSL_RESOURCE__DEVICE_ID, "INVALID_NAME");
-          } else {
-            ModelEditor _instance_2 = ModelEditor.getInstance();
-            boolean _existsService = _instance_2.existsService(gatewayID, deviceID, serviceID);
-            boolean _not_2 = (!_existsService);
-            if (_not_2) {
-              this.warning(((("The service " + serviceID) + " does not exist in gateway ") + gatewayID), 
-                SensinactPackage.Literals.DSL_RESOURCE__SERVICE_ID, "INVALID_NAME");
-            } else {
-              ModelEditor _instance_3 = ModelEditor.getInstance();
-              boolean _existsResource = _instance_3.existsResource(gatewayID, deviceID, serviceID, resourceID);
-              boolean _not_3 = (!_existsResource);
-              if (_not_3) {
-                this.warning(((("The resource " + resourceID) + " does not exist in gateway ") + gatewayID), 
-                  SensinactPackage.Literals.DSL_RESOURCE__RESOURCE_ID, "INVALID_NAME");
-              }
-            }
-          }
-        }
-      }
-    } catch (Throwable _e) {
-      throw Exceptions.sneakyThrow(_e);
-    }
-  }
-  
-  @Check
-  public Object checkActionAccessMethod(final DSL_ResourceAction resourceAction) {
-    Object _xifexpression = null;
-    boolean _isConnected = this.isConnected();
-    if (_isConnected) {
-      Object _xblockexpression = null;
-      {
-        DSL_REF ref = resourceAction.getRef();
-        String _actiontype = resourceAction.getActiontype();
-        AccessMethodType actionType = AccessMethodType.getByName(_actiontype);
-        DSL_ListParam _listParam = resourceAction.getListParam();
-        int nbParams = this.getNbParams(_listParam);
-        _xblockexpression = this.checkParameters(ref, actionType, nbParams, SensinactPackage.Literals.DSL_RESOURCE_ACTION__ACTIONTYPE);
-      }
-      _xifexpression = _xblockexpression;
-    }
-    return _xifexpression;
-  }
-  
-  public int getNbParams(final DSL_ListParam params) {
-    boolean _equals = Objects.equal(params, null);
-    if (_equals) {
-      return 0;
-    }
-    EList<DSL_Expression> _param = params.getParam();
-    boolean _equals_1 = Objects.equal(_param, null);
-    if (_equals_1) {
-      return 0;
-    }
-    EList<DSL_Expression> _param_1 = params.getParam();
-    return _param_1.size();
-  }
-  
-  public Object checkParameters(final DSL_REF ref, final AccessMethodType actionType, final int nbParams, final EStructuralFeature feature) {
-    try {
-      Object _xifexpression = null;
-      if ((ref instanceof DSL_Resource)) {
-        DSL_Resource dslResource = ((DSL_Resource) ref);
-        String gatewayID = dslResource.getGatewayID();
-        String deviceID = dslResource.getDeviceID();
-        String serviceID = dslResource.getServiceID();
-        String resourceID = dslResource.getResourceID();
-        ResourceDescriptor descriptor = new ResourceDescriptor(gatewayID, deviceID, serviceID, resourceID);
-        boolean _and = false;
-        boolean _notEquals = (!Objects.equal(descriptor, null));
-        if (!_notEquals) {
-          _and = false;
-        } else {
-          boolean _notEquals_1 = (!Objects.equal(actionType, null));
-          _and = _notEquals_1;
-        }
-        if (_and) {
-          ModelEditor _instance = ModelEditor.getInstance();
-          AccessMethod method = _instance.getAccessMethodWithTypeNbParams(descriptor, actionType, nbParams);
-          boolean _equals = Objects.equal(method, null);
-          if (_equals) {
-            String msg = null;
-            if ((nbParams == 0)) {
-              msg = "This action type without parameters is not available for this resource";
-            } else {
-              if ((nbParams == 1)) {
-                msg = "This action type with one parameter is not available for this resource";
-              } else {
-                if ((nbParams == 0)) {
-                  msg = (("This action type with " + Integer.valueOf(nbParams)) + " parameters is not available for this resource");
-                }
-              }
-            }
-            this.error(msg, feature);
-          }
-        }
-      } else {
-        Object _xifexpression_1 = null;
-        if ((ref instanceof DSL_CEP_STATEMENT)) {
-          _xifexpression_1 = null;
-        } else {
-          Object _xifexpression_2 = null;
-          Class<? extends DSL_REF> _class = ref.getClass();
-          boolean _equals_1 = _class.equals(DSL_REFImpl.class);
-          if (_equals_1) {
-            _xifexpression_2 = null;
-          } else {
-            throw new RuntimeException("Should never happen");
-          }
-          _xifexpression_1 = _xifexpression_2;
-        }
-        _xifexpression = _xifexpression_1;
-      }
-      return _xifexpression;
-    } catch (Throwable _e) {
-      throw Exceptions.sneakyThrow(_e);
-    }
-  }
-  
-  @Check
-  public void checkCepAfter(final DSL_CEP_AFTER operation) {
-    DSL_CEP_DURATION _start = operation.getStart();
-    BigDecimal start = this.timestamp(_start);
-    DSL_CEP_DURATION _end = operation.getEnd();
-    BigDecimal end = this.timestamp(_end);
-    int _compareTo = start.compareTo(end);
-    boolean _greaterEqualsThan = (_compareTo >= 0);
-    if (_greaterEqualsThan) {
-      String msg = "end must be after start";
-      this.error(msg, SensinactPackage.Literals.DSL_CEP_AFTER__END);
-    }
-  }
-  
-  @Check
-  public void checkCepBefore(final DSL_CEP_BEFORE operation) {
-    DSL_CEP_DURATION _start = operation.getStart();
-    BigDecimal start = this.timestamp(_start);
-    DSL_CEP_DURATION _end = operation.getEnd();
-    BigDecimal end = this.timestamp(_end);
-    int _compareTo = start.compareTo(end);
-    boolean _greaterEqualsThan = (_compareTo >= 0);
-    if (_greaterEqualsThan) {
-      String msg = "end must be after start";
-      this.error(msg, SensinactPackage.Literals.DSL_CEP_BEFORE__END);
-    }
-  }
-  
-  public BigDecimal timestamp(final DSL_CEP_DURATION duration) {
-    BigDecimal retval = BigDecimal.ZERO;
-    boolean _and = false;
-    boolean _notEquals = (!Objects.equal(duration, null));
-    if (!_notEquals) {
-      _and = false;
-    } else {
-      EList<EObject> _units = duration.getUnits();
-      boolean _notEquals_1 = (!Objects.equal(_units, null));
-      _and = _notEquals_1;
-    }
-    if (_and) {
-      EList<EObject> _units_1 = duration.getUnits();
-      for (final EObject unit : _units_1) {
-        if ((unit instanceof DSL_CEP_DURATION_MIN)) {
-          DSL_CEP_DURATION_MIN min = ((DSL_CEP_DURATION_MIN) unit);
-          BigDecimal _min = min.getMin();
-          BigDecimal _bigDecimal = new BigDecimal("60");
-          BigDecimal _multiply = _min.multiply(_bigDecimal);
-          BigDecimal _add = retval.add(_multiply);
-          retval = _add;
-        } else {
-          if ((unit instanceof DSL_CEP_DURATION_SEC)) {
-            DSL_CEP_DURATION_SEC sec = ((DSL_CEP_DURATION_SEC) unit);
-            BigDecimal _sec = sec.getSec();
-            BigDecimal _add_1 = retval.add(_sec);
-            retval = _add_1;
-          }
-        }
-      }
-    }
-    return retval;
-  }
-}